16872 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_stride8_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, ptr %out.vec7) nounwind {19; SSE-LABEL: load_i64_stride8_vf2:20; SSE: # %bb.0:21; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax22; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r1023; SSE-NEXT: movq {{[0-9]+}}(%rsp), %r1124; SSE-NEXT: movaps 112(%rdi), %xmm025; SSE-NEXT: movaps 96(%rdi), %xmm126; SSE-NEXT: movaps 80(%rdi), %xmm227; SSE-NEXT: movaps 64(%rdi), %xmm328; SSE-NEXT: movaps (%rdi), %xmm429; SSE-NEXT: movaps 16(%rdi), %xmm530; SSE-NEXT: movaps 32(%rdi), %xmm631; SSE-NEXT: movaps 48(%rdi), %xmm732; SSE-NEXT: movaps %xmm4, %xmm833; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm3[0]34; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm3[1]35; SSE-NEXT: movaps %xmm5, %xmm336; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm2[0]37; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm2[1]38; SSE-NEXT: movaps %xmm6, %xmm239; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]40; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm1[1]41; SSE-NEXT: movaps %xmm7, %xmm142; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]43; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]44; SSE-NEXT: movaps %xmm8, (%rsi)45; SSE-NEXT: movaps %xmm4, (%rdx)46; SSE-NEXT: movaps %xmm3, (%rcx)47; SSE-NEXT: movaps %xmm5, (%r8)48; SSE-NEXT: movaps %xmm2, (%r9)49; SSE-NEXT: movaps %xmm6, (%r11)50; SSE-NEXT: movaps %xmm1, (%r10)51; SSE-NEXT: movaps %xmm7, (%rax)52; SSE-NEXT: retq53;54; AVX-LABEL: load_i64_stride8_vf2:55; AVX: # %bb.0:56; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax57; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r1058; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r1159; AVX-NEXT: vmovaps 64(%rdi), %xmm060; AVX-NEXT: vmovaps (%rdi), %xmm161; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]62; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]63; AVX-NEXT: vmovaps 80(%rdi), %xmm164; AVX-NEXT: vmovaps 16(%rdi), %xmm365; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm1[0]66; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm1[1]67; AVX-NEXT: vmovaps 96(%rdi), %xmm368; AVX-NEXT: vmovaps 32(%rdi), %xmm569; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm3[0]70; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm5[1],xmm3[1]71; AVX-NEXT: vmovaps 112(%rdi), %xmm572; AVX-NEXT: vmovaps 48(%rdi), %xmm773; AVX-NEXT: vmovlhps {{.*#+}} xmm8 = xmm7[0],xmm5[0]74; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm7[1],xmm5[1]75; AVX-NEXT: vmovaps %xmm2, (%rsi)76; AVX-NEXT: vmovaps %xmm0, (%rdx)77; AVX-NEXT: vmovaps %xmm4, (%rcx)78; AVX-NEXT: vmovaps %xmm1, (%r8)79; AVX-NEXT: vmovaps %xmm6, (%r9)80; AVX-NEXT: vmovaps %xmm3, (%r11)81; AVX-NEXT: vmovaps %xmm8, (%r10)82; AVX-NEXT: vmovaps %xmm5, (%rax)83; AVX-NEXT: retq84;85; AVX2-LABEL: load_i64_stride8_vf2:86; AVX2: # %bb.0:87; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax88; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r1089; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r1190; AVX2-NEXT: vmovaps 96(%rdi), %ymm091; AVX2-NEXT: vmovaps 32(%rdi), %ymm192; AVX2-NEXT: vmovaps 64(%rdi), %ymm293; AVX2-NEXT: vmovaps (%rdi), %ymm394; AVX2-NEXT: vmovaps (%rdi), %xmm495; AVX2-NEXT: vmovaps 32(%rdi), %xmm596; AVX2-NEXT: vmovaps 64(%rdi), %xmm697; AVX2-NEXT: vmovlhps {{.*#+}} xmm7 = xmm4[0],xmm6[0]98; AVX2-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm6[1]99; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]100; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]101; AVX2-NEXT: vmovaps 96(%rdi), %xmm3102; AVX2-NEXT: vmovlhps {{.*#+}} xmm8 = xmm5[0],xmm3[0]103; AVX2-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm5[1],xmm3[1]104; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]105; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]106; AVX2-NEXT: vmovaps %xmm7, (%rsi)107; AVX2-NEXT: vmovaps %xmm4, (%rdx)108; AVX2-NEXT: vextractf128 $1, %ymm6, (%rcx)109; AVX2-NEXT: vextractf128 $1, %ymm2, (%r8)110; AVX2-NEXT: vmovaps %xmm8, (%r9)111; AVX2-NEXT: vmovaps %xmm3, (%r11)112; AVX2-NEXT: vextractf128 $1, %ymm5, (%r10)113; AVX2-NEXT: vextractf128 $1, %ymm0, (%rax)114; AVX2-NEXT: vzeroupper115; AVX2-NEXT: retq116;117; AVX2-FP-LABEL: load_i64_stride8_vf2:118; AVX2-FP: # %bb.0:119; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax120; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r10121; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r11122; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm0123; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm1124; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm2125; AVX2-FP-NEXT: vmovaps (%rdi), %ymm3126; AVX2-FP-NEXT: vmovaps (%rdi), %xmm4127; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm5128; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm6129; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm4[0],xmm6[0]130; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm6[1]131; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]132; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]133; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm3134; AVX2-FP-NEXT: vmovlhps {{.*#+}} xmm8 = xmm5[0],xmm3[0]135; AVX2-FP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm5[1],xmm3[1]136; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]137; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]138; AVX2-FP-NEXT: vmovaps %xmm7, (%rsi)139; AVX2-FP-NEXT: vmovaps %xmm4, (%rdx)140; AVX2-FP-NEXT: vextractf128 $1, %ymm6, (%rcx)141; AVX2-FP-NEXT: vextractf128 $1, %ymm2, (%r8)142; AVX2-FP-NEXT: vmovaps %xmm8, (%r9)143; AVX2-FP-NEXT: vmovaps %xmm3, (%r11)144; AVX2-FP-NEXT: vextractf128 $1, %ymm5, (%r10)145; AVX2-FP-NEXT: vextractf128 $1, %ymm0, (%rax)146; AVX2-FP-NEXT: vzeroupper147; AVX2-FP-NEXT: retq148;149; AVX2-FCP-LABEL: load_i64_stride8_vf2:150; AVX2-FCP: # %bb.0:151; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax152; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10153; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11154; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm0155; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm1156; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm2157; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm3158; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm4159; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm5160; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm6161; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm4[0],xmm6[0]162; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm4[1],xmm6[1]163; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]164; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]165; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm3166; AVX2-FCP-NEXT: vmovlhps {{.*#+}} xmm8 = xmm5[0],xmm3[0]167; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm5[1],xmm3[1]168; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]169; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]170; AVX2-FCP-NEXT: vmovaps %xmm7, (%rsi)171; AVX2-FCP-NEXT: vmovaps %xmm4, (%rdx)172; AVX2-FCP-NEXT: vextractf128 $1, %ymm6, (%rcx)173; AVX2-FCP-NEXT: vextractf128 $1, %ymm2, (%r8)174; AVX2-FCP-NEXT: vmovaps %xmm8, (%r9)175; AVX2-FCP-NEXT: vmovaps %xmm3, (%r11)176; AVX2-FCP-NEXT: vextractf128 $1, %ymm5, (%r10)177; AVX2-FCP-NEXT: vextractf128 $1, %ymm0, (%rax)178; AVX2-FCP-NEXT: vzeroupper179; AVX2-FCP-NEXT: retq180;181; AVX512-LABEL: load_i64_stride8_vf2:182; AVX512: # %bb.0:183; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax184; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r10185; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r11186; AVX512-NEXT: vmovaps 64(%rdi), %xmm0187; AVX512-NEXT: vmovaps (%rdi), %xmm1188; AVX512-NEXT: vmovaps 16(%rdi), %xmm2189; AVX512-NEXT: vmovaps 32(%rdi), %xmm3190; AVX512-NEXT: vmovaps 48(%rdi), %xmm4191; AVX512-NEXT: vmovlhps {{.*#+}} xmm5 = xmm1[0],xmm0[0]192; AVX512-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]193; AVX512-NEXT: vmovaps 80(%rdi), %xmm1194; AVX512-NEXT: vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm1[0]195; AVX512-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]196; AVX512-NEXT: vmovaps 96(%rdi), %xmm2197; AVX512-NEXT: vmovlhps {{.*#+}} xmm7 = xmm3[0],xmm2[0]198; AVX512-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]199; AVX512-NEXT: vmovaps 112(%rdi), %xmm3200; AVX512-NEXT: vmovlhps {{.*#+}} xmm8 = xmm4[0],xmm3[0]201; AVX512-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]202; AVX512-NEXT: vmovaps %xmm5, (%rsi)203; AVX512-NEXT: vmovaps %xmm0, (%rdx)204; AVX512-NEXT: vmovaps %xmm6, (%rcx)205; AVX512-NEXT: vmovaps %xmm1, (%r8)206; AVX512-NEXT: vmovaps %xmm7, (%r9)207; AVX512-NEXT: vmovaps %xmm2, (%r11)208; AVX512-NEXT: vmovaps %xmm8, (%r10)209; AVX512-NEXT: vmovaps %xmm3, (%rax)210; AVX512-NEXT: retq211;212; AVX512-FCP-LABEL: load_i64_stride8_vf2:213; AVX512-FCP: # %bb.0:214; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax215; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10216; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11217; AVX512-FCP-NEXT: vmovaps 64(%rdi), %xmm0218; AVX512-FCP-NEXT: vmovaps (%rdi), %xmm1219; AVX512-FCP-NEXT: vmovaps 16(%rdi), %xmm2220; AVX512-FCP-NEXT: vmovaps 32(%rdi), %xmm3221; AVX512-FCP-NEXT: vmovaps 48(%rdi), %xmm4222; AVX512-FCP-NEXT: vmovlhps {{.*#+}} xmm5 = xmm1[0],xmm0[0]223; AVX512-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]224; AVX512-FCP-NEXT: vmovaps 80(%rdi), %xmm1225; AVX512-FCP-NEXT: vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm1[0]226; AVX512-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]227; AVX512-FCP-NEXT: vmovaps 96(%rdi), %xmm2228; AVX512-FCP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm3[0],xmm2[0]229; AVX512-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]230; AVX512-FCP-NEXT: vmovaps 112(%rdi), %xmm3231; AVX512-FCP-NEXT: vmovlhps {{.*#+}} xmm8 = xmm4[0],xmm3[0]232; AVX512-FCP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]233; AVX512-FCP-NEXT: vmovaps %xmm5, (%rsi)234; AVX512-FCP-NEXT: vmovaps %xmm0, (%rdx)235; AVX512-FCP-NEXT: vmovaps %xmm6, (%rcx)236; AVX512-FCP-NEXT: vmovaps %xmm1, (%r8)237; AVX512-FCP-NEXT: vmovaps %xmm7, (%r9)238; AVX512-FCP-NEXT: vmovaps %xmm2, (%r11)239; AVX512-FCP-NEXT: vmovaps %xmm8, (%r10)240; AVX512-FCP-NEXT: vmovaps %xmm3, (%rax)241; AVX512-FCP-NEXT: retq242;243; AVX512DQ-LABEL: load_i64_stride8_vf2:244; AVX512DQ: # %bb.0:245; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax246; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r10247; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r11248; AVX512DQ-NEXT: vmovaps 64(%rdi), %xmm0249; AVX512DQ-NEXT: vmovaps (%rdi), %xmm1250; AVX512DQ-NEXT: vmovaps 16(%rdi), %xmm2251; AVX512DQ-NEXT: vmovaps 32(%rdi), %xmm3252; AVX512DQ-NEXT: vmovaps 48(%rdi), %xmm4253; AVX512DQ-NEXT: vmovlhps {{.*#+}} xmm5 = xmm1[0],xmm0[0]254; AVX512DQ-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]255; AVX512DQ-NEXT: vmovaps 80(%rdi), %xmm1256; AVX512DQ-NEXT: vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm1[0]257; AVX512DQ-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]258; AVX512DQ-NEXT: vmovaps 96(%rdi), %xmm2259; AVX512DQ-NEXT: vmovlhps {{.*#+}} xmm7 = xmm3[0],xmm2[0]260; AVX512DQ-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]261; AVX512DQ-NEXT: vmovaps 112(%rdi), %xmm3262; AVX512DQ-NEXT: vmovlhps {{.*#+}} xmm8 = xmm4[0],xmm3[0]263; AVX512DQ-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]264; AVX512DQ-NEXT: vmovaps %xmm5, (%rsi)265; AVX512DQ-NEXT: vmovaps %xmm0, (%rdx)266; AVX512DQ-NEXT: vmovaps %xmm6, (%rcx)267; AVX512DQ-NEXT: vmovaps %xmm1, (%r8)268; AVX512DQ-NEXT: vmovaps %xmm7, (%r9)269; AVX512DQ-NEXT: vmovaps %xmm2, (%r11)270; AVX512DQ-NEXT: vmovaps %xmm8, (%r10)271; AVX512DQ-NEXT: vmovaps %xmm3, (%rax)272; AVX512DQ-NEXT: retq273;274; AVX512DQ-FCP-LABEL: load_i64_stride8_vf2:275; AVX512DQ-FCP: # %bb.0:276; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax277; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10278; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11279; AVX512DQ-FCP-NEXT: vmovaps 64(%rdi), %xmm0280; AVX512DQ-FCP-NEXT: vmovaps (%rdi), %xmm1281; AVX512DQ-FCP-NEXT: vmovaps 16(%rdi), %xmm2282; AVX512DQ-FCP-NEXT: vmovaps 32(%rdi), %xmm3283; AVX512DQ-FCP-NEXT: vmovaps 48(%rdi), %xmm4284; AVX512DQ-FCP-NEXT: vmovlhps {{.*#+}} xmm5 = xmm1[0],xmm0[0]285; AVX512DQ-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]286; AVX512DQ-FCP-NEXT: vmovaps 80(%rdi), %xmm1287; AVX512DQ-FCP-NEXT: vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm1[0]288; AVX512DQ-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]289; AVX512DQ-FCP-NEXT: vmovaps 96(%rdi), %xmm2290; AVX512DQ-FCP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm3[0],xmm2[0]291; AVX512DQ-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]292; AVX512DQ-FCP-NEXT: vmovaps 112(%rdi), %xmm3293; AVX512DQ-FCP-NEXT: vmovlhps {{.*#+}} xmm8 = xmm4[0],xmm3[0]294; AVX512DQ-FCP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]295; AVX512DQ-FCP-NEXT: vmovaps %xmm5, (%rsi)296; AVX512DQ-FCP-NEXT: vmovaps %xmm0, (%rdx)297; AVX512DQ-FCP-NEXT: vmovaps %xmm6, (%rcx)298; AVX512DQ-FCP-NEXT: vmovaps %xmm1, (%r8)299; AVX512DQ-FCP-NEXT: vmovaps %xmm7, (%r9)300; AVX512DQ-FCP-NEXT: vmovaps %xmm2, (%r11)301; AVX512DQ-FCP-NEXT: vmovaps %xmm8, (%r10)302; AVX512DQ-FCP-NEXT: vmovaps %xmm3, (%rax)303; AVX512DQ-FCP-NEXT: retq304;305; AVX512BW-LABEL: load_i64_stride8_vf2:306; AVX512BW: # %bb.0:307; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax308; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r10309; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r11310; AVX512BW-NEXT: vmovaps 64(%rdi), %xmm0311; AVX512BW-NEXT: vmovaps (%rdi), %xmm1312; AVX512BW-NEXT: vmovaps 16(%rdi), %xmm2313; AVX512BW-NEXT: vmovaps 32(%rdi), %xmm3314; AVX512BW-NEXT: vmovaps 48(%rdi), %xmm4315; AVX512BW-NEXT: vmovlhps {{.*#+}} xmm5 = xmm1[0],xmm0[0]316; AVX512BW-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]317; AVX512BW-NEXT: vmovaps 80(%rdi), %xmm1318; AVX512BW-NEXT: vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm1[0]319; AVX512BW-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]320; AVX512BW-NEXT: vmovaps 96(%rdi), %xmm2321; AVX512BW-NEXT: vmovlhps {{.*#+}} xmm7 = xmm3[0],xmm2[0]322; AVX512BW-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]323; AVX512BW-NEXT: vmovaps 112(%rdi), %xmm3324; AVX512BW-NEXT: vmovlhps {{.*#+}} xmm8 = xmm4[0],xmm3[0]325; AVX512BW-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]326; AVX512BW-NEXT: vmovaps %xmm5, (%rsi)327; AVX512BW-NEXT: vmovaps %xmm0, (%rdx)328; AVX512BW-NEXT: vmovaps %xmm6, (%rcx)329; AVX512BW-NEXT: vmovaps %xmm1, (%r8)330; AVX512BW-NEXT: vmovaps %xmm7, (%r9)331; AVX512BW-NEXT: vmovaps %xmm2, (%r11)332; AVX512BW-NEXT: vmovaps %xmm8, (%r10)333; AVX512BW-NEXT: vmovaps %xmm3, (%rax)334; AVX512BW-NEXT: retq335;336; AVX512BW-FCP-LABEL: load_i64_stride8_vf2:337; AVX512BW-FCP: # %bb.0:338; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax339; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10340; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11341; AVX512BW-FCP-NEXT: vmovaps 64(%rdi), %xmm0342; AVX512BW-FCP-NEXT: vmovaps (%rdi), %xmm1343; AVX512BW-FCP-NEXT: vmovaps 16(%rdi), %xmm2344; AVX512BW-FCP-NEXT: vmovaps 32(%rdi), %xmm3345; AVX512BW-FCP-NEXT: vmovaps 48(%rdi), %xmm4346; AVX512BW-FCP-NEXT: vmovlhps {{.*#+}} xmm5 = xmm1[0],xmm0[0]347; AVX512BW-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]348; AVX512BW-FCP-NEXT: vmovaps 80(%rdi), %xmm1349; AVX512BW-FCP-NEXT: vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm1[0]350; AVX512BW-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]351; AVX512BW-FCP-NEXT: vmovaps 96(%rdi), %xmm2352; AVX512BW-FCP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm3[0],xmm2[0]353; AVX512BW-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]354; AVX512BW-FCP-NEXT: vmovaps 112(%rdi), %xmm3355; AVX512BW-FCP-NEXT: vmovlhps {{.*#+}} xmm8 = xmm4[0],xmm3[0]356; AVX512BW-FCP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]357; AVX512BW-FCP-NEXT: vmovaps %xmm5, (%rsi)358; AVX512BW-FCP-NEXT: vmovaps %xmm0, (%rdx)359; AVX512BW-FCP-NEXT: vmovaps %xmm6, (%rcx)360; AVX512BW-FCP-NEXT: vmovaps %xmm1, (%r8)361; AVX512BW-FCP-NEXT: vmovaps %xmm7, (%r9)362; AVX512BW-FCP-NEXT: vmovaps %xmm2, (%r11)363; AVX512BW-FCP-NEXT: vmovaps %xmm8, (%r10)364; AVX512BW-FCP-NEXT: vmovaps %xmm3, (%rax)365; AVX512BW-FCP-NEXT: retq366;367; AVX512DQ-BW-LABEL: load_i64_stride8_vf2:368; AVX512DQ-BW: # %bb.0:369; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax370; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r10371; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r11372; AVX512DQ-BW-NEXT: vmovaps 64(%rdi), %xmm0373; AVX512DQ-BW-NEXT: vmovaps (%rdi), %xmm1374; AVX512DQ-BW-NEXT: vmovaps 16(%rdi), %xmm2375; AVX512DQ-BW-NEXT: vmovaps 32(%rdi), %xmm3376; AVX512DQ-BW-NEXT: vmovaps 48(%rdi), %xmm4377; AVX512DQ-BW-NEXT: vmovlhps {{.*#+}} xmm5 = xmm1[0],xmm0[0]378; AVX512DQ-BW-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]379; AVX512DQ-BW-NEXT: vmovaps 80(%rdi), %xmm1380; AVX512DQ-BW-NEXT: vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm1[0]381; AVX512DQ-BW-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]382; AVX512DQ-BW-NEXT: vmovaps 96(%rdi), %xmm2383; AVX512DQ-BW-NEXT: vmovlhps {{.*#+}} xmm7 = xmm3[0],xmm2[0]384; AVX512DQ-BW-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]385; AVX512DQ-BW-NEXT: vmovaps 112(%rdi), %xmm3386; AVX512DQ-BW-NEXT: vmovlhps {{.*#+}} xmm8 = xmm4[0],xmm3[0]387; AVX512DQ-BW-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]388; AVX512DQ-BW-NEXT: vmovaps %xmm5, (%rsi)389; AVX512DQ-BW-NEXT: vmovaps %xmm0, (%rdx)390; AVX512DQ-BW-NEXT: vmovaps %xmm6, (%rcx)391; AVX512DQ-BW-NEXT: vmovaps %xmm1, (%r8)392; AVX512DQ-BW-NEXT: vmovaps %xmm7, (%r9)393; AVX512DQ-BW-NEXT: vmovaps %xmm2, (%r11)394; AVX512DQ-BW-NEXT: vmovaps %xmm8, (%r10)395; AVX512DQ-BW-NEXT: vmovaps %xmm3, (%rax)396; AVX512DQ-BW-NEXT: retq397;398; AVX512DQ-BW-FCP-LABEL: load_i64_stride8_vf2:399; AVX512DQ-BW-FCP: # %bb.0:400; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax401; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10402; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11403; AVX512DQ-BW-FCP-NEXT: vmovaps 64(%rdi), %xmm0404; AVX512DQ-BW-FCP-NEXT: vmovaps (%rdi), %xmm1405; AVX512DQ-BW-FCP-NEXT: vmovaps 16(%rdi), %xmm2406; AVX512DQ-BW-FCP-NEXT: vmovaps 32(%rdi), %xmm3407; AVX512DQ-BW-FCP-NEXT: vmovaps 48(%rdi), %xmm4408; AVX512DQ-BW-FCP-NEXT: vmovlhps {{.*#+}} xmm5 = xmm1[0],xmm0[0]409; AVX512DQ-BW-FCP-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]410; AVX512DQ-BW-FCP-NEXT: vmovaps 80(%rdi), %xmm1411; AVX512DQ-BW-FCP-NEXT: vmovlhps {{.*#+}} xmm6 = xmm2[0],xmm1[0]412; AVX512DQ-BW-FCP-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm1[1]413; AVX512DQ-BW-FCP-NEXT: vmovaps 96(%rdi), %xmm2414; AVX512DQ-BW-FCP-NEXT: vmovlhps {{.*#+}} xmm7 = xmm3[0],xmm2[0]415; AVX512DQ-BW-FCP-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]416; AVX512DQ-BW-FCP-NEXT: vmovaps 112(%rdi), %xmm3417; AVX512DQ-BW-FCP-NEXT: vmovlhps {{.*#+}} xmm8 = xmm4[0],xmm3[0]418; AVX512DQ-BW-FCP-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]419; AVX512DQ-BW-FCP-NEXT: vmovaps %xmm5, (%rsi)420; AVX512DQ-BW-FCP-NEXT: vmovaps %xmm0, (%rdx)421; AVX512DQ-BW-FCP-NEXT: vmovaps %xmm6, (%rcx)422; AVX512DQ-BW-FCP-NEXT: vmovaps %xmm1, (%r8)423; AVX512DQ-BW-FCP-NEXT: vmovaps %xmm7, (%r9)424; AVX512DQ-BW-FCP-NEXT: vmovaps %xmm2, (%r11)425; AVX512DQ-BW-FCP-NEXT: vmovaps %xmm8, (%r10)426; AVX512DQ-BW-FCP-NEXT: vmovaps %xmm3, (%rax)427; AVX512DQ-BW-FCP-NEXT: retq428 %wide.vec = load <16 x i64>, ptr %in.vec, align 64429 %strided.vec0 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <2 x i32> <i32 0, i32 8>430 %strided.vec1 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <2 x i32> <i32 1, i32 9>431 %strided.vec2 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <2 x i32> <i32 2, i32 10>432 %strided.vec3 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <2 x i32> <i32 3, i32 11>433 %strided.vec4 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <2 x i32> <i32 4, i32 12>434 %strided.vec5 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <2 x i32> <i32 5, i32 13>435 %strided.vec6 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <2 x i32> <i32 6, i32 14>436 %strided.vec7 = shufflevector <16 x i64> %wide.vec, <16 x i64> poison, <2 x i32> <i32 7, i32 15>437 store <2 x i64> %strided.vec0, ptr %out.vec0, align 64438 store <2 x i64> %strided.vec1, ptr %out.vec1, align 64439 store <2 x i64> %strided.vec2, ptr %out.vec2, align 64440 store <2 x i64> %strided.vec3, ptr %out.vec3, align 64441 store <2 x i64> %strided.vec4, ptr %out.vec4, align 64442 store <2 x i64> %strided.vec5, ptr %out.vec5, align 64443 store <2 x i64> %strided.vec6, ptr %out.vec6, align 64444 store <2 x i64> %strided.vec7, ptr %out.vec7, align 64445 ret void446}447 448define void @load_i64_stride8_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, ptr %out.vec7) nounwind {449; SSE-LABEL: load_i64_stride8_vf4:450; SSE: # %bb.0:451; SSE-NEXT: movaps 112(%rdi), %xmm6452; SSE-NEXT: movaps 240(%rdi), %xmm0453; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill454; SSE-NEXT: movaps 96(%rdi), %xmm9455; SSE-NEXT: movaps 224(%rdi), %xmm11456; SSE-NEXT: movaps 160(%rdi), %xmm0457; SSE-NEXT: movaps 80(%rdi), %xmm14458; SSE-NEXT: movaps 208(%rdi), %xmm15459; SSE-NEXT: movaps 144(%rdi), %xmm2460; SSE-NEXT: movaps 64(%rdi), %xmm12461; SSE-NEXT: movaps (%rdi), %xmm7462; SSE-NEXT: movaps 16(%rdi), %xmm5463; SSE-NEXT: movaps 32(%rdi), %xmm3464; SSE-NEXT: movaps 48(%rdi), %xmm4465; SSE-NEXT: movaps 192(%rdi), %xmm13466; SSE-NEXT: movaps 128(%rdi), %xmm8467; SSE-NEXT: movaps %xmm8, %xmm10468; SSE-NEXT: movlhps {{.*#+}} xmm10 = xmm10[0],xmm13[0]469; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm13[1]470; SSE-NEXT: movaps %xmm7, %xmm13471; SSE-NEXT: movlhps {{.*#+}} xmm13 = xmm13[0],xmm12[0]472; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm12[1]473; SSE-NEXT: movaps %xmm2, %xmm12474; SSE-NEXT: movlhps {{.*#+}} xmm12 = xmm12[0],xmm15[0]475; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm15[1]476; SSE-NEXT: movaps %xmm5, %xmm15477; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm14[0]478; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm14[1]479; SSE-NEXT: movaps %xmm0, %xmm14480; SSE-NEXT: movlhps {{.*#+}} xmm14 = xmm14[0],xmm11[0]481; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm11[1]482; SSE-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill483; SSE-NEXT: movaps %xmm3, %xmm11484; SSE-NEXT: movlhps {{.*#+}} xmm11 = xmm11[0],xmm9[0]485; SSE-NEXT: unpckhpd {{.*#+}} xmm3 = xmm3[1],xmm9[1]486; SSE-NEXT: movaps %xmm4, %xmm9487; SSE-NEXT: movlhps {{.*#+}} xmm9 = xmm9[0],xmm6[0]488; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm6[1]489; SSE-NEXT: movaps 176(%rdi), %xmm6490; SSE-NEXT: movaps %xmm6, %xmm1491; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload492; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]493; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm0[1]494; SSE-NEXT: movaps %xmm13, (%rsi)495; SSE-NEXT: movaps %xmm10, 16(%rsi)496; SSE-NEXT: movaps %xmm7, (%rdx)497; SSE-NEXT: movaps %xmm8, 16(%rdx)498; SSE-NEXT: movaps %xmm15, (%rcx)499; SSE-NEXT: movaps %xmm12, 16(%rcx)500; SSE-NEXT: movaps %xmm5, (%r8)501; SSE-NEXT: movaps %xmm2, 16(%r8)502; SSE-NEXT: movaps %xmm11, (%r9)503; SSE-NEXT: movaps %xmm14, 16(%r9)504; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax505; SSE-NEXT: movaps %xmm3, (%rax)506; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload507; SSE-NEXT: movaps %xmm0, 16(%rax)508; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax509; SSE-NEXT: movaps %xmm9, (%rax)510; SSE-NEXT: movaps %xmm1, 16(%rax)511; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax512; SSE-NEXT: movaps %xmm6, 16(%rax)513; SSE-NEXT: movaps %xmm4, (%rax)514; SSE-NEXT: retq515;516; AVX-LABEL: load_i64_stride8_vf4:517; AVX: # %bb.0:518; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax519; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r10520; AVX-NEXT: movq {{[0-9]+}}(%rsp), %r11521; AVX-NEXT: vmovaps 224(%rdi), %ymm0522; AVX-NEXT: vmovaps 160(%rdi), %ymm1523; AVX-NEXT: vmovaps 192(%rdi), %ymm4524; AVX-NEXT: vmovaps 128(%rdi), %ymm5525; AVX-NEXT: vmovaps 192(%rdi), %xmm3526; AVX-NEXT: vmovaps 128(%rdi), %xmm6527; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm6[0],xmm3[0]528; AVX-NEXT: vmovaps 64(%rdi), %xmm7529; AVX-NEXT: vmovaps (%rdi), %xmm8530; AVX-NEXT: vmovlhps {{.*#+}} xmm9 = xmm8[0],xmm7[0]531; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm6[1],xmm3[1]532; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm8[1],xmm7[1]533; AVX-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]534; AVX-NEXT: vmovaps 80(%rdi), %xmm8535; AVX-NEXT: vmovaps 16(%rdi), %xmm10536; AVX-NEXT: vmovlhps {{.*#+}} xmm11 = xmm10[0],xmm8[0]537; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm11[0,1,2,3],ymm7[4,5,6,7]538; AVX-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]539; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm10[1],xmm8[1]540; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]541; AVX-NEXT: vmovaps 224(%rdi), %xmm5542; AVX-NEXT: vmovaps 160(%rdi), %xmm8543; AVX-NEXT: vmovlhps {{.*#+}} xmm10 = xmm8[0],xmm5[0]544; AVX-NEXT: vmovaps 96(%rdi), %xmm11545; AVX-NEXT: vmovaps 32(%rdi), %xmm12546; AVX-NEXT: vmovlhps {{.*#+}} xmm13 = xmm12[0],xmm11[0]547; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm8[1],xmm5[1]548; AVX-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm12[1],xmm11[1]549; AVX-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]550; AVX-NEXT: vmovaps 112(%rdi), %xmm12551; AVX-NEXT: vmovaps 48(%rdi), %xmm14552; AVX-NEXT: vmovlhps {{.*#+}} xmm15 = xmm14[0],xmm12[0]553; AVX-NEXT: vblendps {{.*#+}} ymm11 = ymm15[0,1,2,3],ymm11[4,5,6,7]554; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]555; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm14[1],xmm12[1]556; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]557; AVX-NEXT: vmovaps %xmm9, (%rsi)558; AVX-NEXT: vmovaps %xmm2, 16(%rsi)559; AVX-NEXT: vmovaps %xmm6, (%rdx)560; AVX-NEXT: vmovaps %xmm3, 16(%rdx)561; AVX-NEXT: vmovaps %ymm7, (%rcx)562; AVX-NEXT: vmovaps %ymm4, (%r8)563; AVX-NEXT: vmovaps %xmm13, (%r9)564; AVX-NEXT: vmovaps %xmm10, 16(%r9)565; AVX-NEXT: vmovaps %xmm8, (%r11)566; AVX-NEXT: vmovaps %xmm5, 16(%r11)567; AVX-NEXT: vmovaps %ymm11, (%r10)568; AVX-NEXT: vmovaps %ymm0, (%rax)569; AVX-NEXT: vzeroupper570; AVX-NEXT: retq571;572; AVX2-LABEL: load_i64_stride8_vf4:573; AVX2: # %bb.0:574; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax575; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r10576; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %r11577; AVX2-NEXT: vmovaps 96(%rdi), %ymm0578; AVX2-NEXT: vmovaps 32(%rdi), %ymm1579; AVX2-NEXT: vmovaps 224(%rdi), %ymm2580; AVX2-NEXT: vmovaps 160(%rdi), %ymm3581; AVX2-NEXT: vmovaps 64(%rdi), %ymm4582; AVX2-NEXT: vmovaps (%rdi), %ymm5583; AVX2-NEXT: vmovaps 192(%rdi), %ymm6584; AVX2-NEXT: vmovaps 128(%rdi), %ymm7585; AVX2-NEXT: vmovaps (%rdi), %xmm8586; AVX2-NEXT: vmovaps 32(%rdi), %xmm9587; AVX2-NEXT: vmovaps 64(%rdi), %xmm10588; AVX2-NEXT: vinsertf128 $1, 192(%rdi), %ymm10, %ymm10589; AVX2-NEXT: vinsertf128 $1, 128(%rdi), %ymm8, %ymm8590; AVX2-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm8[0],ymm10[0],ymm8[2],ymm10[2]591; AVX2-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm10[1],ymm8[3],ymm10[3]592; AVX2-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]593; AVX2-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]594; AVX2-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]595; AVX2-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]596; AVX2-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]597; AVX2-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm6[2,3]598; AVX2-NEXT: vmovaps 96(%rdi), %xmm5599; AVX2-NEXT: vinsertf128 $1, 224(%rdi), %ymm5, %ymm5600; AVX2-NEXT: vinsertf128 $1, 160(%rdi), %ymm9, %ymm6601; AVX2-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]602; AVX2-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]603; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]604; AVX2-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]605; AVX2-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm9[2,3],ymm6[2,3]606; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]607; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]608; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]609; AVX2-NEXT: vmovaps %ymm11, (%rsi)610; AVX2-NEXT: vmovaps %ymm8, (%rdx)611; AVX2-NEXT: vmovaps %ymm10, (%rcx)612; AVX2-NEXT: vmovaps %ymm4, (%r8)613; AVX2-NEXT: vmovaps %ymm7, (%r9)614; AVX2-NEXT: vmovaps %ymm5, (%r11)615; AVX2-NEXT: vmovaps %ymm6, (%r10)616; AVX2-NEXT: vmovaps %ymm0, (%rax)617; AVX2-NEXT: vzeroupper618; AVX2-NEXT: retq619;620; AVX2-FP-LABEL: load_i64_stride8_vf4:621; AVX2-FP: # %bb.0:622; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax623; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r10624; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %r11625; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm0626; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm1627; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm2628; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm3629; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm4630; AVX2-FP-NEXT: vmovaps (%rdi), %ymm5631; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm6632; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm7633; AVX2-FP-NEXT: vmovaps (%rdi), %xmm8634; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm9635; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm10636; AVX2-FP-NEXT: vinsertf128 $1, 192(%rdi), %ymm10, %ymm10637; AVX2-FP-NEXT: vinsertf128 $1, 128(%rdi), %ymm8, %ymm8638; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm8[0],ymm10[0],ymm8[2],ymm10[2]639; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm10[1],ymm8[3],ymm10[3]640; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]641; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]642; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]643; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]644; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]645; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm6[2,3]646; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm5647; AVX2-FP-NEXT: vinsertf128 $1, 224(%rdi), %ymm5, %ymm5648; AVX2-FP-NEXT: vinsertf128 $1, 160(%rdi), %ymm9, %ymm6649; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]650; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]651; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]652; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]653; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm9[2,3],ymm6[2,3]654; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]655; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]656; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]657; AVX2-FP-NEXT: vmovaps %ymm11, (%rsi)658; AVX2-FP-NEXT: vmovaps %ymm8, (%rdx)659; AVX2-FP-NEXT: vmovaps %ymm10, (%rcx)660; AVX2-FP-NEXT: vmovaps %ymm4, (%r8)661; AVX2-FP-NEXT: vmovaps %ymm7, (%r9)662; AVX2-FP-NEXT: vmovaps %ymm5, (%r11)663; AVX2-FP-NEXT: vmovaps %ymm6, (%r10)664; AVX2-FP-NEXT: vmovaps %ymm0, (%rax)665; AVX2-FP-NEXT: vzeroupper666; AVX2-FP-NEXT: retq667;668; AVX2-FCP-LABEL: load_i64_stride8_vf4:669; AVX2-FCP: # %bb.0:670; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax671; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10672; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11673; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm0674; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm1675; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm2676; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm3677; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm4678; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm5679; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm6680; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm7681; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm8682; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm9683; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm10684; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rdi), %ymm10, %ymm10685; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rdi), %ymm8, %ymm8686; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm8[0],ymm10[0],ymm8[2],ymm10[2]687; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm8[1],ymm10[1],ymm8[3],ymm10[3]688; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]689; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]690; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm10 = ymm12[2,3],ymm10[2,3]691; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]692; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]693; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm4 = ymm4[2,3],ymm6[2,3]694; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm5695; AVX2-FCP-NEXT: vinsertf128 $1, 224(%rdi), %ymm5, %ymm5696; AVX2-FCP-NEXT: vinsertf128 $1, 160(%rdi), %ymm9, %ymm6697; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]698; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]699; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]700; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]701; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm9[2,3],ymm6[2,3]702; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]703; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]704; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]705; AVX2-FCP-NEXT: vmovaps %ymm11, (%rsi)706; AVX2-FCP-NEXT: vmovaps %ymm8, (%rdx)707; AVX2-FCP-NEXT: vmovaps %ymm10, (%rcx)708; AVX2-FCP-NEXT: vmovaps %ymm4, (%r8)709; AVX2-FCP-NEXT: vmovaps %ymm7, (%r9)710; AVX2-FCP-NEXT: vmovaps %ymm5, (%r11)711; AVX2-FCP-NEXT: vmovaps %ymm6, (%r10)712; AVX2-FCP-NEXT: vmovaps %ymm0, (%rax)713; AVX2-FCP-NEXT: vzeroupper714; AVX2-FCP-NEXT: retq715;716; AVX512-LABEL: load_i64_stride8_vf4:717; AVX512: # %bb.0:718; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax719; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r10720; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r11721; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm3722; AVX512-NEXT: vmovdqa64 (%rdi), %zmm4723; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm5724; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm6725; AVX512-NEXT: vmovaps (%rdi), %xmm0726; AVX512-NEXT: vmovaps 64(%rdi), %xmm1727; AVX512-NEXT: vinsertf128 $1, 192(%rdi), %ymm1, %ymm1728; AVX512-NEXT: vinsertf128 $1, 128(%rdi), %ymm0, %ymm0729; AVX512-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]730; AVX512-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]731; AVX512-NEXT: vmovaps 192(%rdi), %ymm1732; AVX512-NEXT: vmovaps 128(%rdi), %ymm2733; AVX512-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]734; AVX512-NEXT: vmovaps 64(%rdi), %ymm9735; AVX512-NEXT: vmovaps (%rdi), %ymm10736; AVX512-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]737; AVX512-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]738; AVX512-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]739; AVX512-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]740; AVX512-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]741; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm2 = [0,0,4,12]742; AVX512-NEXT: vpermi2q %zmm5, %zmm6, %zmm2743; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,12]744; AVX512-NEXT: vpermi2q %zmm3, %zmm4, %zmm9745; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]746; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,5,13]747; AVX512-NEXT: vpermi2q %zmm5, %zmm6, %zmm9748; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm10 = [5,13]749; AVX512-NEXT: vpermi2q %zmm3, %zmm4, %zmm10750; AVX512-NEXT: vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]751; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm10 = [0,0,6,14]752; AVX512-NEXT: vpermi2q %zmm5, %zmm6, %zmm10753; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm11 = [6,14]754; AVX512-NEXT: vpermi2q %zmm3, %zmm4, %zmm11755; AVX512-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]756; AVX512-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,7,15]757; AVX512-NEXT: vpermi2q %zmm5, %zmm6, %zmm11758; AVX512-NEXT: vpmovsxbq {{.*#+}} xmm5 = [7,15]759; AVX512-NEXT: vpermi2q %zmm3, %zmm4, %zmm5760; AVX512-NEXT: vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm11[4,5,6,7]761; AVX512-NEXT: vmovaps %ymm7, (%rsi)762; AVX512-NEXT: vmovaps %ymm8, (%rdx)763; AVX512-NEXT: vmovaps %ymm0, (%rcx)764; AVX512-NEXT: vmovaps %ymm1, (%r8)765; AVX512-NEXT: vmovdqa %ymm2, (%r9)766; AVX512-NEXT: vmovdqa %ymm9, (%r11)767; AVX512-NEXT: vmovdqa %ymm10, (%r10)768; AVX512-NEXT: vmovdqa %ymm3, (%rax)769; AVX512-NEXT: vzeroupper770; AVX512-NEXT: retq771;772; AVX512-FCP-LABEL: load_i64_stride8_vf4:773; AVX512-FCP: # %bb.0:774; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax775; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10776; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11777; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm3778; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm4779; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm5780; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm6781; AVX512-FCP-NEXT: vmovaps (%rdi), %xmm0782; AVX512-FCP-NEXT: vmovaps 64(%rdi), %xmm1783; AVX512-FCP-NEXT: vinsertf128 $1, 192(%rdi), %ymm1, %ymm1784; AVX512-FCP-NEXT: vinsertf128 $1, 128(%rdi), %ymm0, %ymm0785; AVX512-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]786; AVX512-FCP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]787; AVX512-FCP-NEXT: vmovaps 192(%rdi), %ymm1788; AVX512-FCP-NEXT: vmovaps 128(%rdi), %ymm2789; AVX512-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]790; AVX512-FCP-NEXT: vmovaps 64(%rdi), %ymm9791; AVX512-FCP-NEXT: vmovaps (%rdi), %ymm10792; AVX512-FCP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]793; AVX512-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]794; AVX512-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]795; AVX512-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]796; AVX512-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]797; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm2 = [0,0,4,12]798; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm2799; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,12]800; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm9801; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]802; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,5,13]803; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm9804; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm10 = [5,13]805; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm10806; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]807; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm10 = [0,0,6,14]808; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm10809; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm11 = [6,14]810; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm11811; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]812; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,7,15]813; AVX512-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm11814; AVX512-FCP-NEXT: vpmovsxbq {{.*#+}} xmm5 = [7,15]815; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm5816; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm11[4,5,6,7]817; AVX512-FCP-NEXT: vmovaps %ymm7, (%rsi)818; AVX512-FCP-NEXT: vmovaps %ymm8, (%rdx)819; AVX512-FCP-NEXT: vmovaps %ymm0, (%rcx)820; AVX512-FCP-NEXT: vmovaps %ymm1, (%r8)821; AVX512-FCP-NEXT: vmovdqa %ymm2, (%r9)822; AVX512-FCP-NEXT: vmovdqa %ymm9, (%r11)823; AVX512-FCP-NEXT: vmovdqa %ymm10, (%r10)824; AVX512-FCP-NEXT: vmovdqa %ymm3, (%rax)825; AVX512-FCP-NEXT: vzeroupper826; AVX512-FCP-NEXT: retq827;828; AVX512DQ-LABEL: load_i64_stride8_vf4:829; AVX512DQ: # %bb.0:830; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax831; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r10832; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r11833; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm3834; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm4835; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm5836; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm6837; AVX512DQ-NEXT: vmovaps (%rdi), %xmm0838; AVX512DQ-NEXT: vmovaps 64(%rdi), %xmm1839; AVX512DQ-NEXT: vinsertf128 $1, 192(%rdi), %ymm1, %ymm1840; AVX512DQ-NEXT: vinsertf128 $1, 128(%rdi), %ymm0, %ymm0841; AVX512DQ-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]842; AVX512DQ-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]843; AVX512DQ-NEXT: vmovaps 192(%rdi), %ymm1844; AVX512DQ-NEXT: vmovaps 128(%rdi), %ymm2845; AVX512DQ-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]846; AVX512DQ-NEXT: vmovaps 64(%rdi), %ymm9847; AVX512DQ-NEXT: vmovaps (%rdi), %ymm10848; AVX512DQ-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]849; AVX512DQ-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]850; AVX512DQ-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]851; AVX512DQ-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]852; AVX512DQ-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]853; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm2 = [0,0,4,12]854; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm6, %zmm2855; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,12]856; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm4, %zmm9857; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]858; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,5,13]859; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm6, %zmm9860; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm10 = [5,13]861; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm4, %zmm10862; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]863; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm10 = [0,0,6,14]864; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm6, %zmm10865; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm11 = [6,14]866; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm4, %zmm11867; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]868; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,7,15]869; AVX512DQ-NEXT: vpermi2q %zmm5, %zmm6, %zmm11870; AVX512DQ-NEXT: vpmovsxbq {{.*#+}} xmm5 = [7,15]871; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm4, %zmm5872; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm11[4,5,6,7]873; AVX512DQ-NEXT: vmovaps %ymm7, (%rsi)874; AVX512DQ-NEXT: vmovaps %ymm8, (%rdx)875; AVX512DQ-NEXT: vmovaps %ymm0, (%rcx)876; AVX512DQ-NEXT: vmovaps %ymm1, (%r8)877; AVX512DQ-NEXT: vmovdqa %ymm2, (%r9)878; AVX512DQ-NEXT: vmovdqa %ymm9, (%r11)879; AVX512DQ-NEXT: vmovdqa %ymm10, (%r10)880; AVX512DQ-NEXT: vmovdqa %ymm3, (%rax)881; AVX512DQ-NEXT: vzeroupper882; AVX512DQ-NEXT: retq883;884; AVX512DQ-FCP-LABEL: load_i64_stride8_vf4:885; AVX512DQ-FCP: # %bb.0:886; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax887; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r10888; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r11889; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm3890; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm4891; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm5892; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm6893; AVX512DQ-FCP-NEXT: vmovaps (%rdi), %xmm0894; AVX512DQ-FCP-NEXT: vmovaps 64(%rdi), %xmm1895; AVX512DQ-FCP-NEXT: vinsertf128 $1, 192(%rdi), %ymm1, %ymm1896; AVX512DQ-FCP-NEXT: vinsertf128 $1, 128(%rdi), %ymm0, %ymm0897; AVX512DQ-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]898; AVX512DQ-FCP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]899; AVX512DQ-FCP-NEXT: vmovaps 192(%rdi), %ymm1900; AVX512DQ-FCP-NEXT: vmovaps 128(%rdi), %ymm2901; AVX512DQ-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]902; AVX512DQ-FCP-NEXT: vmovaps 64(%rdi), %ymm9903; AVX512DQ-FCP-NEXT: vmovaps (%rdi), %ymm10904; AVX512DQ-FCP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]905; AVX512DQ-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]906; AVX512DQ-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]907; AVX512DQ-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]908; AVX512DQ-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]909; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm2 = [0,0,4,12]910; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm2911; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,12]912; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm9913; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]914; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,5,13]915; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm9916; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm10 = [5,13]917; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm10918; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]919; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm10 = [0,0,6,14]920; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm10921; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm11 = [6,14]922; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm11923; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]924; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,7,15]925; AVX512DQ-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm11926; AVX512DQ-FCP-NEXT: vpmovsxbq {{.*#+}} xmm5 = [7,15]927; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm5928; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm11[4,5,6,7]929; AVX512DQ-FCP-NEXT: vmovaps %ymm7, (%rsi)930; AVX512DQ-FCP-NEXT: vmovaps %ymm8, (%rdx)931; AVX512DQ-FCP-NEXT: vmovaps %ymm0, (%rcx)932; AVX512DQ-FCP-NEXT: vmovaps %ymm1, (%r8)933; AVX512DQ-FCP-NEXT: vmovdqa %ymm2, (%r9)934; AVX512DQ-FCP-NEXT: vmovdqa %ymm9, (%r11)935; AVX512DQ-FCP-NEXT: vmovdqa %ymm10, (%r10)936; AVX512DQ-FCP-NEXT: vmovdqa %ymm3, (%rax)937; AVX512DQ-FCP-NEXT: vzeroupper938; AVX512DQ-FCP-NEXT: retq939;940; AVX512BW-LABEL: load_i64_stride8_vf4:941; AVX512BW: # %bb.0:942; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax943; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r10944; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r11945; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm3946; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm4947; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm5948; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm6949; AVX512BW-NEXT: vmovaps (%rdi), %xmm0950; AVX512BW-NEXT: vmovaps 64(%rdi), %xmm1951; AVX512BW-NEXT: vinsertf128 $1, 192(%rdi), %ymm1, %ymm1952; AVX512BW-NEXT: vinsertf128 $1, 128(%rdi), %ymm0, %ymm0953; AVX512BW-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]954; AVX512BW-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]955; AVX512BW-NEXT: vmovaps 192(%rdi), %ymm1956; AVX512BW-NEXT: vmovaps 128(%rdi), %ymm2957; AVX512BW-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]958; AVX512BW-NEXT: vmovaps 64(%rdi), %ymm9959; AVX512BW-NEXT: vmovaps (%rdi), %ymm10960; AVX512BW-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]961; AVX512BW-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]962; AVX512BW-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]963; AVX512BW-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]964; AVX512BW-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]965; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm2 = [0,0,4,12]966; AVX512BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm2967; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,12]968; AVX512BW-NEXT: vpermi2q %zmm3, %zmm4, %zmm9969; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]970; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,5,13]971; AVX512BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm9972; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm10 = [5,13]973; AVX512BW-NEXT: vpermi2q %zmm3, %zmm4, %zmm10974; AVX512BW-NEXT: vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]975; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm10 = [0,0,6,14]976; AVX512BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm10977; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm11 = [6,14]978; AVX512BW-NEXT: vpermi2q %zmm3, %zmm4, %zmm11979; AVX512BW-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]980; AVX512BW-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,7,15]981; AVX512BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm11982; AVX512BW-NEXT: vpmovsxbq {{.*#+}} xmm5 = [7,15]983; AVX512BW-NEXT: vpermi2q %zmm3, %zmm4, %zmm5984; AVX512BW-NEXT: vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm11[4,5,6,7]985; AVX512BW-NEXT: vmovaps %ymm7, (%rsi)986; AVX512BW-NEXT: vmovaps %ymm8, (%rdx)987; AVX512BW-NEXT: vmovaps %ymm0, (%rcx)988; AVX512BW-NEXT: vmovaps %ymm1, (%r8)989; AVX512BW-NEXT: vmovdqa %ymm2, (%r9)990; AVX512BW-NEXT: vmovdqa %ymm9, (%r11)991; AVX512BW-NEXT: vmovdqa %ymm10, (%r10)992; AVX512BW-NEXT: vmovdqa %ymm3, (%rax)993; AVX512BW-NEXT: vzeroupper994; AVX512BW-NEXT: retq995;996; AVX512BW-FCP-LABEL: load_i64_stride8_vf4:997; AVX512BW-FCP: # %bb.0:998; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax999; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r101000; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r111001; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm31002; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm41003; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm51004; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm61005; AVX512BW-FCP-NEXT: vmovaps (%rdi), %xmm01006; AVX512BW-FCP-NEXT: vmovaps 64(%rdi), %xmm11007; AVX512BW-FCP-NEXT: vinsertf128 $1, 192(%rdi), %ymm1, %ymm11008; AVX512BW-FCP-NEXT: vinsertf128 $1, 128(%rdi), %ymm0, %ymm01009; AVX512BW-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1010; AVX512BW-FCP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1011; AVX512BW-FCP-NEXT: vmovaps 192(%rdi), %ymm11012; AVX512BW-FCP-NEXT: vmovaps 128(%rdi), %ymm21013; AVX512BW-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]1014; AVX512BW-FCP-NEXT: vmovaps 64(%rdi), %ymm91015; AVX512BW-FCP-NEXT: vmovaps (%rdi), %ymm101016; AVX512BW-FCP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]1017; AVX512BW-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]1018; AVX512BW-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]1019; AVX512BW-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]1020; AVX512BW-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]1021; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm2 = [0,0,4,12]1022; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm21023; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,12]1024; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm91025; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]1026; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,5,13]1027; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm91028; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm10 = [5,13]1029; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm101030; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]1031; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm10 = [0,0,6,14]1032; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm101033; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm11 = [6,14]1034; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm111035; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]1036; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,7,15]1037; AVX512BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm111038; AVX512BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm5 = [7,15]1039; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm51040; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm11[4,5,6,7]1041; AVX512BW-FCP-NEXT: vmovaps %ymm7, (%rsi)1042; AVX512BW-FCP-NEXT: vmovaps %ymm8, (%rdx)1043; AVX512BW-FCP-NEXT: vmovaps %ymm0, (%rcx)1044; AVX512BW-FCP-NEXT: vmovaps %ymm1, (%r8)1045; AVX512BW-FCP-NEXT: vmovdqa %ymm2, (%r9)1046; AVX512BW-FCP-NEXT: vmovdqa %ymm9, (%r11)1047; AVX512BW-FCP-NEXT: vmovdqa %ymm10, (%r10)1048; AVX512BW-FCP-NEXT: vmovdqa %ymm3, (%rax)1049; AVX512BW-FCP-NEXT: vzeroupper1050; AVX512BW-FCP-NEXT: retq1051;1052; AVX512DQ-BW-LABEL: load_i64_stride8_vf4:1053; AVX512DQ-BW: # %bb.0:1054; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax1055; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r101056; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r111057; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm31058; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm41059; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm51060; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm61061; AVX512DQ-BW-NEXT: vmovaps (%rdi), %xmm01062; AVX512DQ-BW-NEXT: vmovaps 64(%rdi), %xmm11063; AVX512DQ-BW-NEXT: vinsertf128 $1, 192(%rdi), %ymm1, %ymm11064; AVX512DQ-BW-NEXT: vinsertf128 $1, 128(%rdi), %ymm0, %ymm01065; AVX512DQ-BW-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1066; AVX512DQ-BW-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1067; AVX512DQ-BW-NEXT: vmovaps 192(%rdi), %ymm11068; AVX512DQ-BW-NEXT: vmovaps 128(%rdi), %ymm21069; AVX512DQ-BW-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]1070; AVX512DQ-BW-NEXT: vmovaps 64(%rdi), %ymm91071; AVX512DQ-BW-NEXT: vmovaps (%rdi), %ymm101072; AVX512DQ-BW-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]1073; AVX512DQ-BW-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]1074; AVX512DQ-BW-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]1075; AVX512DQ-BW-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]1076; AVX512DQ-BW-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]1077; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm2 = [0,0,4,12]1078; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm21079; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,12]1080; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm4, %zmm91081; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]1082; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,5,13]1083; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm91084; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm10 = [5,13]1085; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm4, %zmm101086; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]1087; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm10 = [0,0,6,14]1088; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm101089; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm11 = [6,14]1090; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm4, %zmm111091; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]1092; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,7,15]1093; AVX512DQ-BW-NEXT: vpermi2q %zmm5, %zmm6, %zmm111094; AVX512DQ-BW-NEXT: vpmovsxbq {{.*#+}} xmm5 = [7,15]1095; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm4, %zmm51096; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm11[4,5,6,7]1097; AVX512DQ-BW-NEXT: vmovaps %ymm7, (%rsi)1098; AVX512DQ-BW-NEXT: vmovaps %ymm8, (%rdx)1099; AVX512DQ-BW-NEXT: vmovaps %ymm0, (%rcx)1100; AVX512DQ-BW-NEXT: vmovaps %ymm1, (%r8)1101; AVX512DQ-BW-NEXT: vmovdqa %ymm2, (%r9)1102; AVX512DQ-BW-NEXT: vmovdqa %ymm9, (%r11)1103; AVX512DQ-BW-NEXT: vmovdqa %ymm10, (%r10)1104; AVX512DQ-BW-NEXT: vmovdqa %ymm3, (%rax)1105; AVX512DQ-BW-NEXT: vzeroupper1106; AVX512DQ-BW-NEXT: retq1107;1108; AVX512DQ-BW-FCP-LABEL: load_i64_stride8_vf4:1109; AVX512DQ-BW-FCP: # %bb.0:1110; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1111; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r101112; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r111113; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm31114; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm41115; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm51116; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm61117; AVX512DQ-BW-FCP-NEXT: vmovaps (%rdi), %xmm01118; AVX512DQ-BW-FCP-NEXT: vmovaps 64(%rdi), %xmm11119; AVX512DQ-BW-FCP-NEXT: vinsertf128 $1, 192(%rdi), %ymm1, %ymm11120; AVX512DQ-BW-FCP-NEXT: vinsertf128 $1, 128(%rdi), %ymm0, %ymm01121; AVX512DQ-BW-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1122; AVX512DQ-BW-FCP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1123; AVX512DQ-BW-FCP-NEXT: vmovaps 192(%rdi), %ymm11124; AVX512DQ-BW-FCP-NEXT: vmovaps 128(%rdi), %ymm21125; AVX512DQ-BW-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]1126; AVX512DQ-BW-FCP-NEXT: vmovaps 64(%rdi), %ymm91127; AVX512DQ-BW-FCP-NEXT: vmovaps (%rdi), %ymm101128; AVX512DQ-BW-FCP-NEXT: vunpcklpd {{.*#+}} ymm11 = ymm10[0],ymm9[0],ymm10[2],ymm9[2]1129; AVX512DQ-BW-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]1130; AVX512DQ-BW-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]1131; AVX512DQ-BW-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm9[1],ymm10[3],ymm9[3]1132; AVX512DQ-BW-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]1133; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm2 = [0,0,4,12]1134; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm21135; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm9 = [4,12]1136; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm91137; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]1138; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm9 = [0,0,5,13]1139; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm91140; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm10 = [5,13]1141; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm101142; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]1143; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm10 = [0,0,6,14]1144; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm101145; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm11 = [6,14]1146; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm111147; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]1148; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} ymm11 = [0,0,7,15]1149; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm5, %zmm6, %zmm111150; AVX512DQ-BW-FCP-NEXT: vpmovsxbq {{.*#+}} xmm5 = [7,15]1151; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm4, %zmm51152; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3],ymm11[4,5,6,7]1153; AVX512DQ-BW-FCP-NEXT: vmovaps %ymm7, (%rsi)1154; AVX512DQ-BW-FCP-NEXT: vmovaps %ymm8, (%rdx)1155; AVX512DQ-BW-FCP-NEXT: vmovaps %ymm0, (%rcx)1156; AVX512DQ-BW-FCP-NEXT: vmovaps %ymm1, (%r8)1157; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm2, (%r9)1158; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm9, (%r11)1159; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm10, (%r10)1160; AVX512DQ-BW-FCP-NEXT: vmovdqa %ymm3, (%rax)1161; AVX512DQ-BW-FCP-NEXT: vzeroupper1162; AVX512DQ-BW-FCP-NEXT: retq1163 %wide.vec = load <32 x i64>, ptr %in.vec, align 641164 %strided.vec0 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <4 x i32> <i32 0, i32 8, i32 16, i32 24>1165 %strided.vec1 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <4 x i32> <i32 1, i32 9, i32 17, i32 25>1166 %strided.vec2 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <4 x i32> <i32 2, i32 10, i32 18, i32 26>1167 %strided.vec3 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <4 x i32> <i32 3, i32 11, i32 19, i32 27>1168 %strided.vec4 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <4 x i32> <i32 4, i32 12, i32 20, i32 28>1169 %strided.vec5 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <4 x i32> <i32 5, i32 13, i32 21, i32 29>1170 %strided.vec6 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <4 x i32> <i32 6, i32 14, i32 22, i32 30>1171 %strided.vec7 = shufflevector <32 x i64> %wide.vec, <32 x i64> poison, <4 x i32> <i32 7, i32 15, i32 23, i32 31>1172 store <4 x i64> %strided.vec0, ptr %out.vec0, align 641173 store <4 x i64> %strided.vec1, ptr %out.vec1, align 641174 store <4 x i64> %strided.vec2, ptr %out.vec2, align 641175 store <4 x i64> %strided.vec3, ptr %out.vec3, align 641176 store <4 x i64> %strided.vec4, ptr %out.vec4, align 641177 store <4 x i64> %strided.vec5, ptr %out.vec5, align 641178 store <4 x i64> %strided.vec6, ptr %out.vec6, align 641179 store <4 x i64> %strided.vec7, ptr %out.vec7, align 641180 ret void1181}1182 1183define void @load_i64_stride8_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, ptr %out.vec7) nounwind {1184; SSE-LABEL: load_i64_stride8_vf8:1185; SSE: # %bb.0:1186; SSE-NEXT: subq $152, %rsp1187; SSE-NEXT: movaps 336(%rdi), %xmm01188; SSE-NEXT: movaps 464(%rdi), %xmm11189; SSE-NEXT: movaps 400(%rdi), %xmm81190; SSE-NEXT: movaps 80(%rdi), %xmm21191; SSE-NEXT: movaps 208(%rdi), %xmm31192; SSE-NEXT: movaps 144(%rdi), %xmm91193; SSE-NEXT: movaps 320(%rdi), %xmm41194; SSE-NEXT: movaps 256(%rdi), %xmm111195; SSE-NEXT: movaps 448(%rdi), %xmm51196; SSE-NEXT: movaps 384(%rdi), %xmm121197; SSE-NEXT: movaps 64(%rdi), %xmm61198; SSE-NEXT: movaps (%rdi), %xmm131199; SSE-NEXT: movaps 16(%rdi), %xmm101200; SSE-NEXT: movaps 192(%rdi), %xmm71201; SSE-NEXT: movaps 128(%rdi), %xmm141202; SSE-NEXT: movaps %xmm14, %xmm151203; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm7[0]1204; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1205; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm7[1]1206; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1207; SSE-NEXT: movaps %xmm13, %xmm71208; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm6[0]1209; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1210; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]1211; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1212; SSE-NEXT: movaps %xmm12, %xmm61213; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]1214; SSE-NEXT: movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1215; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm5[1]1216; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1217; SSE-NEXT: movaps %xmm11, %xmm51218; SSE-NEXT: movlhps {{.*#+}} xmm5 = xmm5[0],xmm4[0]1219; SSE-NEXT: movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1220; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm4[1]1221; SSE-NEXT: movaps %xmm11, (%rsp) # 16-byte Spill1222; SSE-NEXT: movaps %xmm9, %xmm41223; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm3[0]1224; SSE-NEXT: movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1225; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm3[1]1226; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1227; SSE-NEXT: movaps %xmm10, %xmm31228; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm2[0]1229; SSE-NEXT: movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1230; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm2[1]1231; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1232; SSE-NEXT: movaps %xmm8, %xmm21233; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]1234; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1235; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm1[1]1236; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1237; SSE-NEXT: movaps 272(%rdi), %xmm151238; SSE-NEXT: movaps %xmm15, %xmm11239; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1240; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1241; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]1242; SSE-NEXT: movaps 96(%rdi), %xmm01243; SSE-NEXT: movaps 32(%rdi), %xmm141244; SSE-NEXT: movaps %xmm14, %xmm11245; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1246; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1247; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]1248; SSE-NEXT: movaps 224(%rdi), %xmm01249; SSE-NEXT: movaps 160(%rdi), %xmm91250; SSE-NEXT: movaps %xmm9, %xmm11251; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]1252; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1253; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]1254; SSE-NEXT: movaps 352(%rdi), %xmm01255; SSE-NEXT: movaps 288(%rdi), %xmm101256; SSE-NEXT: movaps %xmm10, %xmm121257; SSE-NEXT: movlhps {{.*#+}} xmm12 = xmm12[0],xmm0[0]1258; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]1259; SSE-NEXT: movaps 480(%rdi), %xmm01260; SSE-NEXT: movaps 416(%rdi), %xmm81261; SSE-NEXT: movaps %xmm8, %xmm111262; SSE-NEXT: movlhps {{.*#+}} xmm11 = xmm11[0],xmm0[0]1263; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]1264; SSE-NEXT: movaps 112(%rdi), %xmm01265; SSE-NEXT: movaps 48(%rdi), %xmm71266; SSE-NEXT: movaps %xmm7, %xmm131267; SSE-NEXT: movlhps {{.*#+}} xmm13 = xmm13[0],xmm0[0]1268; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]1269; SSE-NEXT: movaps 240(%rdi), %xmm01270; SSE-NEXT: movaps 176(%rdi), %xmm51271; SSE-NEXT: movaps %xmm5, %xmm61272; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm0[0]1273; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]1274; SSE-NEXT: movaps 368(%rdi), %xmm01275; SSE-NEXT: movaps 304(%rdi), %xmm21276; SSE-NEXT: movaps %xmm2, %xmm41277; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]1278; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]1279; SSE-NEXT: movaps 496(%rdi), %xmm01280; SSE-NEXT: movaps 432(%rdi), %xmm11281; SSE-NEXT: movaps %xmm1, %xmm31282; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm0[0]1283; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]1284; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1285; SSE-NEXT: movaps %xmm0, 32(%rsi)1286; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1287; SSE-NEXT: movaps %xmm0, 48(%rsi)1288; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1289; SSE-NEXT: movaps %xmm0, (%rsi)1290; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1291; SSE-NEXT: movaps %xmm0, 16(%rsi)1292; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload1293; SSE-NEXT: movaps %xmm0, 32(%rdx)1294; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1295; SSE-NEXT: movaps %xmm0, 48(%rdx)1296; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1297; SSE-NEXT: movaps %xmm0, (%rdx)1298; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1299; SSE-NEXT: movaps %xmm0, 16(%rdx)1300; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1301; SSE-NEXT: movaps %xmm0, 32(%rcx)1302; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1303; SSE-NEXT: movaps %xmm0, 48(%rcx)1304; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1305; SSE-NEXT: movaps %xmm0, (%rcx)1306; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1307; SSE-NEXT: movaps %xmm0, 16(%rcx)1308; SSE-NEXT: movaps %xmm15, 32(%r8)1309; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1310; SSE-NEXT: movaps %xmm0, 48(%r8)1311; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1312; SSE-NEXT: movaps %xmm0, (%r8)1313; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1314; SSE-NEXT: movaps %xmm0, 16(%r8)1315; SSE-NEXT: movaps %xmm12, 32(%r9)1316; SSE-NEXT: movaps %xmm11, 48(%r9)1317; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1318; SSE-NEXT: movaps %xmm0, (%r9)1319; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1320; SSE-NEXT: movaps %xmm0, 16(%r9)1321; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax1322; SSE-NEXT: movaps %xmm8, 48(%rax)1323; SSE-NEXT: movaps %xmm10, 32(%rax)1324; SSE-NEXT: movaps %xmm9, 16(%rax)1325; SSE-NEXT: movaps %xmm14, (%rax)1326; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax1327; SSE-NEXT: movaps %xmm3, 48(%rax)1328; SSE-NEXT: movaps %xmm4, 32(%rax)1329; SSE-NEXT: movaps %xmm6, 16(%rax)1330; SSE-NEXT: movaps %xmm13, (%rax)1331; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax1332; SSE-NEXT: movaps %xmm1, 48(%rax)1333; SSE-NEXT: movaps %xmm2, 32(%rax)1334; SSE-NEXT: movaps %xmm5, 16(%rax)1335; SSE-NEXT: movaps %xmm7, (%rax)1336; SSE-NEXT: addq $152, %rsp1337; SSE-NEXT: retq1338;1339; AVX-LABEL: load_i64_stride8_vf8:1340; AVX: # %bb.0:1341; AVX-NEXT: subq $184, %rsp1342; AVX-NEXT: vmovaps 192(%rdi), %ymm01343; AVX-NEXT: vmovaps 128(%rdi), %ymm11344; AVX-NEXT: vmovaps 448(%rdi), %ymm21345; AVX-NEXT: vmovaps 384(%rdi), %ymm31346; AVX-NEXT: vmovaps 320(%rdi), %xmm41347; AVX-NEXT: vmovaps 256(%rdi), %xmm51348; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]1349; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1350; AVX-NEXT: vmovaps 448(%rdi), %xmm71351; AVX-NEXT: vmovaps 384(%rdi), %xmm81352; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm8[0],xmm7[0]1353; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1354; AVX-NEXT: vmovaps 192(%rdi), %xmm91355; AVX-NEXT: vmovaps 128(%rdi), %xmm101356; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm10[0],xmm9[0]1357; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1358; AVX-NEXT: vmovaps 64(%rdi), %xmm111359; AVX-NEXT: vmovaps (%rdi), %xmm121360; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm12[0],xmm11[0]1361; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1362; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm5[1],xmm4[1]1363; AVX-NEXT: vmovaps %xmm4, (%rsp) # 16-byte Spill1364; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm8[1],xmm7[1]1365; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1366; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm10[1],xmm9[1]1367; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1368; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm12[1],xmm11[1]1369; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1370; AVX-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]1371; AVX-NEXT: vmovaps 336(%rdi), %xmm101372; AVX-NEXT: vmovaps 272(%rdi), %xmm111373; AVX-NEXT: vmovlhps {{.*#+}} xmm8 = xmm11[0],xmm10[0]1374; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]1375; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1376; AVX-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]1377; AVX-NEXT: vmovaps 80(%rdi), %xmm121378; AVX-NEXT: vmovaps 16(%rdi), %xmm131379; AVX-NEXT: vmovlhps {{.*#+}} xmm9 = xmm13[0],xmm12[0]1380; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm9[0,1,2,3],ymm4[4,5,6,7]1381; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1382; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]1383; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm11[1],xmm10[1]1384; AVX-NEXT: vblendps {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]1385; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1386; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]1387; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm13[1],xmm12[1]1388; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]1389; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1390; AVX-NEXT: vmovaps 480(%rdi), %xmm01391; AVX-NEXT: vmovaps 416(%rdi), %xmm11392; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]1393; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1394; AVX-NEXT: vmovaps 352(%rdi), %xmm21395; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]1396; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1397; AVX-NEXT: vmovaps 288(%rdi), %xmm01398; AVX-NEXT: vmovlhps {{.*#+}} xmm15 = xmm0[0],xmm2[0]1399; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]1400; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1401; AVX-NEXT: vmovaps 224(%rdi), %xmm01402; AVX-NEXT: vmovaps 160(%rdi), %xmm11403; AVX-NEXT: vmovlhps {{.*#+}} xmm12 = xmm1[0],xmm0[0]1404; AVX-NEXT: vunpckhpd {{.*#+}} xmm13 = xmm1[1],xmm0[1]1405; AVX-NEXT: vmovaps 96(%rdi), %xmm11406; AVX-NEXT: vmovaps 32(%rdi), %xmm21407; AVX-NEXT: vmovlhps {{.*#+}} xmm8 = xmm2[0],xmm1[0]1408; AVX-NEXT: vunpckhpd {{.*#+}} xmm11 = xmm2[1],xmm1[1]1409; AVX-NEXT: vmovaps 480(%rdi), %ymm61410; AVX-NEXT: vmovaps 416(%rdi), %ymm51411; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm6[0],ymm5[2],ymm6[2]1412; AVX-NEXT: vmovaps 368(%rdi), %xmm41413; AVX-NEXT: vmovaps 304(%rdi), %xmm31414; AVX-NEXT: vmovlhps {{.*#+}} xmm9 = xmm3[0],xmm4[0]1415; AVX-NEXT: vblendps {{.*#+}} ymm10 = ymm9[0,1,2,3],ymm0[4,5,6,7]1416; AVX-NEXT: vmovaps 224(%rdi), %ymm91417; AVX-NEXT: vmovaps 160(%rdi), %ymm21418; AVX-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm2[0],ymm9[0],ymm2[2],ymm9[2]1419; AVX-NEXT: vmovaps 112(%rdi), %xmm11420; AVX-NEXT: vmovaps 48(%rdi), %xmm01421; AVX-NEXT: vmovlhps {{.*#+}} xmm14 = xmm0[0],xmm1[0]1422; AVX-NEXT: vblendps {{.*#+}} ymm7 = ymm14[0,1,2,3],ymm7[4,5,6,7]1423; AVX-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm5[1],ymm6[1],ymm5[3],ymm6[3]1424; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm3[1],xmm4[1]1425; AVX-NEXT: vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm5[4,5,6,7]1426; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm9[1],ymm2[3],ymm9[3]1427; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]1428; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]1429; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1430; AVX-NEXT: vmovaps %xmm1, (%rsi)1431; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1432; AVX-NEXT: vmovaps %xmm1, 16(%rsi)1433; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1434; AVX-NEXT: vmovaps %xmm1, 48(%rsi)1435; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1436; AVX-NEXT: vmovaps %xmm1, 32(%rsi)1437; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1438; AVX-NEXT: vmovaps %xmm1, (%rdx)1439; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1440; AVX-NEXT: vmovaps %xmm1, 16(%rdx)1441; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1442; AVX-NEXT: vmovaps %xmm1, 48(%rdx)1443; AVX-NEXT: vmovaps (%rsp), %xmm1 # 16-byte Reload1444; AVX-NEXT: vmovaps %xmm1, 32(%rdx)1445; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1446; AVX-NEXT: vmovaps %ymm1, (%rcx)1447; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1448; AVX-NEXT: vmovaps %ymm1, 32(%rcx)1449; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1450; AVX-NEXT: vmovaps %ymm1, (%r8)1451; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1452; AVX-NEXT: vmovaps %ymm1, 32(%r8)1453; AVX-NEXT: vmovaps %xmm8, (%r9)1454; AVX-NEXT: vmovaps %xmm12, 16(%r9)1455; AVX-NEXT: vmovaps %xmm15, 32(%r9)1456; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1457; AVX-NEXT: vmovaps %xmm1, 48(%r9)1458; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax1459; AVX-NEXT: vmovaps %xmm11, (%rax)1460; AVX-NEXT: vmovaps %xmm13, 16(%rax)1461; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1462; AVX-NEXT: vmovaps %xmm1, 32(%rax)1463; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1464; AVX-NEXT: vmovaps %xmm1, 48(%rax)1465; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax1466; AVX-NEXT: vmovaps %ymm7, (%rax)1467; AVX-NEXT: vmovaps %ymm10, 32(%rax)1468; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax1469; AVX-NEXT: vmovaps %ymm0, (%rax)1470; AVX-NEXT: vmovaps %ymm3, 32(%rax)1471; AVX-NEXT: addq $184, %rsp1472; AVX-NEXT: vzeroupper1473; AVX-NEXT: retq1474;1475; AVX2-LABEL: load_i64_stride8_vf8:1476; AVX2: # %bb.0:1477; AVX2-NEXT: subq $136, %rsp1478; AVX2-NEXT: vmovaps 352(%rdi), %ymm01479; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1480; AVX2-NEXT: vmovaps 64(%rdi), %ymm81481; AVX2-NEXT: vmovaps (%rdi), %ymm101482; AVX2-NEXT: vmovaps 192(%rdi), %ymm111483; AVX2-NEXT: vmovaps 128(%rdi), %ymm131484; AVX2-NEXT: vmovaps 320(%rdi), %ymm71485; AVX2-NEXT: vmovaps 256(%rdi), %ymm141486; AVX2-NEXT: vmovaps 448(%rdi), %ymm121487; AVX2-NEXT: vmovaps 384(%rdi), %ymm151488; AVX2-NEXT: vmovaps 320(%rdi), %xmm11489; AVX2-NEXT: vinsertf128 $1, 448(%rdi), %ymm1, %ymm21490; AVX2-NEXT: vmovaps 256(%rdi), %xmm11491; AVX2-NEXT: vinsertf128 $1, 384(%rdi), %ymm1, %ymm41492; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm4[0],ymm2[0],ymm4[2],ymm2[2]1493; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1494; AVX2-NEXT: vmovaps (%rdi), %xmm31495; AVX2-NEXT: vmovaps 64(%rdi), %xmm51496; AVX2-NEXT: vinsertf128 $1, 192(%rdi), %ymm5, %ymm51497; AVX2-NEXT: vinsertf128 $1, 128(%rdi), %ymm3, %ymm61498; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]1499; AVX2-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill1500; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm4[1],ymm2[1],ymm4[3],ymm2[3]1501; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1502; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]1503; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1504; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm15[0],ymm12[0],ymm15[2],ymm12[2]1505; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm14[0],ymm7[0],ymm14[2],ymm7[2]1506; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm6[2,3],ymm5[2,3]1507; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1508; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm13[0],ymm11[0],ymm13[2],ymm11[2]1509; AVX2-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm10[0],ymm8[0],ymm10[2],ymm8[2]1510; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm6[2,3]1511; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1512; AVX2-NEXT: vmovaps 288(%rdi), %ymm91513; AVX2-NEXT: vunpckhpd {{.*#+}} ymm15 = ymm15[1],ymm12[1],ymm15[3],ymm12[3]1514; AVX2-NEXT: vmovaps 480(%rdi), %ymm121515; AVX2-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm14[1],ymm7[1],ymm14[3],ymm7[3]1516; AVX2-NEXT: vmovaps 32(%rdi), %xmm141517; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm7[2,3],ymm15[2,3]1518; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1519; AVX2-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm13[1],ymm11[1],ymm13[3],ymm11[3]1520; AVX2-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm10[1],ymm8[1],ymm10[3],ymm8[3]1521; AVX2-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm8[2,3],ymm11[2,3]1522; AVX2-NEXT: vmovaps 352(%rdi), %xmm101523; AVX2-NEXT: vinsertf128 $1, 480(%rdi), %ymm10, %ymm111524; AVX2-NEXT: vmovaps 288(%rdi), %xmm101525; AVX2-NEXT: vinsertf128 $1, 416(%rdi), %ymm10, %ymm131526; AVX2-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm13[0],ymm11[0],ymm13[2],ymm11[2]1527; AVX2-NEXT: vmovaps 96(%rdi), %xmm151528; AVX2-NEXT: vinsertf128 $1, 224(%rdi), %ymm15, %ymm151529; AVX2-NEXT: vinsertf128 $1, 160(%rdi), %ymm14, %ymm141530; AVX2-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm13[1],ymm11[1],ymm13[3],ymm11[3]1531; AVX2-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm14[0],ymm15[0],ymm14[2],ymm15[2]1532; AVX2-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm14[1],ymm15[1],ymm14[3],ymm15[3]1533; AVX2-NEXT: vmovaps 416(%rdi), %ymm151534; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm12[0],ymm15[2],ymm12[2]1535; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1536; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm9[0],ymm3[0],ymm9[2],ymm3[2]1537; AVX2-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm1[2,3],ymm0[2,3]1538; AVX2-NEXT: vmovaps 96(%rdi), %ymm41539; AVX2-NEXT: vmovaps 32(%rdi), %ymm21540; AVX2-NEXT: vmovaps 224(%rdi), %ymm11541; AVX2-NEXT: vmovaps 160(%rdi), %ymm01542; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1543; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm2[0],ymm4[0],ymm2[2],ymm4[2]1544; AVX2-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]1545; AVX2-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm15[1],ymm12[1],ymm15[3],ymm12[3]1546; AVX2-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm9[1],ymm3[1],ymm9[3],ymm3[3]1547; AVX2-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm9[2,3],ymm6[2,3]1548; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1549; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm4[1],ymm2[3],ymm4[3]1550; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]1551; AVX2-NEXT: vmovups (%rsp), %ymm1 # 32-byte Reload1552; AVX2-NEXT: vmovaps %ymm1, (%rsi)1553; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1554; AVX2-NEXT: vmovaps %ymm1, 32(%rsi)1555; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1556; AVX2-NEXT: vmovaps %ymm1, (%rdx)1557; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1558; AVX2-NEXT: vmovaps %ymm1, 32(%rdx)1559; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1560; AVX2-NEXT: vmovaps %ymm1, (%rcx)1561; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1562; AVX2-NEXT: vmovaps %ymm1, 32(%rcx)1563; AVX2-NEXT: vmovaps %ymm8, (%r8)1564; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1565; AVX2-NEXT: vmovaps %ymm1, 32(%r8)1566; AVX2-NEXT: vmovaps %ymm13, (%r9)1567; AVX2-NEXT: vmovaps %ymm10, 32(%r9)1568; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax1569; AVX2-NEXT: vmovaps %ymm14, (%rax)1570; AVX2-NEXT: vmovaps %ymm11, 32(%rax)1571; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax1572; AVX2-NEXT: vmovaps %ymm5, (%rax)1573; AVX2-NEXT: vmovaps %ymm7, 32(%rax)1574; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax1575; AVX2-NEXT: vmovaps %ymm0, (%rax)1576; AVX2-NEXT: vmovaps %ymm6, 32(%rax)1577; AVX2-NEXT: addq $136, %rsp1578; AVX2-NEXT: vzeroupper1579; AVX2-NEXT: retq1580;1581; AVX2-FP-LABEL: load_i64_stride8_vf8:1582; AVX2-FP: # %bb.0:1583; AVX2-FP-NEXT: subq $136, %rsp1584; AVX2-FP-NEXT: vmovaps 352(%rdi), %ymm01585; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1586; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm81587; AVX2-FP-NEXT: vmovaps (%rdi), %ymm101588; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm111589; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm131590; AVX2-FP-NEXT: vmovaps 320(%rdi), %ymm71591; AVX2-FP-NEXT: vmovaps 256(%rdi), %ymm141592; AVX2-FP-NEXT: vmovaps 448(%rdi), %ymm121593; AVX2-FP-NEXT: vmovaps 384(%rdi), %ymm151594; AVX2-FP-NEXT: vmovaps 320(%rdi), %xmm11595; AVX2-FP-NEXT: vinsertf128 $1, 448(%rdi), %ymm1, %ymm21596; AVX2-FP-NEXT: vmovaps 256(%rdi), %xmm11597; AVX2-FP-NEXT: vinsertf128 $1, 384(%rdi), %ymm1, %ymm41598; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm4[0],ymm2[0],ymm4[2],ymm2[2]1599; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1600; AVX2-FP-NEXT: vmovaps (%rdi), %xmm31601; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm51602; AVX2-FP-NEXT: vinsertf128 $1, 192(%rdi), %ymm5, %ymm51603; AVX2-FP-NEXT: vinsertf128 $1, 128(%rdi), %ymm3, %ymm61604; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]1605; AVX2-FP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill1606; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm4[1],ymm2[1],ymm4[3],ymm2[3]1607; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1608; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]1609; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1610; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm15[0],ymm12[0],ymm15[2],ymm12[2]1611; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm14[0],ymm7[0],ymm14[2],ymm7[2]1612; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm6[2,3],ymm5[2,3]1613; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1614; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm13[0],ymm11[0],ymm13[2],ymm11[2]1615; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm10[0],ymm8[0],ymm10[2],ymm8[2]1616; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm6[2,3]1617; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1618; AVX2-FP-NEXT: vmovaps 288(%rdi), %ymm91619; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm15 = ymm15[1],ymm12[1],ymm15[3],ymm12[3]1620; AVX2-FP-NEXT: vmovaps 480(%rdi), %ymm121621; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm14[1],ymm7[1],ymm14[3],ymm7[3]1622; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm141623; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm7[2,3],ymm15[2,3]1624; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1625; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm13[1],ymm11[1],ymm13[3],ymm11[3]1626; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm10[1],ymm8[1],ymm10[3],ymm8[3]1627; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm8[2,3],ymm11[2,3]1628; AVX2-FP-NEXT: vmovaps 352(%rdi), %xmm101629; AVX2-FP-NEXT: vinsertf128 $1, 480(%rdi), %ymm10, %ymm111630; AVX2-FP-NEXT: vmovaps 288(%rdi), %xmm101631; AVX2-FP-NEXT: vinsertf128 $1, 416(%rdi), %ymm10, %ymm131632; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm13[0],ymm11[0],ymm13[2],ymm11[2]1633; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm151634; AVX2-FP-NEXT: vinsertf128 $1, 224(%rdi), %ymm15, %ymm151635; AVX2-FP-NEXT: vinsertf128 $1, 160(%rdi), %ymm14, %ymm141636; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm13[1],ymm11[1],ymm13[3],ymm11[3]1637; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm14[0],ymm15[0],ymm14[2],ymm15[2]1638; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm14[1],ymm15[1],ymm14[3],ymm15[3]1639; AVX2-FP-NEXT: vmovaps 416(%rdi), %ymm151640; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm12[0],ymm15[2],ymm12[2]1641; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1642; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm9[0],ymm3[0],ymm9[2],ymm3[2]1643; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm1[2,3],ymm0[2,3]1644; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm41645; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm21646; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm11647; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm01648; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1649; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm2[0],ymm4[0],ymm2[2],ymm4[2]1650; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]1651; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm15[1],ymm12[1],ymm15[3],ymm12[3]1652; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm9[1],ymm3[1],ymm9[3],ymm3[3]1653; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm9[2,3],ymm6[2,3]1654; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1655; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm4[1],ymm2[3],ymm4[3]1656; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]1657; AVX2-FP-NEXT: vmovups (%rsp), %ymm1 # 32-byte Reload1658; AVX2-FP-NEXT: vmovaps %ymm1, (%rsi)1659; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1660; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rsi)1661; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1662; AVX2-FP-NEXT: vmovaps %ymm1, (%rdx)1663; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1664; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rdx)1665; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1666; AVX2-FP-NEXT: vmovaps %ymm1, (%rcx)1667; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1668; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rcx)1669; AVX2-FP-NEXT: vmovaps %ymm8, (%r8)1670; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1671; AVX2-FP-NEXT: vmovaps %ymm1, 32(%r8)1672; AVX2-FP-NEXT: vmovaps %ymm13, (%r9)1673; AVX2-FP-NEXT: vmovaps %ymm10, 32(%r9)1674; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax1675; AVX2-FP-NEXT: vmovaps %ymm14, (%rax)1676; AVX2-FP-NEXT: vmovaps %ymm11, 32(%rax)1677; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax1678; AVX2-FP-NEXT: vmovaps %ymm5, (%rax)1679; AVX2-FP-NEXT: vmovaps %ymm7, 32(%rax)1680; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax1681; AVX2-FP-NEXT: vmovaps %ymm0, (%rax)1682; AVX2-FP-NEXT: vmovaps %ymm6, 32(%rax)1683; AVX2-FP-NEXT: addq $136, %rsp1684; AVX2-FP-NEXT: vzeroupper1685; AVX2-FP-NEXT: retq1686;1687; AVX2-FCP-LABEL: load_i64_stride8_vf8:1688; AVX2-FCP: # %bb.0:1689; AVX2-FCP-NEXT: subq $136, %rsp1690; AVX2-FCP-NEXT: vmovaps 352(%rdi), %ymm01691; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1692; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm81693; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm101694; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm111695; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm131696; AVX2-FCP-NEXT: vmovaps 320(%rdi), %ymm71697; AVX2-FCP-NEXT: vmovaps 256(%rdi), %ymm141698; AVX2-FCP-NEXT: vmovaps 448(%rdi), %ymm121699; AVX2-FCP-NEXT: vmovaps 384(%rdi), %ymm151700; AVX2-FCP-NEXT: vmovaps 320(%rdi), %xmm11701; AVX2-FCP-NEXT: vinsertf128 $1, 448(%rdi), %ymm1, %ymm21702; AVX2-FCP-NEXT: vmovaps 256(%rdi), %xmm11703; AVX2-FCP-NEXT: vinsertf128 $1, 384(%rdi), %ymm1, %ymm41704; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm4[0],ymm2[0],ymm4[2],ymm2[2]1705; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1706; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm31707; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm51708; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rdi), %ymm5, %ymm51709; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rdi), %ymm3, %ymm61710; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]1711; AVX2-FCP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill1712; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm4[1],ymm2[1],ymm4[3],ymm2[3]1713; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1714; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]1715; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1716; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm15[0],ymm12[0],ymm15[2],ymm12[2]1717; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm14[0],ymm7[0],ymm14[2],ymm7[2]1718; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm6[2,3],ymm5[2,3]1719; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1720; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm13[0],ymm11[0],ymm13[2],ymm11[2]1721; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm10[0],ymm8[0],ymm10[2],ymm8[2]1722; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm6[2,3]1723; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1724; AVX2-FCP-NEXT: vmovaps 288(%rdi), %ymm91725; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm15 = ymm15[1],ymm12[1],ymm15[3],ymm12[3]1726; AVX2-FCP-NEXT: vmovaps 480(%rdi), %ymm121727; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm14[1],ymm7[1],ymm14[3],ymm7[3]1728; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm141729; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm7[2,3],ymm15[2,3]1730; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1731; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm13[1],ymm11[1],ymm13[3],ymm11[3]1732; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm8 = ymm10[1],ymm8[1],ymm10[3],ymm8[3]1733; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm8[2,3],ymm11[2,3]1734; AVX2-FCP-NEXT: vmovaps 352(%rdi), %xmm101735; AVX2-FCP-NEXT: vinsertf128 $1, 480(%rdi), %ymm10, %ymm111736; AVX2-FCP-NEXT: vmovaps 288(%rdi), %xmm101737; AVX2-FCP-NEXT: vinsertf128 $1, 416(%rdi), %ymm10, %ymm131738; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm13[0],ymm11[0],ymm13[2],ymm11[2]1739; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm151740; AVX2-FCP-NEXT: vinsertf128 $1, 224(%rdi), %ymm15, %ymm151741; AVX2-FCP-NEXT: vinsertf128 $1, 160(%rdi), %ymm14, %ymm141742; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm11 = ymm13[1],ymm11[1],ymm13[3],ymm11[3]1743; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm14[0],ymm15[0],ymm14[2],ymm15[2]1744; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm14 = ymm14[1],ymm15[1],ymm14[3],ymm15[3]1745; AVX2-FCP-NEXT: vmovaps 416(%rdi), %ymm151746; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm12[0],ymm15[2],ymm12[2]1747; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload1748; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm9[0],ymm3[0],ymm9[2],ymm3[2]1749; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm1[2,3],ymm0[2,3]1750; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm41751; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm21752; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm11753; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm01754; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]1755; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm2[0],ymm4[0],ymm2[2],ymm4[2]1756; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]1757; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm6 = ymm15[1],ymm12[1],ymm15[3],ymm12[3]1758; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm9[1],ymm3[1],ymm9[3],ymm3[3]1759; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm6 = ymm9[2,3],ymm6[2,3]1760; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]1761; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm4[1],ymm2[3],ymm4[3]1762; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]1763; AVX2-FCP-NEXT: vmovups (%rsp), %ymm1 # 32-byte Reload1764; AVX2-FCP-NEXT: vmovaps %ymm1, (%rsi)1765; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1766; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rsi)1767; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1768; AVX2-FCP-NEXT: vmovaps %ymm1, (%rdx)1769; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1770; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rdx)1771; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1772; AVX2-FCP-NEXT: vmovaps %ymm1, (%rcx)1773; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1774; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rcx)1775; AVX2-FCP-NEXT: vmovaps %ymm8, (%r8)1776; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1777; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%r8)1778; AVX2-FCP-NEXT: vmovaps %ymm13, (%r9)1779; AVX2-FCP-NEXT: vmovaps %ymm10, 32(%r9)1780; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1781; AVX2-FCP-NEXT: vmovaps %ymm14, (%rax)1782; AVX2-FCP-NEXT: vmovaps %ymm11, 32(%rax)1783; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1784; AVX2-FCP-NEXT: vmovaps %ymm5, (%rax)1785; AVX2-FCP-NEXT: vmovaps %ymm7, 32(%rax)1786; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1787; AVX2-FCP-NEXT: vmovaps %ymm0, (%rax)1788; AVX2-FCP-NEXT: vmovaps %ymm6, 32(%rax)1789; AVX2-FCP-NEXT: addq $136, %rsp1790; AVX2-FCP-NEXT: vzeroupper1791; AVX2-FCP-NEXT: retq1792;1793; AVX512-LABEL: load_i64_stride8_vf8:1794; AVX512: # %bb.0:1795; AVX512-NEXT: pushq %rbx1796; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax1797; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r101798; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %r111799; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm21800; AVX512-NEXT: vmovdqa64 (%rdi), %zmm11801; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm71802; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm61803; AVX512-NEXT: vmovdqa64 320(%rdi), %zmm31804; AVX512-NEXT: vmovdqa64 256(%rdi), %zmm01805; AVX512-NEXT: vmovdqa64 448(%rdi), %zmm41806; AVX512-NEXT: vmovdqa64 384(%rdi), %zmm51807; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,0,8,0,8,0,8]1808; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1809; AVX512-NEXT: vmovdqa64 %zmm5, %zmm91810; AVX512-NEXT: vpermt2q %zmm4, %zmm8, %zmm91811; AVX512-NEXT: vpermi2q %zmm3, %zmm0, %zmm81812; AVX512-NEXT: movb $-64, %bl1813; AVX512-NEXT: kmovw %ebx, %k11814; AVX512-NEXT: vmovdqa64 %zmm9, %zmm8 {%k1}1815; AVX512-NEXT: vmovdqa (%rdi), %xmm91816; AVX512-NEXT: vmovdqa 64(%rdi), %xmm101817; AVX512-NEXT: vinserti128 $1, 192(%rdi), %ymm10, %ymm101818; AVX512-NEXT: vinserti128 $1, 128(%rdi), %ymm9, %ymm91819; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]1820; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm161821; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [1,9,1,9,1,9,1,9]1822; AVX512-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1823; AVX512-NEXT: vmovdqa64 %zmm5, %zmm121824; AVX512-NEXT: vpermt2q %zmm4, %zmm11, %zmm121825; AVX512-NEXT: vpermi2q %zmm3, %zmm0, %zmm111826; AVX512-NEXT: vmovdqa64 %zmm12, %zmm11 {%k1}1827; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]1828; AVX512-NEXT: vinserti64x4 $0, %ymm9, %zmm11, %zmm91829; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,2,10,2,10,2,10]1830; AVX512-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1831; AVX512-NEXT: vmovdqa64 %zmm5, %zmm111832; AVX512-NEXT: vpermt2q %zmm4, %zmm10, %zmm111833; AVX512-NEXT: vpermi2q %zmm3, %zmm0, %zmm101834; AVX512-NEXT: vmovdqa64 %zmm11, %zmm10 {%k1}1835; AVX512-NEXT: vmovdqa 192(%rdi), %ymm111836; AVX512-NEXT: vmovdqa 128(%rdi), %ymm121837; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]1838; AVX512-NEXT: vmovdqa 64(%rdi), %ymm141839; AVX512-NEXT: vmovdqa (%rdi), %ymm151840; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]1841; AVX512-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm8[2,3],ymm13[2,3]1842; AVX512-NEXT: vinserti64x4 $0, %ymm8, %zmm10, %zmm101843; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]1844; AVX512-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1845; AVX512-NEXT: vmovdqa64 %zmm5, %zmm131846; AVX512-NEXT: vpermt2q %zmm4, %zmm8, %zmm131847; AVX512-NEXT: vpermi2q %zmm3, %zmm0, %zmm81848; AVX512-NEXT: vmovdqa64 %zmm13, %zmm8 {%k1}1849; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm11 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]1850; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]1851; AVX512-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]1852; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm81853; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [4,12,4,12,4,12,4,12]1854; AVX512-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1855; AVX512-NEXT: vmovdqa64 %zmm6, %zmm121856; AVX512-NEXT: vpermt2q %zmm7, %zmm11, %zmm121857; AVX512-NEXT: vmovdqa64 %zmm1, %zmm131858; AVX512-NEXT: vpermt2q %zmm2, %zmm11, %zmm131859; AVX512-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]1860; AVX512-NEXT: vpermi2q %zmm4, %zmm5, %zmm111861; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm0[0],zmm3[0],zmm0[2],zmm3[2],zmm0[4],zmm3[4],zmm0[6],zmm3[6]1862; AVX512-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}1863; AVX512-NEXT: vinserti64x4 $0, %ymm12, %zmm13, %zmm111864; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [5,13,5,13,5,13,5,13]1865; AVX512-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1866; AVX512-NEXT: vmovdqa64 %zmm6, %zmm131867; AVX512-NEXT: vpermt2q %zmm7, %zmm12, %zmm131868; AVX512-NEXT: vmovdqa64 %zmm1, %zmm141869; AVX512-NEXT: vpermt2q %zmm2, %zmm12, %zmm141870; AVX512-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]1871; AVX512-NEXT: vpermi2q %zmm4, %zmm5, %zmm121872; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm0[1],zmm3[1],zmm0[3],zmm3[3],zmm0[5],zmm3[5],zmm0[7],zmm3[7]1873; AVX512-NEXT: vmovdqa64 %zmm12, %zmm14 {%k1}1874; AVX512-NEXT: vinserti64x4 $0, %ymm13, %zmm14, %zmm121875; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [6,14,6,14,6,14,6,14]1876; AVX512-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1877; AVX512-NEXT: vmovdqa64 %zmm6, %zmm141878; AVX512-NEXT: vpermt2q %zmm7, %zmm13, %zmm141879; AVX512-NEXT: vmovdqa64 %zmm1, %zmm151880; AVX512-NEXT: vpermt2q %zmm2, %zmm13, %zmm151881; AVX512-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]1882; AVX512-NEXT: vpermi2q %zmm3, %zmm0, %zmm131883; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm13 {%k1} = zmm5[0],zmm4[0],zmm5[2],zmm4[2],zmm5[4],zmm4[4],zmm5[6],zmm4[6]1884; AVX512-NEXT: vinserti64x4 $0, %ymm14, %zmm13, %zmm131885; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [7,15,7,15,7,15,7,15]1886; AVX512-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1887; AVX512-NEXT: vpermt2q %zmm7, %zmm14, %zmm61888; AVX512-NEXT: vpermt2q %zmm2, %zmm14, %zmm11889; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]1890; AVX512-NEXT: vpermt2q %zmm3, %zmm14, %zmm01891; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm5[1],zmm4[1],zmm5[3],zmm4[3],zmm5[5],zmm4[5],zmm5[7],zmm4[7]1892; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm01893; AVX512-NEXT: vmovdqa64 %zmm16, (%rsi)1894; AVX512-NEXT: vmovdqa64 %zmm9, (%rdx)1895; AVX512-NEXT: vmovdqa64 %zmm10, (%rcx)1896; AVX512-NEXT: vmovdqa64 %zmm8, (%r8)1897; AVX512-NEXT: vmovdqa64 %zmm11, (%r9)1898; AVX512-NEXT: vmovdqa64 %zmm12, (%r11)1899; AVX512-NEXT: vmovdqa64 %zmm13, (%r10)1900; AVX512-NEXT: vmovdqa64 %zmm0, (%rax)1901; AVX512-NEXT: popq %rbx1902; AVX512-NEXT: vzeroupper1903; AVX512-NEXT: retq1904;1905; AVX512-FCP-LABEL: load_i64_stride8_vf8:1906; AVX512-FCP: # %bb.0:1907; AVX512-FCP-NEXT: pushq %rbx1908; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax1909; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r101910; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r111911; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm21912; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm11913; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm71914; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm61915; AVX512-FCP-NEXT: vmovdqa64 320(%rdi), %zmm31916; AVX512-FCP-NEXT: vmovdqa64 256(%rdi), %zmm01917; AVX512-FCP-NEXT: vmovdqa64 448(%rdi), %zmm41918; AVX512-FCP-NEXT: vmovdqa64 384(%rdi), %zmm51919; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,0,8,0,8,0,8]1920; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1921; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm91922; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm8, %zmm91923; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm81924; AVX512-FCP-NEXT: movb $-64, %bl1925; AVX512-FCP-NEXT: kmovw %ebx, %k11926; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm8 {%k1}1927; AVX512-FCP-NEXT: vmovdqa (%rdi), %xmm91928; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %xmm101929; AVX512-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm10, %ymm101930; AVX512-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm9, %ymm91931; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]1932; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm161933; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [1,9,1,9,1,9,1,9]1934; AVX512-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1935; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm121936; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm11, %zmm121937; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm111938; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm11 {%k1}1939; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]1940; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm11, %zmm91941; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,2,10,2,10,2,10]1942; AVX512-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1943; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm111944; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm10, %zmm111945; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm101946; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm10 {%k1}1947; AVX512-FCP-NEXT: vmovdqa 192(%rdi), %ymm111948; AVX512-FCP-NEXT: vmovdqa 128(%rdi), %ymm121949; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]1950; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %ymm141951; AVX512-FCP-NEXT: vmovdqa (%rdi), %ymm151952; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]1953; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm8[2,3],ymm13[2,3]1954; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm10, %zmm101955; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]1956; AVX512-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1957; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm131958; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm8, %zmm131959; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm81960; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm8 {%k1}1961; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm11 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]1962; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]1963; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]1964; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm81965; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [4,12,4,12,4,12,4,12]1966; AVX512-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1967; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm121968; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm11, %zmm121969; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm131970; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm131971; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]1972; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm111973; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm0[0],zmm3[0],zmm0[2],zmm3[2],zmm0[4],zmm3[4],zmm0[6],zmm3[6]1974; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}1975; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm12, %zmm13, %zmm111976; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [5,13,5,13,5,13,5,13]1977; AVX512-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1978; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm131979; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm131980; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm141981; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm12, %zmm141982; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]1983; AVX512-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm121984; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm0[1],zmm3[1],zmm0[3],zmm3[3],zmm0[5],zmm3[5],zmm0[7],zmm3[7]1985; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm14 {%k1}1986; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm14, %zmm121987; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [6,14,6,14,6,14,6,14]1988; AVX512-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1989; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm141990; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm141991; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm151992; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm13, %zmm151993; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]1994; AVX512-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm131995; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 {%k1} = zmm5[0],zmm4[0],zmm5[2],zmm4[2],zmm5[4],zmm4[4],zmm5[6],zmm4[6]1996; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm14, %zmm13, %zmm131997; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [7,15,7,15,7,15,7,15]1998; AVX512-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]1999; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm14, %zmm62000; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm14, %zmm12001; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]2002; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm14, %zmm02003; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm5[1],zmm4[1],zmm5[3],zmm4[3],zmm5[5],zmm4[5],zmm5[7],zmm4[7]2004; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02005; AVX512-FCP-NEXT: vmovdqa64 %zmm16, (%rsi)2006; AVX512-FCP-NEXT: vmovdqa64 %zmm9, (%rdx)2007; AVX512-FCP-NEXT: vmovdqa64 %zmm10, (%rcx)2008; AVX512-FCP-NEXT: vmovdqa64 %zmm8, (%r8)2009; AVX512-FCP-NEXT: vmovdqa64 %zmm11, (%r9)2010; AVX512-FCP-NEXT: vmovdqa64 %zmm12, (%r11)2011; AVX512-FCP-NEXT: vmovdqa64 %zmm13, (%r10)2012; AVX512-FCP-NEXT: vmovdqa64 %zmm0, (%rax)2013; AVX512-FCP-NEXT: popq %rbx2014; AVX512-FCP-NEXT: vzeroupper2015; AVX512-FCP-NEXT: retq2016;2017; AVX512DQ-LABEL: load_i64_stride8_vf8:2018; AVX512DQ: # %bb.0:2019; AVX512DQ-NEXT: pushq %rbx2020; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax2021; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r102022; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %r112023; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm22024; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm12025; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm72026; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm62027; AVX512DQ-NEXT: vmovdqa64 320(%rdi), %zmm32028; AVX512DQ-NEXT: vmovdqa64 256(%rdi), %zmm02029; AVX512DQ-NEXT: vmovdqa64 448(%rdi), %zmm42030; AVX512DQ-NEXT: vmovdqa64 384(%rdi), %zmm52031; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,0,8,0,8,0,8]2032; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2033; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm92034; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm8, %zmm92035; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm0, %zmm82036; AVX512DQ-NEXT: movb $-64, %bl2037; AVX512DQ-NEXT: kmovw %ebx, %k12038; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm8 {%k1}2039; AVX512DQ-NEXT: vmovdqa (%rdi), %xmm92040; AVX512DQ-NEXT: vmovdqa 64(%rdi), %xmm102041; AVX512DQ-NEXT: vinserti128 $1, 192(%rdi), %ymm10, %ymm102042; AVX512DQ-NEXT: vinserti128 $1, 128(%rdi), %ymm9, %ymm92043; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]2044; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm162045; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [1,9,1,9,1,9,1,9]2046; AVX512DQ-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2047; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm122048; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm11, %zmm122049; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm0, %zmm112050; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm11 {%k1}2051; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]2052; AVX512DQ-NEXT: vinserti64x4 $0, %ymm9, %zmm11, %zmm92053; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,2,10,2,10,2,10]2054; AVX512DQ-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2055; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm112056; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm10, %zmm112057; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm0, %zmm102058; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm10 {%k1}2059; AVX512DQ-NEXT: vmovdqa 192(%rdi), %ymm112060; AVX512DQ-NEXT: vmovdqa 128(%rdi), %ymm122061; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]2062; AVX512DQ-NEXT: vmovdqa 64(%rdi), %ymm142063; AVX512DQ-NEXT: vmovdqa (%rdi), %ymm152064; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2065; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm8[2,3],ymm13[2,3]2066; AVX512DQ-NEXT: vinserti64x4 $0, %ymm8, %zmm10, %zmm102067; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2068; AVX512DQ-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2069; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm132070; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm8, %zmm132071; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm0, %zmm82072; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm8 {%k1}2073; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm11 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]2074; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2075; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]2076; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm82077; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [4,12,4,12,4,12,4,12]2078; AVX512DQ-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2079; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm122080; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm11, %zmm122081; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm132082; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm11, %zmm132083; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]2084; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm5, %zmm112085; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm0[0],zmm3[0],zmm0[2],zmm3[2],zmm0[4],zmm3[4],zmm0[6],zmm3[6]2086; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}2087; AVX512DQ-NEXT: vinserti64x4 $0, %ymm12, %zmm13, %zmm112088; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [5,13,5,13,5,13,5,13]2089; AVX512DQ-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2090; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm132091; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm12, %zmm132092; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm142093; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm12, %zmm142094; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2095; AVX512DQ-NEXT: vpermi2q %zmm4, %zmm5, %zmm122096; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm0[1],zmm3[1],zmm0[3],zmm3[3],zmm0[5],zmm3[5],zmm0[7],zmm3[7]2097; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm14 {%k1}2098; AVX512DQ-NEXT: vinserti64x4 $0, %ymm13, %zmm14, %zmm122099; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [6,14,6,14,6,14,6,14]2100; AVX512DQ-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2101; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm142102; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm13, %zmm142103; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm152104; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm13, %zmm152105; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2106; AVX512DQ-NEXT: vpermi2q %zmm3, %zmm0, %zmm132107; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm13 {%k1} = zmm5[0],zmm4[0],zmm5[2],zmm4[2],zmm5[4],zmm4[4],zmm5[6],zmm4[6]2108; AVX512DQ-NEXT: vinserti64x4 $0, %ymm14, %zmm13, %zmm132109; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [7,15,7,15,7,15,7,15]2110; AVX512DQ-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2111; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm14, %zmm62112; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm14, %zmm12113; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]2114; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm14, %zmm02115; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm5[1],zmm4[1],zmm5[3],zmm4[3],zmm5[5],zmm4[5],zmm5[7],zmm4[7]2116; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02117; AVX512DQ-NEXT: vmovdqa64 %zmm16, (%rsi)2118; AVX512DQ-NEXT: vmovdqa64 %zmm9, (%rdx)2119; AVX512DQ-NEXT: vmovdqa64 %zmm10, (%rcx)2120; AVX512DQ-NEXT: vmovdqa64 %zmm8, (%r8)2121; AVX512DQ-NEXT: vmovdqa64 %zmm11, (%r9)2122; AVX512DQ-NEXT: vmovdqa64 %zmm12, (%r11)2123; AVX512DQ-NEXT: vmovdqa64 %zmm13, (%r10)2124; AVX512DQ-NEXT: vmovdqa64 %zmm0, (%rax)2125; AVX512DQ-NEXT: popq %rbx2126; AVX512DQ-NEXT: vzeroupper2127; AVX512DQ-NEXT: retq2128;2129; AVX512DQ-FCP-LABEL: load_i64_stride8_vf8:2130; AVX512DQ-FCP: # %bb.0:2131; AVX512DQ-FCP-NEXT: pushq %rbx2132; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax2133; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r102134; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r112135; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm22136; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm12137; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm72138; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm62139; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rdi), %zmm32140; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rdi), %zmm02141; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rdi), %zmm42142; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rdi), %zmm52143; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,0,8,0,8,0,8]2144; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2145; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm92146; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm8, %zmm92147; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm82148; AVX512DQ-FCP-NEXT: movb $-64, %bl2149; AVX512DQ-FCP-NEXT: kmovw %ebx, %k12150; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm8 {%k1}2151; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %xmm92152; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %xmm102153; AVX512DQ-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm10, %ymm102154; AVX512DQ-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm9, %ymm92155; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]2156; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm162157; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [1,9,1,9,1,9,1,9]2158; AVX512DQ-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2159; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm122160; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm11, %zmm122161; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm112162; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm11 {%k1}2163; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]2164; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm11, %zmm92165; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,2,10,2,10,2,10]2166; AVX512DQ-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2167; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm112168; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm10, %zmm112169; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm102170; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm10 {%k1}2171; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdi), %ymm112172; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdi), %ymm122173; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]2174; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %ymm142175; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %ymm152176; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2177; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm8[2,3],ymm13[2,3]2178; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm10, %zmm102179; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2180; AVX512DQ-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2181; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm132182; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm8, %zmm132183; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm82184; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm8 {%k1}2185; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm11 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]2186; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2187; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]2188; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm82189; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [4,12,4,12,4,12,4,12]2190; AVX512DQ-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2191; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm122192; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm11, %zmm122193; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm132194; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm132195; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]2196; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm112197; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm0[0],zmm3[0],zmm0[2],zmm3[2],zmm0[4],zmm3[4],zmm0[6],zmm3[6]2198; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}2199; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm12, %zmm13, %zmm112200; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [5,13,5,13,5,13,5,13]2201; AVX512DQ-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2202; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm132203; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm132204; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm142205; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm12, %zmm142206; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2207; AVX512DQ-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm122208; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm0[1],zmm3[1],zmm0[3],zmm3[3],zmm0[5],zmm3[5],zmm0[7],zmm3[7]2209; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm14 {%k1}2210; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm14, %zmm122211; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [6,14,6,14,6,14,6,14]2212; AVX512DQ-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2213; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm142214; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm142215; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm152216; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm13, %zmm152217; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2218; AVX512DQ-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm132219; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 {%k1} = zmm5[0],zmm4[0],zmm5[2],zmm4[2],zmm5[4],zmm4[4],zmm5[6],zmm4[6]2220; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm14, %zmm13, %zmm132221; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [7,15,7,15,7,15,7,15]2222; AVX512DQ-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2223; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm14, %zmm62224; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm14, %zmm12225; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]2226; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm14, %zmm02227; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm5[1],zmm4[1],zmm5[3],zmm4[3],zmm5[5],zmm4[5],zmm5[7],zmm4[7]2228; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02229; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, (%rsi)2230; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, (%rdx)2231; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, (%rcx)2232; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, (%r8)2233; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, (%r9)2234; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, (%r11)2235; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, (%r10)2236; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, (%rax)2237; AVX512DQ-FCP-NEXT: popq %rbx2238; AVX512DQ-FCP-NEXT: vzeroupper2239; AVX512DQ-FCP-NEXT: retq2240;2241; AVX512BW-LABEL: load_i64_stride8_vf8:2242; AVX512BW: # %bb.0:2243; AVX512BW-NEXT: pushq %rbx2244; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax2245; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r102246; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %r112247; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm22248; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm12249; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm72250; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm62251; AVX512BW-NEXT: vmovdqa64 320(%rdi), %zmm32252; AVX512BW-NEXT: vmovdqa64 256(%rdi), %zmm02253; AVX512BW-NEXT: vmovdqa64 448(%rdi), %zmm42254; AVX512BW-NEXT: vmovdqa64 384(%rdi), %zmm52255; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,0,8,0,8,0,8]2256; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2257; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm92258; AVX512BW-NEXT: vpermt2q %zmm4, %zmm8, %zmm92259; AVX512BW-NEXT: vpermi2q %zmm3, %zmm0, %zmm82260; AVX512BW-NEXT: movb $-64, %bl2261; AVX512BW-NEXT: kmovd %ebx, %k12262; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm8 {%k1}2263; AVX512BW-NEXT: vmovdqa (%rdi), %xmm92264; AVX512BW-NEXT: vmovdqa 64(%rdi), %xmm102265; AVX512BW-NEXT: vinserti128 $1, 192(%rdi), %ymm10, %ymm102266; AVX512BW-NEXT: vinserti128 $1, 128(%rdi), %ymm9, %ymm92267; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]2268; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm162269; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [1,9,1,9,1,9,1,9]2270; AVX512BW-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2271; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm122272; AVX512BW-NEXT: vpermt2q %zmm4, %zmm11, %zmm122273; AVX512BW-NEXT: vpermi2q %zmm3, %zmm0, %zmm112274; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm11 {%k1}2275; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]2276; AVX512BW-NEXT: vinserti64x4 $0, %ymm9, %zmm11, %zmm92277; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,2,10,2,10,2,10]2278; AVX512BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2279; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm112280; AVX512BW-NEXT: vpermt2q %zmm4, %zmm10, %zmm112281; AVX512BW-NEXT: vpermi2q %zmm3, %zmm0, %zmm102282; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm10 {%k1}2283; AVX512BW-NEXT: vmovdqa 192(%rdi), %ymm112284; AVX512BW-NEXT: vmovdqa 128(%rdi), %ymm122285; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]2286; AVX512BW-NEXT: vmovdqa 64(%rdi), %ymm142287; AVX512BW-NEXT: vmovdqa (%rdi), %ymm152288; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2289; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm8[2,3],ymm13[2,3]2290; AVX512BW-NEXT: vinserti64x4 $0, %ymm8, %zmm10, %zmm102291; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2292; AVX512BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2293; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm132294; AVX512BW-NEXT: vpermt2q %zmm4, %zmm8, %zmm132295; AVX512BW-NEXT: vpermi2q %zmm3, %zmm0, %zmm82296; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm8 {%k1}2297; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm11 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]2298; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2299; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]2300; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm82301; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [4,12,4,12,4,12,4,12]2302; AVX512BW-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2303; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm122304; AVX512BW-NEXT: vpermt2q %zmm7, %zmm11, %zmm122305; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm132306; AVX512BW-NEXT: vpermt2q %zmm2, %zmm11, %zmm132307; AVX512BW-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]2308; AVX512BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm112309; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm0[0],zmm3[0],zmm0[2],zmm3[2],zmm0[4],zmm3[4],zmm0[6],zmm3[6]2310; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}2311; AVX512BW-NEXT: vinserti64x4 $0, %ymm12, %zmm13, %zmm112312; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [5,13,5,13,5,13,5,13]2313; AVX512BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2314; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm132315; AVX512BW-NEXT: vpermt2q %zmm7, %zmm12, %zmm132316; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm142317; AVX512BW-NEXT: vpermt2q %zmm2, %zmm12, %zmm142318; AVX512BW-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2319; AVX512BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm122320; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm0[1],zmm3[1],zmm0[3],zmm3[3],zmm0[5],zmm3[5],zmm0[7],zmm3[7]2321; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm14 {%k1}2322; AVX512BW-NEXT: vinserti64x4 $0, %ymm13, %zmm14, %zmm122323; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [6,14,6,14,6,14,6,14]2324; AVX512BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2325; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm142326; AVX512BW-NEXT: vpermt2q %zmm7, %zmm13, %zmm142327; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm152328; AVX512BW-NEXT: vpermt2q %zmm2, %zmm13, %zmm152329; AVX512BW-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2330; AVX512BW-NEXT: vpermi2q %zmm3, %zmm0, %zmm132331; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm13 {%k1} = zmm5[0],zmm4[0],zmm5[2],zmm4[2],zmm5[4],zmm4[4],zmm5[6],zmm4[6]2332; AVX512BW-NEXT: vinserti64x4 $0, %ymm14, %zmm13, %zmm132333; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [7,15,7,15,7,15,7,15]2334; AVX512BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2335; AVX512BW-NEXT: vpermt2q %zmm7, %zmm14, %zmm62336; AVX512BW-NEXT: vpermt2q %zmm2, %zmm14, %zmm12337; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]2338; AVX512BW-NEXT: vpermt2q %zmm3, %zmm14, %zmm02339; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm5[1],zmm4[1],zmm5[3],zmm4[3],zmm5[5],zmm4[5],zmm5[7],zmm4[7]2340; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02341; AVX512BW-NEXT: vmovdqa64 %zmm16, (%rsi)2342; AVX512BW-NEXT: vmovdqa64 %zmm9, (%rdx)2343; AVX512BW-NEXT: vmovdqa64 %zmm10, (%rcx)2344; AVX512BW-NEXT: vmovdqa64 %zmm8, (%r8)2345; AVX512BW-NEXT: vmovdqa64 %zmm11, (%r9)2346; AVX512BW-NEXT: vmovdqa64 %zmm12, (%r11)2347; AVX512BW-NEXT: vmovdqa64 %zmm13, (%r10)2348; AVX512BW-NEXT: vmovdqa64 %zmm0, (%rax)2349; AVX512BW-NEXT: popq %rbx2350; AVX512BW-NEXT: vzeroupper2351; AVX512BW-NEXT: retq2352;2353; AVX512BW-FCP-LABEL: load_i64_stride8_vf8:2354; AVX512BW-FCP: # %bb.0:2355; AVX512BW-FCP-NEXT: pushq %rbx2356; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax2357; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r102358; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r112359; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm22360; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm12361; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm72362; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm62363; AVX512BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm32364; AVX512BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm02365; AVX512BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm42366; AVX512BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm52367; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,0,8,0,8,0,8]2368; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2369; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm92370; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm8, %zmm92371; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm82372; AVX512BW-FCP-NEXT: movb $-64, %bl2373; AVX512BW-FCP-NEXT: kmovd %ebx, %k12374; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm8 {%k1}2375; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %xmm92376; AVX512BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm102377; AVX512BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm10, %ymm102378; AVX512BW-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm9, %ymm92379; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]2380; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm162381; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [1,9,1,9,1,9,1,9]2382; AVX512BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2383; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm122384; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm11, %zmm122385; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm112386; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm11 {%k1}2387; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]2388; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm11, %zmm92389; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,2,10,2,10,2,10]2390; AVX512BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2391; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm112392; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm10, %zmm112393; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm102394; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm10 {%k1}2395; AVX512BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm112396; AVX512BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm122397; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]2398; AVX512BW-FCP-NEXT: vmovdqa 64(%rdi), %ymm142399; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %ymm152400; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2401; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm8[2,3],ymm13[2,3]2402; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm10, %zmm102403; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2404; AVX512BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2405; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm132406; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm8, %zmm132407; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm82408; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm8 {%k1}2409; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm11 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]2410; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2411; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]2412; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm82413; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [4,12,4,12,4,12,4,12]2414; AVX512BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2415; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm122416; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm11, %zmm122417; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm132418; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm132419; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]2420; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm112421; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm0[0],zmm3[0],zmm0[2],zmm3[2],zmm0[4],zmm3[4],zmm0[6],zmm3[6]2422; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}2423; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm12, %zmm13, %zmm112424; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [5,13,5,13,5,13,5,13]2425; AVX512BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2426; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm132427; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm132428; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm142429; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm12, %zmm142430; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2431; AVX512BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm122432; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm0[1],zmm3[1],zmm0[3],zmm3[3],zmm0[5],zmm3[5],zmm0[7],zmm3[7]2433; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm14 {%k1}2434; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm14, %zmm122435; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [6,14,6,14,6,14,6,14]2436; AVX512BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2437; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm142438; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm142439; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm152440; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm13, %zmm152441; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2442; AVX512BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm132443; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 {%k1} = zmm5[0],zmm4[0],zmm5[2],zmm4[2],zmm5[4],zmm4[4],zmm5[6],zmm4[6]2444; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm14, %zmm13, %zmm132445; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [7,15,7,15,7,15,7,15]2446; AVX512BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2447; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm14, %zmm62448; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm14, %zmm12449; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]2450; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm14, %zmm02451; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm5[1],zmm4[1],zmm5[3],zmm4[3],zmm5[5],zmm4[5],zmm5[7],zmm4[7]2452; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02453; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, (%rsi)2454; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, (%rdx)2455; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, (%rcx)2456; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, (%r8)2457; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, (%r9)2458; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, (%r11)2459; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, (%r10)2460; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, (%rax)2461; AVX512BW-FCP-NEXT: popq %rbx2462; AVX512BW-FCP-NEXT: vzeroupper2463; AVX512BW-FCP-NEXT: retq2464;2465; AVX512DQ-BW-LABEL: load_i64_stride8_vf8:2466; AVX512DQ-BW: # %bb.0:2467; AVX512DQ-BW-NEXT: pushq %rbx2468; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax2469; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r102470; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %r112471; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm22472; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm12473; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm72474; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm62475; AVX512DQ-BW-NEXT: vmovdqa64 320(%rdi), %zmm32476; AVX512DQ-BW-NEXT: vmovdqa64 256(%rdi), %zmm02477; AVX512DQ-BW-NEXT: vmovdqa64 448(%rdi), %zmm42478; AVX512DQ-BW-NEXT: vmovdqa64 384(%rdi), %zmm52479; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,0,8,0,8,0,8]2480; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2481; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm92482; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm8, %zmm92483; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm0, %zmm82484; AVX512DQ-BW-NEXT: movb $-64, %bl2485; AVX512DQ-BW-NEXT: kmovd %ebx, %k12486; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm8 {%k1}2487; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %xmm92488; AVX512DQ-BW-NEXT: vmovdqa 64(%rdi), %xmm102489; AVX512DQ-BW-NEXT: vinserti128 $1, 192(%rdi), %ymm10, %ymm102490; AVX512DQ-BW-NEXT: vinserti128 $1, 128(%rdi), %ymm9, %ymm92491; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]2492; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm162493; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [1,9,1,9,1,9,1,9]2494; AVX512DQ-BW-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2495; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm122496; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm11, %zmm122497; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm0, %zmm112498; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm11 {%k1}2499; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]2500; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm9, %zmm11, %zmm92501; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,2,10,2,10,2,10]2502; AVX512DQ-BW-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2503; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm112504; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm10, %zmm112505; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm0, %zmm102506; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm10 {%k1}2507; AVX512DQ-BW-NEXT: vmovdqa 192(%rdi), %ymm112508; AVX512DQ-BW-NEXT: vmovdqa 128(%rdi), %ymm122509; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]2510; AVX512DQ-BW-NEXT: vmovdqa 64(%rdi), %ymm142511; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %ymm152512; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2513; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm8[2,3],ymm13[2,3]2514; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm8, %zmm10, %zmm102515; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2516; AVX512DQ-BW-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2517; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm132518; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm8, %zmm132519; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm0, %zmm82520; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm8 {%k1}2521; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm11 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]2522; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2523; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]2524; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm82525; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [4,12,4,12,4,12,4,12]2526; AVX512DQ-BW-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2527; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm122528; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm11, %zmm122529; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm132530; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm11, %zmm132531; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]2532; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm112533; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm0[0],zmm3[0],zmm0[2],zmm3[2],zmm0[4],zmm3[4],zmm0[6],zmm3[6]2534; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}2535; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm12, %zmm13, %zmm112536; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [5,13,5,13,5,13,5,13]2537; AVX512DQ-BW-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2538; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm132539; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm12, %zmm132540; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm142541; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm12, %zmm142542; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2543; AVX512DQ-BW-NEXT: vpermi2q %zmm4, %zmm5, %zmm122544; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm0[1],zmm3[1],zmm0[3],zmm3[3],zmm0[5],zmm3[5],zmm0[7],zmm3[7]2545; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm14 {%k1}2546; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm13, %zmm14, %zmm122547; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [6,14,6,14,6,14,6,14]2548; AVX512DQ-BW-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2549; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm142550; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm13, %zmm142551; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm152552; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm13, %zmm152553; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2554; AVX512DQ-BW-NEXT: vpermi2q %zmm3, %zmm0, %zmm132555; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm13 {%k1} = zmm5[0],zmm4[0],zmm5[2],zmm4[2],zmm5[4],zmm4[4],zmm5[6],zmm4[6]2556; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm14, %zmm13, %zmm132557; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [7,15,7,15,7,15,7,15]2558; AVX512DQ-BW-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2559; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm14, %zmm62560; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm14, %zmm12561; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]2562; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm14, %zmm02563; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm5[1],zmm4[1],zmm5[3],zmm4[3],zmm5[5],zmm4[5],zmm5[7],zmm4[7]2564; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02565; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, (%rsi)2566; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, (%rdx)2567; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, (%rcx)2568; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, (%r8)2569; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, (%r9)2570; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, (%r11)2571; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, (%r10)2572; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, (%rax)2573; AVX512DQ-BW-NEXT: popq %rbx2574; AVX512DQ-BW-NEXT: vzeroupper2575; AVX512DQ-BW-NEXT: retq2576;2577; AVX512DQ-BW-FCP-LABEL: load_i64_stride8_vf8:2578; AVX512DQ-BW-FCP: # %bb.0:2579; AVX512DQ-BW-FCP-NEXT: pushq %rbx2580; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax2581; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r102582; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %r112583; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm22584; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm12585; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm72586; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm62587; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm32588; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm02589; AVX512DQ-BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm42590; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm52591; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,0,8,0,8,0,8]2592; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2593; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm92594; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm8, %zmm92595; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm82596; AVX512DQ-BW-FCP-NEXT: movb $-64, %bl2597; AVX512DQ-BW-FCP-NEXT: kmovd %ebx, %k12598; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm8 {%k1}2599; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %xmm92600; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm102601; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm10, %ymm102602; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm9, %ymm92603; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]2604; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm162605; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [1,9,1,9,1,9,1,9]2606; AVX512DQ-BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2607; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm122608; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm11, %zmm122609; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm112610; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm11 {%k1}2611; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm9 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]2612; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm11, %zmm92613; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,2,10,2,10,2,10]2614; AVX512DQ-BW-FCP-NEXT: # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2615; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm112616; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm10, %zmm112617; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm102618; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm10 {%k1}2619; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm112620; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm122621; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]2622; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdi), %ymm142623; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %ymm152624; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]2625; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm8 = ymm8[2,3],ymm13[2,3]2626; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm10, %zmm102627; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm8 = [3,11,3,11,3,11,3,11]2628; AVX512DQ-BW-FCP-NEXT: # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2629; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm132630; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm8, %zmm132631; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm82632; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm8 {%k1}2633; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm11 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]2634; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm12 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]2635; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]2636; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm8, %zmm82637; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm11 = [4,12,4,12,4,12,4,12]2638; AVX512DQ-BW-FCP-NEXT: # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2639; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm122640; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm11, %zmm122641; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm132642; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm11, %zmm132643; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]2644; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm112645; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 = zmm0[0],zmm3[0],zmm0[2],zmm3[2],zmm0[4],zmm3[4],zmm0[6],zmm3[6]2646; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm13 {%k1}2647; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm12, %zmm13, %zmm112648; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm12 = [5,13,5,13,5,13,5,13]2649; AVX512DQ-BW-FCP-NEXT: # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2650; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm132651; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm12, %zmm132652; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm142653; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm12, %zmm142654; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3],ymm13[4,5,6,7]2655; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm4, %zmm5, %zmm122656; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm0[1],zmm3[1],zmm0[3],zmm3[3],zmm0[5],zmm3[5],zmm0[7],zmm3[7]2657; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm14 {%k1}2658; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm14, %zmm122659; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm13 = [6,14,6,14,6,14,6,14]2660; AVX512DQ-BW-FCP-NEXT: # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2661; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm142662; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm13, %zmm142663; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm152664; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm13, %zmm152665; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3],ymm14[4,5,6,7]2666; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm3, %zmm0, %zmm132667; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm13 {%k1} = zmm5[0],zmm4[0],zmm5[2],zmm4[2],zmm5[4],zmm4[4],zmm5[6],zmm4[6]2668; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm14, %zmm13, %zmm132669; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm14 = [7,15,7,15,7,15,7,15]2670; AVX512DQ-BW-FCP-NEXT: # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]2671; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm14, %zmm62672; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm14, %zmm12673; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm6[4,5,6,7]2674; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm14, %zmm02675; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm5[1],zmm4[1],zmm5[3],zmm4[3],zmm5[5],zmm4[5],zmm5[7],zmm4[7]2676; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm02677; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, (%rsi)2678; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, (%rdx)2679; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, (%rcx)2680; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, (%r8)2681; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, (%r9)2682; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, (%r11)2683; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, (%r10)2684; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, (%rax)2685; AVX512DQ-BW-FCP-NEXT: popq %rbx2686; AVX512DQ-BW-FCP-NEXT: vzeroupper2687; AVX512DQ-BW-FCP-NEXT: retq2688 %wide.vec = load <64 x i64>, ptr %in.vec, align 642689 %strided.vec0 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <8 x i32> <i32 0, i32 8, i32 16, i32 24, i32 32, i32 40, i32 48, i32 56>2690 %strided.vec1 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <8 x i32> <i32 1, i32 9, i32 17, i32 25, i32 33, i32 41, i32 49, i32 57>2691 %strided.vec2 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <8 x i32> <i32 2, i32 10, i32 18, i32 26, i32 34, i32 42, i32 50, i32 58>2692 %strided.vec3 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <8 x i32> <i32 3, i32 11, i32 19, i32 27, i32 35, i32 43, i32 51, i32 59>2693 %strided.vec4 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <8 x i32> <i32 4, i32 12, i32 20, i32 28, i32 36, i32 44, i32 52, i32 60>2694 %strided.vec5 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <8 x i32> <i32 5, i32 13, i32 21, i32 29, i32 37, i32 45, i32 53, i32 61>2695 %strided.vec6 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <8 x i32> <i32 6, i32 14, i32 22, i32 30, i32 38, i32 46, i32 54, i32 62>2696 %strided.vec7 = shufflevector <64 x i64> %wide.vec, <64 x i64> poison, <8 x i32> <i32 7, i32 15, i32 23, i32 31, i32 39, i32 47, i32 55, i32 63>2697 store <8 x i64> %strided.vec0, ptr %out.vec0, align 642698 store <8 x i64> %strided.vec1, ptr %out.vec1, align 642699 store <8 x i64> %strided.vec2, ptr %out.vec2, align 642700 store <8 x i64> %strided.vec3, ptr %out.vec3, align 642701 store <8 x i64> %strided.vec4, ptr %out.vec4, align 642702 store <8 x i64> %strided.vec5, ptr %out.vec5, align 642703 store <8 x i64> %strided.vec6, ptr %out.vec6, align 642704 store <8 x i64> %strided.vec7, ptr %out.vec7, align 642705 ret void2706}2707 2708define void @load_i64_stride8_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, ptr %out.vec7) nounwind {2709; SSE-LABEL: load_i64_stride8_vf16:2710; SSE: # %bb.0:2711; SSE-NEXT: subq $664, %rsp # imm = 0x2982712; SSE-NEXT: movaps 832(%rdi), %xmm02713; SSE-NEXT: movaps 320(%rdi), %xmm12714; SSE-NEXT: movaps 256(%rdi), %xmm82715; SSE-NEXT: movaps 960(%rdi), %xmm22716; SSE-NEXT: movaps 896(%rdi), %xmm92717; SSE-NEXT: movaps 448(%rdi), %xmm32718; SSE-NEXT: movaps 384(%rdi), %xmm102719; SSE-NEXT: movaps 576(%rdi), %xmm42720; SSE-NEXT: movaps 512(%rdi), %xmm112721; SSE-NEXT: movaps 64(%rdi), %xmm52722; SSE-NEXT: movaps (%rdi), %xmm122723; SSE-NEXT: movaps 704(%rdi), %xmm62724; SSE-NEXT: movaps 640(%rdi), %xmm132725; SSE-NEXT: movaps 192(%rdi), %xmm72726; SSE-NEXT: movaps 128(%rdi), %xmm142727; SSE-NEXT: movaps %xmm14, %xmm152728; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm7[0]2729; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2730; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm7[1]2731; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2732; SSE-NEXT: movaps %xmm13, %xmm72733; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm6[0]2734; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2735; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]2736; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2737; SSE-NEXT: movaps %xmm12, %xmm62738; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]2739; SSE-NEXT: movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2740; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm5[1]2741; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2742; SSE-NEXT: movaps %xmm11, %xmm52743; SSE-NEXT: movlhps {{.*#+}} xmm5 = xmm5[0],xmm4[0]2744; SSE-NEXT: movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2745; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm4[1]2746; SSE-NEXT: movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2747; SSE-NEXT: movaps %xmm10, %xmm42748; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm3[0]2749; SSE-NEXT: movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2750; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm3[1]2751; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2752; SSE-NEXT: movaps %xmm9, %xmm32753; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm2[0]2754; SSE-NEXT: movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2755; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm2[1]2756; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2757; SSE-NEXT: movaps %xmm8, %xmm22758; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]2759; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2760; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm1[1]2761; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2762; SSE-NEXT: movaps 768(%rdi), %xmm12763; SSE-NEXT: movaps %xmm1, %xmm22764; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2765; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2766; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2767; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2768; SSE-NEXT: movaps 80(%rdi), %xmm02769; SSE-NEXT: movaps 16(%rdi), %xmm12770; SSE-NEXT: movaps %xmm1, %xmm22771; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2772; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2773; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2774; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2775; SSE-NEXT: movaps 208(%rdi), %xmm02776; SSE-NEXT: movaps 144(%rdi), %xmm12777; SSE-NEXT: movaps %xmm1, %xmm22778; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2779; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2780; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2781; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2782; SSE-NEXT: movaps 336(%rdi), %xmm02783; SSE-NEXT: movaps 272(%rdi), %xmm12784; SSE-NEXT: movaps %xmm1, %xmm22785; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2786; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2787; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2788; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2789; SSE-NEXT: movaps 464(%rdi), %xmm02790; SSE-NEXT: movaps 400(%rdi), %xmm12791; SSE-NEXT: movaps %xmm1, %xmm22792; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2793; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2794; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2795; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2796; SSE-NEXT: movaps 592(%rdi), %xmm02797; SSE-NEXT: movaps 528(%rdi), %xmm12798; SSE-NEXT: movaps %xmm1, %xmm22799; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2800; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2801; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2802; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2803; SSE-NEXT: movaps 720(%rdi), %xmm02804; SSE-NEXT: movaps 656(%rdi), %xmm12805; SSE-NEXT: movaps %xmm1, %xmm22806; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2807; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2808; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2809; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2810; SSE-NEXT: movaps 848(%rdi), %xmm02811; SSE-NEXT: movaps 784(%rdi), %xmm12812; SSE-NEXT: movaps %xmm1, %xmm22813; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2814; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2815; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2816; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2817; SSE-NEXT: movaps 976(%rdi), %xmm02818; SSE-NEXT: movaps 912(%rdi), %xmm12819; SSE-NEXT: movaps %xmm1, %xmm22820; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2821; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2822; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2823; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2824; SSE-NEXT: movaps 96(%rdi), %xmm02825; SSE-NEXT: movaps 32(%rdi), %xmm12826; SSE-NEXT: movaps %xmm1, %xmm22827; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2828; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2829; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2830; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2831; SSE-NEXT: movaps 224(%rdi), %xmm02832; SSE-NEXT: movaps 160(%rdi), %xmm12833; SSE-NEXT: movaps %xmm1, %xmm22834; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2835; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2836; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2837; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2838; SSE-NEXT: movaps 352(%rdi), %xmm02839; SSE-NEXT: movaps 288(%rdi), %xmm12840; SSE-NEXT: movaps %xmm1, %xmm22841; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2842; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2843; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2844; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2845; SSE-NEXT: movaps 480(%rdi), %xmm02846; SSE-NEXT: movaps 416(%rdi), %xmm12847; SSE-NEXT: movaps %xmm1, %xmm22848; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2849; SSE-NEXT: movaps %xmm2, (%rsp) # 16-byte Spill2850; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2851; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2852; SSE-NEXT: movaps 608(%rdi), %xmm02853; SSE-NEXT: movaps 544(%rdi), %xmm12854; SSE-NEXT: movaps %xmm1, %xmm22855; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2856; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2857; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2858; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2859; SSE-NEXT: movaps 736(%rdi), %xmm02860; SSE-NEXT: movaps 672(%rdi), %xmm12861; SSE-NEXT: movaps %xmm1, %xmm22862; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2863; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2864; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2865; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2866; SSE-NEXT: movaps 864(%rdi), %xmm02867; SSE-NEXT: movaps 800(%rdi), %xmm122868; SSE-NEXT: movaps %xmm12, %xmm12869; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2870; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2871; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]2872; SSE-NEXT: movaps 992(%rdi), %xmm02873; SSE-NEXT: movaps 928(%rdi), %xmm92874; SSE-NEXT: movaps %xmm9, %xmm12875; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2876; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2877; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]2878; SSE-NEXT: movaps 112(%rdi), %xmm02879; SSE-NEXT: movaps 48(%rdi), %xmm12880; SSE-NEXT: movaps %xmm1, %xmm22881; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]2882; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2883; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2884; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2885; SSE-NEXT: movaps 240(%rdi), %xmm02886; SSE-NEXT: movaps 176(%rdi), %xmm142887; SSE-NEXT: movaps %xmm14, %xmm12888; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]2889; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2890; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]2891; SSE-NEXT: movaps 368(%rdi), %xmm02892; SSE-NEXT: movaps 304(%rdi), %xmm132893; SSE-NEXT: movaps %xmm13, %xmm152894; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm0[0]2895; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]2896; SSE-NEXT: movaps 496(%rdi), %xmm02897; SSE-NEXT: movaps 432(%rdi), %xmm102898; SSE-NEXT: movaps %xmm10, %xmm112899; SSE-NEXT: movlhps {{.*#+}} xmm11 = xmm11[0],xmm0[0]2900; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm0[1]2901; SSE-NEXT: movaps 624(%rdi), %xmm02902; SSE-NEXT: movaps 560(%rdi), %xmm52903; SSE-NEXT: movaps %xmm5, %xmm82904; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]2905; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]2906; SSE-NEXT: movaps 752(%rdi), %xmm02907; SSE-NEXT: movaps 688(%rdi), %xmm62908; SSE-NEXT: movaps %xmm6, %xmm72909; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm0[0]2910; SSE-NEXT: unpckhpd {{.*#+}} xmm6 = xmm6[1],xmm0[1]2911; SSE-NEXT: movaps 880(%rdi), %xmm02912; SSE-NEXT: movaps 816(%rdi), %xmm12913; SSE-NEXT: movaps %xmm1, %xmm42914; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm0[0]2915; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]2916; SSE-NEXT: movaps 1008(%rdi), %xmm02917; SSE-NEXT: movaps 944(%rdi), %xmm22918; SSE-NEXT: movaps %xmm2, %xmm32919; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm0[0]2920; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]2921; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2922; SSE-NEXT: movaps %xmm0, 96(%rsi)2923; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2924; SSE-NEXT: movaps %xmm0, 32(%rsi)2925; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2926; SSE-NEXT: movaps %xmm0, 112(%rsi)2927; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2928; SSE-NEXT: movaps %xmm0, 48(%rsi)2929; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2930; SSE-NEXT: movaps %xmm0, 64(%rsi)2931; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2932; SSE-NEXT: movaps %xmm0, (%rsi)2933; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2934; SSE-NEXT: movaps %xmm0, 80(%rsi)2935; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2936; SSE-NEXT: movaps %xmm0, 16(%rsi)2937; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2938; SSE-NEXT: movaps %xmm0, 96(%rdx)2939; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2940; SSE-NEXT: movaps %xmm0, 32(%rdx)2941; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2942; SSE-NEXT: movaps %xmm0, 112(%rdx)2943; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2944; SSE-NEXT: movaps %xmm0, 48(%rdx)2945; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2946; SSE-NEXT: movaps %xmm0, 64(%rdx)2947; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2948; SSE-NEXT: movaps %xmm0, (%rdx)2949; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2950; SSE-NEXT: movaps %xmm0, 80(%rdx)2951; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2952; SSE-NEXT: movaps %xmm0, 16(%rdx)2953; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2954; SSE-NEXT: movaps %xmm0, 96(%rcx)2955; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2956; SSE-NEXT: movaps %xmm0, 32(%rcx)2957; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2958; SSE-NEXT: movaps %xmm0, 112(%rcx)2959; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2960; SSE-NEXT: movaps %xmm0, 48(%rcx)2961; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2962; SSE-NEXT: movaps %xmm0, 64(%rcx)2963; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2964; SSE-NEXT: movaps %xmm0, (%rcx)2965; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2966; SSE-NEXT: movaps %xmm0, 80(%rcx)2967; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2968; SSE-NEXT: movaps %xmm0, 16(%rcx)2969; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2970; SSE-NEXT: movaps %xmm0, 112(%r8)2971; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2972; SSE-NEXT: movaps %xmm0, 96(%r8)2973; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2974; SSE-NEXT: movaps %xmm0, 80(%r8)2975; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2976; SSE-NEXT: movaps %xmm0, 64(%r8)2977; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2978; SSE-NEXT: movaps %xmm0, 48(%r8)2979; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2980; SSE-NEXT: movaps %xmm0, 32(%r8)2981; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2982; SSE-NEXT: movaps %xmm0, 16(%r8)2983; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2984; SSE-NEXT: movaps %xmm0, (%r8)2985; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2986; SSE-NEXT: movaps %xmm0, 112(%r9)2987; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2988; SSE-NEXT: movaps %xmm0, 96(%r9)2989; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2990; SSE-NEXT: movaps %xmm0, 80(%r9)2991; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2992; SSE-NEXT: movaps %xmm0, 64(%r9)2993; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload2994; SSE-NEXT: movaps %xmm0, 48(%r9)2995; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2996; SSE-NEXT: movaps %xmm0, 32(%r9)2997; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2998; SSE-NEXT: movaps %xmm0, 16(%r9)2999; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3000; SSE-NEXT: movaps %xmm0, (%r9)3001; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax3002; SSE-NEXT: movaps %xmm9, 112(%rax)3003; SSE-NEXT: movaps %xmm12, 96(%rax)3004; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3005; SSE-NEXT: movaps %xmm0, 80(%rax)3006; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3007; SSE-NEXT: movaps %xmm0, 64(%rax)3008; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3009; SSE-NEXT: movaps %xmm0, 48(%rax)3010; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3011; SSE-NEXT: movaps %xmm0, 32(%rax)3012; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3013; SSE-NEXT: movaps %xmm0, 16(%rax)3014; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3015; SSE-NEXT: movaps %xmm0, (%rax)3016; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax3017; SSE-NEXT: movaps %xmm3, 112(%rax)3018; SSE-NEXT: movaps %xmm4, 96(%rax)3019; SSE-NEXT: movaps %xmm7, 80(%rax)3020; SSE-NEXT: movaps %xmm8, 64(%rax)3021; SSE-NEXT: movaps %xmm11, 48(%rax)3022; SSE-NEXT: movaps %xmm15, 32(%rax)3023; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3024; SSE-NEXT: movaps %xmm0, 16(%rax)3025; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3026; SSE-NEXT: movaps %xmm0, (%rax)3027; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax3028; SSE-NEXT: movaps %xmm2, 112(%rax)3029; SSE-NEXT: movaps %xmm1, 96(%rax)3030; SSE-NEXT: movaps %xmm6, 80(%rax)3031; SSE-NEXT: movaps %xmm5, 64(%rax)3032; SSE-NEXT: movaps %xmm10, 48(%rax)3033; SSE-NEXT: movaps %xmm13, 32(%rax)3034; SSE-NEXT: movaps %xmm14, 16(%rax)3035; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3036; SSE-NEXT: movaps %xmm0, (%rax)3037; SSE-NEXT: addq $664, %rsp # imm = 0x2983038; SSE-NEXT: retq3039;3040; AVX-LABEL: load_i64_stride8_vf16:3041; AVX: # %bb.0:3042; AVX-NEXT: subq $808, %rsp # imm = 0x3283043; AVX-NEXT: vmovaps 448(%rdi), %xmm03044; AVX-NEXT: vmovaps 384(%rdi), %xmm13045; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]3046; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3047; AVX-NEXT: vmovaps 320(%rdi), %xmm23048; AVX-NEXT: vmovaps 256(%rdi), %xmm33049; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]3050; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3051; AVX-NEXT: vmovaps 832(%rdi), %xmm43052; AVX-NEXT: vmovaps 768(%rdi), %xmm53053; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]3054; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3055; AVX-NEXT: vmovaps 960(%rdi), %xmm63056; AVX-NEXT: vmovaps 896(%rdi), %xmm73057; AVX-NEXT: vmovlhps {{.*#+}} xmm8 = xmm7[0],xmm6[0]3058; AVX-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3059; AVX-NEXT: vmovaps 704(%rdi), %xmm83060; AVX-NEXT: vmovaps 640(%rdi), %xmm93061; AVX-NEXT: vmovlhps {{.*#+}} xmm10 = xmm9[0],xmm8[0]3062; AVX-NEXT: vmovaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3063; AVX-NEXT: vmovaps 576(%rdi), %xmm103064; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3065; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3066; AVX-NEXT: vmovaps 512(%rdi), %xmm03067; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm2[1]3068; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3069; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm10[0]3070; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3071; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm7[1],xmm6[1]3072; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3073; AVX-NEXT: vmovaps 64(%rdi), %xmm13074; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm5[1],xmm4[1]3075; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3076; AVX-NEXT: vmovaps 192(%rdi), %xmm23077; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm9[1],xmm8[1]3078; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3079; AVX-NEXT: vmovaps 128(%rdi), %xmm33080; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm10[1]3081; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3082; AVX-NEXT: vmovlhps {{.*#+}} xmm0 = xmm3[0],xmm2[0]3083; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3084; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm3[1],xmm2[1]3085; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3086; AVX-NEXT: vmovaps (%rdi), %xmm03087; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm0[0],xmm1[0]3088; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3089; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm1[1]3090; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3091; AVX-NEXT: vmovaps 448(%rdi), %ymm03092; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3093; AVX-NEXT: vmovaps 384(%rdi), %ymm13094; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3095; AVX-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3096; AVX-NEXT: vmovaps 336(%rdi), %xmm33097; AVX-NEXT: vmovaps 272(%rdi), %xmm43098; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm4[0],xmm3[0]3099; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm2[4,5,6,7]3100; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3101; AVX-NEXT: vmovaps 960(%rdi), %ymm23102; AVX-NEXT: vmovaps 896(%rdi), %ymm53103; AVX-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm2[0],ymm5[2],ymm2[2]3104; AVX-NEXT: vmovaps 848(%rdi), %xmm73105; AVX-NEXT: vmovaps 784(%rdi), %xmm83106; AVX-NEXT: vmovlhps {{.*#+}} xmm9 = xmm8[0],xmm7[0]3107; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm6[4,5,6,7]3108; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3109; AVX-NEXT: vmovaps 192(%rdi), %ymm63110; AVX-NEXT: vmovaps 128(%rdi), %ymm93111; AVX-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm6[0],ymm9[2],ymm6[2]3112; AVX-NEXT: vmovaps 80(%rdi), %xmm113113; AVX-NEXT: vmovaps 16(%rdi), %xmm123114; AVX-NEXT: vmovlhps {{.*#+}} xmm13 = xmm12[0],xmm11[0]3115; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm13[0,1,2,3],ymm10[4,5,6,7]3116; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3117; AVX-NEXT: vmovaps 704(%rdi), %ymm103118; AVX-NEXT: vmovaps 640(%rdi), %ymm133119; AVX-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm13[0],ymm10[0],ymm13[2],ymm10[2]3120; AVX-NEXT: vmovaps 592(%rdi), %xmm153121; AVX-NEXT: vmovaps 528(%rdi), %xmm03122; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm15[0]3123; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm14[4,5,6,7]3124; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3125; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3126; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload3127; AVX-NEXT: # ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]3128; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm4[1],xmm3[1]3129; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]3130; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3131; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm2[1],ymm5[3],ymm2[3]3132; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm8[1],xmm7[1]3133; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]3134; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3135; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm9[1],ymm6[1],ymm9[3],ymm6[3]3136; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm12[1],xmm11[1]3137; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]3138; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3139; AVX-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm13[1],ymm10[1],ymm13[3],ymm10[3]3140; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm15[1]3141; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3142; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3143; AVX-NEXT: vmovaps 480(%rdi), %xmm03144; AVX-NEXT: vmovaps 416(%rdi), %xmm13145; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]3146; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3147; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3148; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3149; AVX-NEXT: vmovaps 352(%rdi), %xmm03150; AVX-NEXT: vmovaps 288(%rdi), %xmm13151; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]3152; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3153; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3154; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3155; AVX-NEXT: vmovaps 992(%rdi), %xmm03156; AVX-NEXT: vmovaps 928(%rdi), %xmm13157; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]3158; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3159; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3160; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3161; AVX-NEXT: vmovaps 864(%rdi), %xmm03162; AVX-NEXT: vmovaps 800(%rdi), %xmm13163; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]3164; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3165; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3166; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3167; AVX-NEXT: vmovaps 224(%rdi), %xmm03168; AVX-NEXT: vmovaps 160(%rdi), %xmm13169; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]3170; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3171; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3172; AVX-NEXT: vmovaps %xmm0, (%rsp) # 16-byte Spill3173; AVX-NEXT: vmovaps 96(%rdi), %xmm03174; AVX-NEXT: vmovaps 32(%rdi), %xmm13175; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]3176; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3177; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3178; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3179; AVX-NEXT: vmovaps 736(%rdi), %xmm03180; AVX-NEXT: vmovaps 672(%rdi), %xmm13181; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]3182; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3183; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3184; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3185; AVX-NEXT: vmovaps 608(%rdi), %xmm03186; AVX-NEXT: vmovaps 544(%rdi), %xmm13187; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]3188; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3189; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]3190; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3191; AVX-NEXT: vmovaps 480(%rdi), %ymm03192; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3193; AVX-NEXT: vmovaps 416(%rdi), %ymm143194; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm14[0],ymm0[0],ymm14[2],ymm0[2]3195; AVX-NEXT: vmovaps 368(%rdi), %xmm123196; AVX-NEXT: vmovaps 304(%rdi), %xmm63197; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm6[0],xmm12[0]3198; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm1[4,5,6,7]3199; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3200; AVX-NEXT: vmovaps 992(%rdi), %ymm03201; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3202; AVX-NEXT: vmovaps 928(%rdi), %ymm153203; AVX-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]3204; AVX-NEXT: vmovaps 880(%rdi), %xmm113205; AVX-NEXT: vmovaps 816(%rdi), %xmm103206; AVX-NEXT: vmovlhps {{.*#+}} xmm9 = xmm10[0],xmm11[0]3207; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm8[4,5,6,7]3208; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3209; AVX-NEXT: vmovaps 224(%rdi), %ymm93210; AVX-NEXT: vmovaps 160(%rdi), %ymm43211; AVX-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm4[0],ymm9[0],ymm4[2],ymm9[2]3212; AVX-NEXT: vmovaps 112(%rdi), %xmm33213; AVX-NEXT: vmovaps 48(%rdi), %xmm03214; AVX-NEXT: vmovlhps {{.*#+}} xmm13 = xmm0[0],xmm3[0]3215; AVX-NEXT: vblendps {{.*#+}} ymm1 = ymm13[0,1,2,3],ymm8[4,5,6,7]3216; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3217; AVX-NEXT: vmovaps 736(%rdi), %ymm73218; AVX-NEXT: vmovaps 672(%rdi), %ymm53219; AVX-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm5[0],ymm7[0],ymm5[2],ymm7[2]3220; AVX-NEXT: vmovaps 624(%rdi), %xmm23221; AVX-NEXT: vmovaps 560(%rdi), %xmm13222; AVX-NEXT: vmovlhps {{.*#+}} xmm13 = xmm1[0],xmm2[0]3223; AVX-NEXT: vblendps {{.*#+}} ymm8 = ymm13[0,1,2,3],ymm8[4,5,6,7]3224; AVX-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm9[1],ymm4[3],ymm9[3]3225; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm3[1]3226; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3],ymm4[4,5,6,7]3227; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm0 # 32-byte Folded Reload3228; AVX-NEXT: # ymm0 = ymm14[1],mem[1],ymm14[3],mem[3]3229; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm6[1],xmm12[1]3230; AVX-NEXT: vblendps {{.*#+}} ymm6 = ymm3[0,1,2,3],ymm0[4,5,6,7]3231; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm5[1],ymm7[1],ymm5[3],ymm7[3]3232; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]3233; AVX-NEXT: vblendps {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm0[4,5,6,7]3234; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload3235; AVX-NEXT: # ymm0 = ymm15[1],mem[1],ymm15[3],mem[3]3236; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm10[1],xmm11[1]3237; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]3238; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3239; AVX-NEXT: vmovaps %xmm1, 16(%rsi)3240; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3241; AVX-NEXT: vmovaps %xmm1, (%rsi)3242; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3243; AVX-NEXT: vmovaps %xmm1, 64(%rsi)3244; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3245; AVX-NEXT: vmovaps %xmm1, 80(%rsi)3246; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3247; AVX-NEXT: vmovaps %xmm1, 112(%rsi)3248; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3249; AVX-NEXT: vmovaps %xmm1, 96(%rsi)3250; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3251; AVX-NEXT: vmovaps %xmm1, 32(%rsi)3252; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3253; AVX-NEXT: vmovaps %xmm1, 48(%rsi)3254; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3255; AVX-NEXT: vmovaps %xmm1, (%rdx)3256; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3257; AVX-NEXT: vmovaps %xmm1, 16(%rdx)3258; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3259; AVX-NEXT: vmovaps %xmm1, 64(%rdx)3260; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3261; AVX-NEXT: vmovaps %xmm1, 80(%rdx)3262; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3263; AVX-NEXT: vmovaps %xmm1, 96(%rdx)3264; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3265; AVX-NEXT: vmovaps %xmm1, 112(%rdx)3266; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3267; AVX-NEXT: vmovaps %xmm1, 32(%rdx)3268; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3269; AVX-NEXT: vmovaps %xmm1, 48(%rdx)3270; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3271; AVX-NEXT: vmovaps %ymm1, 64(%rcx)3272; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3273; AVX-NEXT: vmovaps %ymm1, (%rcx)3274; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3275; AVX-NEXT: vmovaps %ymm1, 96(%rcx)3276; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3277; AVX-NEXT: vmovaps %ymm1, 32(%rcx)3278; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3279; AVX-NEXT: vmovaps %ymm1, 64(%r8)3280; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3281; AVX-NEXT: vmovaps %ymm1, (%r8)3282; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3283; AVX-NEXT: vmovaps %ymm1, 96(%r8)3284; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3285; AVX-NEXT: vmovaps %ymm1, 32(%r8)3286; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3287; AVX-NEXT: vmovaps %xmm1, 80(%r9)3288; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3289; AVX-NEXT: vmovaps %xmm1, 64(%r9)3290; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3291; AVX-NEXT: vmovaps %xmm1, (%r9)3292; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3293; AVX-NEXT: vmovaps %xmm1, 16(%r9)3294; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3295; AVX-NEXT: vmovaps %xmm1, 112(%r9)3296; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3297; AVX-NEXT: vmovaps %xmm1, 96(%r9)3298; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3299; AVX-NEXT: vmovaps %xmm1, 32(%r9)3300; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3301; AVX-NEXT: vmovaps %xmm1, 48(%r9)3302; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax3303; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3304; AVX-NEXT: vmovaps %xmm1, 64(%rax)3305; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3306; AVX-NEXT: vmovaps %xmm1, 80(%rax)3307; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3308; AVX-NEXT: vmovaps %xmm1, (%rax)3309; AVX-NEXT: vmovaps (%rsp), %xmm1 # 16-byte Reload3310; AVX-NEXT: vmovaps %xmm1, 16(%rax)3311; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3312; AVX-NEXT: vmovaps %xmm1, 96(%rax)3313; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3314; AVX-NEXT: vmovaps %xmm1, 112(%rax)3315; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3316; AVX-NEXT: vmovaps %xmm1, 32(%rax)3317; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3318; AVX-NEXT: vmovaps %xmm1, 48(%rax)3319; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax3320; AVX-NEXT: vmovaps %ymm8, 64(%rax)3321; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3322; AVX-NEXT: vmovaps %ymm1, (%rax)3323; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3324; AVX-NEXT: vmovaps %ymm1, 96(%rax)3325; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3326; AVX-NEXT: vmovaps %ymm1, 32(%rax)3327; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax3328; AVX-NEXT: vmovaps %ymm0, 96(%rax)3329; AVX-NEXT: vmovaps %ymm4, 64(%rax)3330; AVX-NEXT: vmovaps %ymm6, 32(%rax)3331; AVX-NEXT: vmovaps %ymm9, (%rax)3332; AVX-NEXT: addq $808, %rsp # imm = 0x3283333; AVX-NEXT: vzeroupper3334; AVX-NEXT: retq3335;3336; AVX2-LABEL: load_i64_stride8_vf16:3337; AVX2: # %bb.0:3338; AVX2-NEXT: subq $808, %rsp # imm = 0x3283339; AVX2-NEXT: vmovaps 832(%rdi), %ymm13340; AVX2-NEXT: vmovaps 768(%rdi), %ymm23341; AVX2-NEXT: vmovaps 320(%rdi), %ymm33342; AVX2-NEXT: vmovaps 256(%rdi), %ymm43343; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3344; AVX2-NEXT: vmovaps 448(%rdi), %ymm53345; AVX2-NEXT: vmovaps 384(%rdi), %ymm133346; AVX2-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3347; AVX2-NEXT: vmovaps 320(%rdi), %xmm63348; AVX2-NEXT: vinsertf128 $1, 448(%rdi), %ymm6, %ymm63349; AVX2-NEXT: vmovaps 256(%rdi), %xmm73350; AVX2-NEXT: vinsertf128 $1, 384(%rdi), %ymm7, %ymm73351; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]3352; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3353; AVX2-NEXT: vmovaps 832(%rdi), %xmm83354; AVX2-NEXT: vinsertf128 $1, 960(%rdi), %ymm8, %ymm83355; AVX2-NEXT: vmovaps 768(%rdi), %xmm93356; AVX2-NEXT: vinsertf128 $1, 896(%rdi), %ymm9, %ymm93357; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]3358; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3359; AVX2-NEXT: vmovaps (%rdi), %xmm103360; AVX2-NEXT: vmovaps 64(%rdi), %xmm113361; AVX2-NEXT: vinsertf128 $1, 192(%rdi), %ymm11, %ymm113362; AVX2-NEXT: vinsertf128 $1, 128(%rdi), %ymm10, %ymm103363; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]3364; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3365; AVX2-NEXT: vmovaps 576(%rdi), %xmm123366; AVX2-NEXT: vinsertf128 $1, 704(%rdi), %ymm12, %ymm123367; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]3368; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3369; AVX2-NEXT: vmovaps 512(%rdi), %xmm63370; AVX2-NEXT: vinsertf128 $1, 640(%rdi), %ymm6, %ymm63371; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]3372; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3373; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm6[0],ymm12[0],ymm6[2],ymm12[2]3374; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3375; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]3376; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3377; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm6[1],ymm12[1],ymm6[3],ymm12[3]3378; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3379; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm13[0],ymm5[0],ymm13[2],ymm5[2]3380; AVX2-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]3381; AVX2-NEXT: vmovaps %ymm3, %ymm43382; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm7[2,3],ymm6[2,3]3383; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3384; AVX2-NEXT: vmovaps 960(%rdi), %ymm63385; AVX2-NEXT: vmovaps 896(%rdi), %ymm73386; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]3387; AVX2-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3388; AVX2-NEXT: vmovaps %ymm2, %ymm33389; AVX2-NEXT: vmovaps %ymm1, %ymm23390; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm8[2,3]3391; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3392; AVX2-NEXT: vmovaps 64(%rdi), %ymm83393; AVX2-NEXT: vmovaps (%rdi), %ymm93394; AVX2-NEXT: vmovaps 192(%rdi), %ymm103395; AVX2-NEXT: vmovaps 128(%rdi), %ymm113396; AVX2-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]3397; AVX2-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]3398; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm12[2,3]3399; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3400; AVX2-NEXT: vmovaps 576(%rdi), %ymm123401; AVX2-NEXT: vmovaps 512(%rdi), %ymm133402; AVX2-NEXT: vmovaps 704(%rdi), %ymm143403; AVX2-NEXT: vmovaps 640(%rdi), %ymm153404; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]3405; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm13[0],ymm12[0],ymm13[2],ymm12[2]3406; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3407; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3408; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3409; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm5[1],ymm0[3],ymm5[3]3410; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3411; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm4[1],ymm1[3],ymm4[3]3412; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3413; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3414; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]3415; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]3416; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3417; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3418; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]3419; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]3420; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3421; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3422; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]3423; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm13[1],ymm12[1],ymm13[3],ymm12[3]3424; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3425; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3426; AVX2-NEXT: vmovaps 352(%rdi), %xmm03427; AVX2-NEXT: vinsertf128 $1, 480(%rdi), %ymm0, %ymm03428; AVX2-NEXT: vmovaps 288(%rdi), %xmm13429; AVX2-NEXT: vinsertf128 $1, 416(%rdi), %ymm1, %ymm13430; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3431; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3432; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3433; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3434; AVX2-NEXT: vmovaps 864(%rdi), %xmm03435; AVX2-NEXT: vinsertf128 $1, 992(%rdi), %ymm0, %ymm03436; AVX2-NEXT: vmovaps 800(%rdi), %xmm13437; AVX2-NEXT: vinsertf128 $1, 928(%rdi), %ymm1, %ymm13438; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3439; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3440; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3441; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3442; AVX2-NEXT: vmovaps 96(%rdi), %xmm03443; AVX2-NEXT: vinsertf128 $1, 224(%rdi), %ymm0, %ymm03444; AVX2-NEXT: vmovaps 32(%rdi), %xmm13445; AVX2-NEXT: vinsertf128 $1, 160(%rdi), %ymm1, %ymm13446; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3447; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3448; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3449; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3450; AVX2-NEXT: vmovaps 608(%rdi), %xmm03451; AVX2-NEXT: vinsertf128 $1, 736(%rdi), %ymm0, %ymm03452; AVX2-NEXT: vmovaps 544(%rdi), %xmm13453; AVX2-NEXT: vinsertf128 $1, 672(%rdi), %ymm1, %ymm13454; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3455; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3456; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3457; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3458; AVX2-NEXT: vmovaps 352(%rdi), %ymm03459; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3460; AVX2-NEXT: vmovaps 288(%rdi), %ymm153461; AVX2-NEXT: vmovaps 480(%rdi), %ymm123462; AVX2-NEXT: vmovaps 416(%rdi), %ymm103463; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm10[0],ymm12[0],ymm10[2],ymm12[2]3464; AVX2-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]3465; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm5[2,3],ymm4[2,3]3466; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3467; AVX2-NEXT: vmovaps 864(%rdi), %ymm03468; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3469; AVX2-NEXT: vmovaps 800(%rdi), %ymm143470; AVX2-NEXT: vmovaps 992(%rdi), %ymm113471; AVX2-NEXT: vmovaps 928(%rdi), %ymm73472; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm11[0],ymm7[2],ymm11[2]3473; AVX2-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm14[0],ymm0[0],ymm14[2],ymm0[2]3474; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm8[2,3]3475; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3476; AVX2-NEXT: vmovaps 96(%rdi), %ymm93477; AVX2-NEXT: vmovaps 32(%rdi), %ymm63478; AVX2-NEXT: vmovaps 224(%rdi), %ymm33479; AVX2-NEXT: vmovaps 160(%rdi), %ymm23480; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]3481; AVX2-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]3482; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm8[2,3]3483; AVX2-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill3484; AVX2-NEXT: vmovaps 608(%rdi), %ymm53485; AVX2-NEXT: vmovaps 544(%rdi), %ymm43486; AVX2-NEXT: vmovaps 736(%rdi), %ymm13487; AVX2-NEXT: vmovaps 672(%rdi), %ymm03488; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3489; AVX2-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]3490; AVX2-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm13[2,3],ymm8[2,3]3491; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]3492; AVX2-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]3493; AVX2-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm3[2,3],ymm2[2,3]3494; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm12[1],ymm10[3],ymm12[3]3495; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm3 # 32-byte Folded Reload3496; AVX2-NEXT: # ymm3 = ymm15[1],mem[1],ymm15[3],mem[3]3497; AVX2-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm3[2,3],ymm2[2,3]3498; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]3499; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]3500; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3501; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm7[1],ymm11[1],ymm7[3],ymm11[3]3502; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm3 # 32-byte Folded Reload3503; AVX2-NEXT: # ymm3 = ymm14[1],mem[1],ymm14[3],mem[3]3504; AVX2-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]3505; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3506; AVX2-NEXT: vmovaps %ymm3, 64(%rsi)3507; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3508; AVX2-NEXT: vmovaps %ymm3, (%rsi)3509; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3510; AVX2-NEXT: vmovaps %ymm3, 96(%rsi)3511; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3512; AVX2-NEXT: vmovaps %ymm3, 32(%rsi)3513; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3514; AVX2-NEXT: vmovaps %ymm3, 64(%rdx)3515; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3516; AVX2-NEXT: vmovaps %ymm3, (%rdx)3517; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3518; AVX2-NEXT: vmovaps %ymm3, 96(%rdx)3519; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3520; AVX2-NEXT: vmovaps %ymm3, 32(%rdx)3521; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3522; AVX2-NEXT: vmovaps %ymm3, 64(%rcx)3523; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3524; AVX2-NEXT: vmovaps %ymm3, (%rcx)3525; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3526; AVX2-NEXT: vmovaps %ymm3, 96(%rcx)3527; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3528; AVX2-NEXT: vmovaps %ymm3, 32(%rcx)3529; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3530; AVX2-NEXT: vmovaps %ymm3, 64(%r8)3531; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3532; AVX2-NEXT: vmovaps %ymm3, (%r8)3533; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3534; AVX2-NEXT: vmovaps %ymm3, 96(%r8)3535; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3536; AVX2-NEXT: vmovaps %ymm3, 32(%r8)3537; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3538; AVX2-NEXT: vmovaps %ymm3, 64(%r9)3539; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3540; AVX2-NEXT: vmovaps %ymm3, (%r9)3541; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3542; AVX2-NEXT: vmovaps %ymm3, 96(%r9)3543; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3544; AVX2-NEXT: vmovaps %ymm3, 32(%r9)3545; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax3546; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3547; AVX2-NEXT: vmovaps %ymm3, 64(%rax)3548; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3549; AVX2-NEXT: vmovaps %ymm3, (%rax)3550; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3551; AVX2-NEXT: vmovaps %ymm3, 96(%rax)3552; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3553; AVX2-NEXT: vmovaps %ymm3, 32(%rax)3554; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax3555; AVX2-NEXT: vmovaps %ymm8, 64(%rax)3556; AVX2-NEXT: vmovups (%rsp), %ymm3 # 32-byte Reload3557; AVX2-NEXT: vmovaps %ymm3, (%rax)3558; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3559; AVX2-NEXT: vmovaps %ymm3, 96(%rax)3560; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3561; AVX2-NEXT: vmovaps %ymm3, 32(%rax)3562; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax3563; AVX2-NEXT: vmovaps %ymm1, 96(%rax)3564; AVX2-NEXT: vmovaps %ymm0, 64(%rax)3565; AVX2-NEXT: vmovaps %ymm2, 32(%rax)3566; AVX2-NEXT: vmovaps %ymm9, (%rax)3567; AVX2-NEXT: addq $808, %rsp # imm = 0x3283568; AVX2-NEXT: vzeroupper3569; AVX2-NEXT: retq3570;3571; AVX2-FP-LABEL: load_i64_stride8_vf16:3572; AVX2-FP: # %bb.0:3573; AVX2-FP-NEXT: subq $808, %rsp # imm = 0x3283574; AVX2-FP-NEXT: vmovaps 832(%rdi), %ymm13575; AVX2-FP-NEXT: vmovaps 768(%rdi), %ymm23576; AVX2-FP-NEXT: vmovaps 320(%rdi), %ymm33577; AVX2-FP-NEXT: vmovaps 256(%rdi), %ymm43578; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3579; AVX2-FP-NEXT: vmovaps 448(%rdi), %ymm53580; AVX2-FP-NEXT: vmovaps 384(%rdi), %ymm133581; AVX2-FP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3582; AVX2-FP-NEXT: vmovaps 320(%rdi), %xmm63583; AVX2-FP-NEXT: vinsertf128 $1, 448(%rdi), %ymm6, %ymm63584; AVX2-FP-NEXT: vmovaps 256(%rdi), %xmm73585; AVX2-FP-NEXT: vinsertf128 $1, 384(%rdi), %ymm7, %ymm73586; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]3587; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3588; AVX2-FP-NEXT: vmovaps 832(%rdi), %xmm83589; AVX2-FP-NEXT: vinsertf128 $1, 960(%rdi), %ymm8, %ymm83590; AVX2-FP-NEXT: vmovaps 768(%rdi), %xmm93591; AVX2-FP-NEXT: vinsertf128 $1, 896(%rdi), %ymm9, %ymm93592; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]3593; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3594; AVX2-FP-NEXT: vmovaps (%rdi), %xmm103595; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm113596; AVX2-FP-NEXT: vinsertf128 $1, 192(%rdi), %ymm11, %ymm113597; AVX2-FP-NEXT: vinsertf128 $1, 128(%rdi), %ymm10, %ymm103598; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]3599; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3600; AVX2-FP-NEXT: vmovaps 576(%rdi), %xmm123601; AVX2-FP-NEXT: vinsertf128 $1, 704(%rdi), %ymm12, %ymm123602; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]3603; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3604; AVX2-FP-NEXT: vmovaps 512(%rdi), %xmm63605; AVX2-FP-NEXT: vinsertf128 $1, 640(%rdi), %ymm6, %ymm63606; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]3607; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3608; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm6[0],ymm12[0],ymm6[2],ymm12[2]3609; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3610; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]3611; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3612; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm6[1],ymm12[1],ymm6[3],ymm12[3]3613; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3614; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm13[0],ymm5[0],ymm13[2],ymm5[2]3615; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]3616; AVX2-FP-NEXT: vmovaps %ymm3, %ymm43617; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm7[2,3],ymm6[2,3]3618; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3619; AVX2-FP-NEXT: vmovaps 960(%rdi), %ymm63620; AVX2-FP-NEXT: vmovaps 896(%rdi), %ymm73621; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]3622; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3623; AVX2-FP-NEXT: vmovaps %ymm2, %ymm33624; AVX2-FP-NEXT: vmovaps %ymm1, %ymm23625; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm8[2,3]3626; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3627; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm83628; AVX2-FP-NEXT: vmovaps (%rdi), %ymm93629; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm103630; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm113631; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]3632; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]3633; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm12[2,3]3634; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3635; AVX2-FP-NEXT: vmovaps 576(%rdi), %ymm123636; AVX2-FP-NEXT: vmovaps 512(%rdi), %ymm133637; AVX2-FP-NEXT: vmovaps 704(%rdi), %ymm143638; AVX2-FP-NEXT: vmovaps 640(%rdi), %ymm153639; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]3640; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm13[0],ymm12[0],ymm13[2],ymm12[2]3641; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3642; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3643; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3644; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm5[1],ymm0[3],ymm5[3]3645; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3646; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm4[1],ymm1[3],ymm4[3]3647; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3648; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3649; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]3650; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]3651; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3652; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3653; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]3654; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]3655; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3656; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3657; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]3658; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm13[1],ymm12[1],ymm13[3],ymm12[3]3659; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3660; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3661; AVX2-FP-NEXT: vmovaps 352(%rdi), %xmm03662; AVX2-FP-NEXT: vinsertf128 $1, 480(%rdi), %ymm0, %ymm03663; AVX2-FP-NEXT: vmovaps 288(%rdi), %xmm13664; AVX2-FP-NEXT: vinsertf128 $1, 416(%rdi), %ymm1, %ymm13665; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3666; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3667; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3668; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3669; AVX2-FP-NEXT: vmovaps 864(%rdi), %xmm03670; AVX2-FP-NEXT: vinsertf128 $1, 992(%rdi), %ymm0, %ymm03671; AVX2-FP-NEXT: vmovaps 800(%rdi), %xmm13672; AVX2-FP-NEXT: vinsertf128 $1, 928(%rdi), %ymm1, %ymm13673; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3674; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3675; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3676; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3677; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm03678; AVX2-FP-NEXT: vinsertf128 $1, 224(%rdi), %ymm0, %ymm03679; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm13680; AVX2-FP-NEXT: vinsertf128 $1, 160(%rdi), %ymm1, %ymm13681; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3682; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3683; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3684; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3685; AVX2-FP-NEXT: vmovaps 608(%rdi), %xmm03686; AVX2-FP-NEXT: vinsertf128 $1, 736(%rdi), %ymm0, %ymm03687; AVX2-FP-NEXT: vmovaps 544(%rdi), %xmm13688; AVX2-FP-NEXT: vinsertf128 $1, 672(%rdi), %ymm1, %ymm13689; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3690; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3691; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3692; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3693; AVX2-FP-NEXT: vmovaps 352(%rdi), %ymm03694; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3695; AVX2-FP-NEXT: vmovaps 288(%rdi), %ymm153696; AVX2-FP-NEXT: vmovaps 480(%rdi), %ymm123697; AVX2-FP-NEXT: vmovaps 416(%rdi), %ymm103698; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm10[0],ymm12[0],ymm10[2],ymm12[2]3699; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]3700; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm5[2,3],ymm4[2,3]3701; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3702; AVX2-FP-NEXT: vmovaps 864(%rdi), %ymm03703; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3704; AVX2-FP-NEXT: vmovaps 800(%rdi), %ymm143705; AVX2-FP-NEXT: vmovaps 992(%rdi), %ymm113706; AVX2-FP-NEXT: vmovaps 928(%rdi), %ymm73707; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm11[0],ymm7[2],ymm11[2]3708; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm14[0],ymm0[0],ymm14[2],ymm0[2]3709; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm8[2,3]3710; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3711; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm93712; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm63713; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm33714; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm23715; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]3716; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]3717; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm8[2,3]3718; AVX2-FP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill3719; AVX2-FP-NEXT: vmovaps 608(%rdi), %ymm53720; AVX2-FP-NEXT: vmovaps 544(%rdi), %ymm43721; AVX2-FP-NEXT: vmovaps 736(%rdi), %ymm13722; AVX2-FP-NEXT: vmovaps 672(%rdi), %ymm03723; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3724; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]3725; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm13[2,3],ymm8[2,3]3726; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]3727; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]3728; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm3[2,3],ymm2[2,3]3729; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm12[1],ymm10[3],ymm12[3]3730; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm3 # 32-byte Folded Reload3731; AVX2-FP-NEXT: # ymm3 = ymm15[1],mem[1],ymm15[3],mem[3]3732; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm3[2,3],ymm2[2,3]3733; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]3734; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]3735; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3736; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm7[1],ymm11[1],ymm7[3],ymm11[3]3737; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm3 # 32-byte Folded Reload3738; AVX2-FP-NEXT: # ymm3 = ymm14[1],mem[1],ymm14[3],mem[3]3739; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]3740; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3741; AVX2-FP-NEXT: vmovaps %ymm3, 64(%rsi)3742; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3743; AVX2-FP-NEXT: vmovaps %ymm3, (%rsi)3744; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3745; AVX2-FP-NEXT: vmovaps %ymm3, 96(%rsi)3746; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3747; AVX2-FP-NEXT: vmovaps %ymm3, 32(%rsi)3748; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3749; AVX2-FP-NEXT: vmovaps %ymm3, 64(%rdx)3750; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3751; AVX2-FP-NEXT: vmovaps %ymm3, (%rdx)3752; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3753; AVX2-FP-NEXT: vmovaps %ymm3, 96(%rdx)3754; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3755; AVX2-FP-NEXT: vmovaps %ymm3, 32(%rdx)3756; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3757; AVX2-FP-NEXT: vmovaps %ymm3, 64(%rcx)3758; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3759; AVX2-FP-NEXT: vmovaps %ymm3, (%rcx)3760; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3761; AVX2-FP-NEXT: vmovaps %ymm3, 96(%rcx)3762; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3763; AVX2-FP-NEXT: vmovaps %ymm3, 32(%rcx)3764; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3765; AVX2-FP-NEXT: vmovaps %ymm3, 64(%r8)3766; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3767; AVX2-FP-NEXT: vmovaps %ymm3, (%r8)3768; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3769; AVX2-FP-NEXT: vmovaps %ymm3, 96(%r8)3770; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3771; AVX2-FP-NEXT: vmovaps %ymm3, 32(%r8)3772; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3773; AVX2-FP-NEXT: vmovaps %ymm3, 64(%r9)3774; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3775; AVX2-FP-NEXT: vmovaps %ymm3, (%r9)3776; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3777; AVX2-FP-NEXT: vmovaps %ymm3, 96(%r9)3778; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3779; AVX2-FP-NEXT: vmovaps %ymm3, 32(%r9)3780; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax3781; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3782; AVX2-FP-NEXT: vmovaps %ymm3, 64(%rax)3783; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3784; AVX2-FP-NEXT: vmovaps %ymm3, (%rax)3785; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3786; AVX2-FP-NEXT: vmovaps %ymm3, 96(%rax)3787; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3788; AVX2-FP-NEXT: vmovaps %ymm3, 32(%rax)3789; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax3790; AVX2-FP-NEXT: vmovaps %ymm8, 64(%rax)3791; AVX2-FP-NEXT: vmovups (%rsp), %ymm3 # 32-byte Reload3792; AVX2-FP-NEXT: vmovaps %ymm3, (%rax)3793; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3794; AVX2-FP-NEXT: vmovaps %ymm3, 96(%rax)3795; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3796; AVX2-FP-NEXT: vmovaps %ymm3, 32(%rax)3797; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax3798; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rax)3799; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rax)3800; AVX2-FP-NEXT: vmovaps %ymm2, 32(%rax)3801; AVX2-FP-NEXT: vmovaps %ymm9, (%rax)3802; AVX2-FP-NEXT: addq $808, %rsp # imm = 0x3283803; AVX2-FP-NEXT: vzeroupper3804; AVX2-FP-NEXT: retq3805;3806; AVX2-FCP-LABEL: load_i64_stride8_vf16:3807; AVX2-FCP: # %bb.0:3808; AVX2-FCP-NEXT: subq $808, %rsp # imm = 0x3283809; AVX2-FCP-NEXT: vmovaps 832(%rdi), %ymm13810; AVX2-FCP-NEXT: vmovaps 768(%rdi), %ymm23811; AVX2-FCP-NEXT: vmovaps 320(%rdi), %ymm33812; AVX2-FCP-NEXT: vmovaps 256(%rdi), %ymm43813; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3814; AVX2-FCP-NEXT: vmovaps 448(%rdi), %ymm53815; AVX2-FCP-NEXT: vmovaps 384(%rdi), %ymm133816; AVX2-FCP-NEXT: vmovups %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3817; AVX2-FCP-NEXT: vmovaps 320(%rdi), %xmm63818; AVX2-FCP-NEXT: vinsertf128 $1, 448(%rdi), %ymm6, %ymm63819; AVX2-FCP-NEXT: vmovaps 256(%rdi), %xmm73820; AVX2-FCP-NEXT: vinsertf128 $1, 384(%rdi), %ymm7, %ymm73821; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]3822; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3823; AVX2-FCP-NEXT: vmovaps 832(%rdi), %xmm83824; AVX2-FCP-NEXT: vinsertf128 $1, 960(%rdi), %ymm8, %ymm83825; AVX2-FCP-NEXT: vmovaps 768(%rdi), %xmm93826; AVX2-FCP-NEXT: vinsertf128 $1, 896(%rdi), %ymm9, %ymm93827; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]3828; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3829; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm103830; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm113831; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rdi), %ymm11, %ymm113832; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rdi), %ymm10, %ymm103833; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]3834; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3835; AVX2-FCP-NEXT: vmovaps 576(%rdi), %xmm123836; AVX2-FCP-NEXT: vinsertf128 $1, 704(%rdi), %ymm12, %ymm123837; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]3838; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3839; AVX2-FCP-NEXT: vmovaps 512(%rdi), %xmm63840; AVX2-FCP-NEXT: vinsertf128 $1, 640(%rdi), %ymm6, %ymm63841; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]3842; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3843; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm6[0],ymm12[0],ymm6[2],ymm12[2]3844; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3845; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]3846; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3847; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm6[1],ymm12[1],ymm6[3],ymm12[3]3848; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3849; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm13[0],ymm5[0],ymm13[2],ymm5[2]3850; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm4[0],ymm3[0],ymm4[2],ymm3[2]3851; AVX2-FCP-NEXT: vmovaps %ymm3, %ymm43852; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm7[2,3],ymm6[2,3]3853; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3854; AVX2-FCP-NEXT: vmovaps 960(%rdi), %ymm63855; AVX2-FCP-NEXT: vmovaps 896(%rdi), %ymm73856; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]3857; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]3858; AVX2-FCP-NEXT: vmovaps %ymm2, %ymm33859; AVX2-FCP-NEXT: vmovaps %ymm1, %ymm23860; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm8[2,3]3861; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3862; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm83863; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm93864; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm103865; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm113866; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm12 = ymm11[0],ymm10[0],ymm11[2],ymm10[2]3867; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]3868; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm12[2,3]3869; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3870; AVX2-FCP-NEXT: vmovaps 576(%rdi), %ymm123871; AVX2-FCP-NEXT: vmovaps 512(%rdi), %ymm133872; AVX2-FCP-NEXT: vmovaps 704(%rdi), %ymm143873; AVX2-FCP-NEXT: vmovaps 640(%rdi), %ymm153874; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm14[0],ymm15[2],ymm14[2]3875; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm13[0],ymm12[0],ymm13[2],ymm12[2]3876; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3877; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3878; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload3879; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm5[1],ymm0[3],ymm5[3]3880; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload3881; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],ymm4[1],ymm1[3],ymm4[3]3882; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3883; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3884; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]3885; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]3886; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3887; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3888; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm10[1],ymm11[3],ymm10[3]3889; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]3890; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3891; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3892; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm15[1],ymm14[1],ymm15[3],ymm14[3]3893; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm13[1],ymm12[1],ymm13[3],ymm12[3]3894; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3895; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3896; AVX2-FCP-NEXT: vmovaps 352(%rdi), %xmm03897; AVX2-FCP-NEXT: vinsertf128 $1, 480(%rdi), %ymm0, %ymm03898; AVX2-FCP-NEXT: vmovaps 288(%rdi), %xmm13899; AVX2-FCP-NEXT: vinsertf128 $1, 416(%rdi), %ymm1, %ymm13900; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3901; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3902; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3903; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3904; AVX2-FCP-NEXT: vmovaps 864(%rdi), %xmm03905; AVX2-FCP-NEXT: vinsertf128 $1, 992(%rdi), %ymm0, %ymm03906; AVX2-FCP-NEXT: vmovaps 800(%rdi), %xmm13907; AVX2-FCP-NEXT: vinsertf128 $1, 928(%rdi), %ymm1, %ymm13908; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3909; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3910; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3911; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3912; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm03913; AVX2-FCP-NEXT: vinsertf128 $1, 224(%rdi), %ymm0, %ymm03914; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm13915; AVX2-FCP-NEXT: vinsertf128 $1, 160(%rdi), %ymm1, %ymm13916; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3917; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3918; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3919; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3920; AVX2-FCP-NEXT: vmovaps 608(%rdi), %xmm03921; AVX2-FCP-NEXT: vinsertf128 $1, 736(%rdi), %ymm0, %ymm03922; AVX2-FCP-NEXT: vmovaps 544(%rdi), %xmm13923; AVX2-FCP-NEXT: vinsertf128 $1, 672(%rdi), %ymm1, %ymm13924; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]3925; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3926; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]3927; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3928; AVX2-FCP-NEXT: vmovaps 352(%rdi), %ymm03929; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3930; AVX2-FCP-NEXT: vmovaps 288(%rdi), %ymm153931; AVX2-FCP-NEXT: vmovaps 480(%rdi), %ymm123932; AVX2-FCP-NEXT: vmovaps 416(%rdi), %ymm103933; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm10[0],ymm12[0],ymm10[2],ymm12[2]3934; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]3935; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm5[2,3],ymm4[2,3]3936; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3937; AVX2-FCP-NEXT: vmovaps 864(%rdi), %ymm03938; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3939; AVX2-FCP-NEXT: vmovaps 800(%rdi), %ymm143940; AVX2-FCP-NEXT: vmovaps 992(%rdi), %ymm113941; AVX2-FCP-NEXT: vmovaps 928(%rdi), %ymm73942; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm11[0],ymm7[2],ymm11[2]3943; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm14[0],ymm0[0],ymm14[2],ymm0[2]3944; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm8[2,3]3945; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3946; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm93947; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm63948; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm33949; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm23950; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]3951; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]3952; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm8[2,3]3953; AVX2-FCP-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill3954; AVX2-FCP-NEXT: vmovaps 608(%rdi), %ymm53955; AVX2-FCP-NEXT: vmovaps 544(%rdi), %ymm43956; AVX2-FCP-NEXT: vmovaps 736(%rdi), %ymm13957; AVX2-FCP-NEXT: vmovaps 672(%rdi), %ymm03958; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]3959; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]3960; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm8 = ymm13[2,3],ymm8[2,3]3961; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]3962; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]3963; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm3[2,3],ymm2[2,3]3964; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm10[1],ymm12[1],ymm10[3],ymm12[3]3965; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm3 # 32-byte Folded Reload3966; AVX2-FCP-NEXT: # ymm3 = ymm15[1],mem[1],ymm15[3],mem[3]3967; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm3[2,3],ymm2[2,3]3968; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]3969; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]3970; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]3971; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm7[1],ymm11[1],ymm7[3],ymm11[3]3972; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm3 # 32-byte Folded Reload3973; AVX2-FCP-NEXT: # ymm3 = ymm14[1],mem[1],ymm14[3],mem[3]3974; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm3[2,3],ymm1[2,3]3975; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3976; AVX2-FCP-NEXT: vmovaps %ymm3, 64(%rsi)3977; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3978; AVX2-FCP-NEXT: vmovaps %ymm3, (%rsi)3979; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3980; AVX2-FCP-NEXT: vmovaps %ymm3, 96(%rsi)3981; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3982; AVX2-FCP-NEXT: vmovaps %ymm3, 32(%rsi)3983; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3984; AVX2-FCP-NEXT: vmovaps %ymm3, 64(%rdx)3985; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3986; AVX2-FCP-NEXT: vmovaps %ymm3, (%rdx)3987; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3988; AVX2-FCP-NEXT: vmovaps %ymm3, 96(%rdx)3989; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3990; AVX2-FCP-NEXT: vmovaps %ymm3, 32(%rdx)3991; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3992; AVX2-FCP-NEXT: vmovaps %ymm3, 64(%rcx)3993; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3994; AVX2-FCP-NEXT: vmovaps %ymm3, (%rcx)3995; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3996; AVX2-FCP-NEXT: vmovaps %ymm3, 96(%rcx)3997; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload3998; AVX2-FCP-NEXT: vmovaps %ymm3, 32(%rcx)3999; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4000; AVX2-FCP-NEXT: vmovaps %ymm3, 64(%r8)4001; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4002; AVX2-FCP-NEXT: vmovaps %ymm3, (%r8)4003; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4004; AVX2-FCP-NEXT: vmovaps %ymm3, 96(%r8)4005; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4006; AVX2-FCP-NEXT: vmovaps %ymm3, 32(%r8)4007; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4008; AVX2-FCP-NEXT: vmovaps %ymm3, 64(%r9)4009; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4010; AVX2-FCP-NEXT: vmovaps %ymm3, (%r9)4011; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4012; AVX2-FCP-NEXT: vmovaps %ymm3, 96(%r9)4013; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4014; AVX2-FCP-NEXT: vmovaps %ymm3, 32(%r9)4015; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4016; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4017; AVX2-FCP-NEXT: vmovaps %ymm3, 64(%rax)4018; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4019; AVX2-FCP-NEXT: vmovaps %ymm3, (%rax)4020; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4021; AVX2-FCP-NEXT: vmovaps %ymm3, 96(%rax)4022; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4023; AVX2-FCP-NEXT: vmovaps %ymm3, 32(%rax)4024; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4025; AVX2-FCP-NEXT: vmovaps %ymm8, 64(%rax)4026; AVX2-FCP-NEXT: vmovups (%rsp), %ymm3 # 32-byte Reload4027; AVX2-FCP-NEXT: vmovaps %ymm3, (%rax)4028; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4029; AVX2-FCP-NEXT: vmovaps %ymm3, 96(%rax)4030; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload4031; AVX2-FCP-NEXT: vmovaps %ymm3, 32(%rax)4032; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4033; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rax)4034; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%rax)4035; AVX2-FCP-NEXT: vmovaps %ymm2, 32(%rax)4036; AVX2-FCP-NEXT: vmovaps %ymm9, (%rax)4037; AVX2-FCP-NEXT: addq $808, %rsp # imm = 0x3284038; AVX2-FCP-NEXT: vzeroupper4039; AVX2-FCP-NEXT: retq4040;4041; AVX512-LABEL: load_i64_stride8_vf16:4042; AVX512: # %bb.0:4043; AVX512-NEXT: subq $264, %rsp # imm = 0x1084044; AVX512-NEXT: vmovaps 576(%rdi), %zmm04045; AVX512-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4046; AVX512-NEXT: vmovaps 512(%rdi), %zmm04047; AVX512-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4048; AVX512-NEXT: vmovdqa64 704(%rdi), %zmm64049; AVX512-NEXT: vmovdqa64 640(%rdi), %zmm44050; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4051; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm74052; AVX512-NEXT: vmovaps (%rdi), %zmm04053; AVX512-NEXT: vmovups %zmm0, (%rsp) # 64-byte Spill4054; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm314055; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm84056; AVX512-NEXT: vmovdqa64 832(%rdi), %zmm104057; AVX512-NEXT: vmovdqa64 768(%rdi), %zmm144058; AVX512-NEXT: vmovdqa64 960(%rdi), %zmm304059; AVX512-NEXT: vmovdqa64 896(%rdi), %zmm284060; AVX512-NEXT: vmovdqa64 320(%rdi), %zmm164061; AVX512-NEXT: vmovdqa64 256(%rdi), %zmm54062; AVX512-NEXT: vmovdqa64 448(%rdi), %zmm34063; AVX512-NEXT: vmovdqa64 384(%rdi), %zmm154064; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [0,8,0,8,0,8,0,8]4065; AVX512-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4066; AVX512-NEXT: vmovdqa64 %zmm15, %zmm174067; AVX512-NEXT: vmovdqa64 %zmm15, %zmm204068; AVX512-NEXT: vmovdqa64 %zmm15, %zmm94069; AVX512-NEXT: vmovdqa64 %zmm15, %zmm194070; AVX512-NEXT: vpermt2q %zmm3, %zmm29, %zmm194071; AVX512-NEXT: vmovdqa64 %zmm5, %zmm184072; AVX512-NEXT: vpermt2q %zmm16, %zmm29, %zmm184073; AVX512-NEXT: movb $-64, %al4074; AVX512-NEXT: kmovw %eax, %k14075; AVX512-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}4076; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [2,10,2,10,2,10,2,10]4077; AVX512-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4078; AVX512-NEXT: vpermt2q %zmm3, %zmm19, %zmm174079; AVX512-NEXT: vmovdqa64 %zmm5, %zmm214080; AVX512-NEXT: vpermt2q %zmm16, %zmm19, %zmm214081; AVX512-NEXT: vmovdqa64 %zmm17, %zmm21 {%k1}4082; AVX512-NEXT: vmovdqa64 192(%rdi), %ymm224083; AVX512-NEXT: vmovdqa64 128(%rdi), %ymm234084; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm23[0],ymm22[0],ymm23[2],ymm22[2]4085; AVX512-NEXT: vmovdqa64 64(%rdi), %ymm244086; AVX512-NEXT: vmovdqa64 (%rdi), %ymm254087; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm25[0],ymm24[0],ymm25[2],ymm24[2]4088; AVX512-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]4089; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm21, %zmm04090; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4091; AVX512-NEXT: vmovdqa64 %zmm28, %zmm114092; AVX512-NEXT: vpermt2q %zmm30, %zmm19, %zmm114093; AVX512-NEXT: vpermi2q %zmm10, %zmm14, %zmm194094; AVX512-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}4095; AVX512-NEXT: vmovdqa 704(%rdi), %ymm114096; AVX512-NEXT: vmovdqa 640(%rdi), %ymm124097; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]4098; AVX512-NEXT: vmovdqa64 576(%rdi), %ymm264099; AVX512-NEXT: vmovdqa64 512(%rdi), %ymm274100; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm27[0],ymm26[0],ymm27[2],ymm26[2]4101; AVX512-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm13[2,3]4102; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm19, %zmm194103; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]4104; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4105; AVX512-NEXT: vpermt2q %zmm3, %zmm0, %zmm204106; AVX512-NEXT: vmovdqa64 %zmm5, %zmm134107; AVX512-NEXT: vpermt2q %zmm16, %zmm0, %zmm134108; AVX512-NEXT: vmovdqa64 %zmm20, %zmm13 {%k1}4109; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [1,9,1,9,1,9,1,9]4110; AVX512-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4111; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm23[1],ymm22[1],ymm23[3],ymm22[3]4112; AVX512-NEXT: vmovdqa64 %zmm5, %zmm234113; AVX512-NEXT: vpermt2q %zmm16, %zmm21, %zmm234114; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm25[1],ymm24[1],ymm25[3],ymm24[3]4115; AVX512-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]4116; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm13, %zmm204117; AVX512-NEXT: vmovdqa64 %zmm28, %zmm14118; AVX512-NEXT: vpermt2q %zmm30, %zmm0, %zmm14119; AVX512-NEXT: vpermi2q %zmm10, %zmm14, %zmm04120; AVX512-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}4121; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]4122; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm27[1],ymm26[1],ymm27[3],ymm26[3]4123; AVX512-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]4124; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm224125; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]4126; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4127; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4128; AVX512-NEXT: vmovdqa64 %zmm8, %zmm14129; AVX512-NEXT: vpermt2q %zmm31, %zmm0, %zmm14130; AVX512-NEXT: vmovdqu64 (%rsp), %zmm13 # 64-byte Reload4131; AVX512-NEXT: vmovdqa64 %zmm13, %zmm24132; AVX512-NEXT: vmovdqa64 %zmm7, %zmm114133; AVX512-NEXT: vpermt2q %zmm7, %zmm0, %zmm24134; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4135; AVX512-NEXT: vpermt2q %zmm3, %zmm0, %zmm94136; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm5[0],zmm16[0],zmm5[2],zmm16[2],zmm5[4],zmm16[4],zmm5[6],zmm16[6]4137; AVX512-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}4138; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm244139; AVX512-NEXT: vmovdqa64 %zmm4, %zmm14140; AVX512-NEXT: vpermt2q %zmm6, %zmm0, %zmm14141; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload4142; AVX512-NEXT: vmovdqa64 %zmm4, %zmm24143; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload4144; AVX512-NEXT: vpermt2q %zmm7, %zmm0, %zmm24145; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4146; AVX512-NEXT: vpermi2q %zmm30, %zmm28, %zmm04147; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm14[0],zmm10[0],zmm14[2],zmm10[2],zmm14[4],zmm10[4],zmm14[6],zmm10[6]4148; AVX512-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}4149; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm254150; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [5,13,5,13,5,13,5,13]4151; AVX512-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4152; AVX512-NEXT: vmovdqa64 %zmm8, %zmm04153; AVX512-NEXT: vpermt2q %zmm31, %zmm27, %zmm04154; AVX512-NEXT: vmovdqa64 %zmm13, %zmm14155; AVX512-NEXT: vpermt2q %zmm11, %zmm27, %zmm14156; AVX512-NEXT: vmovdqa64 %zmm11, %zmm84157; AVX512-NEXT: vpblendd {{.*#+}} ymm9 = ymm1[0,1,2,3],ymm0[4,5,6,7]4158; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm0 = zmm5[1],zmm16[1],zmm5[3],zmm16[3],zmm5[5],zmm16[5],zmm5[7],zmm16[7]4159; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [6,14,6,14,6,14,6,14]4160; AVX512-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4161; AVX512-NEXT: vmovdqa64 %zmm5, %zmm14162; AVX512-NEXT: vpermt2q %zmm16, %zmm26, %zmm14163; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [7,15,7,15,7,15,7,15]4164; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4165; AVX512-NEXT: vpermt2q %zmm16, %zmm2, %zmm54166; AVX512-NEXT: vmovdqa64 %zmm15, %zmm124167; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k1} = zmm15[0],zmm3[0],zmm15[2],zmm3[2],zmm15[4],zmm3[4],zmm15[6],zmm3[6]4168; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm5 {%k1} = zmm15[1],zmm3[1],zmm15[3],zmm3[3],zmm15[5],zmm3[5],zmm15[7],zmm3[7]4169; AVX512-NEXT: vpermt2q %zmm3, %zmm21, %zmm124170; AVX512-NEXT: vpermt2q %zmm3, %zmm27, %zmm154171; AVX512-NEXT: vmovdqa64 %zmm15, %zmm0 {%k1}4172; AVX512-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm174173; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload4174; AVX512-NEXT: vmovdqa64 %zmm11, %zmm04175; AVX512-NEXT: vpermt2q %zmm6, %zmm27, %zmm04176; AVX512-NEXT: vmovdqa64 %zmm4, %zmm154177; AVX512-NEXT: vmovdqa64 %zmm4, %zmm94178; AVX512-NEXT: vpermt2q %zmm7, %zmm27, %zmm94179; AVX512-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]4180; AVX512-NEXT: vpermi2q %zmm30, %zmm28, %zmm274181; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm14[1],zmm10[1],zmm14[3],zmm10[3],zmm14[5],zmm10[5],zmm14[7],zmm10[7]4182; AVX512-NEXT: vmovdqa64 %zmm27, %zmm9 {%k1}4183; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm9, %zmm274184; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload4185; AVX512-NEXT: vmovdqa64 %zmm4, %zmm04186; AVX512-NEXT: vpermt2q %zmm31, %zmm26, %zmm04187; AVX512-NEXT: vmovdqa64 %zmm13, %zmm94188; AVX512-NEXT: vpermt2q %zmm8, %zmm26, %zmm94189; AVX512-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]4190; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm164191; AVX512-NEXT: vmovdqa (%rdi), %xmm04192; AVX512-NEXT: vpermt2q %zmm31, %zmm2, %zmm44193; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4194; AVX512-NEXT: vmovdqa64 %zmm28, %zmm14195; AVX512-NEXT: vpermt2q %zmm30, %zmm29, %zmm14196; AVX512-NEXT: vpermi2q %zmm10, %zmm14, %zmm294197; AVX512-NEXT: vpermt2q %zmm8, %zmm2, %zmm134198; AVX512-NEXT: vmovdqa64 %zmm13, %zmm44199; AVX512-NEXT: vmovdqa64 %zmm11, %zmm94200; AVX512-NEXT: vpermt2q %zmm6, %zmm26, %zmm94201; AVX512-NEXT: vpermt2q %zmm6, %zmm2, %zmm114202; AVX512-NEXT: vmovdqa64 %zmm11, %zmm84203; AVX512-NEXT: vmovdqa64 %zmm15, %zmm134204; AVX512-NEXT: vmovdqa64 %zmm15, %zmm114205; AVX512-NEXT: vpermt2q %zmm7, %zmm26, %zmm114206; AVX512-NEXT: vpermt2q %zmm7, %zmm2, %zmm134207; AVX512-NEXT: vmovdqa64 %zmm13, %zmm154208; AVX512-NEXT: vmovdqa64 %zmm28, %zmm134209; AVX512-NEXT: vpermt2q %zmm30, %zmm21, %zmm134210; AVX512-NEXT: vpermi2q %zmm10, %zmm14, %zmm214211; AVX512-NEXT: vpermi2q %zmm10, %zmm14, %zmm264212; AVX512-NEXT: vpermt2q %zmm10, %zmm2, %zmm144213; AVX512-NEXT: vmovdqa 64(%rdi), %xmm24214; AVX512-NEXT: vinserti128 $1, 192(%rdi), %ymm2, %ymm24215; AVX512-NEXT: vinserti128 $1, 128(%rdi), %ymm0, %ymm04216; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]4217; AVX512-NEXT: vinserti64x4 $0, %ymm10, %zmm18, %zmm104218; AVX512-NEXT: vmovdqa64 %zmm1, %zmm29 {%k1}4219; AVX512-NEXT: vmovdqa 576(%rdi), %xmm14220; AVX512-NEXT: vinserti128 $1, 704(%rdi), %ymm1, %ymm14221; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm26 {%k1} = zmm28[0],zmm30[0],zmm28[2],zmm30[2],zmm28[4],zmm30[4],zmm28[6],zmm30[6]4222; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm14 {%k1} = zmm28[1],zmm30[1],zmm28[3],zmm30[3],zmm28[5],zmm30[5],zmm28[7],zmm30[7]4223; AVX512-NEXT: vmovdqa 512(%rdi), %xmm64224; AVX512-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm64225; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]4226; AVX512-NEXT: vinserti64x4 $0, %ymm7, %zmm29, %zmm74227; AVX512-NEXT: vmovdqa64 %zmm12, %zmm23 {%k1}4228; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]4229; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm23, %zmm04230; AVX512-NEXT: vmovdqa64 %zmm13, %zmm21 {%k1}4231; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm6[1],ymm1[1],ymm6[3],ymm1[3]4232; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm14233; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm9[4,5,6,7]4234; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm26, %zmm24235; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload4236; AVX512-NEXT: # ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]4237; AVX512-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm44238; AVX512-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3],ymm8[4,5,6,7]4239; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm14, %zmm34240; AVX512-NEXT: vmovdqa64 %zmm7, 64(%rsi)4241; AVX512-NEXT: vmovdqa64 %zmm10, (%rsi)4242; AVX512-NEXT: vmovdqa64 %zmm1, 64(%rdx)4243; AVX512-NEXT: vmovdqa64 %zmm0, (%rdx)4244; AVX512-NEXT: vmovdqa64 %zmm19, 64(%rcx)4245; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload4246; AVX512-NEXT: vmovaps %zmm0, (%rcx)4247; AVX512-NEXT: vmovdqa64 %zmm22, 64(%r8)4248; AVX512-NEXT: vmovdqa64 %zmm20, (%r8)4249; AVX512-NEXT: vmovdqa64 %zmm25, 64(%r9)4250; AVX512-NEXT: vmovdqa64 %zmm24, (%r9)4251; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax4252; AVX512-NEXT: vmovdqa64 %zmm27, 64(%rax)4253; AVX512-NEXT: vmovdqa64 %zmm17, (%rax)4254; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax4255; AVX512-NEXT: vmovdqa64 %zmm2, 64(%rax)4256; AVX512-NEXT: vmovdqa64 %zmm16, (%rax)4257; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax4258; AVX512-NEXT: vmovdqa64 %zmm3, 64(%rax)4259; AVX512-NEXT: vmovdqa64 %zmm4, (%rax)4260; AVX512-NEXT: addq $264, %rsp # imm = 0x1084261; AVX512-NEXT: vzeroupper4262; AVX512-NEXT: retq4263;4264; AVX512-FCP-LABEL: load_i64_stride8_vf16:4265; AVX512-FCP: # %bb.0:4266; AVX512-FCP-NEXT: subq $264, %rsp # imm = 0x1084267; AVX512-FCP-NEXT: vmovaps 576(%rdi), %zmm04268; AVX512-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4269; AVX512-FCP-NEXT: vmovaps 512(%rdi), %zmm04270; AVX512-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4271; AVX512-FCP-NEXT: vmovdqa64 704(%rdi), %zmm64272; AVX512-FCP-NEXT: vmovdqa64 640(%rdi), %zmm44273; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4274; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm74275; AVX512-FCP-NEXT: vmovaps (%rdi), %zmm04276; AVX512-FCP-NEXT: vmovups %zmm0, (%rsp) # 64-byte Spill4277; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm314278; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm84279; AVX512-FCP-NEXT: vmovdqa64 832(%rdi), %zmm104280; AVX512-FCP-NEXT: vmovdqa64 768(%rdi), %zmm144281; AVX512-FCP-NEXT: vmovdqa64 960(%rdi), %zmm304282; AVX512-FCP-NEXT: vmovdqa64 896(%rdi), %zmm284283; AVX512-FCP-NEXT: vmovdqa64 320(%rdi), %zmm164284; AVX512-FCP-NEXT: vmovdqa64 256(%rdi), %zmm54285; AVX512-FCP-NEXT: vmovdqa64 448(%rdi), %zmm34286; AVX512-FCP-NEXT: vmovdqa64 384(%rdi), %zmm154287; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [0,8,0,8,0,8,0,8]4288; AVX512-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4289; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm174290; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm204291; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm94292; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm194293; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm29, %zmm194294; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm184295; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm29, %zmm184296; AVX512-FCP-NEXT: movb $-64, %al4297; AVX512-FCP-NEXT: kmovw %eax, %k14298; AVX512-FCP-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}4299; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [2,10,2,10,2,10,2,10]4300; AVX512-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4301; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm19, %zmm174302; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm214303; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm19, %zmm214304; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm21 {%k1}4305; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %ymm224306; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %ymm234307; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm23[0],ymm22[0],ymm23[2],ymm22[2]4308; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %ymm244309; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %ymm254310; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm25[0],ymm24[0],ymm25[2],ymm24[2]4311; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]4312; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm21, %zmm04313; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4314; AVX512-FCP-NEXT: vmovdqa64 %zmm28, %zmm114315; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm19, %zmm114316; AVX512-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm194317; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}4318; AVX512-FCP-NEXT: vmovdqa 704(%rdi), %ymm114319; AVX512-FCP-NEXT: vmovdqa 640(%rdi), %ymm124320; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]4321; AVX512-FCP-NEXT: vmovdqa64 576(%rdi), %ymm264322; AVX512-FCP-NEXT: vmovdqa64 512(%rdi), %ymm274323; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm27[0],ymm26[0],ymm27[2],ymm26[2]4324; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm13[2,3]4325; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm19, %zmm194326; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]4327; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4328; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm204329; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm134330; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm134331; AVX512-FCP-NEXT: vmovdqa64 %zmm20, %zmm13 {%k1}4332; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [1,9,1,9,1,9,1,9]4333; AVX512-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4334; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm23[1],ymm22[1],ymm23[3],ymm22[3]4335; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm234336; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm21, %zmm234337; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm25[1],ymm24[1],ymm25[3],ymm24[3]4338; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]4339; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm13, %zmm204340; AVX512-FCP-NEXT: vmovdqa64 %zmm28, %zmm14341; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm0, %zmm14342; AVX512-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm04343; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}4344; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]4345; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm27[1],ymm26[1],ymm27[3],ymm26[3]4346; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]4347; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm224348; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]4349; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4350; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4351; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm14352; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm14353; AVX512-FCP-NEXT: vmovdqu64 (%rsp), %zmm13 # 64-byte Reload4354; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm24355; AVX512-FCP-NEXT: vmovdqa64 %zmm7, %zmm114356; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm24357; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4358; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm94359; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm5[0],zmm16[0],zmm5[2],zmm16[2],zmm5[4],zmm16[4],zmm5[6],zmm16[6]4360; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}4361; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm244362; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm14363; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm14364; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload4365; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm24366; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload4367; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm24368; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4369; AVX512-FCP-NEXT: vpermi2q %zmm30, %zmm28, %zmm04370; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm14[0],zmm10[0],zmm14[2],zmm10[2],zmm14[4],zmm10[4],zmm14[6],zmm10[6]4371; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}4372; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm254373; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [5,13,5,13,5,13,5,13]4374; AVX512-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4375; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm04376; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm27, %zmm04377; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm14378; AVX512-FCP-NEXT: vpermt2q %zmm11, %zmm27, %zmm14379; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm84380; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm1[0,1,2,3],ymm0[4,5,6,7]4381; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 = zmm5[1],zmm16[1],zmm5[3],zmm16[3],zmm5[5],zmm16[5],zmm5[7],zmm16[7]4382; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [6,14,6,14,6,14,6,14]4383; AVX512-FCP-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4384; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm14385; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm26, %zmm14386; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [7,15,7,15,7,15,7,15]4387; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4388; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm2, %zmm54389; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm124390; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k1} = zmm15[0],zmm3[0],zmm15[2],zmm3[2],zmm15[4],zmm3[4],zmm15[6],zmm3[6]4391; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm5 {%k1} = zmm15[1],zmm3[1],zmm15[3],zmm3[3],zmm15[5],zmm3[5],zmm15[7],zmm3[7]4392; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm124393; AVX512-FCP-NEXT: vpermt2q %zmm3, %zmm27, %zmm154394; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm0 {%k1}4395; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm174396; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload4397; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm04398; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm27, %zmm04399; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm154400; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm94401; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm27, %zmm94402; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]4403; AVX512-FCP-NEXT: vpermi2q %zmm30, %zmm28, %zmm274404; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm14[1],zmm10[1],zmm14[3],zmm10[3],zmm14[5],zmm10[5],zmm14[7],zmm10[7]4405; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm9 {%k1}4406; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm9, %zmm274407; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload4408; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm04409; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm26, %zmm04410; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm94411; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm26, %zmm94412; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]4413; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm164414; AVX512-FCP-NEXT: vmovdqa (%rdi), %xmm04415; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm2, %zmm44416; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4417; AVX512-FCP-NEXT: vmovdqa64 %zmm28, %zmm14418; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm29, %zmm14419; AVX512-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm294420; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm2, %zmm134421; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm44422; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm94423; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm26, %zmm94424; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm2, %zmm114425; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm84426; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm134427; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm114428; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm26, %zmm114429; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm2, %zmm134430; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm154431; AVX512-FCP-NEXT: vmovdqa64 %zmm28, %zmm134432; AVX512-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm134433; AVX512-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm214434; AVX512-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm264435; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm2, %zmm144436; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %xmm24437; AVX512-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm2, %ymm24438; AVX512-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm0, %ymm04439; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]4440; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm18, %zmm104441; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm29 {%k1}4442; AVX512-FCP-NEXT: vmovdqa 576(%rdi), %xmm14443; AVX512-FCP-NEXT: vinserti128 $1, 704(%rdi), %ymm1, %ymm14444; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm26 {%k1} = zmm28[0],zmm30[0],zmm28[2],zmm30[2],zmm28[4],zmm30[4],zmm28[6],zmm30[6]4445; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 {%k1} = zmm28[1],zmm30[1],zmm28[3],zmm30[3],zmm28[5],zmm30[5],zmm28[7],zmm30[7]4446; AVX512-FCP-NEXT: vmovdqa 512(%rdi), %xmm64447; AVX512-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm64448; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]4449; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm29, %zmm74450; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm23 {%k1}4451; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]4452; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm23, %zmm04453; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm21 {%k1}4454; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm6[1],ymm1[1],ymm6[3],ymm1[3]4455; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm14456; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm9[4,5,6,7]4457; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm26, %zmm24458; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload4459; AVX512-FCP-NEXT: # ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]4460; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm44461; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3],ymm8[4,5,6,7]4462; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm14, %zmm34463; AVX512-FCP-NEXT: vmovdqa64 %zmm7, 64(%rsi)4464; AVX512-FCP-NEXT: vmovdqa64 %zmm10, (%rsi)4465; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 64(%rdx)4466; AVX512-FCP-NEXT: vmovdqa64 %zmm0, (%rdx)4467; AVX512-FCP-NEXT: vmovdqa64 %zmm19, 64(%rcx)4468; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload4469; AVX512-FCP-NEXT: vmovaps %zmm0, (%rcx)4470; AVX512-FCP-NEXT: vmovdqa64 %zmm22, 64(%r8)4471; AVX512-FCP-NEXT: vmovdqa64 %zmm20, (%r8)4472; AVX512-FCP-NEXT: vmovdqa64 %zmm25, 64(%r9)4473; AVX512-FCP-NEXT: vmovdqa64 %zmm24, (%r9)4474; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4475; AVX512-FCP-NEXT: vmovdqa64 %zmm27, 64(%rax)4476; AVX512-FCP-NEXT: vmovdqa64 %zmm17, (%rax)4477; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4478; AVX512-FCP-NEXT: vmovdqa64 %zmm2, 64(%rax)4479; AVX512-FCP-NEXT: vmovdqa64 %zmm16, (%rax)4480; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4481; AVX512-FCP-NEXT: vmovdqa64 %zmm3, 64(%rax)4482; AVX512-FCP-NEXT: vmovdqa64 %zmm4, (%rax)4483; AVX512-FCP-NEXT: addq $264, %rsp # imm = 0x1084484; AVX512-FCP-NEXT: vzeroupper4485; AVX512-FCP-NEXT: retq4486;4487; AVX512DQ-LABEL: load_i64_stride8_vf16:4488; AVX512DQ: # %bb.0:4489; AVX512DQ-NEXT: subq $264, %rsp # imm = 0x1084490; AVX512DQ-NEXT: vmovaps 576(%rdi), %zmm04491; AVX512DQ-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4492; AVX512DQ-NEXT: vmovaps 512(%rdi), %zmm04493; AVX512DQ-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4494; AVX512DQ-NEXT: vmovdqa64 704(%rdi), %zmm64495; AVX512DQ-NEXT: vmovdqa64 640(%rdi), %zmm44496; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4497; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm74498; AVX512DQ-NEXT: vmovaps (%rdi), %zmm04499; AVX512DQ-NEXT: vmovups %zmm0, (%rsp) # 64-byte Spill4500; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm314501; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm84502; AVX512DQ-NEXT: vmovdqa64 832(%rdi), %zmm104503; AVX512DQ-NEXT: vmovdqa64 768(%rdi), %zmm144504; AVX512DQ-NEXT: vmovdqa64 960(%rdi), %zmm304505; AVX512DQ-NEXT: vmovdqa64 896(%rdi), %zmm284506; AVX512DQ-NEXT: vmovdqa64 320(%rdi), %zmm164507; AVX512DQ-NEXT: vmovdqa64 256(%rdi), %zmm54508; AVX512DQ-NEXT: vmovdqa64 448(%rdi), %zmm34509; AVX512DQ-NEXT: vmovdqa64 384(%rdi), %zmm154510; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [0,8,0,8,0,8,0,8]4511; AVX512DQ-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4512; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm174513; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm204514; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm94515; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm194516; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm29, %zmm194517; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm184518; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm29, %zmm184519; AVX512DQ-NEXT: movb $-64, %al4520; AVX512DQ-NEXT: kmovw %eax, %k14521; AVX512DQ-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}4522; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [2,10,2,10,2,10,2,10]4523; AVX512DQ-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4524; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm19, %zmm174525; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm214526; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm19, %zmm214527; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm21 {%k1}4528; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %ymm224529; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %ymm234530; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm23[0],ymm22[0],ymm23[2],ymm22[2]4531; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %ymm244532; AVX512DQ-NEXT: vmovdqa64 (%rdi), %ymm254533; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm25[0],ymm24[0],ymm25[2],ymm24[2]4534; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]4535; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm21, %zmm04536; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4537; AVX512DQ-NEXT: vmovdqa64 %zmm28, %zmm114538; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm19, %zmm114539; AVX512DQ-NEXT: vpermi2q %zmm10, %zmm14, %zmm194540; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}4541; AVX512DQ-NEXT: vmovdqa 704(%rdi), %ymm114542; AVX512DQ-NEXT: vmovdqa 640(%rdi), %ymm124543; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]4544; AVX512DQ-NEXT: vmovdqa64 576(%rdi), %ymm264545; AVX512DQ-NEXT: vmovdqa64 512(%rdi), %ymm274546; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm27[0],ymm26[0],ymm27[2],ymm26[2]4547; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm13[2,3]4548; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm19, %zmm194549; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]4550; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4551; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm0, %zmm204552; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm134553; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm0, %zmm134554; AVX512DQ-NEXT: vmovdqa64 %zmm20, %zmm13 {%k1}4555; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [1,9,1,9,1,9,1,9]4556; AVX512DQ-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4557; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm23[1],ymm22[1],ymm23[3],ymm22[3]4558; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm234559; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm21, %zmm234560; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm25[1],ymm24[1],ymm25[3],ymm24[3]4561; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]4562; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm13, %zmm204563; AVX512DQ-NEXT: vmovdqa64 %zmm28, %zmm14564; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm0, %zmm14565; AVX512DQ-NEXT: vpermi2q %zmm10, %zmm14, %zmm04566; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}4567; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]4568; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm27[1],ymm26[1],ymm27[3],ymm26[3]4569; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]4570; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm224571; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]4572; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4573; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4574; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm14575; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm0, %zmm14576; AVX512DQ-NEXT: vmovdqu64 (%rsp), %zmm13 # 64-byte Reload4577; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm24578; AVX512DQ-NEXT: vmovdqa64 %zmm7, %zmm114579; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm0, %zmm24580; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4581; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm0, %zmm94582; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm5[0],zmm16[0],zmm5[2],zmm16[2],zmm5[4],zmm16[4],zmm5[6],zmm16[6]4583; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}4584; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm244585; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm14586; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm0, %zmm14587; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload4588; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm24589; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload4590; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm0, %zmm24591; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4592; AVX512DQ-NEXT: vpermi2q %zmm30, %zmm28, %zmm04593; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm14[0],zmm10[0],zmm14[2],zmm10[2],zmm14[4],zmm10[4],zmm14[6],zmm10[6]4594; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}4595; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm254596; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [5,13,5,13,5,13,5,13]4597; AVX512DQ-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4598; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm04599; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm27, %zmm04600; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm14601; AVX512DQ-NEXT: vpermt2q %zmm11, %zmm27, %zmm14602; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm84603; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm9 = ymm1[0,1,2,3],ymm0[4,5,6,7]4604; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm0 = zmm5[1],zmm16[1],zmm5[3],zmm16[3],zmm5[5],zmm16[5],zmm5[7],zmm16[7]4605; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [6,14,6,14,6,14,6,14]4606; AVX512DQ-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4607; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm14608; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm26, %zmm14609; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [7,15,7,15,7,15,7,15]4610; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4611; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm2, %zmm54612; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm124613; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k1} = zmm15[0],zmm3[0],zmm15[2],zmm3[2],zmm15[4],zmm3[4],zmm15[6],zmm3[6]4614; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm5 {%k1} = zmm15[1],zmm3[1],zmm15[3],zmm3[3],zmm15[5],zmm3[5],zmm15[7],zmm3[7]4615; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm21, %zmm124616; AVX512DQ-NEXT: vpermt2q %zmm3, %zmm27, %zmm154617; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm0 {%k1}4618; AVX512DQ-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm174619; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload4620; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm04621; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm27, %zmm04622; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm154623; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm94624; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm27, %zmm94625; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]4626; AVX512DQ-NEXT: vpermi2q %zmm30, %zmm28, %zmm274627; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm14[1],zmm10[1],zmm14[3],zmm10[3],zmm14[5],zmm10[5],zmm14[7],zmm10[7]4628; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm9 {%k1}4629; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm9, %zmm274630; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload4631; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm04632; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm26, %zmm04633; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm94634; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm26, %zmm94635; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]4636; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm164637; AVX512DQ-NEXT: vmovdqa (%rdi), %xmm04638; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm2, %zmm44639; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4640; AVX512DQ-NEXT: vmovdqa64 %zmm28, %zmm14641; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm29, %zmm14642; AVX512DQ-NEXT: vpermi2q %zmm10, %zmm14, %zmm294643; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm2, %zmm134644; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm44645; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm94646; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm26, %zmm94647; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm2, %zmm114648; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm84649; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm134650; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm114651; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm26, %zmm114652; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm2, %zmm134653; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm154654; AVX512DQ-NEXT: vmovdqa64 %zmm28, %zmm134655; AVX512DQ-NEXT: vpermt2q %zmm30, %zmm21, %zmm134656; AVX512DQ-NEXT: vpermi2q %zmm10, %zmm14, %zmm214657; AVX512DQ-NEXT: vpermi2q %zmm10, %zmm14, %zmm264658; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm2, %zmm144659; AVX512DQ-NEXT: vmovdqa 64(%rdi), %xmm24660; AVX512DQ-NEXT: vinserti128 $1, 192(%rdi), %ymm2, %ymm24661; AVX512DQ-NEXT: vinserti128 $1, 128(%rdi), %ymm0, %ymm04662; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]4663; AVX512DQ-NEXT: vinserti64x4 $0, %ymm10, %zmm18, %zmm104664; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm29 {%k1}4665; AVX512DQ-NEXT: vmovdqa 576(%rdi), %xmm14666; AVX512DQ-NEXT: vinserti128 $1, 704(%rdi), %ymm1, %ymm14667; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm26 {%k1} = zmm28[0],zmm30[0],zmm28[2],zmm30[2],zmm28[4],zmm30[4],zmm28[6],zmm30[6]4668; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm14 {%k1} = zmm28[1],zmm30[1],zmm28[3],zmm30[3],zmm28[5],zmm30[5],zmm28[7],zmm30[7]4669; AVX512DQ-NEXT: vmovdqa 512(%rdi), %xmm64670; AVX512DQ-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm64671; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]4672; AVX512DQ-NEXT: vinserti64x4 $0, %ymm7, %zmm29, %zmm74673; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm23 {%k1}4674; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]4675; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm23, %zmm04676; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm21 {%k1}4677; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm6[1],ymm1[1],ymm6[3],ymm1[3]4678; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm14679; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm9[4,5,6,7]4680; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm26, %zmm24681; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload4682; AVX512DQ-NEXT: # ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]4683; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm44684; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3],ymm8[4,5,6,7]4685; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm14, %zmm34686; AVX512DQ-NEXT: vmovdqa64 %zmm7, 64(%rsi)4687; AVX512DQ-NEXT: vmovdqa64 %zmm10, (%rsi)4688; AVX512DQ-NEXT: vmovdqa64 %zmm1, 64(%rdx)4689; AVX512DQ-NEXT: vmovdqa64 %zmm0, (%rdx)4690; AVX512DQ-NEXT: vmovdqa64 %zmm19, 64(%rcx)4691; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload4692; AVX512DQ-NEXT: vmovaps %zmm0, (%rcx)4693; AVX512DQ-NEXT: vmovdqa64 %zmm22, 64(%r8)4694; AVX512DQ-NEXT: vmovdqa64 %zmm20, (%r8)4695; AVX512DQ-NEXT: vmovdqa64 %zmm25, 64(%r9)4696; AVX512DQ-NEXT: vmovdqa64 %zmm24, (%r9)4697; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax4698; AVX512DQ-NEXT: vmovdqa64 %zmm27, 64(%rax)4699; AVX512DQ-NEXT: vmovdqa64 %zmm17, (%rax)4700; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax4701; AVX512DQ-NEXT: vmovdqa64 %zmm2, 64(%rax)4702; AVX512DQ-NEXT: vmovdqa64 %zmm16, (%rax)4703; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax4704; AVX512DQ-NEXT: vmovdqa64 %zmm3, 64(%rax)4705; AVX512DQ-NEXT: vmovdqa64 %zmm4, (%rax)4706; AVX512DQ-NEXT: addq $264, %rsp # imm = 0x1084707; AVX512DQ-NEXT: vzeroupper4708; AVX512DQ-NEXT: retq4709;4710; AVX512DQ-FCP-LABEL: load_i64_stride8_vf16:4711; AVX512DQ-FCP: # %bb.0:4712; AVX512DQ-FCP-NEXT: subq $264, %rsp # imm = 0x1084713; AVX512DQ-FCP-NEXT: vmovaps 576(%rdi), %zmm04714; AVX512DQ-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4715; AVX512DQ-FCP-NEXT: vmovaps 512(%rdi), %zmm04716; AVX512DQ-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4717; AVX512DQ-FCP-NEXT: vmovdqa64 704(%rdi), %zmm64718; AVX512DQ-FCP-NEXT: vmovdqa64 640(%rdi), %zmm44719; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4720; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm74721; AVX512DQ-FCP-NEXT: vmovaps (%rdi), %zmm04722; AVX512DQ-FCP-NEXT: vmovups %zmm0, (%rsp) # 64-byte Spill4723; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm314724; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm84725; AVX512DQ-FCP-NEXT: vmovdqa64 832(%rdi), %zmm104726; AVX512DQ-FCP-NEXT: vmovdqa64 768(%rdi), %zmm144727; AVX512DQ-FCP-NEXT: vmovdqa64 960(%rdi), %zmm304728; AVX512DQ-FCP-NEXT: vmovdqa64 896(%rdi), %zmm284729; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rdi), %zmm164730; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rdi), %zmm54731; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rdi), %zmm34732; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rdi), %zmm154733; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [0,8,0,8,0,8,0,8]4734; AVX512DQ-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4735; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm174736; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm204737; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm94738; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm194739; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm29, %zmm194740; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm184741; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm29, %zmm184742; AVX512DQ-FCP-NEXT: movb $-64, %al4743; AVX512DQ-FCP-NEXT: kmovw %eax, %k14744; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}4745; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [2,10,2,10,2,10,2,10]4746; AVX512DQ-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4747; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm19, %zmm174748; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm214749; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm19, %zmm214750; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm21 {%k1}4751; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %ymm224752; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %ymm234753; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm23[0],ymm22[0],ymm23[2],ymm22[2]4754; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %ymm244755; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %ymm254756; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm25[0],ymm24[0],ymm25[2],ymm24[2]4757; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]4758; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm21, %zmm04759; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4760; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm114761; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm19, %zmm114762; AVX512DQ-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm194763; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}4764; AVX512DQ-FCP-NEXT: vmovdqa 704(%rdi), %ymm114765; AVX512DQ-FCP-NEXT: vmovdqa 640(%rdi), %ymm124766; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]4767; AVX512DQ-FCP-NEXT: vmovdqa64 576(%rdi), %ymm264768; AVX512DQ-FCP-NEXT: vmovdqa64 512(%rdi), %ymm274769; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm27[0],ymm26[0],ymm27[2],ymm26[2]4770; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm13[2,3]4771; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm19, %zmm194772; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]4773; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4774; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm204775; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm134776; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm134777; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, %zmm13 {%k1}4778; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [1,9,1,9,1,9,1,9]4779; AVX512DQ-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4780; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm23[1],ymm22[1],ymm23[3],ymm22[3]4781; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm234782; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm21, %zmm234783; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm25[1],ymm24[1],ymm25[3],ymm24[3]4784; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]4785; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm13, %zmm204786; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm14787; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm0, %zmm14788; AVX512DQ-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm04789; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}4790; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]4791; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm27[1],ymm26[1],ymm27[3],ymm26[3]4792; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]4793; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm224794; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]4795; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4796; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4797; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm14798; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm14799; AVX512DQ-FCP-NEXT: vmovdqu64 (%rsp), %zmm13 # 64-byte Reload4800; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm24801; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, %zmm114802; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm24803; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4804; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm94805; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm5[0],zmm16[0],zmm5[2],zmm16[2],zmm5[4],zmm16[4],zmm5[6],zmm16[6]4806; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}4807; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm244808; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm14809; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm14810; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload4811; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm24812; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload4813; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm24814; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]4815; AVX512DQ-FCP-NEXT: vpermi2q %zmm30, %zmm28, %zmm04816; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm14[0],zmm10[0],zmm14[2],zmm10[2],zmm14[4],zmm10[4],zmm14[6],zmm10[6]4817; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}4818; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm254819; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [5,13,5,13,5,13,5,13]4820; AVX512DQ-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4821; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm04822; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm27, %zmm04823; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm14824; AVX512DQ-FCP-NEXT: vpermt2q %zmm11, %zmm27, %zmm14825; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm84826; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm1[0,1,2,3],ymm0[4,5,6,7]4827; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 = zmm5[1],zmm16[1],zmm5[3],zmm16[3],zmm5[5],zmm16[5],zmm5[7],zmm16[7]4828; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [6,14,6,14,6,14,6,14]4829; AVX512DQ-FCP-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4830; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm14831; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm26, %zmm14832; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [7,15,7,15,7,15,7,15]4833; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4834; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm2, %zmm54835; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm124836; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k1} = zmm15[0],zmm3[0],zmm15[2],zmm3[2],zmm15[4],zmm3[4],zmm15[6],zmm3[6]4837; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm5 {%k1} = zmm15[1],zmm3[1],zmm15[3],zmm3[3],zmm15[5],zmm3[5],zmm15[7],zmm3[7]4838; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm124839; AVX512DQ-FCP-NEXT: vpermt2q %zmm3, %zmm27, %zmm154840; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm0 {%k1}4841; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm174842; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload4843; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm04844; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm27, %zmm04845; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm154846; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm94847; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm27, %zmm94848; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]4849; AVX512DQ-FCP-NEXT: vpermi2q %zmm30, %zmm28, %zmm274850; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm14[1],zmm10[1],zmm14[3],zmm10[3],zmm14[5],zmm10[5],zmm14[7],zmm10[7]4851; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm9 {%k1}4852; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm9, %zmm274853; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload4854; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm04855; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm26, %zmm04856; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm94857; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm26, %zmm94858; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]4859; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm164860; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %xmm04861; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm2, %zmm44862; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4863; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm14864; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm29, %zmm14865; AVX512DQ-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm294866; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm2, %zmm134867; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm44868; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm94869; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm26, %zmm94870; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm2, %zmm114871; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm84872; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm134873; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm114874; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm26, %zmm114875; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm2, %zmm134876; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm154877; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm28, %zmm134878; AVX512DQ-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm134879; AVX512DQ-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm214880; AVX512DQ-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm264881; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm2, %zmm144882; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %xmm24883; AVX512DQ-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm2, %ymm24884; AVX512DQ-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm0, %ymm04885; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]4886; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm18, %zmm104887; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm29 {%k1}4888; AVX512DQ-FCP-NEXT: vmovdqa 576(%rdi), %xmm14889; AVX512DQ-FCP-NEXT: vinserti128 $1, 704(%rdi), %ymm1, %ymm14890; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm26 {%k1} = zmm28[0],zmm30[0],zmm28[2],zmm30[2],zmm28[4],zmm30[4],zmm28[6],zmm30[6]4891; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 {%k1} = zmm28[1],zmm30[1],zmm28[3],zmm30[3],zmm28[5],zmm30[5],zmm28[7],zmm30[7]4892; AVX512DQ-FCP-NEXT: vmovdqa 512(%rdi), %xmm64893; AVX512DQ-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm64894; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]4895; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm29, %zmm74896; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm23 {%k1}4897; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]4898; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm23, %zmm04899; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm21 {%k1}4900; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm6[1],ymm1[1],ymm6[3],ymm1[3]4901; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm14902; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm9[4,5,6,7]4903; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm26, %zmm24904; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload4905; AVX512DQ-FCP-NEXT: # ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]4906; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm44907; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3],ymm8[4,5,6,7]4908; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm14, %zmm34909; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm7, 64(%rsi)4910; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, (%rsi)4911; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 64(%rdx)4912; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, (%rdx)4913; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, 64(%rcx)4914; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload4915; AVX512DQ-FCP-NEXT: vmovaps %zmm0, (%rcx)4916; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, 64(%r8)4917; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm20, (%r8)4918; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, 64(%r9)4919; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, (%r9)4920; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4921; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, 64(%rax)4922; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, (%rax)4923; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4924; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, 64(%rax)4925; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm16, (%rax)4926; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax4927; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, 64(%rax)4928; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, (%rax)4929; AVX512DQ-FCP-NEXT: addq $264, %rsp # imm = 0x1084930; AVX512DQ-FCP-NEXT: vzeroupper4931; AVX512DQ-FCP-NEXT: retq4932;4933; AVX512BW-LABEL: load_i64_stride8_vf16:4934; AVX512BW: # %bb.0:4935; AVX512BW-NEXT: subq $264, %rsp # imm = 0x1084936; AVX512BW-NEXT: vmovaps 576(%rdi), %zmm04937; AVX512BW-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4938; AVX512BW-NEXT: vmovaps 512(%rdi), %zmm04939; AVX512BW-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4940; AVX512BW-NEXT: vmovdqa64 704(%rdi), %zmm64941; AVX512BW-NEXT: vmovdqa64 640(%rdi), %zmm44942; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4943; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm74944; AVX512BW-NEXT: vmovaps (%rdi), %zmm04945; AVX512BW-NEXT: vmovups %zmm0, (%rsp) # 64-byte Spill4946; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm314947; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm84948; AVX512BW-NEXT: vmovdqa64 832(%rdi), %zmm104949; AVX512BW-NEXT: vmovdqa64 768(%rdi), %zmm144950; AVX512BW-NEXT: vmovdqa64 960(%rdi), %zmm304951; AVX512BW-NEXT: vmovdqa64 896(%rdi), %zmm284952; AVX512BW-NEXT: vmovdqa64 320(%rdi), %zmm164953; AVX512BW-NEXT: vmovdqa64 256(%rdi), %zmm54954; AVX512BW-NEXT: vmovdqa64 448(%rdi), %zmm34955; AVX512BW-NEXT: vmovdqa64 384(%rdi), %zmm154956; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [0,8,0,8,0,8,0,8]4957; AVX512BW-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4958; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm174959; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm204960; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm94961; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm194962; AVX512BW-NEXT: vpermt2q %zmm3, %zmm29, %zmm194963; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm184964; AVX512BW-NEXT: vpermt2q %zmm16, %zmm29, %zmm184965; AVX512BW-NEXT: movb $-64, %al4966; AVX512BW-NEXT: kmovd %eax, %k14967; AVX512BW-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}4968; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [2,10,2,10,2,10,2,10]4969; AVX512BW-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4970; AVX512BW-NEXT: vpermt2q %zmm3, %zmm19, %zmm174971; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm214972; AVX512BW-NEXT: vpermt2q %zmm16, %zmm19, %zmm214973; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm21 {%k1}4974; AVX512BW-NEXT: vmovdqa64 192(%rdi), %ymm224975; AVX512BW-NEXT: vmovdqa64 128(%rdi), %ymm234976; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm23[0],ymm22[0],ymm23[2],ymm22[2]4977; AVX512BW-NEXT: vmovdqa64 64(%rdi), %ymm244978; AVX512BW-NEXT: vmovdqa64 (%rdi), %ymm254979; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm25[0],ymm24[0],ymm25[2],ymm24[2]4980; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]4981; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm21, %zmm04982; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill4983; AVX512BW-NEXT: vmovdqa64 %zmm28, %zmm114984; AVX512BW-NEXT: vpermt2q %zmm30, %zmm19, %zmm114985; AVX512BW-NEXT: vpermi2q %zmm10, %zmm14, %zmm194986; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}4987; AVX512BW-NEXT: vmovdqa 704(%rdi), %ymm114988; AVX512BW-NEXT: vmovdqa 640(%rdi), %ymm124989; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]4990; AVX512BW-NEXT: vmovdqa64 576(%rdi), %ymm264991; AVX512BW-NEXT: vmovdqa64 512(%rdi), %ymm274992; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm27[0],ymm26[0],ymm27[2],ymm26[2]4993; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm13[2,3]4994; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm19, %zmm194995; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]4996; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]4997; AVX512BW-NEXT: vpermt2q %zmm3, %zmm0, %zmm204998; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm134999; AVX512BW-NEXT: vpermt2q %zmm16, %zmm0, %zmm135000; AVX512BW-NEXT: vmovdqa64 %zmm20, %zmm13 {%k1}5001; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [1,9,1,9,1,9,1,9]5002; AVX512BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5003; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm23[1],ymm22[1],ymm23[3],ymm22[3]5004; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm235005; AVX512BW-NEXT: vpermt2q %zmm16, %zmm21, %zmm235006; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm25[1],ymm24[1],ymm25[3],ymm24[3]5007; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]5008; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm13, %zmm205009; AVX512BW-NEXT: vmovdqa64 %zmm28, %zmm15010; AVX512BW-NEXT: vpermt2q %zmm30, %zmm0, %zmm15011; AVX512BW-NEXT: vpermi2q %zmm10, %zmm14, %zmm05012; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}5013; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]5014; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm27[1],ymm26[1],ymm27[3],ymm26[3]5015; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]5016; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm225017; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]5018; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5019; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5020; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm15021; AVX512BW-NEXT: vpermt2q %zmm31, %zmm0, %zmm15022; AVX512BW-NEXT: vmovdqu64 (%rsp), %zmm13 # 64-byte Reload5023; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm25024; AVX512BW-NEXT: vmovdqa64 %zmm7, %zmm115025; AVX512BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm25026; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]5027; AVX512BW-NEXT: vpermt2q %zmm3, %zmm0, %zmm95028; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm5[0],zmm16[0],zmm5[2],zmm16[2],zmm5[4],zmm16[4],zmm5[6],zmm16[6]5029; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}5030; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm245031; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm15032; AVX512BW-NEXT: vpermt2q %zmm6, %zmm0, %zmm15033; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload5034; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm25035; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload5036; AVX512BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm25037; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]5038; AVX512BW-NEXT: vpermi2q %zmm30, %zmm28, %zmm05039; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm14[0],zmm10[0],zmm14[2],zmm10[2],zmm14[4],zmm10[4],zmm14[6],zmm10[6]5040; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}5041; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm255042; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [5,13,5,13,5,13,5,13]5043; AVX512BW-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5044; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm05045; AVX512BW-NEXT: vpermt2q %zmm31, %zmm27, %zmm05046; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm15047; AVX512BW-NEXT: vpermt2q %zmm11, %zmm27, %zmm15048; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm85049; AVX512BW-NEXT: vpblendd {{.*#+}} ymm9 = ymm1[0,1,2,3],ymm0[4,5,6,7]5050; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm0 = zmm5[1],zmm16[1],zmm5[3],zmm16[3],zmm5[5],zmm16[5],zmm5[7],zmm16[7]5051; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [6,14,6,14,6,14,6,14]5052; AVX512BW-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5053; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm15054; AVX512BW-NEXT: vpermt2q %zmm16, %zmm26, %zmm15055; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [7,15,7,15,7,15,7,15]5056; AVX512BW-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5057; AVX512BW-NEXT: vpermt2q %zmm16, %zmm2, %zmm55058; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm125059; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k1} = zmm15[0],zmm3[0],zmm15[2],zmm3[2],zmm15[4],zmm3[4],zmm15[6],zmm3[6]5060; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm5 {%k1} = zmm15[1],zmm3[1],zmm15[3],zmm3[3],zmm15[5],zmm3[5],zmm15[7],zmm3[7]5061; AVX512BW-NEXT: vpermt2q %zmm3, %zmm21, %zmm125062; AVX512BW-NEXT: vpermt2q %zmm3, %zmm27, %zmm155063; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm0 {%k1}5064; AVX512BW-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm175065; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload5066; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm05067; AVX512BW-NEXT: vpermt2q %zmm6, %zmm27, %zmm05068; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm155069; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm95070; AVX512BW-NEXT: vpermt2q %zmm7, %zmm27, %zmm95071; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]5072; AVX512BW-NEXT: vpermi2q %zmm30, %zmm28, %zmm275073; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm14[1],zmm10[1],zmm14[3],zmm10[3],zmm14[5],zmm10[5],zmm14[7],zmm10[7]5074; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm9 {%k1}5075; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm9, %zmm275076; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload5077; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm05078; AVX512BW-NEXT: vpermt2q %zmm31, %zmm26, %zmm05079; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm95080; AVX512BW-NEXT: vpermt2q %zmm8, %zmm26, %zmm95081; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]5082; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm165083; AVX512BW-NEXT: vmovdqa (%rdi), %xmm05084; AVX512BW-NEXT: vpermt2q %zmm31, %zmm2, %zmm45085; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5086; AVX512BW-NEXT: vmovdqa64 %zmm28, %zmm15087; AVX512BW-NEXT: vpermt2q %zmm30, %zmm29, %zmm15088; AVX512BW-NEXT: vpermi2q %zmm10, %zmm14, %zmm295089; AVX512BW-NEXT: vpermt2q %zmm8, %zmm2, %zmm135090; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm45091; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm95092; AVX512BW-NEXT: vpermt2q %zmm6, %zmm26, %zmm95093; AVX512BW-NEXT: vpermt2q %zmm6, %zmm2, %zmm115094; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm85095; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm135096; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm115097; AVX512BW-NEXT: vpermt2q %zmm7, %zmm26, %zmm115098; AVX512BW-NEXT: vpermt2q %zmm7, %zmm2, %zmm135099; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm155100; AVX512BW-NEXT: vmovdqa64 %zmm28, %zmm135101; AVX512BW-NEXT: vpermt2q %zmm30, %zmm21, %zmm135102; AVX512BW-NEXT: vpermi2q %zmm10, %zmm14, %zmm215103; AVX512BW-NEXT: vpermi2q %zmm10, %zmm14, %zmm265104; AVX512BW-NEXT: vpermt2q %zmm10, %zmm2, %zmm145105; AVX512BW-NEXT: vmovdqa 64(%rdi), %xmm25106; AVX512BW-NEXT: vinserti128 $1, 192(%rdi), %ymm2, %ymm25107; AVX512BW-NEXT: vinserti128 $1, 128(%rdi), %ymm0, %ymm05108; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]5109; AVX512BW-NEXT: vinserti64x4 $0, %ymm10, %zmm18, %zmm105110; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm29 {%k1}5111; AVX512BW-NEXT: vmovdqa 576(%rdi), %xmm15112; AVX512BW-NEXT: vinserti128 $1, 704(%rdi), %ymm1, %ymm15113; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm26 {%k1} = zmm28[0],zmm30[0],zmm28[2],zmm30[2],zmm28[4],zmm30[4],zmm28[6],zmm30[6]5114; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm14 {%k1} = zmm28[1],zmm30[1],zmm28[3],zmm30[3],zmm28[5],zmm30[5],zmm28[7],zmm30[7]5115; AVX512BW-NEXT: vmovdqa 512(%rdi), %xmm65116; AVX512BW-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm65117; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]5118; AVX512BW-NEXT: vinserti64x4 $0, %ymm7, %zmm29, %zmm75119; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm23 {%k1}5120; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]5121; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm23, %zmm05122; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm21 {%k1}5123; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm6[1],ymm1[1],ymm6[3],ymm1[3]5124; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm15125; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm9[4,5,6,7]5126; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm26, %zmm25127; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload5128; AVX512BW-NEXT: # ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]5129; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm45130; AVX512BW-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3],ymm8[4,5,6,7]5131; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm14, %zmm35132; AVX512BW-NEXT: vmovdqa64 %zmm7, 64(%rsi)5133; AVX512BW-NEXT: vmovdqa64 %zmm10, (%rsi)5134; AVX512BW-NEXT: vmovdqa64 %zmm1, 64(%rdx)5135; AVX512BW-NEXT: vmovdqa64 %zmm0, (%rdx)5136; AVX512BW-NEXT: vmovdqa64 %zmm19, 64(%rcx)5137; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5138; AVX512BW-NEXT: vmovaps %zmm0, (%rcx)5139; AVX512BW-NEXT: vmovdqa64 %zmm22, 64(%r8)5140; AVX512BW-NEXT: vmovdqa64 %zmm20, (%r8)5141; AVX512BW-NEXT: vmovdqa64 %zmm25, 64(%r9)5142; AVX512BW-NEXT: vmovdqa64 %zmm24, (%r9)5143; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax5144; AVX512BW-NEXT: vmovdqa64 %zmm27, 64(%rax)5145; AVX512BW-NEXT: vmovdqa64 %zmm17, (%rax)5146; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax5147; AVX512BW-NEXT: vmovdqa64 %zmm2, 64(%rax)5148; AVX512BW-NEXT: vmovdqa64 %zmm16, (%rax)5149; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax5150; AVX512BW-NEXT: vmovdqa64 %zmm3, 64(%rax)5151; AVX512BW-NEXT: vmovdqa64 %zmm4, (%rax)5152; AVX512BW-NEXT: addq $264, %rsp # imm = 0x1085153; AVX512BW-NEXT: vzeroupper5154; AVX512BW-NEXT: retq5155;5156; AVX512BW-FCP-LABEL: load_i64_stride8_vf16:5157; AVX512BW-FCP: # %bb.0:5158; AVX512BW-FCP-NEXT: subq $264, %rsp # imm = 0x1085159; AVX512BW-FCP-NEXT: vmovaps 576(%rdi), %zmm05160; AVX512BW-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5161; AVX512BW-FCP-NEXT: vmovaps 512(%rdi), %zmm05162; AVX512BW-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5163; AVX512BW-FCP-NEXT: vmovdqa64 704(%rdi), %zmm65164; AVX512BW-FCP-NEXT: vmovdqa64 640(%rdi), %zmm45165; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5166; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm75167; AVX512BW-FCP-NEXT: vmovaps (%rdi), %zmm05168; AVX512BW-FCP-NEXT: vmovups %zmm0, (%rsp) # 64-byte Spill5169; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm315170; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm85171; AVX512BW-FCP-NEXT: vmovdqa64 832(%rdi), %zmm105172; AVX512BW-FCP-NEXT: vmovdqa64 768(%rdi), %zmm145173; AVX512BW-FCP-NEXT: vmovdqa64 960(%rdi), %zmm305174; AVX512BW-FCP-NEXT: vmovdqa64 896(%rdi), %zmm285175; AVX512BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm165176; AVX512BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm55177; AVX512BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm35178; AVX512BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm155179; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [0,8,0,8,0,8,0,8]5180; AVX512BW-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5181; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm175182; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm205183; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm95184; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm195185; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm29, %zmm195186; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm185187; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm29, %zmm185188; AVX512BW-FCP-NEXT: movb $-64, %al5189; AVX512BW-FCP-NEXT: kmovd %eax, %k15190; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}5191; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [2,10,2,10,2,10,2,10]5192; AVX512BW-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5193; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm19, %zmm175194; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm215195; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm19, %zmm215196; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm21 {%k1}5197; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %ymm225198; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %ymm235199; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm23[0],ymm22[0],ymm23[2],ymm22[2]5200; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm245201; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %ymm255202; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm25[0],ymm24[0],ymm25[2],ymm24[2]5203; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]5204; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm21, %zmm05205; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5206; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm115207; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm19, %zmm115208; AVX512BW-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm195209; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}5210; AVX512BW-FCP-NEXT: vmovdqa 704(%rdi), %ymm115211; AVX512BW-FCP-NEXT: vmovdqa 640(%rdi), %ymm125212; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]5213; AVX512BW-FCP-NEXT: vmovdqa64 576(%rdi), %ymm265214; AVX512BW-FCP-NEXT: vmovdqa64 512(%rdi), %ymm275215; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm27[0],ymm26[0],ymm27[2],ymm26[2]5216; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm13[2,3]5217; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm19, %zmm195218; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]5219; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5220; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm205221; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm135222; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm135223; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm13 {%k1}5224; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [1,9,1,9,1,9,1,9]5225; AVX512BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5226; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm23[1],ymm22[1],ymm23[3],ymm22[3]5227; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm235228; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm21, %zmm235229; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm25[1],ymm24[1],ymm25[3],ymm24[3]5230; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]5231; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm13, %zmm205232; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm15233; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm0, %zmm15234; AVX512BW-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm05235; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}5236; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]5237; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm27[1],ymm26[1],ymm27[3],ymm26[3]5238; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]5239; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm225240; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]5241; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5242; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5243; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm15244; AVX512BW-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm15245; AVX512BW-FCP-NEXT: vmovdqu64 (%rsp), %zmm13 # 64-byte Reload5246; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm25247; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm115248; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm25249; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]5250; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm95251; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm5[0],zmm16[0],zmm5[2],zmm16[2],zmm5[4],zmm16[4],zmm5[6],zmm16[6]5252; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}5253; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm245254; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm15255; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm15256; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload5257; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm25258; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload5259; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm25260; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]5261; AVX512BW-FCP-NEXT: vpermi2q %zmm30, %zmm28, %zmm05262; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm14[0],zmm10[0],zmm14[2],zmm10[2],zmm14[4],zmm10[4],zmm14[6],zmm10[6]5263; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}5264; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm255265; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [5,13,5,13,5,13,5,13]5266; AVX512BW-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5267; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm05268; AVX512BW-FCP-NEXT: vpermt2q %zmm31, %zmm27, %zmm05269; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm15270; AVX512BW-FCP-NEXT: vpermt2q %zmm11, %zmm27, %zmm15271; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm85272; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm1[0,1,2,3],ymm0[4,5,6,7]5273; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 = zmm5[1],zmm16[1],zmm5[3],zmm16[3],zmm5[5],zmm16[5],zmm5[7],zmm16[7]5274; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [6,14,6,14,6,14,6,14]5275; AVX512BW-FCP-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5276; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm15277; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm26, %zmm15278; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [7,15,7,15,7,15,7,15]5279; AVX512BW-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5280; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm2, %zmm55281; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm125282; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k1} = zmm15[0],zmm3[0],zmm15[2],zmm3[2],zmm15[4],zmm3[4],zmm15[6],zmm3[6]5283; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm5 {%k1} = zmm15[1],zmm3[1],zmm15[3],zmm3[3],zmm15[5],zmm3[5],zmm15[7],zmm3[7]5284; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm125285; AVX512BW-FCP-NEXT: vpermt2q %zmm3, %zmm27, %zmm155286; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm0 {%k1}5287; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm175288; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload5289; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm05290; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm27, %zmm05291; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm155292; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm95293; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm27, %zmm95294; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]5295; AVX512BW-FCP-NEXT: vpermi2q %zmm30, %zmm28, %zmm275296; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm14[1],zmm10[1],zmm14[3],zmm10[3],zmm14[5],zmm10[5],zmm14[7],zmm10[7]5297; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm9 {%k1}5298; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm9, %zmm275299; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload5300; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm05301; AVX512BW-FCP-NEXT: vpermt2q %zmm31, %zmm26, %zmm05302; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm95303; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm26, %zmm95304; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]5305; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm165306; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %xmm05307; AVX512BW-FCP-NEXT: vpermt2q %zmm31, %zmm2, %zmm45308; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5309; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm15310; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm29, %zmm15311; AVX512BW-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm295312; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm2, %zmm135313; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm45314; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm95315; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm26, %zmm95316; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm2, %zmm115317; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm85318; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm135319; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm115320; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm26, %zmm115321; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm2, %zmm135322; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm155323; AVX512BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm135324; AVX512BW-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm135325; AVX512BW-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm215326; AVX512BW-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm265327; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm2, %zmm145328; AVX512BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm25329; AVX512BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm2, %ymm25330; AVX512BW-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm0, %ymm05331; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]5332; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm18, %zmm105333; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm29 {%k1}5334; AVX512BW-FCP-NEXT: vmovdqa 576(%rdi), %xmm15335; AVX512BW-FCP-NEXT: vinserti128 $1, 704(%rdi), %ymm1, %ymm15336; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm26 {%k1} = zmm28[0],zmm30[0],zmm28[2],zmm30[2],zmm28[4],zmm30[4],zmm28[6],zmm30[6]5337; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 {%k1} = zmm28[1],zmm30[1],zmm28[3],zmm30[3],zmm28[5],zmm30[5],zmm28[7],zmm30[7]5338; AVX512BW-FCP-NEXT: vmovdqa 512(%rdi), %xmm65339; AVX512BW-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm65340; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]5341; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm29, %zmm75342; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm23 {%k1}5343; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]5344; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm23, %zmm05345; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm21 {%k1}5346; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm6[1],ymm1[1],ymm6[3],ymm1[3]5347; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm15348; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm9[4,5,6,7]5349; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm26, %zmm25350; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload5351; AVX512BW-FCP-NEXT: # ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]5352; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm45353; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3],ymm8[4,5,6,7]5354; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm14, %zmm35355; AVX512BW-FCP-NEXT: vmovdqa64 %zmm7, 64(%rsi)5356; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, (%rsi)5357; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 64(%rdx)5358; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, (%rdx)5359; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, 64(%rcx)5360; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5361; AVX512BW-FCP-NEXT: vmovaps %zmm0, (%rcx)5362; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, 64(%r8)5363; AVX512BW-FCP-NEXT: vmovdqa64 %zmm20, (%r8)5364; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, 64(%r9)5365; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, (%r9)5366; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax5367; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, 64(%rax)5368; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, (%rax)5369; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax5370; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, 64(%rax)5371; AVX512BW-FCP-NEXT: vmovdqa64 %zmm16, (%rax)5372; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax5373; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, 64(%rax)5374; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, (%rax)5375; AVX512BW-FCP-NEXT: addq $264, %rsp # imm = 0x1085376; AVX512BW-FCP-NEXT: vzeroupper5377; AVX512BW-FCP-NEXT: retq5378;5379; AVX512DQ-BW-LABEL: load_i64_stride8_vf16:5380; AVX512DQ-BW: # %bb.0:5381; AVX512DQ-BW-NEXT: subq $264, %rsp # imm = 0x1085382; AVX512DQ-BW-NEXT: vmovaps 576(%rdi), %zmm05383; AVX512DQ-BW-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5384; AVX512DQ-BW-NEXT: vmovaps 512(%rdi), %zmm05385; AVX512DQ-BW-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5386; AVX512DQ-BW-NEXT: vmovdqa64 704(%rdi), %zmm65387; AVX512DQ-BW-NEXT: vmovdqa64 640(%rdi), %zmm45388; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5389; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm75390; AVX512DQ-BW-NEXT: vmovaps (%rdi), %zmm05391; AVX512DQ-BW-NEXT: vmovups %zmm0, (%rsp) # 64-byte Spill5392; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm315393; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm85394; AVX512DQ-BW-NEXT: vmovdqa64 832(%rdi), %zmm105395; AVX512DQ-BW-NEXT: vmovdqa64 768(%rdi), %zmm145396; AVX512DQ-BW-NEXT: vmovdqa64 960(%rdi), %zmm305397; AVX512DQ-BW-NEXT: vmovdqa64 896(%rdi), %zmm285398; AVX512DQ-BW-NEXT: vmovdqa64 320(%rdi), %zmm165399; AVX512DQ-BW-NEXT: vmovdqa64 256(%rdi), %zmm55400; AVX512DQ-BW-NEXT: vmovdqa64 448(%rdi), %zmm35401; AVX512DQ-BW-NEXT: vmovdqa64 384(%rdi), %zmm155402; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [0,8,0,8,0,8,0,8]5403; AVX512DQ-BW-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5404; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm175405; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm205406; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm95407; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm195408; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm29, %zmm195409; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm185410; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm29, %zmm185411; AVX512DQ-BW-NEXT: movb $-64, %al5412; AVX512DQ-BW-NEXT: kmovd %eax, %k15413; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}5414; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [2,10,2,10,2,10,2,10]5415; AVX512DQ-BW-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5416; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm19, %zmm175417; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm215418; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm19, %zmm215419; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm21 {%k1}5420; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %ymm225421; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %ymm235422; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm23[0],ymm22[0],ymm23[2],ymm22[2]5423; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %ymm245424; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %ymm255425; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm25[0],ymm24[0],ymm25[2],ymm24[2]5426; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]5427; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm21, %zmm05428; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5429; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, %zmm115430; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm19, %zmm115431; AVX512DQ-BW-NEXT: vpermi2q %zmm10, %zmm14, %zmm195432; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}5433; AVX512DQ-BW-NEXT: vmovdqa 704(%rdi), %ymm115434; AVX512DQ-BW-NEXT: vmovdqa 640(%rdi), %ymm125435; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]5436; AVX512DQ-BW-NEXT: vmovdqa64 576(%rdi), %ymm265437; AVX512DQ-BW-NEXT: vmovdqa64 512(%rdi), %ymm275438; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm27[0],ymm26[0],ymm27[2],ymm26[2]5439; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm13[2,3]5440; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm19, %zmm195441; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]5442; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5443; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm0, %zmm205444; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm135445; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm0, %zmm135446; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, %zmm13 {%k1}5447; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [1,9,1,9,1,9,1,9]5448; AVX512DQ-BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5449; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm23[1],ymm22[1],ymm23[3],ymm22[3]5450; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm235451; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm21, %zmm235452; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm25[1],ymm24[1],ymm25[3],ymm24[3]5453; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]5454; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm13, %zmm205455; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, %zmm15456; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm0, %zmm15457; AVX512DQ-BW-NEXT: vpermi2q %zmm10, %zmm14, %zmm05458; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}5459; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]5460; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm27[1],ymm26[1],ymm27[3],ymm26[3]5461; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]5462; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm225463; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]5464; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5465; AVX512DQ-BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5466; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm15467; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm0, %zmm15468; AVX512DQ-BW-NEXT: vmovdqu64 (%rsp), %zmm13 # 64-byte Reload5469; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm25470; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, %zmm115471; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm25472; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]5473; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm0, %zmm95474; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm5[0],zmm16[0],zmm5[2],zmm16[2],zmm5[4],zmm16[4],zmm5[6],zmm16[6]5475; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}5476; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm245477; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm15478; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm0, %zmm15479; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload5480; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm25481; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload5482; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm25483; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]5484; AVX512DQ-BW-NEXT: vpermi2q %zmm30, %zmm28, %zmm05485; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm14[0],zmm10[0],zmm14[2],zmm10[2],zmm14[4],zmm10[4],zmm14[6],zmm10[6]5486; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}5487; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm255488; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [5,13,5,13,5,13,5,13]5489; AVX512DQ-BW-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5490; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm05491; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm27, %zmm05492; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm15493; AVX512DQ-BW-NEXT: vpermt2q %zmm11, %zmm27, %zmm15494; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm85495; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm9 = ymm1[0,1,2,3],ymm0[4,5,6,7]5496; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm0 = zmm5[1],zmm16[1],zmm5[3],zmm16[3],zmm5[5],zmm16[5],zmm5[7],zmm16[7]5497; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [6,14,6,14,6,14,6,14]5498; AVX512DQ-BW-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5499; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm15500; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm26, %zmm15501; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [7,15,7,15,7,15,7,15]5502; AVX512DQ-BW-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5503; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm2, %zmm55504; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm125505; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k1} = zmm15[0],zmm3[0],zmm15[2],zmm3[2],zmm15[4],zmm3[4],zmm15[6],zmm3[6]5506; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm5 {%k1} = zmm15[1],zmm3[1],zmm15[3],zmm3[3],zmm15[5],zmm3[5],zmm15[7],zmm3[7]5507; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm21, %zmm125508; AVX512DQ-BW-NEXT: vpermt2q %zmm3, %zmm27, %zmm155509; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm0 {%k1}5510; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm175511; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload5512; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm05513; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm27, %zmm05514; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm155515; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm95516; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm27, %zmm95517; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]5518; AVX512DQ-BW-NEXT: vpermi2q %zmm30, %zmm28, %zmm275519; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm14[1],zmm10[1],zmm14[3],zmm10[3],zmm14[5],zmm10[5],zmm14[7],zmm10[7]5520; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm9 {%k1}5521; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm9, %zmm275522; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload5523; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm05524; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm26, %zmm05525; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm95526; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm26, %zmm95527; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]5528; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm165529; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %xmm05530; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm2, %zmm45531; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5532; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, %zmm15533; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm29, %zmm15534; AVX512DQ-BW-NEXT: vpermi2q %zmm10, %zmm14, %zmm295535; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm2, %zmm135536; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm45537; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm95538; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm26, %zmm95539; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm2, %zmm115540; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm85541; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm135542; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm115543; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm26, %zmm115544; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm2, %zmm135545; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm155546; AVX512DQ-BW-NEXT: vmovdqa64 %zmm28, %zmm135547; AVX512DQ-BW-NEXT: vpermt2q %zmm30, %zmm21, %zmm135548; AVX512DQ-BW-NEXT: vpermi2q %zmm10, %zmm14, %zmm215549; AVX512DQ-BW-NEXT: vpermi2q %zmm10, %zmm14, %zmm265550; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm2, %zmm145551; AVX512DQ-BW-NEXT: vmovdqa 64(%rdi), %xmm25552; AVX512DQ-BW-NEXT: vinserti128 $1, 192(%rdi), %ymm2, %ymm25553; AVX512DQ-BW-NEXT: vinserti128 $1, 128(%rdi), %ymm0, %ymm05554; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]5555; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm10, %zmm18, %zmm105556; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm29 {%k1}5557; AVX512DQ-BW-NEXT: vmovdqa 576(%rdi), %xmm15558; AVX512DQ-BW-NEXT: vinserti128 $1, 704(%rdi), %ymm1, %ymm15559; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm26 {%k1} = zmm28[0],zmm30[0],zmm28[2],zmm30[2],zmm28[4],zmm30[4],zmm28[6],zmm30[6]5560; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm14 {%k1} = zmm28[1],zmm30[1],zmm28[3],zmm30[3],zmm28[5],zmm30[5],zmm28[7],zmm30[7]5561; AVX512DQ-BW-NEXT: vmovdqa 512(%rdi), %xmm65562; AVX512DQ-BW-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm65563; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]5564; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm7, %zmm29, %zmm75565; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm23 {%k1}5566; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]5567; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm23, %zmm05568; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm21 {%k1}5569; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm6[1],ymm1[1],ymm6[3],ymm1[3]5570; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm15571; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm9[4,5,6,7]5572; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm26, %zmm25573; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload5574; AVX512DQ-BW-NEXT: # ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]5575; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm45576; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3],ymm8[4,5,6,7]5577; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm14, %zmm35578; AVX512DQ-BW-NEXT: vmovdqa64 %zmm7, 64(%rsi)5579; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, (%rsi)5580; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 64(%rdx)5581; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, (%rdx)5582; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, 64(%rcx)5583; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5584; AVX512DQ-BW-NEXT: vmovaps %zmm0, (%rcx)5585; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, 64(%r8)5586; AVX512DQ-BW-NEXT: vmovdqa64 %zmm20, (%r8)5587; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, 64(%r9)5588; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, (%r9)5589; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax5590; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, 64(%rax)5591; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, (%rax)5592; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax5593; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, 64(%rax)5594; AVX512DQ-BW-NEXT: vmovdqa64 %zmm16, (%rax)5595; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax5596; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, 64(%rax)5597; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, (%rax)5598; AVX512DQ-BW-NEXT: addq $264, %rsp # imm = 0x1085599; AVX512DQ-BW-NEXT: vzeroupper5600; AVX512DQ-BW-NEXT: retq5601;5602; AVX512DQ-BW-FCP-LABEL: load_i64_stride8_vf16:5603; AVX512DQ-BW-FCP: # %bb.0:5604; AVX512DQ-BW-FCP-NEXT: subq $264, %rsp # imm = 0x1085605; AVX512DQ-BW-FCP-NEXT: vmovaps 576(%rdi), %zmm05606; AVX512DQ-BW-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5607; AVX512DQ-BW-FCP-NEXT: vmovaps 512(%rdi), %zmm05608; AVX512DQ-BW-FCP-NEXT: vmovups %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5609; AVX512DQ-BW-FCP-NEXT: vmovdqa64 704(%rdi), %zmm65610; AVX512DQ-BW-FCP-NEXT: vmovdqa64 640(%rdi), %zmm45611; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5612; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm75613; AVX512DQ-BW-FCP-NEXT: vmovaps (%rdi), %zmm05614; AVX512DQ-BW-FCP-NEXT: vmovups %zmm0, (%rsp) # 64-byte Spill5615; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm315616; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm85617; AVX512DQ-BW-FCP-NEXT: vmovdqa64 832(%rdi), %zmm105618; AVX512DQ-BW-FCP-NEXT: vmovdqa64 768(%rdi), %zmm145619; AVX512DQ-BW-FCP-NEXT: vmovdqa64 960(%rdi), %zmm305620; AVX512DQ-BW-FCP-NEXT: vmovdqa64 896(%rdi), %zmm285621; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm165622; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm55623; AVX512DQ-BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm35624; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm155625; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm29 = [0,8,0,8,0,8,0,8]5626; AVX512DQ-BW-FCP-NEXT: # zmm29 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5627; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm175628; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm205629; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm95630; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm195631; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm29, %zmm195632; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm185633; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm29, %zmm185634; AVX512DQ-BW-FCP-NEXT: movb $-64, %al5635; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k15636; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, %zmm18 {%k1}5637; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm19 = [2,10,2,10,2,10,2,10]5638; AVX512DQ-BW-FCP-NEXT: # zmm19 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5639; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm19, %zmm175640; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm215641; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm19, %zmm215642; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm21 {%k1}5643; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %ymm225644; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %ymm235645; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm23[0],ymm22[0],ymm23[2],ymm22[2]5646; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm245647; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %ymm255648; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm12 = ymm25[0],ymm24[0],ymm25[2],ymm24[2]5649; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm12[2,3],ymm11[2,3]5650; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm21, %zmm05651; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5652; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm115653; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm19, %zmm115654; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm195655; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm19 {%k1}5656; AVX512DQ-BW-FCP-NEXT: vmovdqa 704(%rdi), %ymm115657; AVX512DQ-BW-FCP-NEXT: vmovdqa 640(%rdi), %ymm125658; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm12[0],ymm11[0],ymm12[2],ymm11[2]5659; AVX512DQ-BW-FCP-NEXT: vmovdqa64 576(%rdi), %ymm265660; AVX512DQ-BW-FCP-NEXT: vmovdqa64 512(%rdi), %ymm275661; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm0 = ymm27[0],ymm26[0],ymm27[2],ymm26[2]5662; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm13[2,3]5663; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm19, %zmm195664; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]5665; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5666; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm205667; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm135668; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm135669; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, %zmm13 {%k1}5670; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [1,9,1,9,1,9,1,9]5671; AVX512DQ-BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5672; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm23[1],ymm22[1],ymm23[3],ymm22[3]5673; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm235674; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm21, %zmm235675; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm25[1],ymm24[1],ymm25[3],ymm24[3]5676; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]5677; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm13, %zmm205678; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm15679; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm0, %zmm15680; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm05681; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}5682; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm12[1],ymm11[1],ymm12[3],ymm11[3]5683; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm27[1],ymm26[1],ymm27[3],ymm26[3]5684; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm2[2,3],ymm1[2,3]5685; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm225686; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]5687; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5688; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5689; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm15690; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm15691; AVX512DQ-BW-FCP-NEXT: vmovdqu64 (%rsp), %zmm13 # 64-byte Reload5692; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm25693; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, %zmm115694; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm25695; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]5696; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm0, %zmm95697; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm5[0],zmm16[0],zmm5[2],zmm16[2],zmm5[4],zmm16[4],zmm5[6],zmm16[6]5698; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm2 {%k1}5699; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm245700; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm15701; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm15702; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload5703; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm25704; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload5705; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm25706; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]5707; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm30, %zmm28, %zmm05708; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm14[0],zmm10[0],zmm14[2],zmm10[2],zmm14[4],zmm10[4],zmm14[6],zmm10[6]5709; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}5710; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm255711; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm27 = [5,13,5,13,5,13,5,13]5712; AVX512DQ-BW-FCP-NEXT: # zmm27 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5713; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm05714; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm31, %zmm27, %zmm05715; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm15716; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm11, %zmm27, %zmm15717; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm85718; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm9 = ymm1[0,1,2,3],ymm0[4,5,6,7]5719; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 = zmm5[1],zmm16[1],zmm5[3],zmm16[3],zmm5[5],zmm16[5],zmm5[7],zmm16[7]5720; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm26 = [6,14,6,14,6,14,6,14]5721; AVX512DQ-BW-FCP-NEXT: # zmm26 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5722; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm15723; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm26, %zmm15724; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [7,15,7,15,7,15,7,15]5725; AVX512DQ-BW-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]5726; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm2, %zmm55727; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm125728; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm1 {%k1} = zmm15[0],zmm3[0],zmm15[2],zmm3[2],zmm15[4],zmm3[4],zmm15[6],zmm3[6]5729; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm5 {%k1} = zmm15[1],zmm3[1],zmm15[3],zmm3[3],zmm15[5],zmm3[5],zmm15[7],zmm3[7]5730; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm21, %zmm125731; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm3, %zmm27, %zmm155732; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm0 {%k1}5733; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm0, %zmm175734; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload5735; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm05736; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm27, %zmm05737; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm155738; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm95739; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm27, %zmm95740; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]5741; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm30, %zmm28, %zmm275742; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 = zmm14[1],zmm10[1],zmm14[3],zmm10[3],zmm14[5],zmm10[5],zmm14[7],zmm10[7]5743; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm9 {%k1}5744; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm9, %zmm275745; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload5746; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm05747; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm31, %zmm26, %zmm05748; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm95749; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm26, %zmm95750; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]5751; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm1, %zmm165752; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %xmm05753; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm31, %zmm2, %zmm45754; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5755; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm15756; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm29, %zmm15757; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm295758; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm2, %zmm135759; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm45760; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm95761; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm26, %zmm95762; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm2, %zmm115763; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm85764; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm135765; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm115766; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm26, %zmm115767; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm2, %zmm135768; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm155769; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm28, %zmm135770; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm30, %zmm21, %zmm135771; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm215772; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm10, %zmm14, %zmm265773; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm2, %zmm145774; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm25775; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm2, %ymm25776; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm0, %ymm05777; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm10 = ymm0[0],ymm2[0],ymm0[2],ymm2[2]5778; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm10, %zmm18, %zmm105779; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm29 {%k1}5780; AVX512DQ-BW-FCP-NEXT: vmovdqa 576(%rdi), %xmm15781; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 704(%rdi), %ymm1, %ymm15782; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm26 {%k1} = zmm28[0],zmm30[0],zmm28[2],zmm30[2],zmm28[4],zmm30[4],zmm28[6],zmm30[6]5783; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 {%k1} = zmm28[1],zmm30[1],zmm28[3],zmm30[3],zmm28[5],zmm30[5],zmm28[7],zmm30[7]5784; AVX512DQ-BW-FCP-NEXT: vmovdqa 512(%rdi), %xmm65785; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm65786; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm7 = ymm6[0],ymm1[0],ymm6[2],ymm1[2]5787; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm7, %zmm29, %zmm75788; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm23 {%k1}5789; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm2[1],ymm0[3],ymm2[3]5790; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm23, %zmm05791; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm21 {%k1}5792; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm6[1],ymm1[1],ymm6[3],ymm1[3]5793; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm21, %zmm15794; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm11[0,1,2,3],ymm9[4,5,6,7]5795; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm26, %zmm25796; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm4 # 32-byte Folded Reload5797; AVX512DQ-BW-FCP-NEXT: # ymm4 = ymm4[0,1,2,3],mem[4,5,6,7]5798; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm5, %zmm45799; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3],ymm8[4,5,6,7]5800; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm14, %zmm35801; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm7, 64(%rsi)5802; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, (%rsi)5803; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 64(%rdx)5804; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, (%rdx)5805; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, 64(%rcx)5806; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload5807; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, (%rcx)5808; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, 64(%r8)5809; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm20, (%r8)5810; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, 64(%r9)5811; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, (%r9)5812; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax5813; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, 64(%rax)5814; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, (%rax)5815; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax5816; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, 64(%rax)5817; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm16, (%rax)5818; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax5819; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, 64(%rax)5820; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, (%rax)5821; AVX512DQ-BW-FCP-NEXT: addq $264, %rsp # imm = 0x1085822; AVX512DQ-BW-FCP-NEXT: vzeroupper5823; AVX512DQ-BW-FCP-NEXT: retq5824 %wide.vec = load <128 x i64>, ptr %in.vec, align 645825 %strided.vec0 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <16 x i32> <i32 0, i32 8, i32 16, i32 24, i32 32, i32 40, i32 48, i32 56, i32 64, i32 72, i32 80, i32 88, i32 96, i32 104, i32 112, i32 120>5826 %strided.vec1 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <16 x i32> <i32 1, i32 9, i32 17, i32 25, i32 33, i32 41, i32 49, i32 57, i32 65, i32 73, i32 81, i32 89, i32 97, i32 105, i32 113, i32 121>5827 %strided.vec2 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <16 x i32> <i32 2, i32 10, i32 18, i32 26, i32 34, i32 42, i32 50, i32 58, i32 66, i32 74, i32 82, i32 90, i32 98, i32 106, i32 114, i32 122>5828 %strided.vec3 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <16 x i32> <i32 3, i32 11, i32 19, i32 27, i32 35, i32 43, i32 51, i32 59, i32 67, i32 75, i32 83, i32 91, i32 99, i32 107, i32 115, i32 123>5829 %strided.vec4 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <16 x i32> <i32 4, i32 12, i32 20, i32 28, i32 36, i32 44, i32 52, i32 60, i32 68, i32 76, i32 84, i32 92, i32 100, i32 108, i32 116, i32 124>5830 %strided.vec5 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <16 x i32> <i32 5, i32 13, i32 21, i32 29, i32 37, i32 45, i32 53, i32 61, i32 69, i32 77, i32 85, i32 93, i32 101, i32 109, i32 117, i32 125>5831 %strided.vec6 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <16 x i32> <i32 6, i32 14, i32 22, i32 30, i32 38, i32 46, i32 54, i32 62, i32 70, i32 78, i32 86, i32 94, i32 102, i32 110, i32 118, i32 126>5832 %strided.vec7 = shufflevector <128 x i64> %wide.vec, <128 x i64> poison, <16 x i32> <i32 7, i32 15, i32 23, i32 31, i32 39, i32 47, i32 55, i32 63, i32 71, i32 79, i32 87, i32 95, i32 103, i32 111, i32 119, i32 127>5833 store <16 x i64> %strided.vec0, ptr %out.vec0, align 645834 store <16 x i64> %strided.vec1, ptr %out.vec1, align 645835 store <16 x i64> %strided.vec2, ptr %out.vec2, align 645836 store <16 x i64> %strided.vec3, ptr %out.vec3, align 645837 store <16 x i64> %strided.vec4, ptr %out.vec4, align 645838 store <16 x i64> %strided.vec5, ptr %out.vec5, align 645839 store <16 x i64> %strided.vec6, ptr %out.vec6, align 645840 store <16 x i64> %strided.vec7, ptr %out.vec7, align 645841 ret void5842}5843 5844define void @load_i64_stride8_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, ptr %out.vec7) nounwind {5845; SSE-LABEL: load_i64_stride8_vf32:5846; SSE: # %bb.0:5847; SSE-NEXT: subq $1688, %rsp # imm = 0x6985848; SSE-NEXT: movaps 832(%rdi), %xmm05849; SSE-NEXT: movaps 320(%rdi), %xmm25850; SSE-NEXT: movaps 256(%rdi), %xmm85851; SSE-NEXT: movaps 960(%rdi), %xmm15852; SSE-NEXT: movaps 896(%rdi), %xmm105853; SSE-NEXT: movaps 448(%rdi), %xmm45854; SSE-NEXT: movaps 384(%rdi), %xmm95855; SSE-NEXT: movaps 576(%rdi), %xmm35856; SSE-NEXT: movaps 512(%rdi), %xmm125857; SSE-NEXT: movaps 64(%rdi), %xmm65858; SSE-NEXT: movaps (%rdi), %xmm115859; SSE-NEXT: movaps 704(%rdi), %xmm55860; SSE-NEXT: movaps 640(%rdi), %xmm145861; SSE-NEXT: movaps 192(%rdi), %xmm75862; SSE-NEXT: movaps 128(%rdi), %xmm135863; SSE-NEXT: movaps %xmm13, %xmm155864; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm7[0]5865; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5866; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm7[1]5867; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5868; SSE-NEXT: movaps %xmm11, %xmm75869; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm6[0]5870; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5871; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm6[1]5872; SSE-NEXT: movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5873; SSE-NEXT: movaps %xmm9, %xmm65874; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm4[0]5875; SSE-NEXT: movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5876; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm4[1]5877; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5878; SSE-NEXT: movaps %xmm8, %xmm45879; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm2[0]5880; SSE-NEXT: movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5881; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm2[1]5882; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5883; SSE-NEXT: movaps %xmm14, %xmm25884; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm5[0]5885; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5886; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm5[1]5887; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5888; SSE-NEXT: movaps %xmm12, %xmm25889; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm3[0]5890; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5891; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm3[1]5892; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5893; SSE-NEXT: movaps %xmm10, %xmm25894; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]5895; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5896; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm1[1]5897; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5898; SSE-NEXT: movaps 768(%rdi), %xmm15899; SSE-NEXT: movaps %xmm1, %xmm25900; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5901; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5902; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5903; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5904; SSE-NEXT: movaps 1216(%rdi), %xmm05905; SSE-NEXT: movaps 1152(%rdi), %xmm15906; SSE-NEXT: movaps %xmm1, %xmm25907; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5908; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5909; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5910; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5911; SSE-NEXT: movaps 1088(%rdi), %xmm05912; SSE-NEXT: movaps 1024(%rdi), %xmm15913; SSE-NEXT: movaps %xmm1, %xmm25914; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5915; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5916; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5917; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5918; SSE-NEXT: movaps 1472(%rdi), %xmm05919; SSE-NEXT: movaps 1408(%rdi), %xmm15920; SSE-NEXT: movaps %xmm1, %xmm25921; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5922; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5923; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5924; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5925; SSE-NEXT: movaps 1344(%rdi), %xmm05926; SSE-NEXT: movaps 1280(%rdi), %xmm15927; SSE-NEXT: movaps %xmm1, %xmm25928; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5929; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5930; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5931; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5932; SSE-NEXT: movaps 1728(%rdi), %xmm05933; SSE-NEXT: movaps 1664(%rdi), %xmm15934; SSE-NEXT: movaps %xmm1, %xmm25935; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5936; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5937; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5938; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5939; SSE-NEXT: movaps 1600(%rdi), %xmm05940; SSE-NEXT: movaps 1536(%rdi), %xmm15941; SSE-NEXT: movaps %xmm1, %xmm25942; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5943; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5944; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5945; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5946; SSE-NEXT: movaps 1984(%rdi), %xmm05947; SSE-NEXT: movaps 1920(%rdi), %xmm15948; SSE-NEXT: movaps %xmm1, %xmm25949; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5950; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5951; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5952; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5953; SSE-NEXT: movaps 1856(%rdi), %xmm05954; SSE-NEXT: movaps 1792(%rdi), %xmm15955; SSE-NEXT: movaps %xmm1, %xmm25956; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5957; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5958; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5959; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5960; SSE-NEXT: movaps 80(%rdi), %xmm05961; SSE-NEXT: movaps 16(%rdi), %xmm15962; SSE-NEXT: movaps %xmm1, %xmm25963; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5964; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5965; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5966; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5967; SSE-NEXT: movaps 208(%rdi), %xmm05968; SSE-NEXT: movaps 144(%rdi), %xmm15969; SSE-NEXT: movaps %xmm1, %xmm25970; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5971; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5972; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5973; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5974; SSE-NEXT: movaps 336(%rdi), %xmm05975; SSE-NEXT: movaps 272(%rdi), %xmm15976; SSE-NEXT: movaps %xmm1, %xmm25977; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5978; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5979; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5980; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5981; SSE-NEXT: movaps 464(%rdi), %xmm05982; SSE-NEXT: movaps 400(%rdi), %xmm15983; SSE-NEXT: movaps %xmm1, %xmm25984; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5985; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5986; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5987; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5988; SSE-NEXT: movaps 592(%rdi), %xmm05989; SSE-NEXT: movaps 528(%rdi), %xmm15990; SSE-NEXT: movaps %xmm1, %xmm25991; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5992; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5993; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]5994; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5995; SSE-NEXT: movaps 720(%rdi), %xmm05996; SSE-NEXT: movaps 656(%rdi), %xmm15997; SSE-NEXT: movaps %xmm1, %xmm25998; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]5999; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6000; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6001; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6002; SSE-NEXT: movaps 848(%rdi), %xmm06003; SSE-NEXT: movaps 784(%rdi), %xmm16004; SSE-NEXT: movaps %xmm1, %xmm26005; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6006; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6007; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6008; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6009; SSE-NEXT: movaps 976(%rdi), %xmm06010; SSE-NEXT: movaps 912(%rdi), %xmm16011; SSE-NEXT: movaps %xmm1, %xmm26012; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6013; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6014; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6015; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6016; SSE-NEXT: movaps 1104(%rdi), %xmm06017; SSE-NEXT: movaps 1040(%rdi), %xmm16018; SSE-NEXT: movaps %xmm1, %xmm26019; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6020; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6021; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6022; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6023; SSE-NEXT: movaps 1232(%rdi), %xmm06024; SSE-NEXT: movaps 1168(%rdi), %xmm16025; SSE-NEXT: movaps %xmm1, %xmm26026; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6027; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6028; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6029; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6030; SSE-NEXT: movaps 1360(%rdi), %xmm06031; SSE-NEXT: movaps 1296(%rdi), %xmm16032; SSE-NEXT: movaps %xmm1, %xmm26033; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6034; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6035; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6036; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6037; SSE-NEXT: movaps 1488(%rdi), %xmm06038; SSE-NEXT: movaps 1424(%rdi), %xmm16039; SSE-NEXT: movaps %xmm1, %xmm26040; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6041; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6042; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6043; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6044; SSE-NEXT: movaps 1616(%rdi), %xmm06045; SSE-NEXT: movaps 1552(%rdi), %xmm16046; SSE-NEXT: movaps %xmm1, %xmm26047; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6048; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6049; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6050; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6051; SSE-NEXT: movaps 1744(%rdi), %xmm06052; SSE-NEXT: movaps 1680(%rdi), %xmm16053; SSE-NEXT: movaps %xmm1, %xmm26054; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6055; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6056; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6057; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6058; SSE-NEXT: movaps 1872(%rdi), %xmm06059; SSE-NEXT: movaps 1808(%rdi), %xmm16060; SSE-NEXT: movaps %xmm1, %xmm26061; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6062; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6063; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6064; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6065; SSE-NEXT: movaps 2000(%rdi), %xmm06066; SSE-NEXT: movaps 1936(%rdi), %xmm16067; SSE-NEXT: movaps %xmm1, %xmm26068; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6069; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6070; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6071; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6072; SSE-NEXT: movaps 96(%rdi), %xmm06073; SSE-NEXT: movaps 32(%rdi), %xmm16074; SSE-NEXT: movaps %xmm1, %xmm26075; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6076; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6077; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6078; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6079; SSE-NEXT: movaps 224(%rdi), %xmm06080; SSE-NEXT: movaps 160(%rdi), %xmm16081; SSE-NEXT: movaps %xmm1, %xmm26082; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6083; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6084; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6085; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6086; SSE-NEXT: movaps 352(%rdi), %xmm06087; SSE-NEXT: movaps 288(%rdi), %xmm16088; SSE-NEXT: movaps %xmm1, %xmm26089; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6090; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6091; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6092; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6093; SSE-NEXT: movaps 480(%rdi), %xmm06094; SSE-NEXT: movaps 416(%rdi), %xmm16095; SSE-NEXT: movaps %xmm1, %xmm26096; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6097; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6098; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6099; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6100; SSE-NEXT: movaps 608(%rdi), %xmm06101; SSE-NEXT: movaps 544(%rdi), %xmm16102; SSE-NEXT: movaps %xmm1, %xmm26103; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6104; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6105; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6106; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6107; SSE-NEXT: movaps 736(%rdi), %xmm06108; SSE-NEXT: movaps 672(%rdi), %xmm16109; SSE-NEXT: movaps %xmm1, %xmm26110; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6111; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6112; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6113; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6114; SSE-NEXT: movaps 864(%rdi), %xmm06115; SSE-NEXT: movaps 800(%rdi), %xmm16116; SSE-NEXT: movaps %xmm1, %xmm26117; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6118; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6119; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6120; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6121; SSE-NEXT: movaps 992(%rdi), %xmm06122; SSE-NEXT: movaps 928(%rdi), %xmm16123; SSE-NEXT: movaps %xmm1, %xmm26124; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6125; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6126; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6127; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6128; SSE-NEXT: movaps 1120(%rdi), %xmm06129; SSE-NEXT: movaps 1056(%rdi), %xmm16130; SSE-NEXT: movaps %xmm1, %xmm26131; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6132; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6133; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6134; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6135; SSE-NEXT: movaps 1248(%rdi), %xmm06136; SSE-NEXT: movaps 1184(%rdi), %xmm16137; SSE-NEXT: movaps %xmm1, %xmm26138; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6139; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6140; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6141; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6142; SSE-NEXT: movaps 1376(%rdi), %xmm06143; SSE-NEXT: movaps 1312(%rdi), %xmm16144; SSE-NEXT: movaps %xmm1, %xmm26145; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6146; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6147; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6148; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6149; SSE-NEXT: movaps 1504(%rdi), %xmm06150; SSE-NEXT: movaps 1440(%rdi), %xmm16151; SSE-NEXT: movaps %xmm1, %xmm26152; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6153; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6154; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6155; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6156; SSE-NEXT: movaps 1632(%rdi), %xmm06157; SSE-NEXT: movaps 1568(%rdi), %xmm16158; SSE-NEXT: movaps %xmm1, %xmm26159; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6160; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6161; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6162; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6163; SSE-NEXT: movaps 1760(%rdi), %xmm06164; SSE-NEXT: movaps 1696(%rdi), %xmm16165; SSE-NEXT: movaps %xmm1, %xmm26166; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6167; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6168; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6169; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6170; SSE-NEXT: movaps 1888(%rdi), %xmm06171; SSE-NEXT: movaps 1824(%rdi), %xmm16172; SSE-NEXT: movaps %xmm1, %xmm26173; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6174; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6175; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6176; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6177; SSE-NEXT: movaps 2016(%rdi), %xmm06178; SSE-NEXT: movaps 1952(%rdi), %xmm16179; SSE-NEXT: movaps %xmm1, %xmm26180; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6181; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6182; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6183; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6184; SSE-NEXT: movaps 112(%rdi), %xmm06185; SSE-NEXT: movaps 48(%rdi), %xmm16186; SSE-NEXT: movaps %xmm1, %xmm26187; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6188; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6189; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6190; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6191; SSE-NEXT: movaps 240(%rdi), %xmm06192; SSE-NEXT: movaps 176(%rdi), %xmm16193; SSE-NEXT: movaps %xmm1, %xmm26194; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6195; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6196; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6197; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6198; SSE-NEXT: movaps 368(%rdi), %xmm06199; SSE-NEXT: movaps 304(%rdi), %xmm16200; SSE-NEXT: movaps %xmm1, %xmm26201; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6202; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6203; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6204; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6205; SSE-NEXT: movaps 496(%rdi), %xmm06206; SSE-NEXT: movaps 432(%rdi), %xmm16207; SSE-NEXT: movaps %xmm1, %xmm26208; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6209; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6210; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6211; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6212; SSE-NEXT: movaps 624(%rdi), %xmm06213; SSE-NEXT: movaps 560(%rdi), %xmm16214; SSE-NEXT: movaps %xmm1, %xmm26215; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6216; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6217; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6218; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6219; SSE-NEXT: movaps 752(%rdi), %xmm06220; SSE-NEXT: movaps 688(%rdi), %xmm16221; SSE-NEXT: movaps %xmm1, %xmm26222; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6223; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6224; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6225; SSE-NEXT: movaps %xmm1, (%rsp) # 16-byte Spill6226; SSE-NEXT: movaps 880(%rdi), %xmm06227; SSE-NEXT: movaps 816(%rdi), %xmm16228; SSE-NEXT: movaps %xmm1, %xmm26229; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]6230; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6231; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6232; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6233; SSE-NEXT: movaps 1008(%rdi), %xmm06234; SSE-NEXT: movaps 944(%rdi), %xmm126235; SSE-NEXT: movaps %xmm12, %xmm16236; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]6237; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6238; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]6239; SSE-NEXT: movaps 1136(%rdi), %xmm06240; SSE-NEXT: movaps 1072(%rdi), %xmm116241; SSE-NEXT: movaps %xmm11, %xmm16242; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]6243; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6244; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm0[1]6245; SSE-NEXT: movaps 1264(%rdi), %xmm06246; SSE-NEXT: movaps 1200(%rdi), %xmm146247; SSE-NEXT: movaps %xmm14, %xmm16248; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]6249; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6250; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]6251; SSE-NEXT: movaps 1392(%rdi), %xmm06252; SSE-NEXT: movaps 1328(%rdi), %xmm136253; SSE-NEXT: movaps %xmm13, %xmm156254; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm0[0]6255; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm0[1]6256; SSE-NEXT: movaps 1520(%rdi), %xmm06257; SSE-NEXT: movaps 1456(%rdi), %xmm76258; SSE-NEXT: movaps %xmm7, %xmm106259; SSE-NEXT: movlhps {{.*#+}} xmm10 = xmm10[0],xmm0[0]6260; SSE-NEXT: unpckhpd {{.*#+}} xmm7 = xmm7[1],xmm0[1]6261; SSE-NEXT: movaps 1648(%rdi), %xmm06262; SSE-NEXT: movaps 1584(%rdi), %xmm56263; SSE-NEXT: movaps %xmm5, %xmm96264; SSE-NEXT: movlhps {{.*#+}} xmm9 = xmm9[0],xmm0[0]6265; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm0[1]6266; SSE-NEXT: movaps 1776(%rdi), %xmm06267; SSE-NEXT: movaps 1712(%rdi), %xmm46268; SSE-NEXT: movaps %xmm4, %xmm86269; SSE-NEXT: movlhps {{.*#+}} xmm8 = xmm8[0],xmm0[0]6270; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm0[1]6271; SSE-NEXT: movaps 1904(%rdi), %xmm06272; SSE-NEXT: movaps 1840(%rdi), %xmm16273; SSE-NEXT: movaps %xmm1, %xmm66274; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm0[0]6275; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]6276; SSE-NEXT: movaps 2032(%rdi), %xmm06277; SSE-NEXT: movaps 1968(%rdi), %xmm26278; SSE-NEXT: movaps %xmm2, %xmm36279; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm0[0]6280; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]6281; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6282; SSE-NEXT: movaps %xmm0, 224(%rsi)6283; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6284; SSE-NEXT: movaps %xmm0, 160(%rsi)6285; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6286; SSE-NEXT: movaps %xmm0, 96(%rsi)6287; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6288; SSE-NEXT: movaps %xmm0, 32(%rsi)6289; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6290; SSE-NEXT: movaps %xmm0, 240(%rsi)6291; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6292; SSE-NEXT: movaps %xmm0, 176(%rsi)6293; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6294; SSE-NEXT: movaps %xmm0, 112(%rsi)6295; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6296; SSE-NEXT: movaps %xmm0, 48(%rsi)6297; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6298; SSE-NEXT: movaps %xmm0, 192(%rsi)6299; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6300; SSE-NEXT: movaps %xmm0, 128(%rsi)6301; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6302; SSE-NEXT: movaps %xmm0, 64(%rsi)6303; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6304; SSE-NEXT: movaps %xmm0, (%rsi)6305; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6306; SSE-NEXT: movaps %xmm0, 208(%rsi)6307; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6308; SSE-NEXT: movaps %xmm0, 144(%rsi)6309; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6310; SSE-NEXT: movaps %xmm0, 80(%rsi)6311; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6312; SSE-NEXT: movaps %xmm0, 16(%rsi)6313; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6314; SSE-NEXT: movaps %xmm0, 224(%rdx)6315; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6316; SSE-NEXT: movaps %xmm0, 240(%rdx)6317; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6318; SSE-NEXT: movaps %xmm0, 192(%rdx)6319; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6320; SSE-NEXT: movaps %xmm0, 208(%rdx)6321; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6322; SSE-NEXT: movaps %xmm0, 160(%rdx)6323; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6324; SSE-NEXT: movaps %xmm0, 176(%rdx)6325; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6326; SSE-NEXT: movaps %xmm0, 128(%rdx)6327; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6328; SSE-NEXT: movaps %xmm0, 144(%rdx)6329; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6330; SSE-NEXT: movaps %xmm0, 96(%rdx)6331; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6332; SSE-NEXT: movaps %xmm0, 112(%rdx)6333; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6334; SSE-NEXT: movaps %xmm0, 64(%rdx)6335; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6336; SSE-NEXT: movaps %xmm0, 80(%rdx)6337; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6338; SSE-NEXT: movaps %xmm0, 32(%rdx)6339; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6340; SSE-NEXT: movaps %xmm0, 48(%rdx)6341; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6342; SSE-NEXT: movaps %xmm0, (%rdx)6343; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6344; SSE-NEXT: movaps %xmm0, 16(%rdx)6345; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6346; SSE-NEXT: movaps %xmm0, 240(%rcx)6347; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6348; SSE-NEXT: movaps %xmm0, 224(%rcx)6349; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6350; SSE-NEXT: movaps %xmm0, 208(%rcx)6351; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6352; SSE-NEXT: movaps %xmm0, 192(%rcx)6353; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6354; SSE-NEXT: movaps %xmm0, 176(%rcx)6355; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6356; SSE-NEXT: movaps %xmm0, 160(%rcx)6357; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6358; SSE-NEXT: movaps %xmm0, 144(%rcx)6359; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6360; SSE-NEXT: movaps %xmm0, 128(%rcx)6361; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6362; SSE-NEXT: movaps %xmm0, 112(%rcx)6363; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6364; SSE-NEXT: movaps %xmm0, 96(%rcx)6365; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6366; SSE-NEXT: movaps %xmm0, 80(%rcx)6367; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6368; SSE-NEXT: movaps %xmm0, 64(%rcx)6369; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6370; SSE-NEXT: movaps %xmm0, 48(%rcx)6371; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6372; SSE-NEXT: movaps %xmm0, 32(%rcx)6373; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6374; SSE-NEXT: movaps %xmm0, 16(%rcx)6375; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6376; SSE-NEXT: movaps %xmm0, (%rcx)6377; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6378; SSE-NEXT: movaps %xmm0, 240(%r8)6379; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6380; SSE-NEXT: movaps %xmm0, 224(%r8)6381; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6382; SSE-NEXT: movaps %xmm0, 208(%r8)6383; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6384; SSE-NEXT: movaps %xmm0, 192(%r8)6385; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6386; SSE-NEXT: movaps %xmm0, 176(%r8)6387; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6388; SSE-NEXT: movaps %xmm0, 160(%r8)6389; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6390; SSE-NEXT: movaps %xmm0, 144(%r8)6391; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6392; SSE-NEXT: movaps %xmm0, 128(%r8)6393; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6394; SSE-NEXT: movaps %xmm0, 112(%r8)6395; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6396; SSE-NEXT: movaps %xmm0, 96(%r8)6397; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6398; SSE-NEXT: movaps %xmm0, 80(%r8)6399; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6400; SSE-NEXT: movaps %xmm0, 64(%r8)6401; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6402; SSE-NEXT: movaps %xmm0, 48(%r8)6403; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6404; SSE-NEXT: movaps %xmm0, 32(%r8)6405; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6406; SSE-NEXT: movaps %xmm0, 16(%r8)6407; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6408; SSE-NEXT: movaps %xmm0, (%r8)6409; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6410; SSE-NEXT: movaps %xmm0, 240(%r9)6411; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6412; SSE-NEXT: movaps %xmm0, 224(%r9)6413; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6414; SSE-NEXT: movaps %xmm0, 208(%r9)6415; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6416; SSE-NEXT: movaps %xmm0, 192(%r9)6417; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6418; SSE-NEXT: movaps %xmm0, 176(%r9)6419; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6420; SSE-NEXT: movaps %xmm0, 160(%r9)6421; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6422; SSE-NEXT: movaps %xmm0, 144(%r9)6423; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6424; SSE-NEXT: movaps %xmm0, 128(%r9)6425; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6426; SSE-NEXT: movaps %xmm0, 112(%r9)6427; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6428; SSE-NEXT: movaps %xmm0, 96(%r9)6429; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6430; SSE-NEXT: movaps %xmm0, 80(%r9)6431; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6432; SSE-NEXT: movaps %xmm0, 64(%r9)6433; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6434; SSE-NEXT: movaps %xmm0, 48(%r9)6435; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6436; SSE-NEXT: movaps %xmm0, 32(%r9)6437; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6438; SSE-NEXT: movaps %xmm0, 16(%r9)6439; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6440; SSE-NEXT: movaps %xmm0, (%r9)6441; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax6442; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6443; SSE-NEXT: movaps %xmm0, 240(%rax)6444; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6445; SSE-NEXT: movaps %xmm0, 224(%rax)6446; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6447; SSE-NEXT: movaps %xmm0, 208(%rax)6448; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6449; SSE-NEXT: movaps %xmm0, 192(%rax)6450; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6451; SSE-NEXT: movaps %xmm0, 176(%rax)6452; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6453; SSE-NEXT: movaps %xmm0, 160(%rax)6454; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6455; SSE-NEXT: movaps %xmm0, 144(%rax)6456; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6457; SSE-NEXT: movaps %xmm0, 128(%rax)6458; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6459; SSE-NEXT: movaps %xmm0, 112(%rax)6460; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6461; SSE-NEXT: movaps %xmm0, 96(%rax)6462; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6463; SSE-NEXT: movaps %xmm0, 80(%rax)6464; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6465; SSE-NEXT: movaps %xmm0, 64(%rax)6466; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6467; SSE-NEXT: movaps %xmm0, 48(%rax)6468; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6469; SSE-NEXT: movaps %xmm0, 32(%rax)6470; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6471; SSE-NEXT: movaps %xmm0, 16(%rax)6472; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6473; SSE-NEXT: movaps %xmm0, (%rax)6474; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax6475; SSE-NEXT: movaps %xmm3, 240(%rax)6476; SSE-NEXT: movaps %xmm6, 224(%rax)6477; SSE-NEXT: movaps %xmm8, 208(%rax)6478; SSE-NEXT: movaps %xmm9, 192(%rax)6479; SSE-NEXT: movaps %xmm10, 176(%rax)6480; SSE-NEXT: movaps %xmm15, 160(%rax)6481; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6482; SSE-NEXT: movaps %xmm0, 144(%rax)6483; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6484; SSE-NEXT: movaps %xmm0, 128(%rax)6485; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6486; SSE-NEXT: movaps %xmm0, 112(%rax)6487; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6488; SSE-NEXT: movaps %xmm0, 96(%rax)6489; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6490; SSE-NEXT: movaps %xmm0, 80(%rax)6491; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6492; SSE-NEXT: movaps %xmm0, 64(%rax)6493; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6494; SSE-NEXT: movaps %xmm0, 48(%rax)6495; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6496; SSE-NEXT: movaps %xmm0, 32(%rax)6497; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6498; SSE-NEXT: movaps %xmm0, 16(%rax)6499; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6500; SSE-NEXT: movaps %xmm0, (%rax)6501; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax6502; SSE-NEXT: movaps %xmm2, 240(%rax)6503; SSE-NEXT: movaps %xmm1, 224(%rax)6504; SSE-NEXT: movaps %xmm4, 208(%rax)6505; SSE-NEXT: movaps %xmm5, 192(%rax)6506; SSE-NEXT: movaps %xmm7, 176(%rax)6507; SSE-NEXT: movaps %xmm13, 160(%rax)6508; SSE-NEXT: movaps %xmm14, 144(%rax)6509; SSE-NEXT: movaps %xmm11, 128(%rax)6510; SSE-NEXT: movaps %xmm12, 112(%rax)6511; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6512; SSE-NEXT: movaps %xmm0, 96(%rax)6513; SSE-NEXT: movaps (%rsp), %xmm0 # 16-byte Reload6514; SSE-NEXT: movaps %xmm0, 80(%rax)6515; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6516; SSE-NEXT: movaps %xmm0, 64(%rax)6517; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6518; SSE-NEXT: movaps %xmm0, 48(%rax)6519; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6520; SSE-NEXT: movaps %xmm0, 32(%rax)6521; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6522; SSE-NEXT: movaps %xmm0, 16(%rax)6523; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6524; SSE-NEXT: movaps %xmm0, (%rax)6525; SSE-NEXT: addq $1688, %rsp # imm = 0x6986526; SSE-NEXT: retq6527;6528; AVX-LABEL: load_i64_stride8_vf32:6529; AVX: # %bb.0:6530; AVX-NEXT: subq $2216, %rsp # imm = 0x8A86531; AVX-NEXT: vmovaps 192(%rdi), %xmm26532; AVX-NEXT: vmovaps 128(%rdi), %xmm36533; AVX-NEXT: vmovlhps {{.*#+}} xmm0 = xmm3[0],xmm2[0]6534; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6535; AVX-NEXT: vmovaps 704(%rdi), %xmm06536; AVX-NEXT: vmovaps 640(%rdi), %xmm16537; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm1[0],xmm0[0]6538; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6539; AVX-NEXT: vmovaps 1216(%rdi), %xmm46540; AVX-NEXT: vmovaps 1152(%rdi), %xmm66541; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm6[0],xmm4[0]6542; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6543; AVX-NEXT: vmovaps 64(%rdi), %xmm86544; AVX-NEXT: vmovaps (%rdi), %xmm96545; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm9[0],xmm8[0]6546; AVX-NEXT: vmovaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6547; AVX-NEXT: vmovaps 576(%rdi), %xmm56548; AVX-NEXT: vmovaps 512(%rdi), %xmm76549; AVX-NEXT: vmovlhps {{.*#+}} xmm10 = xmm7[0],xmm5[0]6550; AVX-NEXT: vmovaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6551; AVX-NEXT: vmovaps 1088(%rdi), %xmm106552; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]6553; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6554; AVX-NEXT: vmovaps 1024(%rdi), %xmm26555; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm9[1],xmm8[1]6556; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6557; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm2[0],xmm10[0]6558; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6559; AVX-NEXT: vunpckhpd {{.*#+}} xmm3 = xmm6[1],xmm4[1]6560; AVX-NEXT: vmovaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6561; AVX-NEXT: vmovaps 1600(%rdi), %xmm36562; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm2[1],xmm10[1]6563; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6564; AVX-NEXT: vmovaps 1728(%rdi), %xmm26565; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6566; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6567; AVX-NEXT: vmovaps 1664(%rdi), %xmm06568; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm7[1],xmm5[1]6569; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6570; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm2[0]6571; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6572; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]6573; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6574; AVX-NEXT: vmovaps 1536(%rdi), %xmm06575; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm3[0]6576; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6577; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm3[1]6578; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6579; AVX-NEXT: vmovaps 448(%rdi), %xmm06580; AVX-NEXT: vmovaps 384(%rdi), %xmm16581; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6582; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6583; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6584; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6585; AVX-NEXT: vmovaps 320(%rdi), %xmm06586; AVX-NEXT: vmovaps 256(%rdi), %xmm16587; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6588; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6589; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6590; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6591; AVX-NEXT: vmovaps 1472(%rdi), %xmm06592; AVX-NEXT: vmovaps 1408(%rdi), %xmm16593; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6594; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6595; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6596; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6597; AVX-NEXT: vmovaps 1344(%rdi), %xmm06598; AVX-NEXT: vmovaps 1280(%rdi), %xmm16599; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6600; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6601; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6602; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6603; AVX-NEXT: vmovaps 960(%rdi), %xmm06604; AVX-NEXT: vmovaps 896(%rdi), %xmm16605; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6606; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6607; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6608; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6609; AVX-NEXT: vmovaps 832(%rdi), %xmm06610; AVX-NEXT: vmovaps 768(%rdi), %xmm16611; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6612; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6613; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6614; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6615; AVX-NEXT: vmovaps 1984(%rdi), %xmm06616; AVX-NEXT: vmovaps 1920(%rdi), %xmm16617; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6618; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6619; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6620; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6621; AVX-NEXT: vmovaps 1856(%rdi), %xmm06622; AVX-NEXT: vmovaps 1792(%rdi), %xmm16623; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6624; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6625; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6626; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6627; AVX-NEXT: vmovaps 192(%rdi), %ymm16628; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6629; AVX-NEXT: vmovaps 128(%rdi), %ymm06630; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6631; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6632; AVX-NEXT: vmovaps 80(%rdi), %xmm26633; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6634; AVX-NEXT: vmovaps 16(%rdi), %xmm16635; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6636; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]6637; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6638; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6639; AVX-NEXT: vmovaps 704(%rdi), %ymm16640; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6641; AVX-NEXT: vmovaps 640(%rdi), %ymm06642; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6643; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6644; AVX-NEXT: vmovaps 592(%rdi), %xmm26645; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6646; AVX-NEXT: vmovaps 528(%rdi), %xmm16647; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6648; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]6649; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6650; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6651; AVX-NEXT: vmovaps 1216(%rdi), %ymm16652; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6653; AVX-NEXT: vmovaps 1152(%rdi), %ymm06654; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6655; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6656; AVX-NEXT: vmovaps 1104(%rdi), %xmm26657; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6658; AVX-NEXT: vmovaps 1040(%rdi), %xmm16659; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6660; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]6661; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6662; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6663; AVX-NEXT: vmovaps 1728(%rdi), %ymm16664; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6665; AVX-NEXT: vmovaps 1664(%rdi), %ymm06666; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6667; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6668; AVX-NEXT: vmovaps 1616(%rdi), %xmm146669; AVX-NEXT: vmovaps 1552(%rdi), %xmm126670; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm12[0],xmm14[0]6671; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6672; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6673; AVX-NEXT: vmovaps 1984(%rdi), %ymm16674; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6675; AVX-NEXT: vmovaps 1920(%rdi), %ymm06676; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6677; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6678; AVX-NEXT: vmovaps 1872(%rdi), %xmm26679; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6680; AVX-NEXT: vmovaps 1808(%rdi), %xmm16681; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6682; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]6683; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6684; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6685; AVX-NEXT: vmovaps 1472(%rdi), %ymm116686; AVX-NEXT: vmovaps 1408(%rdi), %ymm106687; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]6688; AVX-NEXT: vmovaps 1360(%rdi), %xmm96689; AVX-NEXT: vmovaps 1296(%rdi), %xmm86690; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm8[0],xmm9[0]6691; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6692; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6693; AVX-NEXT: vmovaps 960(%rdi), %ymm76694; AVX-NEXT: vmovaps 896(%rdi), %ymm66695; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm6[0],ymm7[0],ymm6[2],ymm7[2]6696; AVX-NEXT: vmovaps 848(%rdi), %xmm56697; AVX-NEXT: vmovaps 784(%rdi), %xmm46698; AVX-NEXT: vmovlhps {{.*#+}} xmm13 = xmm4[0],xmm5[0]6699; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm13[0,1,2,3],ymm0[4,5,6,7]6700; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6701; AVX-NEXT: vmovaps 448(%rdi), %ymm36702; AVX-NEXT: vmovaps 384(%rdi), %ymm136703; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm13[0],ymm3[0],ymm13[2],ymm3[2]6704; AVX-NEXT: vmovaps 336(%rdi), %xmm26705; AVX-NEXT: vmovaps 272(%rdi), %xmm16706; AVX-NEXT: vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]6707; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]6708; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6709; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6710; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6711; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6712; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload6713; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload6714; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]6715; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]6716; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6717; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6718; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6719; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6720; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload6721; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload6722; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]6723; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]6724; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6725; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6726; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6727; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6728; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload6729; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload6730; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]6731; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]6732; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6733; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6734; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6735; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6736; AVX-NEXT: vunpckhpd {{.*#+}} xmm12 = xmm12[1],xmm14[1]6737; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5,6,7]6738; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6739; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm13[1],ymm3[1],ymm13[3],ymm3[3]6740; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]6741; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6742; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6743; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm6[1],ymm7[1],ymm6[3],ymm7[3]6744; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm5[1]6745; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6746; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6747; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]6748; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm8[1],xmm9[1]6749; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6750; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6751; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6752; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6753; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6754; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6755; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload6756; AVX-NEXT: # xmm1 = mem[0,1],xmm1[2,3]6757; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6758; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6759; AVX-NEXT: vmovaps 480(%rdi), %xmm06760; AVX-NEXT: vmovaps 416(%rdi), %xmm16761; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6762; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6763; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6764; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6765; AVX-NEXT: vmovaps 352(%rdi), %xmm06766; AVX-NEXT: vmovaps 288(%rdi), %xmm16767; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6768; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6769; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6770; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6771; AVX-NEXT: vmovaps 992(%rdi), %xmm06772; AVX-NEXT: vmovaps 928(%rdi), %xmm16773; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6774; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6775; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6776; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6777; AVX-NEXT: vmovaps 864(%rdi), %xmm06778; AVX-NEXT: vmovaps 800(%rdi), %xmm16779; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6780; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6781; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6782; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6783; AVX-NEXT: vmovaps 1120(%rdi), %xmm06784; AVX-NEXT: vmovaps 1056(%rdi), %xmm16785; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6786; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6787; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6788; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6789; AVX-NEXT: vmovaps 1248(%rdi), %xmm06790; AVX-NEXT: vmovaps 1184(%rdi), %xmm16791; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6792; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6793; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6794; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6795; AVX-NEXT: vmovaps 1504(%rdi), %xmm06796; AVX-NEXT: vmovaps 1440(%rdi), %xmm16797; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6798; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6799; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6800; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6801; AVX-NEXT: vmovaps 1376(%rdi), %xmm06802; AVX-NEXT: vmovaps 1312(%rdi), %xmm16803; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6804; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6805; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6806; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6807; AVX-NEXT: vmovaps 736(%rdi), %xmm06808; AVX-NEXT: vmovaps 672(%rdi), %xmm16809; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6810; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6811; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6812; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6813; AVX-NEXT: vmovaps 608(%rdi), %xmm06814; AVX-NEXT: vmovaps 544(%rdi), %xmm16815; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6816; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6817; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6818; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6819; AVX-NEXT: vmovaps 224(%rdi), %xmm06820; AVX-NEXT: vmovaps 160(%rdi), %xmm16821; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6822; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6823; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6824; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6825; AVX-NEXT: vmovaps 96(%rdi), %xmm06826; AVX-NEXT: vmovaps 32(%rdi), %xmm16827; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6828; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6829; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6830; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6831; AVX-NEXT: vmovaps 1632(%rdi), %xmm06832; AVX-NEXT: vmovaps 1568(%rdi), %xmm16833; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6834; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6835; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6836; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6837; AVX-NEXT: vmovaps 1760(%rdi), %xmm06838; AVX-NEXT: vmovaps 1696(%rdi), %xmm16839; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6840; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6841; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6842; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6843; AVX-NEXT: vmovaps 1888(%rdi), %xmm06844; AVX-NEXT: vmovaps 1824(%rdi), %xmm16845; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6846; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6847; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6848; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6849; AVX-NEXT: vmovaps 2016(%rdi), %xmm06850; AVX-NEXT: vmovaps 1952(%rdi), %xmm16851; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]6852; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6853; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]6854; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6855; AVX-NEXT: vmovaps 224(%rdi), %ymm16856; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6857; AVX-NEXT: vmovaps 160(%rdi), %ymm06858; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6859; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6860; AVX-NEXT: vmovaps 112(%rdi), %xmm26861; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6862; AVX-NEXT: vmovaps 48(%rdi), %xmm16863; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6864; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]6865; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6866; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6867; AVX-NEXT: vmovaps 480(%rdi), %ymm16868; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6869; AVX-NEXT: vmovaps 416(%rdi), %ymm06870; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6871; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6872; AVX-NEXT: vmovaps 368(%rdi), %xmm26873; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6874; AVX-NEXT: vmovaps 304(%rdi), %xmm16875; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6876; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]6877; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6878; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6879; AVX-NEXT: vmovaps 736(%rdi), %ymm16880; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6881; AVX-NEXT: vmovaps 672(%rdi), %ymm06882; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6883; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6884; AVX-NEXT: vmovaps 624(%rdi), %xmm26885; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6886; AVX-NEXT: vmovaps 560(%rdi), %xmm16887; AVX-NEXT: vmovaps %xmm1, (%rsp) # 16-byte Spill6888; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]6889; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6890; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6891; AVX-NEXT: vmovaps 992(%rdi), %ymm16892; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6893; AVX-NEXT: vmovaps 928(%rdi), %ymm06894; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6895; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6896; AVX-NEXT: vmovaps 880(%rdi), %xmm26897; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6898; AVX-NEXT: vmovaps 816(%rdi), %xmm16899; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6900; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]6901; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6902; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6903; AVX-NEXT: vmovaps 1248(%rdi), %ymm16904; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6905; AVX-NEXT: vmovaps 1184(%rdi), %ymm06906; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6907; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]6908; AVX-NEXT: vmovaps 1136(%rdi), %xmm146909; AVX-NEXT: vmovaps 1072(%rdi), %xmm136910; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm13[0],xmm14[0]6911; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6912; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6913; AVX-NEXT: vmovaps 1504(%rdi), %ymm126914; AVX-NEXT: vmovaps 1440(%rdi), %ymm116915; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]6916; AVX-NEXT: vmovaps 1392(%rdi), %xmm106917; AVX-NEXT: vmovaps 1328(%rdi), %xmm96918; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm9[0],xmm10[0]6919; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6920; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6921; AVX-NEXT: vmovaps 1760(%rdi), %ymm86922; AVX-NEXT: vmovaps 1696(%rdi), %ymm76923; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]6924; AVX-NEXT: vmovaps 1648(%rdi), %xmm66925; AVX-NEXT: vmovaps 1584(%rdi), %xmm56926; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm6[0]6927; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6928; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6929; AVX-NEXT: vmovaps 2016(%rdi), %ymm46930; AVX-NEXT: vmovaps 1952(%rdi), %ymm36931; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]6932; AVX-NEXT: vmovaps 1904(%rdi), %xmm26933; AVX-NEXT: vmovaps 1840(%rdi), %xmm16934; AVX-NEXT: vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]6935; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]6936; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6937; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6938; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6939; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6940; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload6941; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload6942; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]6943; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]6944; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6945; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6946; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6947; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6948; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload6949; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload6950; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]6951; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]6952; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6953; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6954; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6955; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6956; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload6957; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload6958; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]6959; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]6960; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6961; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6962; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6963; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6964; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload6965; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload6966; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]6967; AVX-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm0[4,5,6,7]6968; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6969; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload6970; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]6971; AVX-NEXT: vunpckhpd {{.*#+}} xmm13 = xmm13[1],xmm14[1]6972; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm0[4,5,6,7]6973; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]6974; AVX-NEXT: vunpckhpd {{.*#+}} xmm9 = xmm9[1],xmm10[1]6975; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm0[4,5,6,7]6976; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]6977; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm5[1],xmm6[1]6978; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]6979; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]6980; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]6981; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]6982; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6983; AVX-NEXT: vmovaps %xmm1, 240(%rsi)6984; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6985; AVX-NEXT: vmovaps %xmm1, 224(%rsi)6986; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6987; AVX-NEXT: vmovaps %xmm1, 32(%rsi)6988; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6989; AVX-NEXT: vmovaps %xmm1, 160(%rsi)6990; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6991; AVX-NEXT: vmovaps %xmm1, 96(%rsi)6992; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6993; AVX-NEXT: vmovaps %xmm1, 48(%rsi)6994; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6995; AVX-NEXT: vmovaps %xmm1, 176(%rsi)6996; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6997; AVX-NEXT: vmovaps %xmm1, 112(%rsi)6998; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6999; AVX-NEXT: vmovaps %xmm1, 208(%rsi)7000; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7001; AVX-NEXT: vmovaps %xmm1, 192(%rsi)7002; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7003; AVX-NEXT: vmovaps %xmm1, 128(%rsi)7004; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7005; AVX-NEXT: vmovaps %xmm1, 64(%rsi)7006; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7007; AVX-NEXT: vmovaps %xmm1, (%rsi)7008; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7009; AVX-NEXT: vmovaps %xmm1, 144(%rsi)7010; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7011; AVX-NEXT: vmovaps %xmm1, 80(%rsi)7012; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7013; AVX-NEXT: vmovaps %xmm1, 16(%rsi)7014; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7015; AVX-NEXT: vmovaps %xmm1, 224(%rdx)7016; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7017; AVX-NEXT: vmovaps %xmm1, 240(%rdx)7018; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7019; AVX-NEXT: vmovaps %xmm1, 96(%rdx)7020; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7021; AVX-NEXT: vmovaps %xmm1, 112(%rdx)7022; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7023; AVX-NEXT: vmovaps %xmm1, 160(%rdx)7024; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7025; AVX-NEXT: vmovaps %xmm1, 176(%rdx)7026; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7027; AVX-NEXT: vmovaps %xmm1, 32(%rdx)7028; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7029; AVX-NEXT: vmovaps %xmm1, 48(%rdx)7030; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7031; AVX-NEXT: vmovaps %xmm1, 192(%rdx)7032; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7033; AVX-NEXT: vmovaps %xmm1, 208(%rdx)7034; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7035; AVX-NEXT: vmovaps %xmm1, 64(%rdx)7036; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7037; AVX-NEXT: vmovaps %xmm1, 80(%rdx)7038; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7039; AVX-NEXT: vmovaps %xmm1, 128(%rdx)7040; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7041; AVX-NEXT: vmovaps %xmm1, 144(%rdx)7042; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7043; AVX-NEXT: vmovaps %xmm1, (%rdx)7044; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7045; AVX-NEXT: vmovaps %xmm1, 16(%rdx)7046; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7047; AVX-NEXT: vmovaps %ymm1, 32(%rcx)7048; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7049; AVX-NEXT: vmovaps %ymm1, 96(%rcx)7050; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7051; AVX-NEXT: vmovaps %ymm1, 160(%rcx)7052; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7053; AVX-NEXT: vmovaps %ymm1, 224(%rcx)7054; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7055; AVX-NEXT: vmovaps %ymm1, 192(%rcx)7056; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7057; AVX-NEXT: vmovaps %ymm1, 128(%rcx)7058; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7059; AVX-NEXT: vmovaps %ymm1, 64(%rcx)7060; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7061; AVX-NEXT: vmovaps %ymm1, (%rcx)7062; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7063; AVX-NEXT: vmovaps %ymm1, 224(%r8)7064; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7065; AVX-NEXT: vmovaps %ymm1, 160(%r8)7066; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7067; AVX-NEXT: vmovaps %ymm1, 96(%r8)7068; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7069; AVX-NEXT: vmovaps %ymm1, 32(%r8)7070; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7071; AVX-NEXT: vmovaps %ymm1, 192(%r8)7072; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7073; AVX-NEXT: vmovaps %ymm1, 128(%r8)7074; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7075; AVX-NEXT: vmovaps %ymm1, 64(%r8)7076; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7077; AVX-NEXT: vmovaps %ymm1, (%r8)7078; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7079; AVX-NEXT: vmovaps %xmm1, 240(%r9)7080; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7081; AVX-NEXT: vmovaps %xmm1, 224(%r9)7082; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7083; AVX-NEXT: vmovaps %xmm1, 48(%r9)7084; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7085; AVX-NEXT: vmovaps %xmm1, 160(%r9)7086; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7087; AVX-NEXT: vmovaps %xmm1, 176(%r9)7088; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7089; AVX-NEXT: vmovaps %xmm1, 96(%r9)7090; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7091; AVX-NEXT: vmovaps %xmm1, 112(%r9)7092; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7093; AVX-NEXT: vmovaps %xmm1, 32(%r9)7094; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7095; AVX-NEXT: vmovaps %xmm1, 16(%r9)7096; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7097; AVX-NEXT: vmovaps %xmm1, (%r9)7098; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7099; AVX-NEXT: vmovaps %xmm1, 192(%r9)7100; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7101; AVX-NEXT: vmovaps %xmm1, 208(%r9)7102; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7103; AVX-NEXT: vmovaps %xmm1, 128(%r9)7104; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7105; AVX-NEXT: vmovaps %xmm1, 144(%r9)7106; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7107; AVX-NEXT: vmovaps %xmm1, 64(%r9)7108; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7109; AVX-NEXT: vmovaps %xmm1, 80(%r9)7110; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax7111; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7112; AVX-NEXT: vmovaps %xmm1, 240(%rax)7113; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7114; AVX-NEXT: vmovaps %xmm1, 224(%rax)7115; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7116; AVX-NEXT: vmovaps %xmm1, 208(%rax)7117; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7118; AVX-NEXT: vmovaps %xmm1, 192(%rax)7119; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7120; AVX-NEXT: vmovaps %xmm1, (%rax)7121; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7122; AVX-NEXT: vmovaps %xmm1, 16(%rax)7123; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7124; AVX-NEXT: vmovaps %xmm1, 64(%rax)7125; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7126; AVX-NEXT: vmovaps %xmm1, 80(%rax)7127; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7128; AVX-NEXT: vmovaps %xmm1, 160(%rax)7129; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7130; AVX-NEXT: vmovaps %xmm1, 176(%rax)7131; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7132; AVX-NEXT: vmovaps %xmm1, 144(%rax)7133; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7134; AVX-NEXT: vmovaps %xmm1, 128(%rax)7135; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7136; AVX-NEXT: vmovaps %xmm1, 96(%rax)7137; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7138; AVX-NEXT: vmovaps %xmm1, 112(%rax)7139; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7140; AVX-NEXT: vmovaps %xmm1, 32(%rax)7141; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7142; AVX-NEXT: vmovaps %xmm1, 48(%rax)7143; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax7144; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7145; AVX-NEXT: vmovaps %ymm1, 224(%rax)7146; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7147; AVX-NEXT: vmovaps %ymm1, 192(%rax)7148; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7149; AVX-NEXT: vmovaps %ymm1, 160(%rax)7150; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7151; AVX-NEXT: vmovaps %ymm1, 128(%rax)7152; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7153; AVX-NEXT: vmovaps %ymm1, 96(%rax)7154; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7155; AVX-NEXT: vmovaps %ymm1, 64(%rax)7156; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7157; AVX-NEXT: vmovaps %ymm1, 32(%rax)7158; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7159; AVX-NEXT: vmovaps %ymm1, (%rax)7160; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax7161; AVX-NEXT: vmovaps %ymm0, 224(%rax)7162; AVX-NEXT: vmovaps %ymm5, 192(%rax)7163; AVX-NEXT: vmovaps %ymm9, 160(%rax)7164; AVX-NEXT: vmovaps %ymm13, 128(%rax)7165; AVX-NEXT: vmovaps %ymm15, 96(%rax)7166; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7167; AVX-NEXT: vmovaps %ymm0, 64(%rax)7168; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7169; AVX-NEXT: vmovaps %ymm0, 32(%rax)7170; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7171; AVX-NEXT: vmovaps %ymm0, (%rax)7172; AVX-NEXT: addq $2216, %rsp # imm = 0x8A87173; AVX-NEXT: vzeroupper7174; AVX-NEXT: retq7175;7176; AVX2-LABEL: load_i64_stride8_vf32:7177; AVX2: # %bb.0:7178; AVX2-NEXT: subq $2248, %rsp # imm = 0x8C87179; AVX2-NEXT: vmovaps 320(%rdi), %xmm07180; AVX2-NEXT: vinsertf128 $1, 448(%rdi), %ymm0, %ymm07181; AVX2-NEXT: vmovaps 256(%rdi), %xmm17182; AVX2-NEXT: vinsertf128 $1, 384(%rdi), %ymm1, %ymm17183; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7184; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7185; AVX2-NEXT: vmovaps 832(%rdi), %xmm27186; AVX2-NEXT: vinsertf128 $1, 960(%rdi), %ymm2, %ymm27187; AVX2-NEXT: vmovaps 768(%rdi), %xmm37188; AVX2-NEXT: vinsertf128 $1, 896(%rdi), %ymm3, %ymm37189; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7190; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7191; AVX2-NEXT: vmovaps 1344(%rdi), %xmm47192; AVX2-NEXT: vinsertf128 $1, 1472(%rdi), %ymm4, %ymm47193; AVX2-NEXT: vmovaps 1280(%rdi), %xmm57194; AVX2-NEXT: vinsertf128 $1, 1408(%rdi), %ymm5, %ymm57195; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]7196; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7197; AVX2-NEXT: vmovaps 1856(%rdi), %xmm67198; AVX2-NEXT: vinsertf128 $1, 1984(%rdi), %ymm6, %ymm67199; AVX2-NEXT: vmovaps 1792(%rdi), %xmm77200; AVX2-NEXT: vinsertf128 $1, 1920(%rdi), %ymm7, %ymm77201; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]7202; AVX2-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7203; AVX2-NEXT: vmovaps (%rdi), %xmm97204; AVX2-NEXT: vmovaps 64(%rdi), %xmm87205; AVX2-NEXT: vinsertf128 $1, 192(%rdi), %ymm8, %ymm87206; AVX2-NEXT: vinsertf128 $1, 128(%rdi), %ymm9, %ymm97207; AVX2-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]7208; AVX2-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7209; AVX2-NEXT: vmovaps 576(%rdi), %xmm107210; AVX2-NEXT: vinsertf128 $1, 704(%rdi), %ymm10, %ymm107211; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7212; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7213; AVX2-NEXT: vmovaps 512(%rdi), %xmm07214; AVX2-NEXT: vinsertf128 $1, 640(%rdi), %ymm0, %ymm07215; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]7216; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7217; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]7218; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7219; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]7220; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7221; AVX2-NEXT: vmovaps 1088(%rdi), %xmm17222; AVX2-NEXT: vinsertf128 $1, 1216(%rdi), %ymm1, %ymm17223; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]7224; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7225; AVX2-NEXT: vmovaps 1024(%rdi), %xmm27226; AVX2-NEXT: vinsertf128 $1, 1152(%rdi), %ymm2, %ymm27227; AVX2-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]7228; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7229; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]7230; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7231; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]7232; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7233; AVX2-NEXT: vmovaps 1600(%rdi), %xmm07234; AVX2-NEXT: vinsertf128 $1, 1728(%rdi), %ymm0, %ymm07235; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]7236; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7237; AVX2-NEXT: vmovaps 1536(%rdi), %xmm17238; AVX2-NEXT: vinsertf128 $1, 1664(%rdi), %ymm1, %ymm17239; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7240; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7241; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7242; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7243; AVX2-NEXT: vmovaps 320(%rdi), %ymm27244; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7245; AVX2-NEXT: vmovaps 256(%rdi), %ymm37246; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7247; AVX2-NEXT: vmovaps 448(%rdi), %ymm17248; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7249; AVX2-NEXT: vmovaps 384(%rdi), %ymm07250; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7251; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7252; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7253; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7254; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7255; AVX2-NEXT: vmovaps 832(%rdi), %ymm27256; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7257; AVX2-NEXT: vmovaps 768(%rdi), %ymm37258; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7259; AVX2-NEXT: vmovaps 960(%rdi), %ymm17260; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7261; AVX2-NEXT: vmovaps 896(%rdi), %ymm07262; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7263; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7264; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7265; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7266; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7267; AVX2-NEXT: vmovaps 1344(%rdi), %ymm27268; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7269; AVX2-NEXT: vmovaps 1280(%rdi), %ymm37270; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7271; AVX2-NEXT: vmovaps 1472(%rdi), %ymm17272; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7273; AVX2-NEXT: vmovaps 1408(%rdi), %ymm07274; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7275; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7276; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7277; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7278; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7279; AVX2-NEXT: vmovaps 1856(%rdi), %ymm27280; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7281; AVX2-NEXT: vmovaps 1792(%rdi), %ymm37282; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7283; AVX2-NEXT: vmovaps 1984(%rdi), %ymm17284; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7285; AVX2-NEXT: vmovaps 1920(%rdi), %ymm07286; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7287; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7288; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7289; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7290; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7291; AVX2-NEXT: vmovaps 64(%rdi), %ymm27292; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7293; AVX2-NEXT: vmovaps (%rdi), %ymm17294; AVX2-NEXT: vmovups %ymm1, (%rsp) # 32-byte Spill7295; AVX2-NEXT: vmovaps 192(%rdi), %ymm147296; AVX2-NEXT: vmovaps 128(%rdi), %ymm127297; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm12[0],ymm14[0],ymm12[2],ymm14[2]7298; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7299; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7300; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7301; AVX2-NEXT: vmovaps 576(%rdi), %ymm117302; AVX2-NEXT: vmovaps 512(%rdi), %ymm107303; AVX2-NEXT: vmovaps 704(%rdi), %ymm87304; AVX2-NEXT: vmovaps 640(%rdi), %ymm77305; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]7306; AVX2-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]7307; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm0[2,3]7308; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7309; AVX2-NEXT: vmovaps 1088(%rdi), %ymm67310; AVX2-NEXT: vmovaps 1024(%rdi), %ymm97311; AVX2-NEXT: vmovaps 1216(%rdi), %ymm57312; AVX2-NEXT: vmovaps 1152(%rdi), %ymm37313; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]7314; AVX2-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm9[0],ymm6[0],ymm9[2],ymm6[2]7315; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7316; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7317; AVX2-NEXT: vmovaps 1600(%rdi), %ymm47318; AVX2-NEXT: vmovaps 1536(%rdi), %ymm137319; AVX2-NEXT: vmovaps 1728(%rdi), %ymm27320; AVX2-NEXT: vmovaps 1664(%rdi), %ymm17321; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7322; AVX2-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm13[0],ymm4[0],ymm13[2],ymm4[2]7323; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7324; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7325; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7326; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7327; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7328; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload7329; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload7330; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]7331; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7332; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7333; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7334; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7335; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7336; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload7337; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload7338; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]7339; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7340; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7341; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7342; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7343; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7344; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload7345; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload7346; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]7347; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7348; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7349; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7350; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7351; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7352; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload7353; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload7354; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]7355; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7356; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7357; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm12[1],ymm14[1],ymm12[3],ymm14[3]7358; AVX2-NEXT: vmovups (%rsp), %ymm12 # 32-byte Reload7359; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm12 # 32-byte Folded Reload7360; AVX2-NEXT: # ymm12 = ymm12[1],mem[1],ymm12[3],mem[3]7361; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm12[2,3],ymm0[2,3]7362; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7363; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]7364; AVX2-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]7365; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm7[2,3],ymm0[2,3]7366; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7367; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]7368; AVX2-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm6[1],ymm9[3],ymm6[3]7369; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm3[2,3],ymm0[2,3]7370; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7371; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]7372; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm13[1],ymm4[1],ymm13[3],ymm4[3]7373; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7374; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7375; AVX2-NEXT: vmovaps 96(%rdi), %xmm07376; AVX2-NEXT: vinsertf128 $1, 224(%rdi), %ymm0, %ymm07377; AVX2-NEXT: vmovaps 32(%rdi), %xmm17378; AVX2-NEXT: vinsertf128 $1, 160(%rdi), %ymm1, %ymm17379; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7380; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7381; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7382; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7383; AVX2-NEXT: vmovaps 352(%rdi), %xmm07384; AVX2-NEXT: vinsertf128 $1, 480(%rdi), %ymm0, %ymm07385; AVX2-NEXT: vmovaps 288(%rdi), %xmm17386; AVX2-NEXT: vinsertf128 $1, 416(%rdi), %ymm1, %ymm17387; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7388; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7389; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7390; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7391; AVX2-NEXT: vmovaps 608(%rdi), %xmm07392; AVX2-NEXT: vinsertf128 $1, 736(%rdi), %ymm0, %ymm07393; AVX2-NEXT: vmovaps 544(%rdi), %xmm17394; AVX2-NEXT: vinsertf128 $1, 672(%rdi), %ymm1, %ymm17395; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7396; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7397; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7398; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7399; AVX2-NEXT: vmovaps 864(%rdi), %xmm07400; AVX2-NEXT: vinsertf128 $1, 992(%rdi), %ymm0, %ymm07401; AVX2-NEXT: vmovaps 800(%rdi), %xmm17402; AVX2-NEXT: vinsertf128 $1, 928(%rdi), %ymm1, %ymm17403; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7404; AVX2-NEXT: vmovups %ymm2, (%rsp) # 32-byte Spill7405; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7406; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7407; AVX2-NEXT: vmovaps 1120(%rdi), %xmm07408; AVX2-NEXT: vinsertf128 $1, 1248(%rdi), %ymm0, %ymm07409; AVX2-NEXT: vmovaps 1056(%rdi), %xmm17410; AVX2-NEXT: vinsertf128 $1, 1184(%rdi), %ymm1, %ymm17411; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7412; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7413; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7414; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7415; AVX2-NEXT: vmovaps 1376(%rdi), %xmm07416; AVX2-NEXT: vinsertf128 $1, 1504(%rdi), %ymm0, %ymm07417; AVX2-NEXT: vmovaps 1312(%rdi), %xmm17418; AVX2-NEXT: vinsertf128 $1, 1440(%rdi), %ymm1, %ymm17419; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7420; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7421; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7422; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7423; AVX2-NEXT: vmovaps 1632(%rdi), %xmm07424; AVX2-NEXT: vinsertf128 $1, 1760(%rdi), %ymm0, %ymm07425; AVX2-NEXT: vmovaps 1568(%rdi), %xmm17426; AVX2-NEXT: vinsertf128 $1, 1696(%rdi), %ymm1, %ymm17427; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7428; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7429; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7430; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7431; AVX2-NEXT: vmovaps 1888(%rdi), %xmm07432; AVX2-NEXT: vinsertf128 $1, 2016(%rdi), %ymm0, %ymm07433; AVX2-NEXT: vmovaps 1824(%rdi), %xmm17434; AVX2-NEXT: vinsertf128 $1, 1952(%rdi), %ymm1, %ymm17435; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7436; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7437; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7438; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7439; AVX2-NEXT: vmovaps 96(%rdi), %ymm27440; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7441; AVX2-NEXT: vmovaps 32(%rdi), %ymm37442; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7443; AVX2-NEXT: vmovaps 224(%rdi), %ymm17444; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7445; AVX2-NEXT: vmovaps 160(%rdi), %ymm07446; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7447; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7448; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7449; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7450; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7451; AVX2-NEXT: vmovaps 352(%rdi), %ymm27452; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7453; AVX2-NEXT: vmovaps 288(%rdi), %ymm37454; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7455; AVX2-NEXT: vmovaps 480(%rdi), %ymm17456; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7457; AVX2-NEXT: vmovaps 416(%rdi), %ymm07458; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7459; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7460; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7461; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7462; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7463; AVX2-NEXT: vmovaps 608(%rdi), %ymm27464; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7465; AVX2-NEXT: vmovaps 544(%rdi), %ymm37466; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7467; AVX2-NEXT: vmovaps 736(%rdi), %ymm17468; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7469; AVX2-NEXT: vmovaps 672(%rdi), %ymm07470; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7471; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7472; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7473; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7474; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7475; AVX2-NEXT: vmovaps 864(%rdi), %ymm27476; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7477; AVX2-NEXT: vmovaps 800(%rdi), %ymm37478; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7479; AVX2-NEXT: vmovaps 992(%rdi), %ymm17480; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7481; AVX2-NEXT: vmovaps 928(%rdi), %ymm07482; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7483; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7484; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7485; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7486; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7487; AVX2-NEXT: vmovaps 1120(%rdi), %ymm27488; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7489; AVX2-NEXT: vmovaps 1056(%rdi), %ymm17490; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7491; AVX2-NEXT: vmovaps 1248(%rdi), %ymm127492; AVX2-NEXT: vmovaps 1184(%rdi), %ymm117493; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]7494; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7495; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7496; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7497; AVX2-NEXT: vmovaps 1376(%rdi), %ymm107498; AVX2-NEXT: vmovaps 1312(%rdi), %ymm97499; AVX2-NEXT: vmovaps 1504(%rdi), %ymm87500; AVX2-NEXT: vmovaps 1440(%rdi), %ymm77501; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]7502; AVX2-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]7503; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7504; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7505; AVX2-NEXT: vmovaps 1632(%rdi), %ymm67506; AVX2-NEXT: vmovaps 1568(%rdi), %ymm157507; AVX2-NEXT: vmovaps 1760(%rdi), %ymm57508; AVX2-NEXT: vmovaps 1696(%rdi), %ymm37509; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]7510; AVX2-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm15[0],ymm6[0],ymm15[2],ymm6[2]7511; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]7512; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7513; AVX2-NEXT: vmovaps 1888(%rdi), %ymm47514; AVX2-NEXT: vmovaps 1824(%rdi), %ymm147515; AVX2-NEXT: vmovaps 2016(%rdi), %ymm27516; AVX2-NEXT: vmovaps 1952(%rdi), %ymm17517; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7518; AVX2-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]7519; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7520; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7521; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7522; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7523; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7524; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload7525; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload7526; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]7527; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7528; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7529; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7530; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7531; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7532; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload7533; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload7534; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]7535; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7536; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7537; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7538; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7539; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7540; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload7541; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload7542; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]7543; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7544; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7545; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7546; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7547; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7548; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload7549; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload7550; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]7551; AVX2-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm13[2,3],ymm0[2,3]7552; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]7553; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload7554; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload7555; AVX2-NEXT: # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]7556; AVX2-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm11[2,3],ymm0[2,3]7557; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]7558; AVX2-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]7559; AVX2-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],ymm0[2,3]7560; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]7561; AVX2-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm15[1],ymm6[1],ymm15[3],ymm6[3]7562; AVX2-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm0[2,3]7563; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]7564; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]7565; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7566; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7567; AVX2-NEXT: vmovaps %ymm1, 192(%rsi)7568; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7569; AVX2-NEXT: vmovaps %ymm1, 128(%rsi)7570; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7571; AVX2-NEXT: vmovaps %ymm1, 64(%rsi)7572; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7573; AVX2-NEXT: vmovaps %ymm1, (%rsi)7574; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7575; AVX2-NEXT: vmovaps %ymm1, 224(%rsi)7576; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7577; AVX2-NEXT: vmovaps %ymm1, 160(%rsi)7578; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7579; AVX2-NEXT: vmovaps %ymm1, 96(%rsi)7580; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7581; AVX2-NEXT: vmovaps %ymm1, 32(%rsi)7582; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7583; AVX2-NEXT: vmovaps %ymm1, 192(%rdx)7584; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7585; AVX2-NEXT: vmovaps %ymm1, 128(%rdx)7586; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7587; AVX2-NEXT: vmovaps %ymm1, 64(%rdx)7588; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7589; AVX2-NEXT: vmovaps %ymm1, (%rdx)7590; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7591; AVX2-NEXT: vmovaps %ymm1, 224(%rdx)7592; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7593; AVX2-NEXT: vmovaps %ymm1, 160(%rdx)7594; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7595; AVX2-NEXT: vmovaps %ymm1, 96(%rdx)7596; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7597; AVX2-NEXT: vmovaps %ymm1, 32(%rdx)7598; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7599; AVX2-NEXT: vmovaps %ymm1, 192(%rcx)7600; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7601; AVX2-NEXT: vmovaps %ymm1, 128(%rcx)7602; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7603; AVX2-NEXT: vmovaps %ymm1, 64(%rcx)7604; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7605; AVX2-NEXT: vmovaps %ymm1, (%rcx)7606; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7607; AVX2-NEXT: vmovaps %ymm1, 224(%rcx)7608; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7609; AVX2-NEXT: vmovaps %ymm1, 160(%rcx)7610; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7611; AVX2-NEXT: vmovaps %ymm1, 96(%rcx)7612; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7613; AVX2-NEXT: vmovaps %ymm1, 32(%rcx)7614; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7615; AVX2-NEXT: vmovaps %ymm1, 192(%r8)7616; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7617; AVX2-NEXT: vmovaps %ymm1, 128(%r8)7618; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7619; AVX2-NEXT: vmovaps %ymm1, 64(%r8)7620; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7621; AVX2-NEXT: vmovaps %ymm1, (%r8)7622; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7623; AVX2-NEXT: vmovaps %ymm1, 224(%r8)7624; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7625; AVX2-NEXT: vmovaps %ymm1, 160(%r8)7626; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7627; AVX2-NEXT: vmovaps %ymm1, 96(%r8)7628; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7629; AVX2-NEXT: vmovaps %ymm1, 32(%r8)7630; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7631; AVX2-NEXT: vmovaps %ymm1, 224(%r9)7632; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7633; AVX2-NEXT: vmovaps %ymm1, 192(%r9)7634; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7635; AVX2-NEXT: vmovaps %ymm1, 160(%r9)7636; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7637; AVX2-NEXT: vmovaps %ymm1, 128(%r9)7638; AVX2-NEXT: vmovups (%rsp), %ymm1 # 32-byte Reload7639; AVX2-NEXT: vmovaps %ymm1, 96(%r9)7640; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7641; AVX2-NEXT: vmovaps %ymm1, 64(%r9)7642; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7643; AVX2-NEXT: vmovaps %ymm1, 32(%r9)7644; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7645; AVX2-NEXT: vmovaps %ymm1, (%r9)7646; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax7647; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7648; AVX2-NEXT: vmovaps %ymm1, 224(%rax)7649; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7650; AVX2-NEXT: vmovaps %ymm1, 192(%rax)7651; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7652; AVX2-NEXT: vmovaps %ymm1, 160(%rax)7653; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7654; AVX2-NEXT: vmovaps %ymm1, 128(%rax)7655; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7656; AVX2-NEXT: vmovaps %ymm1, 96(%rax)7657; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7658; AVX2-NEXT: vmovaps %ymm1, 64(%rax)7659; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7660; AVX2-NEXT: vmovaps %ymm1, 32(%rax)7661; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7662; AVX2-NEXT: vmovaps %ymm1, (%rax)7663; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax7664; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7665; AVX2-NEXT: vmovaps %ymm1, 224(%rax)7666; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7667; AVX2-NEXT: vmovaps %ymm1, 192(%rax)7668; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7669; AVX2-NEXT: vmovaps %ymm1, 160(%rax)7670; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7671; AVX2-NEXT: vmovaps %ymm1, 128(%rax)7672; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7673; AVX2-NEXT: vmovaps %ymm1, 96(%rax)7674; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7675; AVX2-NEXT: vmovaps %ymm1, 64(%rax)7676; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7677; AVX2-NEXT: vmovaps %ymm1, 32(%rax)7678; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload7679; AVX2-NEXT: vmovaps %ymm1, (%rax)7680; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax7681; AVX2-NEXT: vmovaps %ymm0, 224(%rax)7682; AVX2-NEXT: vmovaps %ymm3, 192(%rax)7683; AVX2-NEXT: vmovaps %ymm7, 160(%rax)7684; AVX2-NEXT: vmovaps %ymm11, 128(%rax)7685; AVX2-NEXT: vmovaps %ymm13, 96(%rax)7686; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7687; AVX2-NEXT: vmovaps %ymm0, 64(%rax)7688; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7689; AVX2-NEXT: vmovaps %ymm0, 32(%rax)7690; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7691; AVX2-NEXT: vmovaps %ymm0, (%rax)7692; AVX2-NEXT: addq $2248, %rsp # imm = 0x8C87693; AVX2-NEXT: vzeroupper7694; AVX2-NEXT: retq7695;7696; AVX2-FP-LABEL: load_i64_stride8_vf32:7697; AVX2-FP: # %bb.0:7698; AVX2-FP-NEXT: subq $2248, %rsp # imm = 0x8C87699; AVX2-FP-NEXT: vmovaps 320(%rdi), %xmm07700; AVX2-FP-NEXT: vinsertf128 $1, 448(%rdi), %ymm0, %ymm07701; AVX2-FP-NEXT: vmovaps 256(%rdi), %xmm17702; AVX2-FP-NEXT: vinsertf128 $1, 384(%rdi), %ymm1, %ymm17703; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7704; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7705; AVX2-FP-NEXT: vmovaps 832(%rdi), %xmm27706; AVX2-FP-NEXT: vinsertf128 $1, 960(%rdi), %ymm2, %ymm27707; AVX2-FP-NEXT: vmovaps 768(%rdi), %xmm37708; AVX2-FP-NEXT: vinsertf128 $1, 896(%rdi), %ymm3, %ymm37709; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7710; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7711; AVX2-FP-NEXT: vmovaps 1344(%rdi), %xmm47712; AVX2-FP-NEXT: vinsertf128 $1, 1472(%rdi), %ymm4, %ymm47713; AVX2-FP-NEXT: vmovaps 1280(%rdi), %xmm57714; AVX2-FP-NEXT: vinsertf128 $1, 1408(%rdi), %ymm5, %ymm57715; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]7716; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7717; AVX2-FP-NEXT: vmovaps 1856(%rdi), %xmm67718; AVX2-FP-NEXT: vinsertf128 $1, 1984(%rdi), %ymm6, %ymm67719; AVX2-FP-NEXT: vmovaps 1792(%rdi), %xmm77720; AVX2-FP-NEXT: vinsertf128 $1, 1920(%rdi), %ymm7, %ymm77721; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]7722; AVX2-FP-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7723; AVX2-FP-NEXT: vmovaps (%rdi), %xmm97724; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm87725; AVX2-FP-NEXT: vinsertf128 $1, 192(%rdi), %ymm8, %ymm87726; AVX2-FP-NEXT: vinsertf128 $1, 128(%rdi), %ymm9, %ymm97727; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]7728; AVX2-FP-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7729; AVX2-FP-NEXT: vmovaps 576(%rdi), %xmm107730; AVX2-FP-NEXT: vinsertf128 $1, 704(%rdi), %ymm10, %ymm107731; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7732; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7733; AVX2-FP-NEXT: vmovaps 512(%rdi), %xmm07734; AVX2-FP-NEXT: vinsertf128 $1, 640(%rdi), %ymm0, %ymm07735; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]7736; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7737; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]7738; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7739; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]7740; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7741; AVX2-FP-NEXT: vmovaps 1088(%rdi), %xmm17742; AVX2-FP-NEXT: vinsertf128 $1, 1216(%rdi), %ymm1, %ymm17743; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]7744; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7745; AVX2-FP-NEXT: vmovaps 1024(%rdi), %xmm27746; AVX2-FP-NEXT: vinsertf128 $1, 1152(%rdi), %ymm2, %ymm27747; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]7748; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7749; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]7750; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7751; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]7752; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7753; AVX2-FP-NEXT: vmovaps 1600(%rdi), %xmm07754; AVX2-FP-NEXT: vinsertf128 $1, 1728(%rdi), %ymm0, %ymm07755; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]7756; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7757; AVX2-FP-NEXT: vmovaps 1536(%rdi), %xmm17758; AVX2-FP-NEXT: vinsertf128 $1, 1664(%rdi), %ymm1, %ymm17759; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7760; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7761; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7762; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7763; AVX2-FP-NEXT: vmovaps 320(%rdi), %ymm27764; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7765; AVX2-FP-NEXT: vmovaps 256(%rdi), %ymm37766; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7767; AVX2-FP-NEXT: vmovaps 448(%rdi), %ymm17768; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7769; AVX2-FP-NEXT: vmovaps 384(%rdi), %ymm07770; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7771; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7772; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7773; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7774; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7775; AVX2-FP-NEXT: vmovaps 832(%rdi), %ymm27776; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7777; AVX2-FP-NEXT: vmovaps 768(%rdi), %ymm37778; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7779; AVX2-FP-NEXT: vmovaps 960(%rdi), %ymm17780; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7781; AVX2-FP-NEXT: vmovaps 896(%rdi), %ymm07782; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7783; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7784; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7785; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7786; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7787; AVX2-FP-NEXT: vmovaps 1344(%rdi), %ymm27788; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7789; AVX2-FP-NEXT: vmovaps 1280(%rdi), %ymm37790; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7791; AVX2-FP-NEXT: vmovaps 1472(%rdi), %ymm17792; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7793; AVX2-FP-NEXT: vmovaps 1408(%rdi), %ymm07794; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7795; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7796; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7797; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7798; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7799; AVX2-FP-NEXT: vmovaps 1856(%rdi), %ymm27800; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7801; AVX2-FP-NEXT: vmovaps 1792(%rdi), %ymm37802; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7803; AVX2-FP-NEXT: vmovaps 1984(%rdi), %ymm17804; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7805; AVX2-FP-NEXT: vmovaps 1920(%rdi), %ymm07806; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7807; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7808; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7809; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7810; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7811; AVX2-FP-NEXT: vmovaps 64(%rdi), %ymm27812; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7813; AVX2-FP-NEXT: vmovaps (%rdi), %ymm17814; AVX2-FP-NEXT: vmovups %ymm1, (%rsp) # 32-byte Spill7815; AVX2-FP-NEXT: vmovaps 192(%rdi), %ymm147816; AVX2-FP-NEXT: vmovaps 128(%rdi), %ymm127817; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm12[0],ymm14[0],ymm12[2],ymm14[2]7818; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7819; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7820; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7821; AVX2-FP-NEXT: vmovaps 576(%rdi), %ymm117822; AVX2-FP-NEXT: vmovaps 512(%rdi), %ymm107823; AVX2-FP-NEXT: vmovaps 704(%rdi), %ymm87824; AVX2-FP-NEXT: vmovaps 640(%rdi), %ymm77825; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]7826; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]7827; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm0[2,3]7828; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7829; AVX2-FP-NEXT: vmovaps 1088(%rdi), %ymm67830; AVX2-FP-NEXT: vmovaps 1024(%rdi), %ymm97831; AVX2-FP-NEXT: vmovaps 1216(%rdi), %ymm57832; AVX2-FP-NEXT: vmovaps 1152(%rdi), %ymm37833; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]7834; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm9[0],ymm6[0],ymm9[2],ymm6[2]7835; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]7836; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7837; AVX2-FP-NEXT: vmovaps 1600(%rdi), %ymm47838; AVX2-FP-NEXT: vmovaps 1536(%rdi), %ymm137839; AVX2-FP-NEXT: vmovaps 1728(%rdi), %ymm27840; AVX2-FP-NEXT: vmovaps 1664(%rdi), %ymm17841; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]7842; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm13[0],ymm4[0],ymm13[2],ymm4[2]7843; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7844; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7845; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7846; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7847; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7848; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload7849; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload7850; AVX2-FP-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]7851; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7852; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7853; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7854; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7855; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7856; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload7857; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload7858; AVX2-FP-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]7859; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7860; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7861; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7862; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7863; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7864; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload7865; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload7866; AVX2-FP-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]7867; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7868; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7869; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload7870; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload7871; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]7872; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload7873; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload7874; AVX2-FP-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]7875; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]7876; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7877; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm12[1],ymm14[1],ymm12[3],ymm14[3]7878; AVX2-FP-NEXT: vmovups (%rsp), %ymm12 # 32-byte Reload7879; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm12 # 32-byte Folded Reload7880; AVX2-FP-NEXT: # ymm12 = ymm12[1],mem[1],ymm12[3],mem[3]7881; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm12[2,3],ymm0[2,3]7882; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7883; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]7884; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]7885; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm7[2,3],ymm0[2,3]7886; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7887; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]7888; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm6[1],ymm9[3],ymm6[3]7889; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm3[2,3],ymm0[2,3]7890; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7891; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]7892; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm13[1],ymm4[1],ymm13[3],ymm4[3]7893; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7894; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7895; AVX2-FP-NEXT: vmovaps 96(%rdi), %xmm07896; AVX2-FP-NEXT: vinsertf128 $1, 224(%rdi), %ymm0, %ymm07897; AVX2-FP-NEXT: vmovaps 32(%rdi), %xmm17898; AVX2-FP-NEXT: vinsertf128 $1, 160(%rdi), %ymm1, %ymm17899; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7900; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7901; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7902; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7903; AVX2-FP-NEXT: vmovaps 352(%rdi), %xmm07904; AVX2-FP-NEXT: vinsertf128 $1, 480(%rdi), %ymm0, %ymm07905; AVX2-FP-NEXT: vmovaps 288(%rdi), %xmm17906; AVX2-FP-NEXT: vinsertf128 $1, 416(%rdi), %ymm1, %ymm17907; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7908; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7909; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7910; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7911; AVX2-FP-NEXT: vmovaps 608(%rdi), %xmm07912; AVX2-FP-NEXT: vinsertf128 $1, 736(%rdi), %ymm0, %ymm07913; AVX2-FP-NEXT: vmovaps 544(%rdi), %xmm17914; AVX2-FP-NEXT: vinsertf128 $1, 672(%rdi), %ymm1, %ymm17915; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7916; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7917; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7918; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7919; AVX2-FP-NEXT: vmovaps 864(%rdi), %xmm07920; AVX2-FP-NEXT: vinsertf128 $1, 992(%rdi), %ymm0, %ymm07921; AVX2-FP-NEXT: vmovaps 800(%rdi), %xmm17922; AVX2-FP-NEXT: vinsertf128 $1, 928(%rdi), %ymm1, %ymm17923; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7924; AVX2-FP-NEXT: vmovups %ymm2, (%rsp) # 32-byte Spill7925; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7926; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7927; AVX2-FP-NEXT: vmovaps 1120(%rdi), %xmm07928; AVX2-FP-NEXT: vinsertf128 $1, 1248(%rdi), %ymm0, %ymm07929; AVX2-FP-NEXT: vmovaps 1056(%rdi), %xmm17930; AVX2-FP-NEXT: vinsertf128 $1, 1184(%rdi), %ymm1, %ymm17931; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7932; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7933; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7934; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7935; AVX2-FP-NEXT: vmovaps 1376(%rdi), %xmm07936; AVX2-FP-NEXT: vinsertf128 $1, 1504(%rdi), %ymm0, %ymm07937; AVX2-FP-NEXT: vmovaps 1312(%rdi), %xmm17938; AVX2-FP-NEXT: vinsertf128 $1, 1440(%rdi), %ymm1, %ymm17939; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7940; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7941; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7942; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7943; AVX2-FP-NEXT: vmovaps 1632(%rdi), %xmm07944; AVX2-FP-NEXT: vinsertf128 $1, 1760(%rdi), %ymm0, %ymm07945; AVX2-FP-NEXT: vmovaps 1568(%rdi), %xmm17946; AVX2-FP-NEXT: vinsertf128 $1, 1696(%rdi), %ymm1, %ymm17947; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7948; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7949; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7950; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7951; AVX2-FP-NEXT: vmovaps 1888(%rdi), %xmm07952; AVX2-FP-NEXT: vinsertf128 $1, 2016(%rdi), %ymm0, %ymm07953; AVX2-FP-NEXT: vmovaps 1824(%rdi), %xmm17954; AVX2-FP-NEXT: vinsertf128 $1, 1952(%rdi), %ymm1, %ymm17955; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]7956; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7957; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]7958; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7959; AVX2-FP-NEXT: vmovaps 96(%rdi), %ymm27960; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7961; AVX2-FP-NEXT: vmovaps 32(%rdi), %ymm37962; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7963; AVX2-FP-NEXT: vmovaps 224(%rdi), %ymm17964; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7965; AVX2-FP-NEXT: vmovaps 160(%rdi), %ymm07966; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7967; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7968; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7969; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7970; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7971; AVX2-FP-NEXT: vmovaps 352(%rdi), %ymm27972; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7973; AVX2-FP-NEXT: vmovaps 288(%rdi), %ymm37974; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7975; AVX2-FP-NEXT: vmovaps 480(%rdi), %ymm17976; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7977; AVX2-FP-NEXT: vmovaps 416(%rdi), %ymm07978; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7979; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7980; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7981; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7982; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7983; AVX2-FP-NEXT: vmovaps 608(%rdi), %ymm27984; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7985; AVX2-FP-NEXT: vmovaps 544(%rdi), %ymm37986; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7987; AVX2-FP-NEXT: vmovaps 736(%rdi), %ymm17988; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7989; AVX2-FP-NEXT: vmovaps 672(%rdi), %ymm07990; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7991; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]7992; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]7993; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]7994; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7995; AVX2-FP-NEXT: vmovaps 864(%rdi), %ymm27996; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7997; AVX2-FP-NEXT: vmovaps 800(%rdi), %ymm37998; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7999; AVX2-FP-NEXT: vmovaps 992(%rdi), %ymm18000; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8001; AVX2-FP-NEXT: vmovaps 928(%rdi), %ymm08002; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8003; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8004; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]8005; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8006; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8007; AVX2-FP-NEXT: vmovaps 1120(%rdi), %ymm28008; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8009; AVX2-FP-NEXT: vmovaps 1056(%rdi), %ymm18010; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8011; AVX2-FP-NEXT: vmovaps 1248(%rdi), %ymm128012; AVX2-FP-NEXT: vmovaps 1184(%rdi), %ymm118013; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]8014; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]8015; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8016; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8017; AVX2-FP-NEXT: vmovaps 1376(%rdi), %ymm108018; AVX2-FP-NEXT: vmovaps 1312(%rdi), %ymm98019; AVX2-FP-NEXT: vmovaps 1504(%rdi), %ymm88020; AVX2-FP-NEXT: vmovaps 1440(%rdi), %ymm78021; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]8022; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]8023; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]8024; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8025; AVX2-FP-NEXT: vmovaps 1632(%rdi), %ymm68026; AVX2-FP-NEXT: vmovaps 1568(%rdi), %ymm158027; AVX2-FP-NEXT: vmovaps 1760(%rdi), %ymm58028; AVX2-FP-NEXT: vmovaps 1696(%rdi), %ymm38029; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]8030; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm15[0],ymm6[0],ymm15[2],ymm6[2]8031; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]8032; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8033; AVX2-FP-NEXT: vmovaps 1888(%rdi), %ymm48034; AVX2-FP-NEXT: vmovaps 1824(%rdi), %ymm148035; AVX2-FP-NEXT: vmovaps 2016(%rdi), %ymm28036; AVX2-FP-NEXT: vmovaps 1952(%rdi), %ymm18037; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]8038; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]8039; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]8040; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8041; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8042; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8043; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8044; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload8045; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload8046; AVX2-FP-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]8047; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]8048; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8049; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8050; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8051; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8052; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload8053; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload8054; AVX2-FP-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]8055; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]8056; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8057; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8058; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8059; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8060; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload8061; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload8062; AVX2-FP-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]8063; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]8064; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8065; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8066; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8067; AVX2-FP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8068; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload8069; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload8070; AVX2-FP-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]8071; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm13[2,3],ymm0[2,3]8072; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]8073; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload8074; AVX2-FP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload8075; AVX2-FP-NEXT: # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]8076; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm11[2,3],ymm0[2,3]8077; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]8078; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]8079; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],ymm0[2,3]8080; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]8081; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm15[1],ymm6[1],ymm15[3],ymm6[3]8082; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm0[2,3]8083; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]8084; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]8085; AVX2-FP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8086; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8087; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rsi)8088; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8089; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rsi)8090; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8091; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rsi)8092; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8093; AVX2-FP-NEXT: vmovaps %ymm1, (%rsi)8094; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8095; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rsi)8096; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8097; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rsi)8098; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8099; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rsi)8100; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8101; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rsi)8102; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8103; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rdx)8104; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8105; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rdx)8106; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8107; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rdx)8108; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8109; AVX2-FP-NEXT: vmovaps %ymm1, (%rdx)8110; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8111; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rdx)8112; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8113; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rdx)8114; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8115; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rdx)8116; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8117; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rdx)8118; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8119; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rcx)8120; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8121; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rcx)8122; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8123; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rcx)8124; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8125; AVX2-FP-NEXT: vmovaps %ymm1, (%rcx)8126; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8127; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rcx)8128; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8129; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rcx)8130; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8131; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rcx)8132; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8133; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rcx)8134; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8135; AVX2-FP-NEXT: vmovaps %ymm1, 192(%r8)8136; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8137; AVX2-FP-NEXT: vmovaps %ymm1, 128(%r8)8138; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8139; AVX2-FP-NEXT: vmovaps %ymm1, 64(%r8)8140; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8141; AVX2-FP-NEXT: vmovaps %ymm1, (%r8)8142; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8143; AVX2-FP-NEXT: vmovaps %ymm1, 224(%r8)8144; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8145; AVX2-FP-NEXT: vmovaps %ymm1, 160(%r8)8146; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8147; AVX2-FP-NEXT: vmovaps %ymm1, 96(%r8)8148; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8149; AVX2-FP-NEXT: vmovaps %ymm1, 32(%r8)8150; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8151; AVX2-FP-NEXT: vmovaps %ymm1, 224(%r9)8152; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8153; AVX2-FP-NEXT: vmovaps %ymm1, 192(%r9)8154; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8155; AVX2-FP-NEXT: vmovaps %ymm1, 160(%r9)8156; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8157; AVX2-FP-NEXT: vmovaps %ymm1, 128(%r9)8158; AVX2-FP-NEXT: vmovups (%rsp), %ymm1 # 32-byte Reload8159; AVX2-FP-NEXT: vmovaps %ymm1, 96(%r9)8160; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8161; AVX2-FP-NEXT: vmovaps %ymm1, 64(%r9)8162; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8163; AVX2-FP-NEXT: vmovaps %ymm1, 32(%r9)8164; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8165; AVX2-FP-NEXT: vmovaps %ymm1, (%r9)8166; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax8167; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8168; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rax)8169; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8170; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rax)8171; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8172; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rax)8173; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8174; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rax)8175; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8176; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rax)8177; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8178; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rax)8179; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8180; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rax)8181; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8182; AVX2-FP-NEXT: vmovaps %ymm1, (%rax)8183; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax8184; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8185; AVX2-FP-NEXT: vmovaps %ymm1, 224(%rax)8186; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8187; AVX2-FP-NEXT: vmovaps %ymm1, 192(%rax)8188; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8189; AVX2-FP-NEXT: vmovaps %ymm1, 160(%rax)8190; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8191; AVX2-FP-NEXT: vmovaps %ymm1, 128(%rax)8192; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8193; AVX2-FP-NEXT: vmovaps %ymm1, 96(%rax)8194; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8195; AVX2-FP-NEXT: vmovaps %ymm1, 64(%rax)8196; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8197; AVX2-FP-NEXT: vmovaps %ymm1, 32(%rax)8198; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8199; AVX2-FP-NEXT: vmovaps %ymm1, (%rax)8200; AVX2-FP-NEXT: movq {{[0-9]+}}(%rsp), %rax8201; AVX2-FP-NEXT: vmovaps %ymm0, 224(%rax)8202; AVX2-FP-NEXT: vmovaps %ymm3, 192(%rax)8203; AVX2-FP-NEXT: vmovaps %ymm7, 160(%rax)8204; AVX2-FP-NEXT: vmovaps %ymm11, 128(%rax)8205; AVX2-FP-NEXT: vmovaps %ymm13, 96(%rax)8206; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8207; AVX2-FP-NEXT: vmovaps %ymm0, 64(%rax)8208; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8209; AVX2-FP-NEXT: vmovaps %ymm0, 32(%rax)8210; AVX2-FP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8211; AVX2-FP-NEXT: vmovaps %ymm0, (%rax)8212; AVX2-FP-NEXT: addq $2248, %rsp # imm = 0x8C88213; AVX2-FP-NEXT: vzeroupper8214; AVX2-FP-NEXT: retq8215;8216; AVX2-FCP-LABEL: load_i64_stride8_vf32:8217; AVX2-FCP: # %bb.0:8218; AVX2-FCP-NEXT: subq $2248, %rsp # imm = 0x8C88219; AVX2-FCP-NEXT: vmovaps 320(%rdi), %xmm08220; AVX2-FCP-NEXT: vinsertf128 $1, 448(%rdi), %ymm0, %ymm08221; AVX2-FCP-NEXT: vmovaps 256(%rdi), %xmm18222; AVX2-FCP-NEXT: vinsertf128 $1, 384(%rdi), %ymm1, %ymm18223; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8224; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8225; AVX2-FCP-NEXT: vmovaps 832(%rdi), %xmm28226; AVX2-FCP-NEXT: vinsertf128 $1, 960(%rdi), %ymm2, %ymm28227; AVX2-FCP-NEXT: vmovaps 768(%rdi), %xmm38228; AVX2-FCP-NEXT: vinsertf128 $1, 896(%rdi), %ymm3, %ymm38229; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]8230; AVX2-FCP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8231; AVX2-FCP-NEXT: vmovaps 1344(%rdi), %xmm48232; AVX2-FCP-NEXT: vinsertf128 $1, 1472(%rdi), %ymm4, %ymm48233; AVX2-FCP-NEXT: vmovaps 1280(%rdi), %xmm58234; AVX2-FCP-NEXT: vinsertf128 $1, 1408(%rdi), %ymm5, %ymm58235; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]8236; AVX2-FCP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8237; AVX2-FCP-NEXT: vmovaps 1856(%rdi), %xmm68238; AVX2-FCP-NEXT: vinsertf128 $1, 1984(%rdi), %ymm6, %ymm68239; AVX2-FCP-NEXT: vmovaps 1792(%rdi), %xmm78240; AVX2-FCP-NEXT: vinsertf128 $1, 1920(%rdi), %ymm7, %ymm78241; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]8242; AVX2-FCP-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8243; AVX2-FCP-NEXT: vmovaps (%rdi), %xmm98244; AVX2-FCP-NEXT: vmovaps 64(%rdi), %xmm88245; AVX2-FCP-NEXT: vinsertf128 $1, 192(%rdi), %ymm8, %ymm88246; AVX2-FCP-NEXT: vinsertf128 $1, 128(%rdi), %ymm9, %ymm98247; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]8248; AVX2-FCP-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8249; AVX2-FCP-NEXT: vmovaps 576(%rdi), %xmm108250; AVX2-FCP-NEXT: vinsertf128 $1, 704(%rdi), %ymm10, %ymm108251; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]8252; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8253; AVX2-FCP-NEXT: vmovaps 512(%rdi), %xmm08254; AVX2-FCP-NEXT: vinsertf128 $1, 640(%rdi), %ymm0, %ymm08255; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]8256; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8257; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]8258; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8259; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]8260; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8261; AVX2-FCP-NEXT: vmovaps 1088(%rdi), %xmm18262; AVX2-FCP-NEXT: vinsertf128 $1, 1216(%rdi), %ymm1, %ymm18263; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]8264; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8265; AVX2-FCP-NEXT: vmovaps 1024(%rdi), %xmm28266; AVX2-FCP-NEXT: vinsertf128 $1, 1152(%rdi), %ymm2, %ymm28267; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]8268; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8269; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]8270; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8271; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]8272; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8273; AVX2-FCP-NEXT: vmovaps 1600(%rdi), %xmm08274; AVX2-FCP-NEXT: vinsertf128 $1, 1728(%rdi), %ymm0, %ymm08275; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]8276; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8277; AVX2-FCP-NEXT: vmovaps 1536(%rdi), %xmm18278; AVX2-FCP-NEXT: vinsertf128 $1, 1664(%rdi), %ymm1, %ymm18279; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8280; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8281; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]8282; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8283; AVX2-FCP-NEXT: vmovaps 320(%rdi), %ymm28284; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8285; AVX2-FCP-NEXT: vmovaps 256(%rdi), %ymm38286; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8287; AVX2-FCP-NEXT: vmovaps 448(%rdi), %ymm18288; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8289; AVX2-FCP-NEXT: vmovaps 384(%rdi), %ymm08290; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8291; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8292; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]8293; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8294; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8295; AVX2-FCP-NEXT: vmovaps 832(%rdi), %ymm28296; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8297; AVX2-FCP-NEXT: vmovaps 768(%rdi), %ymm38298; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8299; AVX2-FCP-NEXT: vmovaps 960(%rdi), %ymm18300; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8301; AVX2-FCP-NEXT: vmovaps 896(%rdi), %ymm08302; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8303; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8304; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]8305; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8306; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8307; AVX2-FCP-NEXT: vmovaps 1344(%rdi), %ymm28308; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8309; AVX2-FCP-NEXT: vmovaps 1280(%rdi), %ymm38310; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8311; AVX2-FCP-NEXT: vmovaps 1472(%rdi), %ymm18312; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8313; AVX2-FCP-NEXT: vmovaps 1408(%rdi), %ymm08314; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8315; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8316; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]8317; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8318; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8319; AVX2-FCP-NEXT: vmovaps 1856(%rdi), %ymm28320; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8321; AVX2-FCP-NEXT: vmovaps 1792(%rdi), %ymm38322; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8323; AVX2-FCP-NEXT: vmovaps 1984(%rdi), %ymm18324; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8325; AVX2-FCP-NEXT: vmovaps 1920(%rdi), %ymm08326; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8327; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8328; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]8329; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8330; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8331; AVX2-FCP-NEXT: vmovaps 64(%rdi), %ymm28332; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8333; AVX2-FCP-NEXT: vmovaps (%rdi), %ymm18334; AVX2-FCP-NEXT: vmovups %ymm1, (%rsp) # 32-byte Spill8335; AVX2-FCP-NEXT: vmovaps 192(%rdi), %ymm148336; AVX2-FCP-NEXT: vmovaps 128(%rdi), %ymm128337; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm12[0],ymm14[0],ymm12[2],ymm14[2]8338; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]8339; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8340; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8341; AVX2-FCP-NEXT: vmovaps 576(%rdi), %ymm118342; AVX2-FCP-NEXT: vmovaps 512(%rdi), %ymm108343; AVX2-FCP-NEXT: vmovaps 704(%rdi), %ymm88344; AVX2-FCP-NEXT: vmovaps 640(%rdi), %ymm78345; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]8346; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm9 = ymm10[0],ymm11[0],ymm10[2],ymm11[2]8347; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm9[2,3],ymm0[2,3]8348; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8349; AVX2-FCP-NEXT: vmovaps 1088(%rdi), %ymm68350; AVX2-FCP-NEXT: vmovaps 1024(%rdi), %ymm98351; AVX2-FCP-NEXT: vmovaps 1216(%rdi), %ymm58352; AVX2-FCP-NEXT: vmovaps 1152(%rdi), %ymm38353; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]8354; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm9[0],ymm6[0],ymm9[2],ymm6[2]8355; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]8356; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8357; AVX2-FCP-NEXT: vmovaps 1600(%rdi), %ymm48358; AVX2-FCP-NEXT: vmovaps 1536(%rdi), %ymm138359; AVX2-FCP-NEXT: vmovaps 1728(%rdi), %ymm28360; AVX2-FCP-NEXT: vmovaps 1664(%rdi), %ymm18361; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]8362; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm13[0],ymm4[0],ymm13[2],ymm4[2]8363; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]8364; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8365; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8366; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8367; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8368; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload8369; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload8370; AVX2-FCP-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]8371; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]8372; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8373; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8374; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8375; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8376; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload8377; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload8378; AVX2-FCP-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]8379; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]8380; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8381; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8382; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8383; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8384; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload8385; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload8386; AVX2-FCP-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]8387; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]8388; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8389; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8390; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8391; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8392; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload8393; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload8394; AVX2-FCP-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]8395; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]8396; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8397; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm12[1],ymm14[1],ymm12[3],ymm14[3]8398; AVX2-FCP-NEXT: vmovups (%rsp), %ymm12 # 32-byte Reload8399; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm12 # 32-byte Folded Reload8400; AVX2-FCP-NEXT: # ymm12 = ymm12[1],mem[1],ymm12[3],mem[3]8401; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm12[2,3],ymm0[2,3]8402; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8403; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]8404; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm10[1],ymm11[1],ymm10[3],ymm11[3]8405; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm7[2,3],ymm0[2,3]8406; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8407; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]8408; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm6[1],ymm9[3],ymm6[3]8409; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm3[2,3],ymm0[2,3]8410; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8411; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]8412; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm13[1],ymm4[1],ymm13[3],ymm4[3]8413; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8414; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8415; AVX2-FCP-NEXT: vmovaps 96(%rdi), %xmm08416; AVX2-FCP-NEXT: vinsertf128 $1, 224(%rdi), %ymm0, %ymm08417; AVX2-FCP-NEXT: vmovaps 32(%rdi), %xmm18418; AVX2-FCP-NEXT: vinsertf128 $1, 160(%rdi), %ymm1, %ymm18419; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8420; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8421; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]8422; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8423; AVX2-FCP-NEXT: vmovaps 352(%rdi), %xmm08424; AVX2-FCP-NEXT: vinsertf128 $1, 480(%rdi), %ymm0, %ymm08425; AVX2-FCP-NEXT: vmovaps 288(%rdi), %xmm18426; AVX2-FCP-NEXT: vinsertf128 $1, 416(%rdi), %ymm1, %ymm18427; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8428; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8429; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]8430; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8431; AVX2-FCP-NEXT: vmovaps 608(%rdi), %xmm08432; AVX2-FCP-NEXT: vinsertf128 $1, 736(%rdi), %ymm0, %ymm08433; AVX2-FCP-NEXT: vmovaps 544(%rdi), %xmm18434; AVX2-FCP-NEXT: vinsertf128 $1, 672(%rdi), %ymm1, %ymm18435; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8436; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8437; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]8438; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8439; AVX2-FCP-NEXT: vmovaps 864(%rdi), %xmm08440; AVX2-FCP-NEXT: vinsertf128 $1, 992(%rdi), %ymm0, %ymm08441; AVX2-FCP-NEXT: vmovaps 800(%rdi), %xmm18442; AVX2-FCP-NEXT: vinsertf128 $1, 928(%rdi), %ymm1, %ymm18443; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8444; AVX2-FCP-NEXT: vmovups %ymm2, (%rsp) # 32-byte Spill8445; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]8446; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8447; AVX2-FCP-NEXT: vmovaps 1120(%rdi), %xmm08448; AVX2-FCP-NEXT: vinsertf128 $1, 1248(%rdi), %ymm0, %ymm08449; AVX2-FCP-NEXT: vmovaps 1056(%rdi), %xmm18450; AVX2-FCP-NEXT: vinsertf128 $1, 1184(%rdi), %ymm1, %ymm18451; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8452; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8453; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]8454; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8455; AVX2-FCP-NEXT: vmovaps 1376(%rdi), %xmm08456; AVX2-FCP-NEXT: vinsertf128 $1, 1504(%rdi), %ymm0, %ymm08457; AVX2-FCP-NEXT: vmovaps 1312(%rdi), %xmm18458; AVX2-FCP-NEXT: vinsertf128 $1, 1440(%rdi), %ymm1, %ymm18459; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8460; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8461; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]8462; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8463; AVX2-FCP-NEXT: vmovaps 1632(%rdi), %xmm08464; AVX2-FCP-NEXT: vinsertf128 $1, 1760(%rdi), %ymm0, %ymm08465; AVX2-FCP-NEXT: vmovaps 1568(%rdi), %xmm18466; AVX2-FCP-NEXT: vinsertf128 $1, 1696(%rdi), %ymm1, %ymm18467; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8468; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8469; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]8470; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8471; AVX2-FCP-NEXT: vmovaps 1888(%rdi), %xmm08472; AVX2-FCP-NEXT: vinsertf128 $1, 2016(%rdi), %ymm0, %ymm08473; AVX2-FCP-NEXT: vmovaps 1824(%rdi), %xmm18474; AVX2-FCP-NEXT: vinsertf128 $1, 1952(%rdi), %ymm1, %ymm18475; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]8476; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8477; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]8478; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8479; AVX2-FCP-NEXT: vmovaps 96(%rdi), %ymm28480; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8481; AVX2-FCP-NEXT: vmovaps 32(%rdi), %ymm38482; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8483; AVX2-FCP-NEXT: vmovaps 224(%rdi), %ymm18484; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8485; AVX2-FCP-NEXT: vmovaps 160(%rdi), %ymm08486; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8487; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8488; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]8489; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8490; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8491; AVX2-FCP-NEXT: vmovaps 352(%rdi), %ymm28492; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8493; AVX2-FCP-NEXT: vmovaps 288(%rdi), %ymm38494; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8495; AVX2-FCP-NEXT: vmovaps 480(%rdi), %ymm18496; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8497; AVX2-FCP-NEXT: vmovaps 416(%rdi), %ymm08498; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8499; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8500; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]8501; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8502; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8503; AVX2-FCP-NEXT: vmovaps 608(%rdi), %ymm28504; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8505; AVX2-FCP-NEXT: vmovaps 544(%rdi), %ymm38506; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8507; AVX2-FCP-NEXT: vmovaps 736(%rdi), %ymm18508; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8509; AVX2-FCP-NEXT: vmovaps 672(%rdi), %ymm08510; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8511; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8512; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]8513; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8514; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8515; AVX2-FCP-NEXT: vmovaps 864(%rdi), %ymm28516; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8517; AVX2-FCP-NEXT: vmovaps 800(%rdi), %ymm38518; AVX2-FCP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8519; AVX2-FCP-NEXT: vmovaps 992(%rdi), %ymm18520; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8521; AVX2-FCP-NEXT: vmovaps 928(%rdi), %ymm08522; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8523; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]8524; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]8525; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8526; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8527; AVX2-FCP-NEXT: vmovaps 1120(%rdi), %ymm28528; AVX2-FCP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8529; AVX2-FCP-NEXT: vmovaps 1056(%rdi), %ymm18530; AVX2-FCP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8531; AVX2-FCP-NEXT: vmovaps 1248(%rdi), %ymm128532; AVX2-FCP-NEXT: vmovaps 1184(%rdi), %ymm118533; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]8534; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]8535; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8536; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8537; AVX2-FCP-NEXT: vmovaps 1376(%rdi), %ymm108538; AVX2-FCP-NEXT: vmovaps 1312(%rdi), %ymm98539; AVX2-FCP-NEXT: vmovaps 1504(%rdi), %ymm88540; AVX2-FCP-NEXT: vmovaps 1440(%rdi), %ymm78541; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]8542; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]8543; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]8544; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8545; AVX2-FCP-NEXT: vmovaps 1632(%rdi), %ymm68546; AVX2-FCP-NEXT: vmovaps 1568(%rdi), %ymm158547; AVX2-FCP-NEXT: vmovaps 1760(%rdi), %ymm58548; AVX2-FCP-NEXT: vmovaps 1696(%rdi), %ymm38549; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm5[0],ymm3[2],ymm5[2]8550; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm14 = ymm15[0],ymm6[0],ymm15[2],ymm6[2]8551; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm14[2,3],ymm0[2,3]8552; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8553; AVX2-FCP-NEXT: vmovaps 1888(%rdi), %ymm48554; AVX2-FCP-NEXT: vmovaps 1824(%rdi), %ymm148555; AVX2-FCP-NEXT: vmovaps 2016(%rdi), %ymm28556; AVX2-FCP-NEXT: vmovaps 1952(%rdi), %ymm18557; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]8558; AVX2-FCP-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]8559; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]8560; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8561; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8562; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8563; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8564; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload8565; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload8566; AVX2-FCP-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]8567; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]8568; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8569; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8570; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8571; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8572; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload8573; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload8574; AVX2-FCP-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]8575; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]8576; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8577; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8578; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8579; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8580; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload8581; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload8582; AVX2-FCP-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]8583; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]8584; AVX2-FCP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8585; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8586; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload8587; AVX2-FCP-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]8588; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload8589; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload8590; AVX2-FCP-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]8591; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm13[2,3],ymm0[2,3]8592; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]8593; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload8594; AVX2-FCP-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload8595; AVX2-FCP-NEXT: # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]8596; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm11 = ymm11[2,3],ymm0[2,3]8597; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]8598; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm7 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]8599; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm7 = ymm7[2,3],ymm0[2,3]8600; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm5[1],ymm3[3],ymm5[3]8601; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm15[1],ymm6[1],ymm15[3],ymm6[3]8602; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm3 = ymm3[2,3],ymm0[2,3]8603; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]8604; AVX2-FCP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]8605; AVX2-FCP-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]8606; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8607; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%rsi)8608; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8609; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rsi)8610; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8611; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%rsi)8612; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8613; AVX2-FCP-NEXT: vmovaps %ymm1, (%rsi)8614; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8615; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%rsi)8616; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8617; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%rsi)8618; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8619; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rsi)8620; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8621; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rsi)8622; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8623; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%rdx)8624; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8625; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rdx)8626; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8627; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%rdx)8628; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8629; AVX2-FCP-NEXT: vmovaps %ymm1, (%rdx)8630; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8631; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%rdx)8632; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8633; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%rdx)8634; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8635; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rdx)8636; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8637; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rdx)8638; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8639; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%rcx)8640; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8641; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rcx)8642; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8643; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%rcx)8644; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8645; AVX2-FCP-NEXT: vmovaps %ymm1, (%rcx)8646; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8647; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%rcx)8648; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8649; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%rcx)8650; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8651; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rcx)8652; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8653; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rcx)8654; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8655; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%r8)8656; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8657; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%r8)8658; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8659; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%r8)8660; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8661; AVX2-FCP-NEXT: vmovaps %ymm1, (%r8)8662; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8663; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%r8)8664; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8665; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%r8)8666; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8667; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%r8)8668; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8669; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%r8)8670; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8671; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%r9)8672; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8673; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%r9)8674; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8675; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%r9)8676; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8677; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%r9)8678; AVX2-FCP-NEXT: vmovups (%rsp), %ymm1 # 32-byte Reload8679; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%r9)8680; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8681; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%r9)8682; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8683; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%r9)8684; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8685; AVX2-FCP-NEXT: vmovaps %ymm1, (%r9)8686; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax8687; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8688; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%rax)8689; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8690; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%rax)8691; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8692; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%rax)8693; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8694; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rax)8695; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8696; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rax)8697; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8698; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%rax)8699; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8700; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rax)8701; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8702; AVX2-FCP-NEXT: vmovaps %ymm1, (%rax)8703; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax8704; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8705; AVX2-FCP-NEXT: vmovaps %ymm1, 224(%rax)8706; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8707; AVX2-FCP-NEXT: vmovaps %ymm1, 192(%rax)8708; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8709; AVX2-FCP-NEXT: vmovaps %ymm1, 160(%rax)8710; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8711; AVX2-FCP-NEXT: vmovaps %ymm1, 128(%rax)8712; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8713; AVX2-FCP-NEXT: vmovaps %ymm1, 96(%rax)8714; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8715; AVX2-FCP-NEXT: vmovaps %ymm1, 64(%rax)8716; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8717; AVX2-FCP-NEXT: vmovaps %ymm1, 32(%rax)8718; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload8719; AVX2-FCP-NEXT: vmovaps %ymm1, (%rax)8720; AVX2-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax8721; AVX2-FCP-NEXT: vmovaps %ymm0, 224(%rax)8722; AVX2-FCP-NEXT: vmovaps %ymm3, 192(%rax)8723; AVX2-FCP-NEXT: vmovaps %ymm7, 160(%rax)8724; AVX2-FCP-NEXT: vmovaps %ymm11, 128(%rax)8725; AVX2-FCP-NEXT: vmovaps %ymm13, 96(%rax)8726; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8727; AVX2-FCP-NEXT: vmovaps %ymm0, 64(%rax)8728; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8729; AVX2-FCP-NEXT: vmovaps %ymm0, 32(%rax)8730; AVX2-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload8731; AVX2-FCP-NEXT: vmovaps %ymm0, (%rax)8732; AVX2-FCP-NEXT: addq $2248, %rsp # imm = 0x8C88733; AVX2-FCP-NEXT: vzeroupper8734; AVX2-FCP-NEXT: retq8735;8736; AVX512-LABEL: load_i64_stride8_vf32:8737; AVX512: # %bb.0:8738; AVX512-NEXT: subq $3208, %rsp # imm = 0xC888739; AVX512-NEXT: vmovdqa64 1856(%rdi), %zmm128740; AVX512-NEXT: vmovdqa64 1984(%rdi), %zmm168741; AVX512-NEXT: vmovdqa64 1344(%rdi), %zmm198742; AVX512-NEXT: vmovdqa64 1280(%rdi), %zmm188743; AVX512-NEXT: vmovdqa64 1472(%rdi), %zmm248744; AVX512-NEXT: vmovdqa64 1408(%rdi), %zmm278745; AVX512-NEXT: vmovdqa64 832(%rdi), %zmm78746; AVX512-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8747; AVX512-NEXT: vmovdqa64 768(%rdi), %zmm118748; AVX512-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8749; AVX512-NEXT: vmovdqa64 960(%rdi), %zmm318750; AVX512-NEXT: vmovdqa64 896(%rdi), %zmm38751; AVX512-NEXT: vmovdqa64 320(%rdi), %zmm208752; AVX512-NEXT: vmovdqa64 256(%rdi), %zmm88753; AVX512-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8754; AVX512-NEXT: vmovdqa64 448(%rdi), %zmm258755; AVX512-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8756; AVX512-NEXT: vmovdqa64 384(%rdi), %zmm238757; AVX512-NEXT: movb $-64, %al8758; AVX512-NEXT: kmovw %eax, %k18759; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,10,2,10,2,10,2,10]8760; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8761; AVX512-NEXT: vmovdqa64 %zmm27, %zmm18762; AVX512-NEXT: vpermt2q %zmm24, %zmm0, %zmm18763; AVX512-NEXT: vmovdqa64 %zmm18, %zmm28764; AVX512-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8765; AVX512-NEXT: vpermt2q %zmm19, %zmm0, %zmm28766; AVX512-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}8767; AVX512-NEXT: vmovdqa64 1216(%rdi), %ymm228768; AVX512-NEXT: vmovdqa 1152(%rdi), %ymm108769; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm10[0],ymm22[0],ymm10[2],ymm22[2]8770; AVX512-NEXT: vmovdqa 1088(%rdi), %ymm98771; AVX512-NEXT: vmovdqa 1024(%rdi), %ymm68772; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]8773; AVX512-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm13[2,3],ymm4[2,3]8774; AVX512-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm18775; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8776; AVX512-NEXT: vmovdqa64 %zmm3, %zmm28777; AVX512-NEXT: vpermt2q %zmm31, %zmm0, %zmm28778; AVX512-NEXT: vmovdqa64 %zmm11, %zmm48779; AVX512-NEXT: vpermt2q %zmm7, %zmm0, %zmm48780; AVX512-NEXT: vmovdqa64 %zmm2, %zmm4 {%k1}8781; AVX512-NEXT: vmovdqa 704(%rdi), %ymm78782; AVX512-NEXT: vmovdqa 640(%rdi), %ymm138783; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm13[0],ymm7[0],ymm13[2],ymm7[2]8784; AVX512-NEXT: vmovdqa64 576(%rdi), %ymm178785; AVX512-NEXT: vmovdqa64 512(%rdi), %ymm218786; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm21[0],ymm17[0],ymm21[2],ymm17[2]8787; AVX512-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]8788; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm18789; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8790; AVX512-NEXT: vmovdqa64 %zmm23, %zmm48791; AVX512-NEXT: vpermt2q %zmm25, %zmm0, %zmm48792; AVX512-NEXT: vmovdqa64 %zmm8, %zmm118793; AVX512-NEXT: vpermt2q %zmm20, %zmm0, %zmm118794; AVX512-NEXT: vmovdqa64 %zmm4, %zmm11 {%k1}8795; AVX512-NEXT: vmovdqa 192(%rdi), %ymm48796; AVX512-NEXT: vmovdqa 128(%rdi), %ymm148797; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]8798; AVX512-NEXT: vmovdqa64 64(%rdi), %ymm258799; AVX512-NEXT: vmovdqa64 (%rdi), %ymm288800; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm25[0],ymm28[2],ymm25[2]8801; AVX512-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm8[2,3],ymm1[2,3]8802; AVX512-NEXT: vmovdqa64 1920(%rdi), %zmm298803; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm11, %zmm18804; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8805; AVX512-NEXT: vmovdqa64 %zmm29, %zmm18806; AVX512-NEXT: vpermt2q %zmm16, %zmm0, %zmm18807; AVX512-NEXT: vmovdqa64 1792(%rdi), %zmm268808; AVX512-NEXT: vpermi2q %zmm12, %zmm26, %zmm08809; AVX512-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}8810; AVX512-NEXT: vmovdqa 1728(%rdi), %ymm28811; AVX512-NEXT: vmovdqa 1664(%rdi), %ymm88812; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm8[0],ymm2[0],ymm8[2],ymm2[2]8813; AVX512-NEXT: vmovdqa64 1600(%rdi), %ymm308814; AVX512-NEXT: vmovdqa 1536(%rdi), %ymm18815; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm15 = ymm1[0],ymm30[0],ymm1[2],ymm30[2]8816; AVX512-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm15[2,3],ymm11[2,3]8817; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm08818; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8819; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]8820; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8821; AVX512-NEXT: vmovdqa64 %zmm27, %zmm118822; AVX512-NEXT: vpermt2q %zmm24, %zmm0, %zmm118823; AVX512-NEXT: vpermt2q %zmm19, %zmm0, %zmm188824; AVX512-NEXT: vmovdqa64 %zmm11, %zmm18 {%k1}8825; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm10[1],ymm22[1],ymm10[3],ymm22[3]8826; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]8827; AVX512-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]8828; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm18, %zmm58829; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8830; AVX512-NEXT: vmovdqa64 %zmm3, %zmm58831; AVX512-NEXT: vmovdqa64 %zmm3, %zmm108832; AVX512-NEXT: vpermt2q %zmm31, %zmm0, %zmm58833; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload8834; AVX512-NEXT: vmovdqa64 %zmm11, %zmm68835; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload8836; AVX512-NEXT: vpermt2q %zmm22, %zmm0, %zmm68837; AVX512-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}8838; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm13[1],ymm7[1],ymm13[3],ymm7[3]8839; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm21[1],ymm17[1],ymm21[3],ymm17[3]8840; AVX512-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]8841; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm38842; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8843; AVX512-NEXT: vmovdqu64 %zmm23, (%rsp) # 64-byte Spill8844; AVX512-NEXT: vmovdqa64 %zmm23, %zmm38845; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload8846; AVX512-NEXT: vpermt2q %zmm18, %zmm0, %zmm38847; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload8848; AVX512-NEXT: vmovdqa64 %zmm21, %zmm58849; AVX512-NEXT: vpermt2q %zmm20, %zmm0, %zmm58850; AVX512-NEXT: vmovdqa64 %zmm3, %zmm5 {%k1}8851; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]8852; AVX512-NEXT: vmovdqa64 1088(%rdi), %zmm78853; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm28[1],ymm25[1],ymm28[3],ymm25[3]8854; AVX512-NEXT: vmovdqa64 1024(%rdi), %zmm68855; AVX512-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]8856; AVX512-NEXT: vmovdqa64 1216(%rdi), %zmm138857; AVX512-NEXT: vinserti64x4 $0, %ymm3, %zmm5, %zmm38858; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8859; AVX512-NEXT: vmovdqa64 %zmm29, %zmm158860; AVX512-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8861; AVX512-NEXT: vmovdqa64 %zmm29, %zmm38862; AVX512-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8863; AVX512-NEXT: vpermt2q %zmm16, %zmm0, %zmm38864; AVX512-NEXT: vmovdqa64 %zmm26, %zmm98865; AVX512-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8866; AVX512-NEXT: vpermi2q %zmm12, %zmm26, %zmm08867; AVX512-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}8868; AVX512-NEXT: vmovdqa64 1152(%rdi), %zmm48869; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm8[1],ymm2[1],ymm8[3],ymm2[3]8870; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],ymm30[1],ymm1[3],ymm30[3]8871; AVX512-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]8872; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm08873; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8874; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]8875; AVX512-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8876; AVX512-NEXT: vmovdqa64 %zmm4, %zmm18877; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8878; AVX512-NEXT: vpermt2q %zmm13, %zmm0, %zmm18879; AVX512-NEXT: vmovdqa64 %zmm13, %zmm88880; AVX512-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8881; AVX512-NEXT: vmovdqa64 %zmm6, %zmm28882; AVX512-NEXT: vmovdqa64 %zmm6, %zmm58883; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8884; AVX512-NEXT: vpermt2q %zmm7, %zmm0, %zmm28885; AVX512-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8886; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8887; AVX512-NEXT: vmovdqa64 %zmm27, %zmm28888; AVX512-NEXT: vpermt2q %zmm24, %zmm0, %zmm28889; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload8890; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm17[0],zmm19[0],zmm17[2],zmm19[2],zmm17[4],zmm19[4],zmm17[6],zmm19[6]8891; AVX512-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}8892; AVX512-NEXT: vmovdqa64 704(%rdi), %zmm258893; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm18894; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8895; AVX512-NEXT: vmovdqa64 640(%rdi), %zmm18896; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8897; AVX512-NEXT: vpermt2q %zmm25, %zmm0, %zmm18898; AVX512-NEXT: vmovdqa64 576(%rdi), %zmm268899; AVX512-NEXT: vmovdqa64 512(%rdi), %zmm148900; AVX512-NEXT: vmovdqa64 %zmm14, %zmm28901; AVX512-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8902; AVX512-NEXT: vpermt2q %zmm26, %zmm0, %zmm28903; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8904; AVX512-NEXT: vmovdqa64 %zmm10, %zmm28905; AVX512-NEXT: vmovdqa64 %zmm10, %zmm298906; AVX512-NEXT: vpermt2q %zmm31, %zmm0, %zmm28907; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm11[0],zmm22[0],zmm11[2],zmm22[2],zmm11[4],zmm22[4],zmm11[6],zmm22[6]8908; AVX512-NEXT: vmovdqa64 %zmm22, %zmm108909; AVX512-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}8910; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm18911; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8912; AVX512-NEXT: vmovdqa64 192(%rdi), %zmm28913; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8914; AVX512-NEXT: vmovdqa64 128(%rdi), %zmm18915; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8916; AVX512-NEXT: vpermt2q %zmm2, %zmm0, %zmm18917; AVX512-NEXT: vmovdqa64 64(%rdi), %zmm68918; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8919; AVX512-NEXT: vmovdqa64 (%rdi), %zmm28920; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8921; AVX512-NEXT: vpermt2q %zmm6, %zmm0, %zmm28922; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8923; AVX512-NEXT: vpermt2q %zmm18, %zmm0, %zmm238924; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]8925; AVX512-NEXT: vmovdqa64 %zmm21, %zmm228926; AVX512-NEXT: vmovdqa64 %zmm23, %zmm3 {%k1}8927; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm18928; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8929; AVX512-NEXT: vmovdqa64 1728(%rdi), %zmm188930; AVX512-NEXT: vmovdqa64 1664(%rdi), %zmm18931; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8932; AVX512-NEXT: vpermt2q %zmm18, %zmm0, %zmm18933; AVX512-NEXT: vmovdqa64 1600(%rdi), %zmm138934; AVX512-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8935; AVX512-NEXT: vmovdqa64 1536(%rdi), %zmm68936; AVX512-NEXT: vmovdqa64 %zmm6, %zmm28937; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8938; AVX512-NEXT: vpermt2q %zmm13, %zmm0, %zmm28939; AVX512-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8940; AVX512-NEXT: vpermi2q %zmm16, %zmm15, %zmm08941; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm9[0],zmm12[0],zmm9[2],zmm12[2],zmm9[4],zmm12[4],zmm9[6],zmm12[6]8942; AVX512-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}8943; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm08944; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8945; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [5,13,5,13,5,13,5,13]8946; AVX512-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8947; AVX512-NEXT: vpermt2q %zmm8, %zmm2, %zmm48948; AVX512-NEXT: vmovdqa64 %zmm5, %zmm18949; AVX512-NEXT: vpermt2q %zmm7, %zmm2, %zmm18950; AVX512-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm4[4,5,6,7]8951; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [0,8,0,8,0,8,0,8]8952; AVX512-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8953; AVX512-NEXT: vmovdqa64 %zmm17, %zmm98954; AVX512-NEXT: vmovdqa64 %zmm17, %zmm08955; AVX512-NEXT: vpermt2q %zmm19, %zmm21, %zmm08956; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8957; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [1,9,1,9,1,9,1,9]8958; AVX512-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8959; AVX512-NEXT: vmovdqa64 %zmm17, %zmm08960; AVX512-NEXT: vpermt2q %zmm19, %zmm16, %zmm08961; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8962; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [6,14,6,14,6,14,6,14]8963; AVX512-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8964; AVX512-NEXT: vmovdqa64 %zmm17, %zmm08965; AVX512-NEXT: vpermt2q %zmm19, %zmm23, %zmm08966; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm17[1],zmm19[1],zmm17[3],zmm19[3],zmm17[5],zmm19[5],zmm17[7],zmm19[7]8967; AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [7,15,7,15,7,15,7,15]8968; AVX512-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]8969; AVX512-NEXT: vpermt2q %zmm19, %zmm17, %zmm98970; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm0 {%k1} = zmm27[0],zmm24[0],zmm27[2],zmm24[2],zmm27[4],zmm24[4],zmm27[6],zmm24[6]8971; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8972; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm27[1],zmm24[1],zmm27[3],zmm24[3],zmm27[5],zmm24[5],zmm27[7],zmm24[7]8973; AVX512-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8974; AVX512-NEXT: vmovdqa64 %zmm27, %zmm08975; AVX512-NEXT: vmovdqa64 %zmm27, %zmm88976; AVX512-NEXT: vpermt2q %zmm24, %zmm21, %zmm278977; AVX512-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8978; AVX512-NEXT: vpermt2q %zmm24, %zmm16, %zmm08979; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8980; AVX512-NEXT: vpermt2q %zmm24, %zmm2, %zmm88981; AVX512-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}8982; AVX512-NEXT: vinserti64x4 $0, %ymm4, %zmm7, %zmm08983; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8984; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload8985; AVX512-NEXT: vmovdqa64 %zmm3, %zmm78986; AVX512-NEXT: vmovdqa64 %zmm25, %zmm98987; AVX512-NEXT: vpermt2q %zmm25, %zmm2, %zmm78988; AVX512-NEXT: vmovdqa64 %zmm26, %zmm138989; AVX512-NEXT: vpermt2q %zmm26, %zmm2, %zmm148990; AVX512-NEXT: vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm7[4,5,6,7]8991; AVX512-NEXT: vmovdqa64 %zmm11, %zmm08992; AVX512-NEXT: vmovdqa64 %zmm11, %zmm48993; AVX512-NEXT: vpermt2q %zmm10, %zmm21, %zmm48994; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8995; AVX512-NEXT: vmovdqa64 %zmm11, %zmm48996; AVX512-NEXT: vpermt2q %zmm10, %zmm16, %zmm48997; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill8998; AVX512-NEXT: vmovdqa64 %zmm11, %zmm308999; AVX512-NEXT: vpermt2q %zmm10, %zmm23, %zmm309000; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm11 = zmm11[1],zmm10[1],zmm11[3],zmm10[3],zmm11[5],zmm10[5],zmm11[7],zmm10[7]9001; AVX512-NEXT: vpermt2q %zmm10, %zmm17, %zmm09002; AVX512-NEXT: vmovdqa64 %zmm29, %zmm49003; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm30 {%k1} = zmm29[0],zmm31[0],zmm29[2],zmm31[2],zmm29[4],zmm31[4],zmm29[6],zmm31[6]9004; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm29[1],zmm31[1],zmm29[3],zmm31[3],zmm29[5],zmm31[5],zmm29[7],zmm31[7]9005; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9006; AVX512-NEXT: vmovdqa64 %zmm29, %zmm09007; AVX512-NEXT: vmovdqa64 %zmm29, %zmm149008; AVX512-NEXT: vpermt2q %zmm31, %zmm21, %zmm49009; AVX512-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9010; AVX512-NEXT: vpermt2q %zmm31, %zmm16, %zmm09011; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9012; AVX512-NEXT: vpermt2q %zmm31, %zmm2, %zmm149013; AVX512-NEXT: vmovdqa64 %zmm14, %zmm11 {%k1}9014; AVX512-NEXT: vinserti64x4 $0, %ymm8, %zmm11, %zmm09015; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9016; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9017; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload9018; AVX512-NEXT: vpermt2q %zmm28, %zmm2, %zmm89019; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9020; AVX512-NEXT: vmovdqa64 %zmm4, %zmm119021; AVX512-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm11 # 64-byte Folded Reload9022; AVX512-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm8[4,5,6,7]9023; AVX512-NEXT: vmovdqa64 %zmm22, %zmm09024; AVX512-NEXT: vmovdqa64 %zmm22, %zmm259025; AVX512-NEXT: vpermt2q %zmm20, %zmm21, %zmm259026; AVX512-NEXT: vmovdqa64 %zmm22, %zmm59027; AVX512-NEXT: vpermt2q %zmm20, %zmm16, %zmm59028; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9029; AVX512-NEXT: vmovdqa64 %zmm22, %zmm279030; AVX512-NEXT: vpermt2q %zmm20, %zmm23, %zmm279031; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm20[1],zmm22[3],zmm20[3],zmm22[5],zmm20[5],zmm22[7],zmm20[7]9032; AVX512-NEXT: vpermt2q %zmm20, %zmm17, %zmm09033; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9034; AVX512-NEXT: vmovdqu64 (%rsp), %zmm31 # 64-byte Reload9035; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm27 {%k1} = zmm31[0],zmm1[0],zmm31[2],zmm1[2],zmm31[4],zmm1[4],zmm31[6],zmm1[6]9036; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm31[1],zmm1[1],zmm31[3],zmm1[3],zmm31[5],zmm1[5],zmm31[7],zmm1[7]9037; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9038; AVX512-NEXT: vmovdqa64 %zmm31, %zmm09039; AVX512-NEXT: vmovdqa64 %zmm31, %zmm249040; AVX512-NEXT: vpermt2q %zmm1, %zmm21, %zmm319041; AVX512-NEXT: vpermt2q %zmm1, %zmm16, %zmm09042; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9043; AVX512-NEXT: vpermt2q %zmm1, %zmm2, %zmm249044; AVX512-NEXT: vmovdqa64 %zmm24, %zmm14 {%k1}9045; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm09046; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9047; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload9048; AVX512-NEXT: vmovdqa64 %zmm15, %zmm119049; AVX512-NEXT: vpermt2q %zmm18, %zmm2, %zmm119050; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload9051; AVX512-NEXT: vpermt2q %zmm19, %zmm2, %zmm69052; AVX512-NEXT: vpblendd {{.*#+}} ymm11 = ymm6[0,1,2,3],ymm11[4,5,6,7]9053; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload9054; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9055; AVX512-NEXT: vpermi2q %zmm20, %zmm5, %zmm29056; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload9057; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm12[1],zmm22[3],zmm12[3],zmm22[5],zmm12[5],zmm22[7],zmm12[7]9058; AVX512-NEXT: vmovdqa64 %zmm2, %zmm14 {%k1}9059; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm29060; AVX512-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill9061; AVX512-NEXT: vmovdqa64 %zmm5, %zmm29062; AVX512-NEXT: vpermt2q %zmm20, %zmm21, %zmm29063; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9064; AVX512-NEXT: vpermi2q %zmm12, %zmm22, %zmm219065; AVX512-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9066; AVX512-NEXT: vmovdqa64 %zmm5, %zmm29067; AVX512-NEXT: vmovdqa64 %zmm5, %zmm219068; AVX512-NEXT: vpermt2q %zmm20, %zmm16, %zmm29069; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9070; AVX512-NEXT: vpermi2q %zmm12, %zmm22, %zmm169071; AVX512-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9072; AVX512-NEXT: vmovdqa64 %zmm12, %zmm169073; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9074; AVX512-NEXT: vmovdqa64 %zmm6, %zmm149075; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload9076; AVX512-NEXT: vpermt2q %zmm24, %zmm23, %zmm149077; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload9078; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload9079; AVX512-NEXT: vpermt2q %zmm26, %zmm23, %zmm119080; AVX512-NEXT: vmovdqa64 %zmm3, %zmm129081; AVX512-NEXT: vpermt2q %zmm9, %zmm23, %zmm129082; AVX512-NEXT: vmovdqa64 %zmm9, %zmm299083; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9084; AVX512-NEXT: vmovdqa64 %zmm2, %zmm89085; AVX512-NEXT: vpermt2q %zmm13, %zmm23, %zmm89086; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload9087; AVX512-NEXT: vmovdqa64 %zmm9, %zmm109088; AVX512-NEXT: vpermt2q %zmm28, %zmm23, %zmm109089; AVX512-NEXT: vmovdqa64 %zmm4, %zmm59090; AVX512-NEXT: vmovdqa64 %zmm4, %zmm79091; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9092; AVX512-NEXT: vpermt2q %zmm4, %zmm23, %zmm79093; AVX512-NEXT: vmovdqa64 %zmm15, %zmm09094; AVX512-NEXT: vpermt2q %zmm18, %zmm23, %zmm09095; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9096; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9097; AVX512-NEXT: vmovdqa64 %zmm1, %zmm09098; AVX512-NEXT: vpermt2q %zmm19, %zmm23, %zmm09099; AVX512-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9100; AVX512-NEXT: vpermi2q %zmm16, %zmm22, %zmm239101; AVX512-NEXT: vpermt2q %zmm16, %zmm17, %zmm229102; AVX512-NEXT: vpunpcklqdq {{.*#+}} zmm23 {%k1} = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]9103; AVX512-NEXT: vpunpckhqdq {{.*#+}} zmm22 {%k1} = zmm21[1],zmm20[1],zmm21[3],zmm20[3],zmm21[5],zmm20[5],zmm21[7],zmm20[7]9104; AVX512-NEXT: vpermt2q %zmm29, %zmm17, %zmm39105; AVX512-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9106; AVX512-NEXT: vpermt2q %zmm13, %zmm17, %zmm29107; AVX512-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9108; AVX512-NEXT: vpermt2q %zmm28, %zmm17, %zmm99109; AVX512-NEXT: vpermt2q %zmm4, %zmm17, %zmm59110; AVX512-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9111; AVX512-NEXT: vpermt2q %zmm18, %zmm17, %zmm159112; AVX512-NEXT: vpermt2q %zmm19, %zmm17, %zmm19113; AVX512-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9114; AVX512-NEXT: vpermt2q %zmm24, %zmm17, %zmm69115; AVX512-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9116; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9117; AVX512-NEXT: vpermt2q %zmm26, %zmm17, %zmm39118; AVX512-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm14[4,5,6,7]9119; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9120; AVX512-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm149121; AVX512-NEXT: vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3],ymm12[4,5,6,7]9122; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm30, %zmm49123; AVX512-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm10[4,5,6,7]9124; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm27, %zmm109125; AVX512-NEXT: vmovdqa64 %zmm31, %zmm25 {%k1}9126; AVX512-NEXT: vmovdqa 64(%rdi), %xmm09127; AVX512-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm09128; AVX512-NEXT: vmovdqa (%rdi), %xmm19129; AVX512-NEXT: vinserti128 $1, 128(%rdi), %ymm1, %ymm19130; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9131; AVX512-NEXT: vinserti64x4 $0, %ymm2, %zmm25, %zmm29132; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9133; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9134; AVX512-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}9135; AVX512-NEXT: vmovdqa 576(%rdi), %xmm59136; AVX512-NEXT: vinserti128 $1, 704(%rdi), %ymm5, %ymm59137; AVX512-NEXT: vmovdqa 512(%rdi), %xmm69138; AVX512-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm69139; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm18 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]9140; AVX512-NEXT: vinserti64x4 $0, %ymm18, %zmm7, %zmm279141; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9142; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9143; AVX512-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}9144; AVX512-NEXT: vmovdqa 1088(%rdi), %xmm139145; AVX512-NEXT: vinserti128 $1, 1216(%rdi), %ymm13, %ymm139146; AVX512-NEXT: vmovdqa64 1024(%rdi), %xmm189147; AVX512-NEXT: vinserti32x4 $1, 1152(%rdi), %ymm18, %ymm189148; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm19 = ymm18[0],ymm13[0],ymm18[2],ymm13[2]9149; AVX512-NEXT: vinserti64x4 $0, %ymm19, %zmm7, %zmm199150; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9151; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9152; AVX512-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}9153; AVX512-NEXT: vmovdqa64 1600(%rdi), %xmm219154; AVX512-NEXT: vinserti32x4 $1, 1728(%rdi), %ymm21, %ymm219155; AVX512-NEXT: vmovdqa64 1536(%rdi), %xmm259156; AVX512-NEXT: vinserti32x4 $1, 1664(%rdi), %ymm25, %ymm259157; AVX512-NEXT: vpunpcklqdq {{.*#+}} ymm26 = ymm25[0],ymm21[0],ymm25[2],ymm21[2]9158; AVX512-NEXT: vinserti64x4 $0, %ymm26, %zmm7, %zmm129159; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9160; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9161; AVX512-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}9162; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm18[1],ymm13[1],ymm18[3],ymm13[3]9163; AVX512-NEXT: vinserti64x4 $0, %ymm13, %zmm7, %zmm139164; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9165; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9166; AVX512-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}9167; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]9168; AVX512-NEXT: vinserti64x4 $0, %ymm5, %zmm7, %zmm59169; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9170; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9171; AVX512-NEXT: vmovdqa64 %zmm6, %zmm7 {%k1}9172; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]9173; AVX512-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm09174; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9175; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9176; AVX512-NEXT: vmovdqa64 %zmm1, %zmm6 {%k1}9177; AVX512-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm25[1],ymm21[1],ymm25[3],ymm21[3]9178; AVX512-NEXT: vinserti64x4 $0, %ymm1, %zmm6, %zmm19179; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9180; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload9181; AVX512-NEXT: # ymm6 = ymm6[0,1,2,3],mem[4,5,6,7]9182; AVX512-NEXT: vinserti64x4 $0, %ymm6, %zmm23, %zmm69183; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9184; AVX512-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload9185; AVX512-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]9186; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9187; AVX512-NEXT: vinsertf64x4 $0, %ymm7, %zmm8, %zmm79188; AVX512-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm8 # 32-byte Folded Reload9189; AVX512-NEXT: # ymm8 = mem[0,1,2,3],ymm9[4,5,6,7]9190; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload9191; AVX512-NEXT: vinserti64x4 $0, %ymm8, %zmm9, %zmm89192; AVX512-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm9 # 32-byte Folded Reload9193; AVX512-NEXT: # ymm9 = mem[0,1,2,3],ymm15[4,5,6,7]9194; AVX512-NEXT: vinserti64x4 $0, %ymm9, %zmm22, %zmm99195; AVX512-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload9196; AVX512-NEXT: # ymm11 = ymm3[0,1,2,3],mem[4,5,6,7]9197; AVX512-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9198; AVX512-NEXT: vinserti64x4 $0, %ymm11, %zmm3, %zmm119199; AVX512-NEXT: vmovdqa64 %zmm12, 192(%rsi)9200; AVX512-NEXT: vmovdqa64 %zmm19, 128(%rsi)9201; AVX512-NEXT: vmovdqa64 %zmm27, 64(%rsi)9202; AVX512-NEXT: vmovdqa64 %zmm2, (%rsi)9203; AVX512-NEXT: vmovdqa64 %zmm1, 192(%rdx)9204; AVX512-NEXT: vmovdqa64 %zmm0, (%rdx)9205; AVX512-NEXT: vmovdqa64 %zmm5, 64(%rdx)9206; AVX512-NEXT: vmovdqa64 %zmm13, 128(%rdx)9207; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9208; AVX512-NEXT: vmovaps %zmm0, 192(%rcx)9209; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9210; AVX512-NEXT: vmovaps %zmm0, (%rcx)9211; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9212; AVX512-NEXT: vmovaps %zmm0, 64(%rcx)9213; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9214; AVX512-NEXT: vmovaps %zmm0, 128(%rcx)9215; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9216; AVX512-NEXT: vmovaps %zmm0, 192(%r8)9217; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9218; AVX512-NEXT: vmovaps %zmm0, (%r8)9219; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9220; AVX512-NEXT: vmovaps %zmm0, 64(%r8)9221; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9222; AVX512-NEXT: vmovaps %zmm0, 128(%r8)9223; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9224; AVX512-NEXT: vmovaps %zmm0, 192(%r9)9225; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9226; AVX512-NEXT: vmovaps %zmm0, (%r9)9227; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9228; AVX512-NEXT: vmovaps %zmm0, 64(%r9)9229; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9230; AVX512-NEXT: vmovaps %zmm0, 128(%r9)9231; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax9232; AVX512-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload9233; AVX512-NEXT: vmovaps %zmm0, 192(%rax)9234; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9235; AVX512-NEXT: vmovaps %zmm0, (%rax)9236; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9237; AVX512-NEXT: vmovaps %zmm0, 64(%rax)9238; AVX512-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9239; AVX512-NEXT: vmovaps %zmm0, 128(%rax)9240; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax9241; AVX512-NEXT: vmovdqa64 %zmm6, 192(%rax)9242; AVX512-NEXT: vmovdqa64 %zmm10, (%rax)9243; AVX512-NEXT: vmovdqa64 %zmm4, 64(%rax)9244; AVX512-NEXT: vmovdqa64 %zmm14, 128(%rax)9245; AVX512-NEXT: movq {{[0-9]+}}(%rsp), %rax9246; AVX512-NEXT: vmovdqa64 %zmm11, 128(%rax)9247; AVX512-NEXT: vmovdqa64 %zmm9, 192(%rax)9248; AVX512-NEXT: vmovdqa64 %zmm8, (%rax)9249; AVX512-NEXT: vmovaps %zmm7, 64(%rax)9250; AVX512-NEXT: addq $3208, %rsp # imm = 0xC889251; AVX512-NEXT: vzeroupper9252; AVX512-NEXT: retq9253;9254; AVX512-FCP-LABEL: load_i64_stride8_vf32:9255; AVX512-FCP: # %bb.0:9256; AVX512-FCP-NEXT: subq $3208, %rsp # imm = 0xC889257; AVX512-FCP-NEXT: vmovdqa64 1856(%rdi), %zmm129258; AVX512-FCP-NEXT: vmovdqa64 1984(%rdi), %zmm169259; AVX512-FCP-NEXT: vmovdqa64 1344(%rdi), %zmm199260; AVX512-FCP-NEXT: vmovdqa64 1280(%rdi), %zmm189261; AVX512-FCP-NEXT: vmovdqa64 1472(%rdi), %zmm249262; AVX512-FCP-NEXT: vmovdqa64 1408(%rdi), %zmm279263; AVX512-FCP-NEXT: vmovdqa64 832(%rdi), %zmm79264; AVX512-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9265; AVX512-FCP-NEXT: vmovdqa64 768(%rdi), %zmm119266; AVX512-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9267; AVX512-FCP-NEXT: vmovdqa64 960(%rdi), %zmm319268; AVX512-FCP-NEXT: vmovdqa64 896(%rdi), %zmm39269; AVX512-FCP-NEXT: vmovdqa64 320(%rdi), %zmm209270; AVX512-FCP-NEXT: vmovdqa64 256(%rdi), %zmm89271; AVX512-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9272; AVX512-FCP-NEXT: vmovdqa64 448(%rdi), %zmm259273; AVX512-FCP-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9274; AVX512-FCP-NEXT: vmovdqa64 384(%rdi), %zmm239275; AVX512-FCP-NEXT: movb $-64, %al9276; AVX512-FCP-NEXT: kmovw %eax, %k19277; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,10,2,10,2,10,2,10]9278; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9279; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm19280; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm19281; AVX512-FCP-NEXT: vmovdqa64 %zmm18, %zmm29282; AVX512-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9283; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm0, %zmm29284; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}9285; AVX512-FCP-NEXT: vmovdqa64 1216(%rdi), %ymm229286; AVX512-FCP-NEXT: vmovdqa 1152(%rdi), %ymm109287; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm10[0],ymm22[0],ymm10[2],ymm22[2]9288; AVX512-FCP-NEXT: vmovdqa 1088(%rdi), %ymm99289; AVX512-FCP-NEXT: vmovdqa 1024(%rdi), %ymm69290; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]9291; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm13[2,3],ymm4[2,3]9292; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm19293; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9294; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm29295; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm29296; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm49297; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm49298; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm4 {%k1}9299; AVX512-FCP-NEXT: vmovdqa 704(%rdi), %ymm79300; AVX512-FCP-NEXT: vmovdqa 640(%rdi), %ymm139301; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm13[0],ymm7[0],ymm13[2],ymm7[2]9302; AVX512-FCP-NEXT: vmovdqa64 576(%rdi), %ymm179303; AVX512-FCP-NEXT: vmovdqa64 512(%rdi), %ymm219304; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm21[0],ymm17[0],ymm21[2],ymm17[2]9305; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]9306; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm19307; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9308; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm49309; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm0, %zmm49310; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm119311; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm0, %zmm119312; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm11 {%k1}9313; AVX512-FCP-NEXT: vmovdqa 192(%rdi), %ymm49314; AVX512-FCP-NEXT: vmovdqa 128(%rdi), %ymm149315; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]9316; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %ymm259317; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %ymm289318; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm25[0],ymm28[2],ymm25[2]9319; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm8[2,3],ymm1[2,3]9320; AVX512-FCP-NEXT: vmovdqa64 1920(%rdi), %zmm299321; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm11, %zmm19322; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9323; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm19324; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm19325; AVX512-FCP-NEXT: vmovdqa64 1792(%rdi), %zmm269326; AVX512-FCP-NEXT: vpermi2q %zmm12, %zmm26, %zmm09327; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}9328; AVX512-FCP-NEXT: vmovdqa 1728(%rdi), %ymm29329; AVX512-FCP-NEXT: vmovdqa 1664(%rdi), %ymm89330; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm8[0],ymm2[0],ymm8[2],ymm2[2]9331; AVX512-FCP-NEXT: vmovdqa64 1600(%rdi), %ymm309332; AVX512-FCP-NEXT: vmovdqa 1536(%rdi), %ymm19333; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm15 = ymm1[0],ymm30[0],ymm1[2],ymm30[2]9334; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm15[2,3],ymm11[2,3]9335; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm09336; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9337; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]9338; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9339; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm119340; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm119341; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm0, %zmm189342; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm18 {%k1}9343; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm10[1],ymm22[1],ymm10[3],ymm22[3]9344; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]9345; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]9346; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm18, %zmm59347; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9348; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm59349; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm109350; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm59351; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload9352; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm69353; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload9354; AVX512-FCP-NEXT: vpermt2q %zmm22, %zmm0, %zmm69355; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}9356; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm13[1],ymm7[1],ymm13[3],ymm7[3]9357; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm21[1],ymm17[1],ymm21[3],ymm17[3]9358; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]9359; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm39360; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9361; AVX512-FCP-NEXT: vmovdqu64 %zmm23, (%rsp) # 64-byte Spill9362; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm39363; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload9364; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm39365; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload9366; AVX512-FCP-NEXT: vmovdqa64 %zmm21, %zmm59367; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm0, %zmm59368; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm5 {%k1}9369; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]9370; AVX512-FCP-NEXT: vmovdqa64 1088(%rdi), %zmm79371; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm28[1],ymm25[1],ymm28[3],ymm25[3]9372; AVX512-FCP-NEXT: vmovdqa64 1024(%rdi), %zmm69373; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]9374; AVX512-FCP-NEXT: vmovdqa64 1216(%rdi), %zmm139375; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm5, %zmm39376; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9377; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm159378; AVX512-FCP-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9379; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm39380; AVX512-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9381; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm39382; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm99383; AVX512-FCP-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9384; AVX512-FCP-NEXT: vpermi2q %zmm12, %zmm26, %zmm09385; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}9386; AVX512-FCP-NEXT: vmovdqa64 1152(%rdi), %zmm49387; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm8[1],ymm2[1],ymm8[3],ymm2[3]9388; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],ymm30[1],ymm1[3],ymm30[3]9389; AVX512-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]9390; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm09391; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9392; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]9393; AVX512-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9394; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm19395; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9396; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm19397; AVX512-FCP-NEXT: vmovdqa64 %zmm13, %zmm89398; AVX512-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9399; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm29400; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm59401; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9402; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm29403; AVX512-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9404; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9405; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm29406; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm29407; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload9408; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm17[0],zmm19[0],zmm17[2],zmm19[2],zmm17[4],zmm19[4],zmm17[6],zmm19[6]9409; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}9410; AVX512-FCP-NEXT: vmovdqa64 704(%rdi), %zmm259411; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm19412; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9413; AVX512-FCP-NEXT: vmovdqa64 640(%rdi), %zmm19414; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9415; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm0, %zmm19416; AVX512-FCP-NEXT: vmovdqa64 576(%rdi), %zmm269417; AVX512-FCP-NEXT: vmovdqa64 512(%rdi), %zmm149418; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm29419; AVX512-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9420; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm0, %zmm29421; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9422; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm29423; AVX512-FCP-NEXT: vmovdqa64 %zmm10, %zmm299424; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm29425; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm11[0],zmm22[0],zmm11[2],zmm22[2],zmm11[4],zmm22[4],zmm11[6],zmm22[6]9426; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm109427; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}9428; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm19429; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9430; AVX512-FCP-NEXT: vmovdqa64 192(%rdi), %zmm29431; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9432; AVX512-FCP-NEXT: vmovdqa64 128(%rdi), %zmm19433; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9434; AVX512-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm19435; AVX512-FCP-NEXT: vmovdqa64 64(%rdi), %zmm69436; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9437; AVX512-FCP-NEXT: vmovdqa64 (%rdi), %zmm29438; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9439; AVX512-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm29440; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9441; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm239442; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]9443; AVX512-FCP-NEXT: vmovdqa64 %zmm21, %zmm229444; AVX512-FCP-NEXT: vmovdqa64 %zmm23, %zmm3 {%k1}9445; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm19446; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9447; AVX512-FCP-NEXT: vmovdqa64 1728(%rdi), %zmm189448; AVX512-FCP-NEXT: vmovdqa64 1664(%rdi), %zmm19449; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9450; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm19451; AVX512-FCP-NEXT: vmovdqa64 1600(%rdi), %zmm139452; AVX512-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9453; AVX512-FCP-NEXT: vmovdqa64 1536(%rdi), %zmm69454; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm29455; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9456; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm29457; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9458; AVX512-FCP-NEXT: vpermi2q %zmm16, %zmm15, %zmm09459; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm9[0],zmm12[0],zmm9[2],zmm12[2],zmm9[4],zmm12[4],zmm9[6],zmm12[6]9460; AVX512-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}9461; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm09462; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9463; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [5,13,5,13,5,13,5,13]9464; AVX512-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9465; AVX512-FCP-NEXT: vpermt2q %zmm8, %zmm2, %zmm49466; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm19467; AVX512-FCP-NEXT: vpermt2q %zmm7, %zmm2, %zmm19468; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm4[4,5,6,7]9469; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [0,8,0,8,0,8,0,8]9470; AVX512-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9471; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm99472; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm09473; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm21, %zmm09474; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9475; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [1,9,1,9,1,9,1,9]9476; AVX512-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9477; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm09478; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm16, %zmm09479; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9480; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [6,14,6,14,6,14,6,14]9481; AVX512-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9482; AVX512-FCP-NEXT: vmovdqa64 %zmm17, %zmm09483; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm09484; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm17[1],zmm19[1],zmm17[3],zmm19[3],zmm17[5],zmm19[5],zmm17[7],zmm19[7]9485; AVX512-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [7,15,7,15,7,15,7,15]9486; AVX512-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9487; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm17, %zmm99488; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm0 {%k1} = zmm27[0],zmm24[0],zmm27[2],zmm24[2],zmm27[4],zmm24[4],zmm27[6],zmm24[6]9489; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9490; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm27[1],zmm24[1],zmm27[3],zmm24[3],zmm27[5],zmm24[5],zmm27[7],zmm24[7]9491; AVX512-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9492; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm09493; AVX512-FCP-NEXT: vmovdqa64 %zmm27, %zmm89494; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm21, %zmm279495; AVX512-FCP-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9496; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm16, %zmm09497; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9498; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm2, %zmm89499; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}9500; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm7, %zmm09501; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9502; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9503; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm79504; AVX512-FCP-NEXT: vmovdqa64 %zmm25, %zmm99505; AVX512-FCP-NEXT: vpermt2q %zmm25, %zmm2, %zmm79506; AVX512-FCP-NEXT: vmovdqa64 %zmm26, %zmm139507; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm2, %zmm149508; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm7[4,5,6,7]9509; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm09510; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm49511; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm49512; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9513; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm49514; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm16, %zmm49515; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9516; AVX512-FCP-NEXT: vmovdqa64 %zmm11, %zmm309517; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm23, %zmm309518; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm11 = zmm11[1],zmm10[1],zmm11[3],zmm10[3],zmm11[5],zmm10[5],zmm11[7],zmm10[7]9519; AVX512-FCP-NEXT: vpermt2q %zmm10, %zmm17, %zmm09520; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm49521; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm30 {%k1} = zmm29[0],zmm31[0],zmm29[2],zmm31[2],zmm29[4],zmm31[4],zmm29[6],zmm31[6]9522; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm29[1],zmm31[1],zmm29[3],zmm31[3],zmm29[5],zmm31[5],zmm29[7],zmm31[7]9523; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9524; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm09525; AVX512-FCP-NEXT: vmovdqa64 %zmm29, %zmm149526; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm21, %zmm49527; AVX512-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9528; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm16, %zmm09529; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9530; AVX512-FCP-NEXT: vpermt2q %zmm31, %zmm2, %zmm149531; AVX512-FCP-NEXT: vmovdqa64 %zmm14, %zmm11 {%k1}9532; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm11, %zmm09533; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9534; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9535; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload9536; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm2, %zmm89537; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9538; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm119539; AVX512-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm11 # 64-byte Folded Reload9540; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm8[4,5,6,7]9541; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm09542; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm259543; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm21, %zmm259544; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm59545; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm16, %zmm59546; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9547; AVX512-FCP-NEXT: vmovdqa64 %zmm22, %zmm279548; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm23, %zmm279549; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm20[1],zmm22[3],zmm20[3],zmm22[5],zmm20[5],zmm22[7],zmm20[7]9550; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm17, %zmm09551; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9552; AVX512-FCP-NEXT: vmovdqu64 (%rsp), %zmm31 # 64-byte Reload9553; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm27 {%k1} = zmm31[0],zmm1[0],zmm31[2],zmm1[2],zmm31[4],zmm1[4],zmm31[6],zmm1[6]9554; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm31[1],zmm1[1],zmm31[3],zmm1[3],zmm31[5],zmm1[5],zmm31[7],zmm1[7]9555; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9556; AVX512-FCP-NEXT: vmovdqa64 %zmm31, %zmm09557; AVX512-FCP-NEXT: vmovdqa64 %zmm31, %zmm249558; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm319559; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm16, %zmm09560; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9561; AVX512-FCP-NEXT: vpermt2q %zmm1, %zmm2, %zmm249562; AVX512-FCP-NEXT: vmovdqa64 %zmm24, %zmm14 {%k1}9563; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm09564; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9565; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload9566; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm119567; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm2, %zmm119568; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload9569; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm2, %zmm69570; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm6[0,1,2,3],ymm11[4,5,6,7]9571; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload9572; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9573; AVX512-FCP-NEXT: vpermi2q %zmm20, %zmm5, %zmm29574; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload9575; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm12[1],zmm22[3],zmm12[3],zmm22[5],zmm12[5],zmm22[7],zmm12[7]9576; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm14 {%k1}9577; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm29578; AVX512-FCP-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill9579; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm29580; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm21, %zmm29581; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9582; AVX512-FCP-NEXT: vpermi2q %zmm12, %zmm22, %zmm219583; AVX512-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9584; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm29585; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm219586; AVX512-FCP-NEXT: vpermt2q %zmm20, %zmm16, %zmm29587; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9588; AVX512-FCP-NEXT: vpermi2q %zmm12, %zmm22, %zmm169589; AVX512-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9590; AVX512-FCP-NEXT: vmovdqa64 %zmm12, %zmm169591; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9592; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm149593; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload9594; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm23, %zmm149595; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload9596; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload9597; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm23, %zmm119598; AVX512-FCP-NEXT: vmovdqa64 %zmm3, %zmm129599; AVX512-FCP-NEXT: vpermt2q %zmm9, %zmm23, %zmm129600; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm299601; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload9602; AVX512-FCP-NEXT: vmovdqa64 %zmm2, %zmm89603; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm89604; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload9605; AVX512-FCP-NEXT: vmovdqa64 %zmm9, %zmm109606; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm23, %zmm109607; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm59608; AVX512-FCP-NEXT: vmovdqa64 %zmm4, %zmm79609; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload9610; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm23, %zmm79611; AVX512-FCP-NEXT: vmovdqa64 %zmm15, %zmm09612; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm23, %zmm09613; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9614; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9615; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm09616; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm09617; AVX512-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9618; AVX512-FCP-NEXT: vpermi2q %zmm16, %zmm22, %zmm239619; AVX512-FCP-NEXT: vpermt2q %zmm16, %zmm17, %zmm229620; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm23 {%k1} = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]9621; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm22 {%k1} = zmm21[1],zmm20[1],zmm21[3],zmm20[3],zmm21[5],zmm20[5],zmm21[7],zmm20[7]9622; AVX512-FCP-NEXT: vpermt2q %zmm29, %zmm17, %zmm39623; AVX512-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9624; AVX512-FCP-NEXT: vpermt2q %zmm13, %zmm17, %zmm29625; AVX512-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9626; AVX512-FCP-NEXT: vpermt2q %zmm28, %zmm17, %zmm99627; AVX512-FCP-NEXT: vpermt2q %zmm4, %zmm17, %zmm59628; AVX512-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9629; AVX512-FCP-NEXT: vpermt2q %zmm18, %zmm17, %zmm159630; AVX512-FCP-NEXT: vpermt2q %zmm19, %zmm17, %zmm19631; AVX512-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9632; AVX512-FCP-NEXT: vpermt2q %zmm24, %zmm17, %zmm69633; AVX512-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9634; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9635; AVX512-FCP-NEXT: vpermt2q %zmm26, %zmm17, %zmm39636; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm14[4,5,6,7]9637; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9638; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm149639; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3],ymm12[4,5,6,7]9640; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm30, %zmm49641; AVX512-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm10[4,5,6,7]9642; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm27, %zmm109643; AVX512-FCP-NEXT: vmovdqa64 %zmm31, %zmm25 {%k1}9644; AVX512-FCP-NEXT: vmovdqa 64(%rdi), %xmm09645; AVX512-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm09646; AVX512-FCP-NEXT: vmovdqa (%rdi), %xmm19647; AVX512-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm1, %ymm19648; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]9649; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm25, %zmm29650; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9651; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload9652; AVX512-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}9653; AVX512-FCP-NEXT: vmovdqa 576(%rdi), %xmm59654; AVX512-FCP-NEXT: vinserti128 $1, 704(%rdi), %ymm5, %ymm59655; AVX512-FCP-NEXT: vmovdqa 512(%rdi), %xmm69656; AVX512-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm69657; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm18 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]9658; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm18, %zmm7, %zmm279659; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9660; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9661; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}9662; AVX512-FCP-NEXT: vmovdqa 1088(%rdi), %xmm139663; AVX512-FCP-NEXT: vinserti128 $1, 1216(%rdi), %ymm13, %ymm139664; AVX512-FCP-NEXT: vmovdqa64 1024(%rdi), %xmm189665; AVX512-FCP-NEXT: vinserti32x4 $1, 1152(%rdi), %ymm18, %ymm189666; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm19 = ymm18[0],ymm13[0],ymm18[2],ymm13[2]9667; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm19, %zmm7, %zmm199668; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9669; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9670; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}9671; AVX512-FCP-NEXT: vmovdqa64 1600(%rdi), %xmm219672; AVX512-FCP-NEXT: vinserti32x4 $1, 1728(%rdi), %ymm21, %ymm219673; AVX512-FCP-NEXT: vmovdqa64 1536(%rdi), %xmm259674; AVX512-FCP-NEXT: vinserti32x4 $1, 1664(%rdi), %ymm25, %ymm259675; AVX512-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm26 = ymm25[0],ymm21[0],ymm25[2],ymm21[2]9676; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm26, %zmm7, %zmm129677; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9678; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9679; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}9680; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm18[1],ymm13[1],ymm18[3],ymm13[3]9681; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm7, %zmm139682; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9683; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9684; AVX512-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}9685; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]9686; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm7, %zmm59687; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9688; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9689; AVX512-FCP-NEXT: vmovdqa64 %zmm6, %zmm7 {%k1}9690; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]9691; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm09692; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9693; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload9694; AVX512-FCP-NEXT: vmovdqa64 %zmm1, %zmm6 {%k1}9695; AVX512-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm25[1],ymm21[1],ymm25[3],ymm21[3]9696; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm6, %zmm19697; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload9698; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload9699; AVX512-FCP-NEXT: # ymm6 = ymm6[0,1,2,3],mem[4,5,6,7]9700; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm23, %zmm69701; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload9702; AVX512-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload9703; AVX512-FCP-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]9704; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload9705; AVX512-FCP-NEXT: vinsertf64x4 $0, %ymm7, %zmm8, %zmm79706; AVX512-FCP-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm8 # 32-byte Folded Reload9707; AVX512-FCP-NEXT: # ymm8 = mem[0,1,2,3],ymm9[4,5,6,7]9708; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload9709; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm9, %zmm89710; AVX512-FCP-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm9 # 32-byte Folded Reload9711; AVX512-FCP-NEXT: # ymm9 = mem[0,1,2,3],ymm15[4,5,6,7]9712; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm22, %zmm99713; AVX512-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload9714; AVX512-FCP-NEXT: # ymm11 = ymm3[0,1,2,3],mem[4,5,6,7]9715; AVX512-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload9716; AVX512-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm3, %zmm119717; AVX512-FCP-NEXT: vmovdqa64 %zmm12, 192(%rsi)9718; AVX512-FCP-NEXT: vmovdqa64 %zmm19, 128(%rsi)9719; AVX512-FCP-NEXT: vmovdqa64 %zmm27, 64(%rsi)9720; AVX512-FCP-NEXT: vmovdqa64 %zmm2, (%rsi)9721; AVX512-FCP-NEXT: vmovdqa64 %zmm1, 192(%rdx)9722; AVX512-FCP-NEXT: vmovdqa64 %zmm0, (%rdx)9723; AVX512-FCP-NEXT: vmovdqa64 %zmm5, 64(%rdx)9724; AVX512-FCP-NEXT: vmovdqa64 %zmm13, 128(%rdx)9725; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9726; AVX512-FCP-NEXT: vmovaps %zmm0, 192(%rcx)9727; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9728; AVX512-FCP-NEXT: vmovaps %zmm0, (%rcx)9729; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9730; AVX512-FCP-NEXT: vmovaps %zmm0, 64(%rcx)9731; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9732; AVX512-FCP-NEXT: vmovaps %zmm0, 128(%rcx)9733; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9734; AVX512-FCP-NEXT: vmovaps %zmm0, 192(%r8)9735; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9736; AVX512-FCP-NEXT: vmovaps %zmm0, (%r8)9737; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9738; AVX512-FCP-NEXT: vmovaps %zmm0, 64(%r8)9739; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9740; AVX512-FCP-NEXT: vmovaps %zmm0, 128(%r8)9741; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9742; AVX512-FCP-NEXT: vmovaps %zmm0, 192(%r9)9743; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9744; AVX512-FCP-NEXT: vmovaps %zmm0, (%r9)9745; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9746; AVX512-FCP-NEXT: vmovaps %zmm0, 64(%r9)9747; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9748; AVX512-FCP-NEXT: vmovaps %zmm0, 128(%r9)9749; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax9750; AVX512-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload9751; AVX512-FCP-NEXT: vmovaps %zmm0, 192(%rax)9752; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9753; AVX512-FCP-NEXT: vmovaps %zmm0, (%rax)9754; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9755; AVX512-FCP-NEXT: vmovaps %zmm0, 64(%rax)9756; AVX512-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload9757; AVX512-FCP-NEXT: vmovaps %zmm0, 128(%rax)9758; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax9759; AVX512-FCP-NEXT: vmovdqa64 %zmm6, 192(%rax)9760; AVX512-FCP-NEXT: vmovdqa64 %zmm10, (%rax)9761; AVX512-FCP-NEXT: vmovdqa64 %zmm4, 64(%rax)9762; AVX512-FCP-NEXT: vmovdqa64 %zmm14, 128(%rax)9763; AVX512-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax9764; AVX512-FCP-NEXT: vmovdqa64 %zmm11, 128(%rax)9765; AVX512-FCP-NEXT: vmovdqa64 %zmm9, 192(%rax)9766; AVX512-FCP-NEXT: vmovdqa64 %zmm8, (%rax)9767; AVX512-FCP-NEXT: vmovaps %zmm7, 64(%rax)9768; AVX512-FCP-NEXT: addq $3208, %rsp # imm = 0xC889769; AVX512-FCP-NEXT: vzeroupper9770; AVX512-FCP-NEXT: retq9771;9772; AVX512DQ-LABEL: load_i64_stride8_vf32:9773; AVX512DQ: # %bb.0:9774; AVX512DQ-NEXT: subq $3208, %rsp # imm = 0xC889775; AVX512DQ-NEXT: vmovdqa64 1856(%rdi), %zmm129776; AVX512DQ-NEXT: vmovdqa64 1984(%rdi), %zmm169777; AVX512DQ-NEXT: vmovdqa64 1344(%rdi), %zmm199778; AVX512DQ-NEXT: vmovdqa64 1280(%rdi), %zmm189779; AVX512DQ-NEXT: vmovdqa64 1472(%rdi), %zmm249780; AVX512DQ-NEXT: vmovdqa64 1408(%rdi), %zmm279781; AVX512DQ-NEXT: vmovdqa64 832(%rdi), %zmm79782; AVX512DQ-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9783; AVX512DQ-NEXT: vmovdqa64 768(%rdi), %zmm119784; AVX512DQ-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9785; AVX512DQ-NEXT: vmovdqa64 960(%rdi), %zmm319786; AVX512DQ-NEXT: vmovdqa64 896(%rdi), %zmm39787; AVX512DQ-NEXT: vmovdqa64 320(%rdi), %zmm209788; AVX512DQ-NEXT: vmovdqa64 256(%rdi), %zmm89789; AVX512DQ-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9790; AVX512DQ-NEXT: vmovdqa64 448(%rdi), %zmm259791; AVX512DQ-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9792; AVX512DQ-NEXT: vmovdqa64 384(%rdi), %zmm239793; AVX512DQ-NEXT: movb $-64, %al9794; AVX512DQ-NEXT: kmovw %eax, %k19795; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,10,2,10,2,10,2,10]9796; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9797; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm19798; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm0, %zmm19799; AVX512DQ-NEXT: vmovdqa64 %zmm18, %zmm29800; AVX512DQ-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9801; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm0, %zmm29802; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}9803; AVX512DQ-NEXT: vmovdqa64 1216(%rdi), %ymm229804; AVX512DQ-NEXT: vmovdqa 1152(%rdi), %ymm109805; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm10[0],ymm22[0],ymm10[2],ymm22[2]9806; AVX512DQ-NEXT: vmovdqa 1088(%rdi), %ymm99807; AVX512DQ-NEXT: vmovdqa 1024(%rdi), %ymm69808; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]9809; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm13[2,3],ymm4[2,3]9810; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm19811; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9812; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm29813; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm0, %zmm29814; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm49815; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm0, %zmm49816; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm4 {%k1}9817; AVX512DQ-NEXT: vmovdqa 704(%rdi), %ymm79818; AVX512DQ-NEXT: vmovdqa 640(%rdi), %ymm139819; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm13[0],ymm7[0],ymm13[2],ymm7[2]9820; AVX512DQ-NEXT: vmovdqa64 576(%rdi), %ymm179821; AVX512DQ-NEXT: vmovdqa64 512(%rdi), %ymm219822; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm21[0],ymm17[0],ymm21[2],ymm17[2]9823; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]9824; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm19825; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9826; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm49827; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm0, %zmm49828; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm119829; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm0, %zmm119830; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm11 {%k1}9831; AVX512DQ-NEXT: vmovdqa 192(%rdi), %ymm49832; AVX512DQ-NEXT: vmovdqa 128(%rdi), %ymm149833; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]9834; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %ymm259835; AVX512DQ-NEXT: vmovdqa64 (%rdi), %ymm289836; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm25[0],ymm28[2],ymm25[2]9837; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm8[2,3],ymm1[2,3]9838; AVX512DQ-NEXT: vmovdqa64 1920(%rdi), %zmm299839; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm11, %zmm19840; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9841; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm19842; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm0, %zmm19843; AVX512DQ-NEXT: vmovdqa64 1792(%rdi), %zmm269844; AVX512DQ-NEXT: vpermi2q %zmm12, %zmm26, %zmm09845; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}9846; AVX512DQ-NEXT: vmovdqa 1728(%rdi), %ymm29847; AVX512DQ-NEXT: vmovdqa 1664(%rdi), %ymm89848; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm8[0],ymm2[0],ymm8[2],ymm2[2]9849; AVX512DQ-NEXT: vmovdqa64 1600(%rdi), %ymm309850; AVX512DQ-NEXT: vmovdqa 1536(%rdi), %ymm19851; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm15 = ymm1[0],ymm30[0],ymm1[2],ymm30[2]9852; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm15[2,3],ymm11[2,3]9853; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm09854; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9855; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]9856; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9857; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm119858; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm0, %zmm119859; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm0, %zmm189860; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm18 {%k1}9861; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm10[1],ymm22[1],ymm10[3],ymm22[3]9862; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]9863; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]9864; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm18, %zmm59865; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9866; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm59867; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm109868; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm0, %zmm59869; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload9870; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm69871; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload9872; AVX512DQ-NEXT: vpermt2q %zmm22, %zmm0, %zmm69873; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}9874; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm13[1],ymm7[1],ymm13[3],ymm7[3]9875; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm21[1],ymm17[1],ymm21[3],ymm17[3]9876; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]9877; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm39878; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9879; AVX512DQ-NEXT: vmovdqu64 %zmm23, (%rsp) # 64-byte Spill9880; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm39881; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload9882; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm0, %zmm39883; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload9884; AVX512DQ-NEXT: vmovdqa64 %zmm21, %zmm59885; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm0, %zmm59886; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm5 {%k1}9887; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]9888; AVX512DQ-NEXT: vmovdqa64 1088(%rdi), %zmm79889; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm28[1],ymm25[1],ymm28[3],ymm25[3]9890; AVX512DQ-NEXT: vmovdqa64 1024(%rdi), %zmm69891; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]9892; AVX512DQ-NEXT: vmovdqa64 1216(%rdi), %zmm139893; AVX512DQ-NEXT: vinserti64x4 $0, %ymm3, %zmm5, %zmm39894; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9895; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm159896; AVX512DQ-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9897; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm39898; AVX512DQ-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9899; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm0, %zmm39900; AVX512DQ-NEXT: vmovdqa64 %zmm26, %zmm99901; AVX512DQ-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9902; AVX512DQ-NEXT: vpermi2q %zmm12, %zmm26, %zmm09903; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}9904; AVX512DQ-NEXT: vmovdqa64 1152(%rdi), %zmm49905; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm8[1],ymm2[1],ymm8[3],ymm2[3]9906; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],ymm30[1],ymm1[3],ymm30[3]9907; AVX512DQ-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]9908; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm09909; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9910; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]9911; AVX512DQ-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9912; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm19913; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9914; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm0, %zmm19915; AVX512DQ-NEXT: vmovdqa64 %zmm13, %zmm89916; AVX512DQ-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9917; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm29918; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm59919; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9920; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm0, %zmm29921; AVX512DQ-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9922; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9923; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm29924; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm0, %zmm29925; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload9926; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm17[0],zmm19[0],zmm17[2],zmm19[2],zmm17[4],zmm19[4],zmm17[6],zmm19[6]9927; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}9928; AVX512DQ-NEXT: vmovdqa64 704(%rdi), %zmm259929; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm19930; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9931; AVX512DQ-NEXT: vmovdqa64 640(%rdi), %zmm19932; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9933; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm0, %zmm19934; AVX512DQ-NEXT: vmovdqa64 576(%rdi), %zmm269935; AVX512DQ-NEXT: vmovdqa64 512(%rdi), %zmm149936; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm29937; AVX512DQ-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9938; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm0, %zmm29939; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9940; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm29941; AVX512DQ-NEXT: vmovdqa64 %zmm10, %zmm299942; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm0, %zmm29943; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm11[0],zmm22[0],zmm11[2],zmm22[2],zmm11[4],zmm22[4],zmm11[6],zmm22[6]9944; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm109945; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}9946; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm19947; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9948; AVX512DQ-NEXT: vmovdqa64 192(%rdi), %zmm29949; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9950; AVX512DQ-NEXT: vmovdqa64 128(%rdi), %zmm19951; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9952; AVX512DQ-NEXT: vpermt2q %zmm2, %zmm0, %zmm19953; AVX512DQ-NEXT: vmovdqa64 64(%rdi), %zmm69954; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9955; AVX512DQ-NEXT: vmovdqa64 (%rdi), %zmm29956; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9957; AVX512DQ-NEXT: vpermt2q %zmm6, %zmm0, %zmm29958; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9959; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm0, %zmm239960; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]9961; AVX512DQ-NEXT: vmovdqa64 %zmm21, %zmm229962; AVX512DQ-NEXT: vmovdqa64 %zmm23, %zmm3 {%k1}9963; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm19964; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9965; AVX512DQ-NEXT: vmovdqa64 1728(%rdi), %zmm189966; AVX512DQ-NEXT: vmovdqa64 1664(%rdi), %zmm19967; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9968; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm0, %zmm19969; AVX512DQ-NEXT: vmovdqa64 1600(%rdi), %zmm139970; AVX512DQ-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9971; AVX512DQ-NEXT: vmovdqa64 1536(%rdi), %zmm69972; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm29973; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9974; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm0, %zmm29975; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]9976; AVX512DQ-NEXT: vpermi2q %zmm16, %zmm15, %zmm09977; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm9[0],zmm12[0],zmm9[2],zmm12[2],zmm9[4],zmm12[4],zmm9[6],zmm12[6]9978; AVX512DQ-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}9979; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm09980; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9981; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [5,13,5,13,5,13,5,13]9982; AVX512DQ-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9983; AVX512DQ-NEXT: vpermt2q %zmm8, %zmm2, %zmm49984; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm19985; AVX512DQ-NEXT: vpermt2q %zmm7, %zmm2, %zmm19986; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm4[4,5,6,7]9987; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [0,8,0,8,0,8,0,8]9988; AVX512DQ-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9989; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm99990; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm09991; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm21, %zmm09992; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9993; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [1,9,1,9,1,9,1,9]9994; AVX512DQ-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]9995; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm09996; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm16, %zmm09997; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill9998; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [6,14,6,14,6,14,6,14]9999; AVX512DQ-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10000; AVX512DQ-NEXT: vmovdqa64 %zmm17, %zmm010001; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm23, %zmm010002; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm17[1],zmm19[1],zmm17[3],zmm19[3],zmm17[5],zmm19[5],zmm17[7],zmm19[7]10003; AVX512DQ-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [7,15,7,15,7,15,7,15]10004; AVX512DQ-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10005; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm17, %zmm910006; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm0 {%k1} = zmm27[0],zmm24[0],zmm27[2],zmm24[2],zmm27[4],zmm24[4],zmm27[6],zmm24[6]10007; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10008; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm27[1],zmm24[1],zmm27[3],zmm24[3],zmm27[5],zmm24[5],zmm27[7],zmm24[7]10009; AVX512DQ-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10010; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm010011; AVX512DQ-NEXT: vmovdqa64 %zmm27, %zmm810012; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm21, %zmm2710013; AVX512DQ-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10014; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm16, %zmm010015; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10016; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm2, %zmm810017; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}10018; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm7, %zmm010019; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10020; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10021; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm710022; AVX512DQ-NEXT: vmovdqa64 %zmm25, %zmm910023; AVX512DQ-NEXT: vpermt2q %zmm25, %zmm2, %zmm710024; AVX512DQ-NEXT: vmovdqa64 %zmm26, %zmm1310025; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm2, %zmm1410026; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm7[4,5,6,7]10027; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm010028; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm410029; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm21, %zmm410030; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10031; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm410032; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm16, %zmm410033; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10034; AVX512DQ-NEXT: vmovdqa64 %zmm11, %zmm3010035; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm23, %zmm3010036; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm11 = zmm11[1],zmm10[1],zmm11[3],zmm10[3],zmm11[5],zmm10[5],zmm11[7],zmm10[7]10037; AVX512DQ-NEXT: vpermt2q %zmm10, %zmm17, %zmm010038; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm410039; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm30 {%k1} = zmm29[0],zmm31[0],zmm29[2],zmm31[2],zmm29[4],zmm31[4],zmm29[6],zmm31[6]10040; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm29[1],zmm31[1],zmm29[3],zmm31[3],zmm29[5],zmm31[5],zmm29[7],zmm31[7]10041; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10042; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm010043; AVX512DQ-NEXT: vmovdqa64 %zmm29, %zmm1410044; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm21, %zmm410045; AVX512DQ-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10046; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm16, %zmm010047; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10048; AVX512DQ-NEXT: vpermt2q %zmm31, %zmm2, %zmm1410049; AVX512DQ-NEXT: vmovdqa64 %zmm14, %zmm11 {%k1}10050; AVX512DQ-NEXT: vinserti64x4 $0, %ymm8, %zmm11, %zmm010051; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10052; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10053; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload10054; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm2, %zmm810055; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10056; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm1110057; AVX512DQ-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm11 # 64-byte Folded Reload10058; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm8[4,5,6,7]10059; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm010060; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm2510061; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm21, %zmm2510062; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm510063; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm16, %zmm510064; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10065; AVX512DQ-NEXT: vmovdqa64 %zmm22, %zmm2710066; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm23, %zmm2710067; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm20[1],zmm22[3],zmm20[3],zmm22[5],zmm20[5],zmm22[7],zmm20[7]10068; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm17, %zmm010069; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10070; AVX512DQ-NEXT: vmovdqu64 (%rsp), %zmm31 # 64-byte Reload10071; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm27 {%k1} = zmm31[0],zmm1[0],zmm31[2],zmm1[2],zmm31[4],zmm1[4],zmm31[6],zmm1[6]10072; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm31[1],zmm1[1],zmm31[3],zmm1[3],zmm31[5],zmm1[5],zmm31[7],zmm1[7]10073; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10074; AVX512DQ-NEXT: vmovdqa64 %zmm31, %zmm010075; AVX512DQ-NEXT: vmovdqa64 %zmm31, %zmm2410076; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm21, %zmm3110077; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm16, %zmm010078; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10079; AVX512DQ-NEXT: vpermt2q %zmm1, %zmm2, %zmm2410080; AVX512DQ-NEXT: vmovdqa64 %zmm24, %zmm14 {%k1}10081; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm010082; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10083; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload10084; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm1110085; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm2, %zmm1110086; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload10087; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm2, %zmm610088; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm11 = ymm6[0,1,2,3],ymm11[4,5,6,7]10089; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload10090; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10091; AVX512DQ-NEXT: vpermi2q %zmm20, %zmm5, %zmm210092; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload10093; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm12[1],zmm22[3],zmm12[3],zmm22[5],zmm12[5],zmm22[7],zmm12[7]10094; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm14 {%k1}10095; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm210096; AVX512DQ-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill10097; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm210098; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm21, %zmm210099; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10100; AVX512DQ-NEXT: vpermi2q %zmm12, %zmm22, %zmm2110101; AVX512DQ-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10102; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm210103; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm2110104; AVX512DQ-NEXT: vpermt2q %zmm20, %zmm16, %zmm210105; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10106; AVX512DQ-NEXT: vpermi2q %zmm12, %zmm22, %zmm1610107; AVX512DQ-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10108; AVX512DQ-NEXT: vmovdqa64 %zmm12, %zmm1610109; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10110; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm1410111; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload10112; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm23, %zmm1410113; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload10114; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload10115; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm23, %zmm1110116; AVX512DQ-NEXT: vmovdqa64 %zmm3, %zmm1210117; AVX512DQ-NEXT: vpermt2q %zmm9, %zmm23, %zmm1210118; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm2910119; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10120; AVX512DQ-NEXT: vmovdqa64 %zmm2, %zmm810121; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm23, %zmm810122; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload10123; AVX512DQ-NEXT: vmovdqa64 %zmm9, %zmm1010124; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm23, %zmm1010125; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm510126; AVX512DQ-NEXT: vmovdqa64 %zmm4, %zmm710127; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10128; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm23, %zmm710129; AVX512DQ-NEXT: vmovdqa64 %zmm15, %zmm010130; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm23, %zmm010131; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10132; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10133; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm010134; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm23, %zmm010135; AVX512DQ-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10136; AVX512DQ-NEXT: vpermi2q %zmm16, %zmm22, %zmm2310137; AVX512DQ-NEXT: vpermt2q %zmm16, %zmm17, %zmm2210138; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} zmm23 {%k1} = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]10139; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} zmm22 {%k1} = zmm21[1],zmm20[1],zmm21[3],zmm20[3],zmm21[5],zmm20[5],zmm21[7],zmm20[7]10140; AVX512DQ-NEXT: vpermt2q %zmm29, %zmm17, %zmm310141; AVX512DQ-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10142; AVX512DQ-NEXT: vpermt2q %zmm13, %zmm17, %zmm210143; AVX512DQ-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10144; AVX512DQ-NEXT: vpermt2q %zmm28, %zmm17, %zmm910145; AVX512DQ-NEXT: vpermt2q %zmm4, %zmm17, %zmm510146; AVX512DQ-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10147; AVX512DQ-NEXT: vpermt2q %zmm18, %zmm17, %zmm1510148; AVX512DQ-NEXT: vpermt2q %zmm19, %zmm17, %zmm110149; AVX512DQ-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10150; AVX512DQ-NEXT: vpermt2q %zmm24, %zmm17, %zmm610151; AVX512DQ-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10152; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10153; AVX512DQ-NEXT: vpermt2q %zmm26, %zmm17, %zmm310154; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm14[4,5,6,7]10155; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10156; AVX512DQ-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm1410157; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3],ymm12[4,5,6,7]10158; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm30, %zmm410159; AVX512DQ-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm10[4,5,6,7]10160; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm27, %zmm1010161; AVX512DQ-NEXT: vmovdqa64 %zmm31, %zmm25 {%k1}10162; AVX512DQ-NEXT: vmovdqa 64(%rdi), %xmm010163; AVX512DQ-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm010164; AVX512DQ-NEXT: vmovdqa (%rdi), %xmm110165; AVX512DQ-NEXT: vinserti128 $1, 128(%rdi), %ymm1, %ymm110166; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]10167; AVX512DQ-NEXT: vinserti64x4 $0, %ymm2, %zmm25, %zmm210168; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10169; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10170; AVX512DQ-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}10171; AVX512DQ-NEXT: vmovdqa 576(%rdi), %xmm510172; AVX512DQ-NEXT: vinserti128 $1, 704(%rdi), %ymm5, %ymm510173; AVX512DQ-NEXT: vmovdqa 512(%rdi), %xmm610174; AVX512DQ-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm610175; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm18 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]10176; AVX512DQ-NEXT: vinserti64x4 $0, %ymm18, %zmm7, %zmm2710177; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10178; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10179; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}10180; AVX512DQ-NEXT: vmovdqa 1088(%rdi), %xmm1310181; AVX512DQ-NEXT: vinserti128 $1, 1216(%rdi), %ymm13, %ymm1310182; AVX512DQ-NEXT: vmovdqa64 1024(%rdi), %xmm1810183; AVX512DQ-NEXT: vinserti32x4 $1, 1152(%rdi), %ymm18, %ymm1810184; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm19 = ymm18[0],ymm13[0],ymm18[2],ymm13[2]10185; AVX512DQ-NEXT: vinserti64x4 $0, %ymm19, %zmm7, %zmm1910186; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10187; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10188; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}10189; AVX512DQ-NEXT: vmovdqa64 1600(%rdi), %xmm2110190; AVX512DQ-NEXT: vinserti32x4 $1, 1728(%rdi), %ymm21, %ymm2110191; AVX512DQ-NEXT: vmovdqa64 1536(%rdi), %xmm2510192; AVX512DQ-NEXT: vinserti32x4 $1, 1664(%rdi), %ymm25, %ymm2510193; AVX512DQ-NEXT: vpunpcklqdq {{.*#+}} ymm26 = ymm25[0],ymm21[0],ymm25[2],ymm21[2]10194; AVX512DQ-NEXT: vinserti64x4 $0, %ymm26, %zmm7, %zmm1210195; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10196; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10197; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}10198; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm18[1],ymm13[1],ymm18[3],ymm13[3]10199; AVX512DQ-NEXT: vinserti64x4 $0, %ymm13, %zmm7, %zmm1310200; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10201; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10202; AVX512DQ-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}10203; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]10204; AVX512DQ-NEXT: vinserti64x4 $0, %ymm5, %zmm7, %zmm510205; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10206; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10207; AVX512DQ-NEXT: vmovdqa64 %zmm6, %zmm7 {%k1}10208; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]10209; AVX512DQ-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm010210; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10211; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10212; AVX512DQ-NEXT: vmovdqa64 %zmm1, %zmm6 {%k1}10213; AVX512DQ-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm25[1],ymm21[1],ymm25[3],ymm21[3]10214; AVX512DQ-NEXT: vinserti64x4 $0, %ymm1, %zmm6, %zmm110215; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10216; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload10217; AVX512DQ-NEXT: # ymm6 = ymm6[0,1,2,3],mem[4,5,6,7]10218; AVX512DQ-NEXT: vinserti64x4 $0, %ymm6, %zmm23, %zmm610219; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10220; AVX512DQ-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload10221; AVX512DQ-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]10222; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10223; AVX512DQ-NEXT: vinsertf64x4 $0, %ymm7, %zmm8, %zmm710224; AVX512DQ-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm8 # 32-byte Folded Reload10225; AVX512DQ-NEXT: # ymm8 = mem[0,1,2,3],ymm9[4,5,6,7]10226; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload10227; AVX512DQ-NEXT: vinserti64x4 $0, %ymm8, %zmm9, %zmm810228; AVX512DQ-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm9 # 32-byte Folded Reload10229; AVX512DQ-NEXT: # ymm9 = mem[0,1,2,3],ymm15[4,5,6,7]10230; AVX512DQ-NEXT: vinserti64x4 $0, %ymm9, %zmm22, %zmm910231; AVX512DQ-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload10232; AVX512DQ-NEXT: # ymm11 = ymm3[0,1,2,3],mem[4,5,6,7]10233; AVX512DQ-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10234; AVX512DQ-NEXT: vinserti64x4 $0, %ymm11, %zmm3, %zmm1110235; AVX512DQ-NEXT: vmovdqa64 %zmm12, 192(%rsi)10236; AVX512DQ-NEXT: vmovdqa64 %zmm19, 128(%rsi)10237; AVX512DQ-NEXT: vmovdqa64 %zmm27, 64(%rsi)10238; AVX512DQ-NEXT: vmovdqa64 %zmm2, (%rsi)10239; AVX512DQ-NEXT: vmovdqa64 %zmm1, 192(%rdx)10240; AVX512DQ-NEXT: vmovdqa64 %zmm0, (%rdx)10241; AVX512DQ-NEXT: vmovdqa64 %zmm5, 64(%rdx)10242; AVX512DQ-NEXT: vmovdqa64 %zmm13, 128(%rdx)10243; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10244; AVX512DQ-NEXT: vmovaps %zmm0, 192(%rcx)10245; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10246; AVX512DQ-NEXT: vmovaps %zmm0, (%rcx)10247; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10248; AVX512DQ-NEXT: vmovaps %zmm0, 64(%rcx)10249; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10250; AVX512DQ-NEXT: vmovaps %zmm0, 128(%rcx)10251; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10252; AVX512DQ-NEXT: vmovaps %zmm0, 192(%r8)10253; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10254; AVX512DQ-NEXT: vmovaps %zmm0, (%r8)10255; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10256; AVX512DQ-NEXT: vmovaps %zmm0, 64(%r8)10257; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10258; AVX512DQ-NEXT: vmovaps %zmm0, 128(%r8)10259; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10260; AVX512DQ-NEXT: vmovaps %zmm0, 192(%r9)10261; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10262; AVX512DQ-NEXT: vmovaps %zmm0, (%r9)10263; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10264; AVX512DQ-NEXT: vmovaps %zmm0, 64(%r9)10265; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10266; AVX512DQ-NEXT: vmovaps %zmm0, 128(%r9)10267; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax10268; AVX512DQ-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload10269; AVX512DQ-NEXT: vmovaps %zmm0, 192(%rax)10270; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10271; AVX512DQ-NEXT: vmovaps %zmm0, (%rax)10272; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10273; AVX512DQ-NEXT: vmovaps %zmm0, 64(%rax)10274; AVX512DQ-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10275; AVX512DQ-NEXT: vmovaps %zmm0, 128(%rax)10276; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax10277; AVX512DQ-NEXT: vmovdqa64 %zmm6, 192(%rax)10278; AVX512DQ-NEXT: vmovdqa64 %zmm10, (%rax)10279; AVX512DQ-NEXT: vmovdqa64 %zmm4, 64(%rax)10280; AVX512DQ-NEXT: vmovdqa64 %zmm14, 128(%rax)10281; AVX512DQ-NEXT: movq {{[0-9]+}}(%rsp), %rax10282; AVX512DQ-NEXT: vmovdqa64 %zmm11, 128(%rax)10283; AVX512DQ-NEXT: vmovdqa64 %zmm9, 192(%rax)10284; AVX512DQ-NEXT: vmovdqa64 %zmm8, (%rax)10285; AVX512DQ-NEXT: vmovaps %zmm7, 64(%rax)10286; AVX512DQ-NEXT: addq $3208, %rsp # imm = 0xC8810287; AVX512DQ-NEXT: vzeroupper10288; AVX512DQ-NEXT: retq10289;10290; AVX512DQ-FCP-LABEL: load_i64_stride8_vf32:10291; AVX512DQ-FCP: # %bb.0:10292; AVX512DQ-FCP-NEXT: subq $3208, %rsp # imm = 0xC8810293; AVX512DQ-FCP-NEXT: vmovdqa64 1856(%rdi), %zmm1210294; AVX512DQ-FCP-NEXT: vmovdqa64 1984(%rdi), %zmm1610295; AVX512DQ-FCP-NEXT: vmovdqa64 1344(%rdi), %zmm1910296; AVX512DQ-FCP-NEXT: vmovdqa64 1280(%rdi), %zmm1810297; AVX512DQ-FCP-NEXT: vmovdqa64 1472(%rdi), %zmm2410298; AVX512DQ-FCP-NEXT: vmovdqa64 1408(%rdi), %zmm2710299; AVX512DQ-FCP-NEXT: vmovdqa64 832(%rdi), %zmm710300; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10301; AVX512DQ-FCP-NEXT: vmovdqa64 768(%rdi), %zmm1110302; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10303; AVX512DQ-FCP-NEXT: vmovdqa64 960(%rdi), %zmm3110304; AVX512DQ-FCP-NEXT: vmovdqa64 896(%rdi), %zmm310305; AVX512DQ-FCP-NEXT: vmovdqa64 320(%rdi), %zmm2010306; AVX512DQ-FCP-NEXT: vmovdqa64 256(%rdi), %zmm810307; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10308; AVX512DQ-FCP-NEXT: vmovdqa64 448(%rdi), %zmm2510309; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10310; AVX512DQ-FCP-NEXT: vmovdqa64 384(%rdi), %zmm2310311; AVX512DQ-FCP-NEXT: movb $-64, %al10312; AVX512DQ-FCP-NEXT: kmovw %eax, %k110313; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,10,2,10,2,10,2,10]10314; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10315; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm110316; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm110317; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm18, %zmm210318; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10319; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm0, %zmm210320; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}10321; AVX512DQ-FCP-NEXT: vmovdqa64 1216(%rdi), %ymm2210322; AVX512DQ-FCP-NEXT: vmovdqa 1152(%rdi), %ymm1010323; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm10[0],ymm22[0],ymm10[2],ymm22[2]10324; AVX512DQ-FCP-NEXT: vmovdqa 1088(%rdi), %ymm910325; AVX512DQ-FCP-NEXT: vmovdqa 1024(%rdi), %ymm610326; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]10327; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm13[2,3],ymm4[2,3]10328; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm110329; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10330; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm210331; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm210332; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm410333; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm410334; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm4 {%k1}10335; AVX512DQ-FCP-NEXT: vmovdqa 704(%rdi), %ymm710336; AVX512DQ-FCP-NEXT: vmovdqa 640(%rdi), %ymm1310337; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm13[0],ymm7[0],ymm13[2],ymm7[2]10338; AVX512DQ-FCP-NEXT: vmovdqa64 576(%rdi), %ymm1710339; AVX512DQ-FCP-NEXT: vmovdqa64 512(%rdi), %ymm2110340; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm21[0],ymm17[0],ymm21[2],ymm17[2]10341; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]10342; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm110343; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10344; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, %zmm410345; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm0, %zmm410346; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm1110347; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm0, %zmm1110348; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm11 {%k1}10349; AVX512DQ-FCP-NEXT: vmovdqa 192(%rdi), %ymm410350; AVX512DQ-FCP-NEXT: vmovdqa 128(%rdi), %ymm1410351; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]10352; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %ymm2510353; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %ymm2810354; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm25[0],ymm28[2],ymm25[2]10355; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm8[2,3],ymm1[2,3]10356; AVX512DQ-FCP-NEXT: vmovdqa64 1920(%rdi), %zmm2910357; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm11, %zmm110358; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10359; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm110360; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm110361; AVX512DQ-FCP-NEXT: vmovdqa64 1792(%rdi), %zmm2610362; AVX512DQ-FCP-NEXT: vpermi2q %zmm12, %zmm26, %zmm010363; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}10364; AVX512DQ-FCP-NEXT: vmovdqa 1728(%rdi), %ymm210365; AVX512DQ-FCP-NEXT: vmovdqa 1664(%rdi), %ymm810366; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm8[0],ymm2[0],ymm8[2],ymm2[2]10367; AVX512DQ-FCP-NEXT: vmovdqa64 1600(%rdi), %ymm3010368; AVX512DQ-FCP-NEXT: vmovdqa 1536(%rdi), %ymm110369; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm15 = ymm1[0],ymm30[0],ymm1[2],ymm30[2]10370; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm15[2,3],ymm11[2,3]10371; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm010372; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10373; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]10374; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10375; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm1110376; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm1110377; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm0, %zmm1810378; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm18 {%k1}10379; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm10[1],ymm22[1],ymm10[3],ymm22[3]10380; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]10381; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]10382; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm18, %zmm510383; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10384; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm510385; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm1010386; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm510387; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload10388; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm610389; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload10390; AVX512DQ-FCP-NEXT: vpermt2q %zmm22, %zmm0, %zmm610391; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}10392; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm13[1],ymm7[1],ymm13[3],ymm7[3]10393; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm21[1],ymm17[1],ymm21[3],ymm17[3]10394; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]10395; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm310396; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10397; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm23, (%rsp) # 64-byte Spill10398; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, %zmm310399; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload10400; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm310401; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload10402; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm510403; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm0, %zmm510404; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm5 {%k1}10405; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]10406; AVX512DQ-FCP-NEXT: vmovdqa64 1088(%rdi), %zmm710407; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm28[1],ymm25[1],ymm28[3],ymm25[3]10408; AVX512DQ-FCP-NEXT: vmovdqa64 1024(%rdi), %zmm610409; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]10410; AVX512DQ-FCP-NEXT: vmovdqa64 1216(%rdi), %zmm1310411; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm5, %zmm310412; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10413; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm1510414; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10415; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm310416; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10417; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm310418; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, %zmm910419; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10420; AVX512DQ-FCP-NEXT: vpermi2q %zmm12, %zmm26, %zmm010421; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}10422; AVX512DQ-FCP-NEXT: vmovdqa64 1152(%rdi), %zmm410423; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm8[1],ymm2[1],ymm8[3],ymm2[3]10424; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],ymm30[1],ymm1[3],ymm30[3]10425; AVX512DQ-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]10426; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm010427; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10428; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]10429; AVX512DQ-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10430; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm110431; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10432; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm110433; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, %zmm810434; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10435; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm210436; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm510437; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10438; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm210439; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10440; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]10441; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm210442; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm210443; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload10444; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm17[0],zmm19[0],zmm17[2],zmm19[2],zmm17[4],zmm19[4],zmm17[6],zmm19[6]10445; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}10446; AVX512DQ-FCP-NEXT: vmovdqa64 704(%rdi), %zmm2510447; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm110448; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10449; AVX512DQ-FCP-NEXT: vmovdqa64 640(%rdi), %zmm110450; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10451; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm0, %zmm110452; AVX512DQ-FCP-NEXT: vmovdqa64 576(%rdi), %zmm2610453; AVX512DQ-FCP-NEXT: vmovdqa64 512(%rdi), %zmm1410454; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm210455; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10456; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm0, %zmm210457; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]10458; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm210459; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, %zmm2910460; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm210461; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm11[0],zmm22[0],zmm11[2],zmm22[2],zmm11[4],zmm22[4],zmm11[6],zmm22[6]10462; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm1010463; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}10464; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm110465; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10466; AVX512DQ-FCP-NEXT: vmovdqa64 192(%rdi), %zmm210467; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10468; AVX512DQ-FCP-NEXT: vmovdqa64 128(%rdi), %zmm110469; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10470; AVX512DQ-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm110471; AVX512DQ-FCP-NEXT: vmovdqa64 64(%rdi), %zmm610472; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10473; AVX512DQ-FCP-NEXT: vmovdqa64 (%rdi), %zmm210474; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10475; AVX512DQ-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm210476; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]10477; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm2310478; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]10479; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm21, %zmm2210480; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm23, %zmm3 {%k1}10481; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm110482; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10483; AVX512DQ-FCP-NEXT: vmovdqa64 1728(%rdi), %zmm1810484; AVX512DQ-FCP-NEXT: vmovdqa64 1664(%rdi), %zmm110485; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10486; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm110487; AVX512DQ-FCP-NEXT: vmovdqa64 1600(%rdi), %zmm1310488; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10489; AVX512DQ-FCP-NEXT: vmovdqa64 1536(%rdi), %zmm610490; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm210491; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10492; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm210493; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]10494; AVX512DQ-FCP-NEXT: vpermi2q %zmm16, %zmm15, %zmm010495; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm9[0],zmm12[0],zmm9[2],zmm12[2],zmm9[4],zmm12[4],zmm9[6],zmm12[6]10496; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}10497; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm010498; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10499; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [5,13,5,13,5,13,5,13]10500; AVX512DQ-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10501; AVX512DQ-FCP-NEXT: vpermt2q %zmm8, %zmm2, %zmm410502; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm110503; AVX512DQ-FCP-NEXT: vpermt2q %zmm7, %zmm2, %zmm110504; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm4[4,5,6,7]10505; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [0,8,0,8,0,8,0,8]10506; AVX512DQ-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10507; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm910508; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm010509; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm21, %zmm010510; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10511; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [1,9,1,9,1,9,1,9]10512; AVX512DQ-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10513; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm010514; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm16, %zmm010515; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10516; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [6,14,6,14,6,14,6,14]10517; AVX512DQ-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10518; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm17, %zmm010519; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm010520; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm17[1],zmm19[1],zmm17[3],zmm19[3],zmm17[5],zmm19[5],zmm17[7],zmm19[7]10521; AVX512DQ-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [7,15,7,15,7,15,7,15]10522; AVX512DQ-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10523; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm17, %zmm910524; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm0 {%k1} = zmm27[0],zmm24[0],zmm27[2],zmm24[2],zmm27[4],zmm24[4],zmm27[6],zmm24[6]10525; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10526; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm27[1],zmm24[1],zmm27[3],zmm24[3],zmm27[5],zmm24[5],zmm27[7],zmm24[7]10527; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10528; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm010529; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, %zmm810530; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm21, %zmm2710531; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10532; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm16, %zmm010533; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10534; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm2, %zmm810535; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}10536; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm7, %zmm010537; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10538; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10539; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm710540; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm25, %zmm910541; AVX512DQ-FCP-NEXT: vpermt2q %zmm25, %zmm2, %zmm710542; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm26, %zmm1310543; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm2, %zmm1410544; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm7[4,5,6,7]10545; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm010546; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm410547; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm410548; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10549; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm410550; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm16, %zmm410551; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10552; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, %zmm3010553; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm23, %zmm3010554; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm11 = zmm11[1],zmm10[1],zmm11[3],zmm10[3],zmm11[5],zmm10[5],zmm11[7],zmm10[7]10555; AVX512DQ-FCP-NEXT: vpermt2q %zmm10, %zmm17, %zmm010556; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm410557; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm30 {%k1} = zmm29[0],zmm31[0],zmm29[2],zmm31[2],zmm29[4],zmm31[4],zmm29[6],zmm31[6]10558; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm29[1],zmm31[1],zmm29[3],zmm31[3],zmm29[5],zmm31[5],zmm29[7],zmm31[7]10559; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10560; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm010561; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm29, %zmm1410562; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm21, %zmm410563; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10564; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm16, %zmm010565; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10566; AVX512DQ-FCP-NEXT: vpermt2q %zmm31, %zmm2, %zmm1410567; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, %zmm11 {%k1}10568; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm11, %zmm010569; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10570; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10571; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload10572; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm2, %zmm810573; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10574; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm1110575; AVX512DQ-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm11 # 64-byte Folded Reload10576; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm8[4,5,6,7]10577; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm010578; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm2510579; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm21, %zmm2510580; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm510581; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm16, %zmm510582; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10583; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm22, %zmm2710584; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm23, %zmm2710585; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm20[1],zmm22[3],zmm20[3],zmm22[5],zmm20[5],zmm22[7],zmm20[7]10586; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm17, %zmm010587; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10588; AVX512DQ-FCP-NEXT: vmovdqu64 (%rsp), %zmm31 # 64-byte Reload10589; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm27 {%k1} = zmm31[0],zmm1[0],zmm31[2],zmm1[2],zmm31[4],zmm1[4],zmm31[6],zmm1[6]10590; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm31[1],zmm1[1],zmm31[3],zmm1[3],zmm31[5],zmm1[5],zmm31[7],zmm1[7]10591; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10592; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, %zmm010593; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, %zmm2410594; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm3110595; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm16, %zmm010596; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10597; AVX512DQ-FCP-NEXT: vpermt2q %zmm1, %zmm2, %zmm2410598; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm24, %zmm14 {%k1}10599; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm010600; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10601; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload10602; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm1110603; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm2, %zmm1110604; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload10605; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm2, %zmm610606; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm6[0,1,2,3],ymm11[4,5,6,7]10607; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload10608; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10609; AVX512DQ-FCP-NEXT: vpermi2q %zmm20, %zmm5, %zmm210610; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload10611; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm12[1],zmm22[3],zmm12[3],zmm22[5],zmm12[5],zmm22[7],zmm12[7]10612; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm14 {%k1}10613; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm210614; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill10615; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm210616; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm21, %zmm210617; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10618; AVX512DQ-FCP-NEXT: vpermi2q %zmm12, %zmm22, %zmm2110619; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10620; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm210621; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm2110622; AVX512DQ-FCP-NEXT: vpermt2q %zmm20, %zmm16, %zmm210623; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10624; AVX512DQ-FCP-NEXT: vpermi2q %zmm12, %zmm22, %zmm1610625; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10626; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, %zmm1610627; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10628; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm1410629; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload10630; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm23, %zmm1410631; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload10632; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload10633; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm23, %zmm1110634; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm3, %zmm1210635; AVX512DQ-FCP-NEXT: vpermt2q %zmm9, %zmm23, %zmm1210636; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm2910637; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload10638; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, %zmm810639; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm810640; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload10641; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, %zmm1010642; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm23, %zmm1010643; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm510644; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, %zmm710645; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload10646; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm23, %zmm710647; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm15, %zmm010648; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm23, %zmm010649; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10650; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10651; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm010652; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm010653; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10654; AVX512DQ-FCP-NEXT: vpermi2q %zmm16, %zmm22, %zmm2310655; AVX512DQ-FCP-NEXT: vpermt2q %zmm16, %zmm17, %zmm2210656; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm23 {%k1} = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]10657; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm22 {%k1} = zmm21[1],zmm20[1],zmm21[3],zmm20[3],zmm21[5],zmm20[5],zmm21[7],zmm20[7]10658; AVX512DQ-FCP-NEXT: vpermt2q %zmm29, %zmm17, %zmm310659; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10660; AVX512DQ-FCP-NEXT: vpermt2q %zmm13, %zmm17, %zmm210661; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10662; AVX512DQ-FCP-NEXT: vpermt2q %zmm28, %zmm17, %zmm910663; AVX512DQ-FCP-NEXT: vpermt2q %zmm4, %zmm17, %zmm510664; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10665; AVX512DQ-FCP-NEXT: vpermt2q %zmm18, %zmm17, %zmm1510666; AVX512DQ-FCP-NEXT: vpermt2q %zmm19, %zmm17, %zmm110667; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10668; AVX512DQ-FCP-NEXT: vpermt2q %zmm24, %zmm17, %zmm610669; AVX512DQ-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10670; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10671; AVX512DQ-FCP-NEXT: vpermt2q %zmm26, %zmm17, %zmm310672; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm14[4,5,6,7]10673; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10674; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm1410675; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3],ymm12[4,5,6,7]10676; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm30, %zmm410677; AVX512DQ-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm10[4,5,6,7]10678; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm27, %zmm1010679; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm31, %zmm25 {%k1}10680; AVX512DQ-FCP-NEXT: vmovdqa 64(%rdi), %xmm010681; AVX512DQ-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm010682; AVX512DQ-FCP-NEXT: vmovdqa (%rdi), %xmm110683; AVX512DQ-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm1, %ymm110684; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]10685; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm25, %zmm210686; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10687; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload10688; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}10689; AVX512DQ-FCP-NEXT: vmovdqa 576(%rdi), %xmm510690; AVX512DQ-FCP-NEXT: vinserti128 $1, 704(%rdi), %ymm5, %ymm510691; AVX512DQ-FCP-NEXT: vmovdqa 512(%rdi), %xmm610692; AVX512DQ-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm610693; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm18 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]10694; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm18, %zmm7, %zmm2710695; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10696; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10697; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}10698; AVX512DQ-FCP-NEXT: vmovdqa 1088(%rdi), %xmm1310699; AVX512DQ-FCP-NEXT: vinserti128 $1, 1216(%rdi), %ymm13, %ymm1310700; AVX512DQ-FCP-NEXT: vmovdqa64 1024(%rdi), %xmm1810701; AVX512DQ-FCP-NEXT: vinserti32x4 $1, 1152(%rdi), %ymm18, %ymm1810702; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm19 = ymm18[0],ymm13[0],ymm18[2],ymm13[2]10703; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm19, %zmm7, %zmm1910704; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10705; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10706; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}10707; AVX512DQ-FCP-NEXT: vmovdqa64 1600(%rdi), %xmm2110708; AVX512DQ-FCP-NEXT: vinserti32x4 $1, 1728(%rdi), %ymm21, %ymm2110709; AVX512DQ-FCP-NEXT: vmovdqa64 1536(%rdi), %xmm2510710; AVX512DQ-FCP-NEXT: vinserti32x4 $1, 1664(%rdi), %ymm25, %ymm2510711; AVX512DQ-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm26 = ymm25[0],ymm21[0],ymm25[2],ymm21[2]10712; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm26, %zmm7, %zmm1210713; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10714; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10715; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}10716; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm18[1],ymm13[1],ymm18[3],ymm13[3]10717; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm7, %zmm1310718; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10719; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10720; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}10721; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]10722; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm7, %zmm510723; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10724; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10725; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, %zmm7 {%k1}10726; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]10727; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm010728; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10729; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload10730; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, %zmm6 {%k1}10731; AVX512DQ-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm25[1],ymm21[1],ymm25[3],ymm21[3]10732; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm6, %zmm110733; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload10734; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload10735; AVX512DQ-FCP-NEXT: # ymm6 = ymm6[0,1,2,3],mem[4,5,6,7]10736; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm23, %zmm610737; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload10738; AVX512DQ-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload10739; AVX512DQ-FCP-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]10740; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload10741; AVX512DQ-FCP-NEXT: vinsertf64x4 $0, %ymm7, %zmm8, %zmm710742; AVX512DQ-FCP-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm8 # 32-byte Folded Reload10743; AVX512DQ-FCP-NEXT: # ymm8 = mem[0,1,2,3],ymm9[4,5,6,7]10744; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload10745; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm9, %zmm810746; AVX512DQ-FCP-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm9 # 32-byte Folded Reload10747; AVX512DQ-FCP-NEXT: # ymm9 = mem[0,1,2,3],ymm15[4,5,6,7]10748; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm22, %zmm910749; AVX512DQ-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload10750; AVX512DQ-FCP-NEXT: # ymm11 = ymm3[0,1,2,3],mem[4,5,6,7]10751; AVX512DQ-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload10752; AVX512DQ-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm3, %zmm1110753; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm12, 192(%rsi)10754; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm19, 128(%rsi)10755; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm27, 64(%rsi)10756; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm2, (%rsi)10757; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm1, 192(%rdx)10758; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm0, (%rdx)10759; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm5, 64(%rdx)10760; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm13, 128(%rdx)10761; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10762; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 192(%rcx)10763; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10764; AVX512DQ-FCP-NEXT: vmovaps %zmm0, (%rcx)10765; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10766; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 64(%rcx)10767; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10768; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 128(%rcx)10769; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10770; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 192(%r8)10771; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10772; AVX512DQ-FCP-NEXT: vmovaps %zmm0, (%r8)10773; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10774; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 64(%r8)10775; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10776; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 128(%r8)10777; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10778; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 192(%r9)10779; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10780; AVX512DQ-FCP-NEXT: vmovaps %zmm0, (%r9)10781; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10782; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 64(%r9)10783; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10784; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 128(%r9)10785; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax10786; AVX512DQ-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload10787; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 192(%rax)10788; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10789; AVX512DQ-FCP-NEXT: vmovaps %zmm0, (%rax)10790; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10791; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 64(%rax)10792; AVX512DQ-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload10793; AVX512DQ-FCP-NEXT: vmovaps %zmm0, 128(%rax)10794; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax10795; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm6, 192(%rax)10796; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm10, (%rax)10797; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm4, 64(%rax)10798; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm14, 128(%rax)10799; AVX512DQ-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax10800; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm11, 128(%rax)10801; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm9, 192(%rax)10802; AVX512DQ-FCP-NEXT: vmovdqa64 %zmm8, (%rax)10803; AVX512DQ-FCP-NEXT: vmovaps %zmm7, 64(%rax)10804; AVX512DQ-FCP-NEXT: addq $3208, %rsp # imm = 0xC8810805; AVX512DQ-FCP-NEXT: vzeroupper10806; AVX512DQ-FCP-NEXT: retq10807;10808; AVX512BW-LABEL: load_i64_stride8_vf32:10809; AVX512BW: # %bb.0:10810; AVX512BW-NEXT: subq $3208, %rsp # imm = 0xC8810811; AVX512BW-NEXT: vmovdqa64 1856(%rdi), %zmm1210812; AVX512BW-NEXT: vmovdqa64 1984(%rdi), %zmm1610813; AVX512BW-NEXT: vmovdqa64 1344(%rdi), %zmm1910814; AVX512BW-NEXT: vmovdqa64 1280(%rdi), %zmm1810815; AVX512BW-NEXT: vmovdqa64 1472(%rdi), %zmm2410816; AVX512BW-NEXT: vmovdqa64 1408(%rdi), %zmm2710817; AVX512BW-NEXT: vmovdqa64 832(%rdi), %zmm710818; AVX512BW-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10819; AVX512BW-NEXT: vmovdqa64 768(%rdi), %zmm1110820; AVX512BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10821; AVX512BW-NEXT: vmovdqa64 960(%rdi), %zmm3110822; AVX512BW-NEXT: vmovdqa64 896(%rdi), %zmm310823; AVX512BW-NEXT: vmovdqa64 320(%rdi), %zmm2010824; AVX512BW-NEXT: vmovdqa64 256(%rdi), %zmm810825; AVX512BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10826; AVX512BW-NEXT: vmovdqa64 448(%rdi), %zmm2510827; AVX512BW-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10828; AVX512BW-NEXT: vmovdqa64 384(%rdi), %zmm2310829; AVX512BW-NEXT: movb $-64, %al10830; AVX512BW-NEXT: kmovd %eax, %k110831; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,10,2,10,2,10,2,10]10832; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10833; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm110834; AVX512BW-NEXT: vpermt2q %zmm24, %zmm0, %zmm110835; AVX512BW-NEXT: vmovdqa64 %zmm18, %zmm210836; AVX512BW-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10837; AVX512BW-NEXT: vpermt2q %zmm19, %zmm0, %zmm210838; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}10839; AVX512BW-NEXT: vmovdqa64 1216(%rdi), %ymm2210840; AVX512BW-NEXT: vmovdqa 1152(%rdi), %ymm1010841; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm10[0],ymm22[0],ymm10[2],ymm22[2]10842; AVX512BW-NEXT: vmovdqa 1088(%rdi), %ymm910843; AVX512BW-NEXT: vmovdqa 1024(%rdi), %ymm610844; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]10845; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm13[2,3],ymm4[2,3]10846; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm110847; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10848; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm210849; AVX512BW-NEXT: vpermt2q %zmm31, %zmm0, %zmm210850; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm410851; AVX512BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm410852; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm4 {%k1}10853; AVX512BW-NEXT: vmovdqa 704(%rdi), %ymm710854; AVX512BW-NEXT: vmovdqa 640(%rdi), %ymm1310855; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm13[0],ymm7[0],ymm13[2],ymm7[2]10856; AVX512BW-NEXT: vmovdqa64 576(%rdi), %ymm1710857; AVX512BW-NEXT: vmovdqa64 512(%rdi), %ymm2110858; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm21[0],ymm17[0],ymm21[2],ymm17[2]10859; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]10860; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm110861; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10862; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm410863; AVX512BW-NEXT: vpermt2q %zmm25, %zmm0, %zmm410864; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm1110865; AVX512BW-NEXT: vpermt2q %zmm20, %zmm0, %zmm1110866; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm11 {%k1}10867; AVX512BW-NEXT: vmovdqa 192(%rdi), %ymm410868; AVX512BW-NEXT: vmovdqa 128(%rdi), %ymm1410869; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]10870; AVX512BW-NEXT: vmovdqa64 64(%rdi), %ymm2510871; AVX512BW-NEXT: vmovdqa64 (%rdi), %ymm2810872; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm25[0],ymm28[2],ymm25[2]10873; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm8[2,3],ymm1[2,3]10874; AVX512BW-NEXT: vmovdqa64 1920(%rdi), %zmm2910875; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm11, %zmm110876; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10877; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm110878; AVX512BW-NEXT: vpermt2q %zmm16, %zmm0, %zmm110879; AVX512BW-NEXT: vmovdqa64 1792(%rdi), %zmm2610880; AVX512BW-NEXT: vpermi2q %zmm12, %zmm26, %zmm010881; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}10882; AVX512BW-NEXT: vmovdqa 1728(%rdi), %ymm210883; AVX512BW-NEXT: vmovdqa 1664(%rdi), %ymm810884; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm8[0],ymm2[0],ymm8[2],ymm2[2]10885; AVX512BW-NEXT: vmovdqa64 1600(%rdi), %ymm3010886; AVX512BW-NEXT: vmovdqa 1536(%rdi), %ymm110887; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm15 = ymm1[0],ymm30[0],ymm1[2],ymm30[2]10888; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm15[2,3],ymm11[2,3]10889; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm010890; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10891; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]10892; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10893; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm1110894; AVX512BW-NEXT: vpermt2q %zmm24, %zmm0, %zmm1110895; AVX512BW-NEXT: vpermt2q %zmm19, %zmm0, %zmm1810896; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm18 {%k1}10897; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm10[1],ymm22[1],ymm10[3],ymm22[3]10898; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]10899; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]10900; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm18, %zmm510901; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10902; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm510903; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm1010904; AVX512BW-NEXT: vpermt2q %zmm31, %zmm0, %zmm510905; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload10906; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm610907; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload10908; AVX512BW-NEXT: vpermt2q %zmm22, %zmm0, %zmm610909; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}10910; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm13[1],ymm7[1],ymm13[3],ymm7[3]10911; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm21[1],ymm17[1],ymm21[3],ymm17[3]10912; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]10913; AVX512BW-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm310914; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10915; AVX512BW-NEXT: vmovdqu64 %zmm23, (%rsp) # 64-byte Spill10916; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm310917; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload10918; AVX512BW-NEXT: vpermt2q %zmm18, %zmm0, %zmm310919; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload10920; AVX512BW-NEXT: vmovdqa64 %zmm21, %zmm510921; AVX512BW-NEXT: vpermt2q %zmm20, %zmm0, %zmm510922; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm5 {%k1}10923; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]10924; AVX512BW-NEXT: vmovdqa64 1088(%rdi), %zmm710925; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm28[1],ymm25[1],ymm28[3],ymm25[3]10926; AVX512BW-NEXT: vmovdqa64 1024(%rdi), %zmm610927; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]10928; AVX512BW-NEXT: vmovdqa64 1216(%rdi), %zmm1310929; AVX512BW-NEXT: vinserti64x4 $0, %ymm3, %zmm5, %zmm310930; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10931; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm1510932; AVX512BW-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10933; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm310934; AVX512BW-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10935; AVX512BW-NEXT: vpermt2q %zmm16, %zmm0, %zmm310936; AVX512BW-NEXT: vmovdqa64 %zmm26, %zmm910937; AVX512BW-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10938; AVX512BW-NEXT: vpermi2q %zmm12, %zmm26, %zmm010939; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}10940; AVX512BW-NEXT: vmovdqa64 1152(%rdi), %zmm410941; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm8[1],ymm2[1],ymm8[3],ymm2[3]10942; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],ymm30[1],ymm1[3],ymm30[3]10943; AVX512BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]10944; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm010945; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10946; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]10947; AVX512BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]10948; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm110949; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10950; AVX512BW-NEXT: vpermt2q %zmm13, %zmm0, %zmm110951; AVX512BW-NEXT: vmovdqa64 %zmm13, %zmm810952; AVX512BW-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10953; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm210954; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm510955; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10956; AVX512BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm210957; AVX512BW-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10958; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]10959; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm210960; AVX512BW-NEXT: vpermt2q %zmm24, %zmm0, %zmm210961; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload10962; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm17[0],zmm19[0],zmm17[2],zmm19[2],zmm17[4],zmm19[4],zmm17[6],zmm19[6]10963; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}10964; AVX512BW-NEXT: vmovdqa64 704(%rdi), %zmm2510965; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm110966; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10967; AVX512BW-NEXT: vmovdqa64 640(%rdi), %zmm110968; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10969; AVX512BW-NEXT: vpermt2q %zmm25, %zmm0, %zmm110970; AVX512BW-NEXT: vmovdqa64 576(%rdi), %zmm2610971; AVX512BW-NEXT: vmovdqa64 512(%rdi), %zmm1410972; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm210973; AVX512BW-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10974; AVX512BW-NEXT: vpermt2q %zmm26, %zmm0, %zmm210975; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]10976; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm210977; AVX512BW-NEXT: vmovdqa64 %zmm10, %zmm2910978; AVX512BW-NEXT: vpermt2q %zmm31, %zmm0, %zmm210979; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm11[0],zmm22[0],zmm11[2],zmm22[2],zmm11[4],zmm22[4],zmm11[6],zmm22[6]10980; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm1010981; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}10982; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm110983; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10984; AVX512BW-NEXT: vmovdqa64 192(%rdi), %zmm210985; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10986; AVX512BW-NEXT: vmovdqa64 128(%rdi), %zmm110987; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10988; AVX512BW-NEXT: vpermt2q %zmm2, %zmm0, %zmm110989; AVX512BW-NEXT: vmovdqa64 64(%rdi), %zmm610990; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10991; AVX512BW-NEXT: vmovdqa64 (%rdi), %zmm210992; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill10993; AVX512BW-NEXT: vpermt2q %zmm6, %zmm0, %zmm210994; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]10995; AVX512BW-NEXT: vpermt2q %zmm18, %zmm0, %zmm2310996; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]10997; AVX512BW-NEXT: vmovdqa64 %zmm21, %zmm2210998; AVX512BW-NEXT: vmovdqa64 %zmm23, %zmm3 {%k1}10999; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm111000; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11001; AVX512BW-NEXT: vmovdqa64 1728(%rdi), %zmm1811002; AVX512BW-NEXT: vmovdqa64 1664(%rdi), %zmm111003; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11004; AVX512BW-NEXT: vpermt2q %zmm18, %zmm0, %zmm111005; AVX512BW-NEXT: vmovdqa64 1600(%rdi), %zmm1311006; AVX512BW-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11007; AVX512BW-NEXT: vmovdqa64 1536(%rdi), %zmm611008; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm211009; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11010; AVX512BW-NEXT: vpermt2q %zmm13, %zmm0, %zmm211011; AVX512BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]11012; AVX512BW-NEXT: vpermi2q %zmm16, %zmm15, %zmm011013; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm9[0],zmm12[0],zmm9[2],zmm12[2],zmm9[4],zmm12[4],zmm9[6],zmm12[6]11014; AVX512BW-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}11015; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm011016; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11017; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [5,13,5,13,5,13,5,13]11018; AVX512BW-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11019; AVX512BW-NEXT: vpermt2q %zmm8, %zmm2, %zmm411020; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm111021; AVX512BW-NEXT: vpermt2q %zmm7, %zmm2, %zmm111022; AVX512BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm4[4,5,6,7]11023; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [0,8,0,8,0,8,0,8]11024; AVX512BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11025; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm911026; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm011027; AVX512BW-NEXT: vpermt2q %zmm19, %zmm21, %zmm011028; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11029; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [1,9,1,9,1,9,1,9]11030; AVX512BW-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11031; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm011032; AVX512BW-NEXT: vpermt2q %zmm19, %zmm16, %zmm011033; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11034; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [6,14,6,14,6,14,6,14]11035; AVX512BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11036; AVX512BW-NEXT: vmovdqa64 %zmm17, %zmm011037; AVX512BW-NEXT: vpermt2q %zmm19, %zmm23, %zmm011038; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm17[1],zmm19[1],zmm17[3],zmm19[3],zmm17[5],zmm19[5],zmm17[7],zmm19[7]11039; AVX512BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [7,15,7,15,7,15,7,15]11040; AVX512BW-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11041; AVX512BW-NEXT: vpermt2q %zmm19, %zmm17, %zmm911042; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm0 {%k1} = zmm27[0],zmm24[0],zmm27[2],zmm24[2],zmm27[4],zmm24[4],zmm27[6],zmm24[6]11043; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11044; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm27[1],zmm24[1],zmm27[3],zmm24[3],zmm27[5],zmm24[5],zmm27[7],zmm24[7]11045; AVX512BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11046; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm011047; AVX512BW-NEXT: vmovdqa64 %zmm27, %zmm811048; AVX512BW-NEXT: vpermt2q %zmm24, %zmm21, %zmm2711049; AVX512BW-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11050; AVX512BW-NEXT: vpermt2q %zmm24, %zmm16, %zmm011051; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11052; AVX512BW-NEXT: vpermt2q %zmm24, %zmm2, %zmm811053; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}11054; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm7, %zmm011055; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11056; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11057; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm711058; AVX512BW-NEXT: vmovdqa64 %zmm25, %zmm911059; AVX512BW-NEXT: vpermt2q %zmm25, %zmm2, %zmm711060; AVX512BW-NEXT: vmovdqa64 %zmm26, %zmm1311061; AVX512BW-NEXT: vpermt2q %zmm26, %zmm2, %zmm1411062; AVX512BW-NEXT: vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm7[4,5,6,7]11063; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm011064; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm411065; AVX512BW-NEXT: vpermt2q %zmm10, %zmm21, %zmm411066; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11067; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm411068; AVX512BW-NEXT: vpermt2q %zmm10, %zmm16, %zmm411069; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11070; AVX512BW-NEXT: vmovdqa64 %zmm11, %zmm3011071; AVX512BW-NEXT: vpermt2q %zmm10, %zmm23, %zmm3011072; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm11 = zmm11[1],zmm10[1],zmm11[3],zmm10[3],zmm11[5],zmm10[5],zmm11[7],zmm10[7]11073; AVX512BW-NEXT: vpermt2q %zmm10, %zmm17, %zmm011074; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm411075; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm30 {%k1} = zmm29[0],zmm31[0],zmm29[2],zmm31[2],zmm29[4],zmm31[4],zmm29[6],zmm31[6]11076; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm29[1],zmm31[1],zmm29[3],zmm31[3],zmm29[5],zmm31[5],zmm29[7],zmm31[7]11077; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11078; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm011079; AVX512BW-NEXT: vmovdqa64 %zmm29, %zmm1411080; AVX512BW-NEXT: vpermt2q %zmm31, %zmm21, %zmm411081; AVX512BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11082; AVX512BW-NEXT: vpermt2q %zmm31, %zmm16, %zmm011083; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11084; AVX512BW-NEXT: vpermt2q %zmm31, %zmm2, %zmm1411085; AVX512BW-NEXT: vmovdqa64 %zmm14, %zmm11 {%k1}11086; AVX512BW-NEXT: vinserti64x4 $0, %ymm8, %zmm11, %zmm011087; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11088; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11089; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload11090; AVX512BW-NEXT: vpermt2q %zmm28, %zmm2, %zmm811091; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11092; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm1111093; AVX512BW-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm11 # 64-byte Folded Reload11094; AVX512BW-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm8[4,5,6,7]11095; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm011096; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm2511097; AVX512BW-NEXT: vpermt2q %zmm20, %zmm21, %zmm2511098; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm511099; AVX512BW-NEXT: vpermt2q %zmm20, %zmm16, %zmm511100; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11101; AVX512BW-NEXT: vmovdqa64 %zmm22, %zmm2711102; AVX512BW-NEXT: vpermt2q %zmm20, %zmm23, %zmm2711103; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm20[1],zmm22[3],zmm20[3],zmm22[5],zmm20[5],zmm22[7],zmm20[7]11104; AVX512BW-NEXT: vpermt2q %zmm20, %zmm17, %zmm011105; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11106; AVX512BW-NEXT: vmovdqu64 (%rsp), %zmm31 # 64-byte Reload11107; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm27 {%k1} = zmm31[0],zmm1[0],zmm31[2],zmm1[2],zmm31[4],zmm1[4],zmm31[6],zmm1[6]11108; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm31[1],zmm1[1],zmm31[3],zmm1[3],zmm31[5],zmm1[5],zmm31[7],zmm1[7]11109; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11110; AVX512BW-NEXT: vmovdqa64 %zmm31, %zmm011111; AVX512BW-NEXT: vmovdqa64 %zmm31, %zmm2411112; AVX512BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm3111113; AVX512BW-NEXT: vpermt2q %zmm1, %zmm16, %zmm011114; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11115; AVX512BW-NEXT: vpermt2q %zmm1, %zmm2, %zmm2411116; AVX512BW-NEXT: vmovdqa64 %zmm24, %zmm14 {%k1}11117; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm011118; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11119; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload11120; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm1111121; AVX512BW-NEXT: vpermt2q %zmm18, %zmm2, %zmm1111122; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload11123; AVX512BW-NEXT: vpermt2q %zmm19, %zmm2, %zmm611124; AVX512BW-NEXT: vpblendd {{.*#+}} ymm11 = ymm6[0,1,2,3],ymm11[4,5,6,7]11125; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload11126; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11127; AVX512BW-NEXT: vpermi2q %zmm20, %zmm5, %zmm211128; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload11129; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm12[1],zmm22[3],zmm12[3],zmm22[5],zmm12[5],zmm22[7],zmm12[7]11130; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm14 {%k1}11131; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm211132; AVX512BW-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill11133; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm211134; AVX512BW-NEXT: vpermt2q %zmm20, %zmm21, %zmm211135; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11136; AVX512BW-NEXT: vpermi2q %zmm12, %zmm22, %zmm2111137; AVX512BW-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11138; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm211139; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm2111140; AVX512BW-NEXT: vpermt2q %zmm20, %zmm16, %zmm211141; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11142; AVX512BW-NEXT: vpermi2q %zmm12, %zmm22, %zmm1611143; AVX512BW-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11144; AVX512BW-NEXT: vmovdqa64 %zmm12, %zmm1611145; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload11146; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm1411147; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload11148; AVX512BW-NEXT: vpermt2q %zmm24, %zmm23, %zmm1411149; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload11150; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload11151; AVX512BW-NEXT: vpermt2q %zmm26, %zmm23, %zmm1111152; AVX512BW-NEXT: vmovdqa64 %zmm3, %zmm1211153; AVX512BW-NEXT: vpermt2q %zmm9, %zmm23, %zmm1211154; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm2911155; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11156; AVX512BW-NEXT: vmovdqa64 %zmm2, %zmm811157; AVX512BW-NEXT: vpermt2q %zmm13, %zmm23, %zmm811158; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload11159; AVX512BW-NEXT: vmovdqa64 %zmm9, %zmm1011160; AVX512BW-NEXT: vpermt2q %zmm28, %zmm23, %zmm1011161; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm511162; AVX512BW-NEXT: vmovdqa64 %zmm4, %zmm711163; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11164; AVX512BW-NEXT: vpermt2q %zmm4, %zmm23, %zmm711165; AVX512BW-NEXT: vmovdqa64 %zmm15, %zmm011166; AVX512BW-NEXT: vpermt2q %zmm18, %zmm23, %zmm011167; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11168; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11169; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm011170; AVX512BW-NEXT: vpermt2q %zmm19, %zmm23, %zmm011171; AVX512BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11172; AVX512BW-NEXT: vpermi2q %zmm16, %zmm22, %zmm2311173; AVX512BW-NEXT: vpermt2q %zmm16, %zmm17, %zmm2211174; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} zmm23 {%k1} = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]11175; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} zmm22 {%k1} = zmm21[1],zmm20[1],zmm21[3],zmm20[3],zmm21[5],zmm20[5],zmm21[7],zmm20[7]11176; AVX512BW-NEXT: vpermt2q %zmm29, %zmm17, %zmm311177; AVX512BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11178; AVX512BW-NEXT: vpermt2q %zmm13, %zmm17, %zmm211179; AVX512BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11180; AVX512BW-NEXT: vpermt2q %zmm28, %zmm17, %zmm911181; AVX512BW-NEXT: vpermt2q %zmm4, %zmm17, %zmm511182; AVX512BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11183; AVX512BW-NEXT: vpermt2q %zmm18, %zmm17, %zmm1511184; AVX512BW-NEXT: vpermt2q %zmm19, %zmm17, %zmm111185; AVX512BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11186; AVX512BW-NEXT: vpermt2q %zmm24, %zmm17, %zmm611187; AVX512BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11188; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11189; AVX512BW-NEXT: vpermt2q %zmm26, %zmm17, %zmm311190; AVX512BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm14[4,5,6,7]11191; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11192; AVX512BW-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm1411193; AVX512BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3],ymm12[4,5,6,7]11194; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm30, %zmm411195; AVX512BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm10[4,5,6,7]11196; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm27, %zmm1011197; AVX512BW-NEXT: vmovdqa64 %zmm31, %zmm25 {%k1}11198; AVX512BW-NEXT: vmovdqa 64(%rdi), %xmm011199; AVX512BW-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm011200; AVX512BW-NEXT: vmovdqa (%rdi), %xmm111201; AVX512BW-NEXT: vinserti128 $1, 128(%rdi), %ymm1, %ymm111202; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11203; AVX512BW-NEXT: vinserti64x4 $0, %ymm2, %zmm25, %zmm211204; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11205; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11206; AVX512BW-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}11207; AVX512BW-NEXT: vmovdqa 576(%rdi), %xmm511208; AVX512BW-NEXT: vinserti128 $1, 704(%rdi), %ymm5, %ymm511209; AVX512BW-NEXT: vmovdqa 512(%rdi), %xmm611210; AVX512BW-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm611211; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm18 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]11212; AVX512BW-NEXT: vinserti64x4 $0, %ymm18, %zmm7, %zmm2711213; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11214; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11215; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}11216; AVX512BW-NEXT: vmovdqa 1088(%rdi), %xmm1311217; AVX512BW-NEXT: vinserti128 $1, 1216(%rdi), %ymm13, %ymm1311218; AVX512BW-NEXT: vmovdqa64 1024(%rdi), %xmm1811219; AVX512BW-NEXT: vinserti32x4 $1, 1152(%rdi), %ymm18, %ymm1811220; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm19 = ymm18[0],ymm13[0],ymm18[2],ymm13[2]11221; AVX512BW-NEXT: vinserti64x4 $0, %ymm19, %zmm7, %zmm1911222; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11223; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11224; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}11225; AVX512BW-NEXT: vmovdqa64 1600(%rdi), %xmm2111226; AVX512BW-NEXT: vinserti32x4 $1, 1728(%rdi), %ymm21, %ymm2111227; AVX512BW-NEXT: vmovdqa64 1536(%rdi), %xmm2511228; AVX512BW-NEXT: vinserti32x4 $1, 1664(%rdi), %ymm25, %ymm2511229; AVX512BW-NEXT: vpunpcklqdq {{.*#+}} ymm26 = ymm25[0],ymm21[0],ymm25[2],ymm21[2]11230; AVX512BW-NEXT: vinserti64x4 $0, %ymm26, %zmm7, %zmm1211231; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11232; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11233; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}11234; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm18[1],ymm13[1],ymm18[3],ymm13[3]11235; AVX512BW-NEXT: vinserti64x4 $0, %ymm13, %zmm7, %zmm1311236; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11237; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11238; AVX512BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}11239; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]11240; AVX512BW-NEXT: vinserti64x4 $0, %ymm5, %zmm7, %zmm511241; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload11242; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11243; AVX512BW-NEXT: vmovdqa64 %zmm6, %zmm7 {%k1}11244; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]11245; AVX512BW-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm011246; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload11247; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11248; AVX512BW-NEXT: vmovdqa64 %zmm1, %zmm6 {%k1}11249; AVX512BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm25[1],ymm21[1],ymm25[3],ymm21[3]11250; AVX512BW-NEXT: vinserti64x4 $0, %ymm1, %zmm6, %zmm111251; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload11252; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload11253; AVX512BW-NEXT: # ymm6 = ymm6[0,1,2,3],mem[4,5,6,7]11254; AVX512BW-NEXT: vinserti64x4 $0, %ymm6, %zmm23, %zmm611255; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11256; AVX512BW-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload11257; AVX512BW-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]11258; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11259; AVX512BW-NEXT: vinsertf64x4 $0, %ymm7, %zmm8, %zmm711260; AVX512BW-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm8 # 32-byte Folded Reload11261; AVX512BW-NEXT: # ymm8 = mem[0,1,2,3],ymm9[4,5,6,7]11262; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload11263; AVX512BW-NEXT: vinserti64x4 $0, %ymm8, %zmm9, %zmm811264; AVX512BW-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm9 # 32-byte Folded Reload11265; AVX512BW-NEXT: # ymm9 = mem[0,1,2,3],ymm15[4,5,6,7]11266; AVX512BW-NEXT: vinserti64x4 $0, %ymm9, %zmm22, %zmm911267; AVX512BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload11268; AVX512BW-NEXT: # ymm11 = ymm3[0,1,2,3],mem[4,5,6,7]11269; AVX512BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11270; AVX512BW-NEXT: vinserti64x4 $0, %ymm11, %zmm3, %zmm1111271; AVX512BW-NEXT: vmovdqa64 %zmm12, 192(%rsi)11272; AVX512BW-NEXT: vmovdqa64 %zmm19, 128(%rsi)11273; AVX512BW-NEXT: vmovdqa64 %zmm27, 64(%rsi)11274; AVX512BW-NEXT: vmovdqa64 %zmm2, (%rsi)11275; AVX512BW-NEXT: vmovdqa64 %zmm1, 192(%rdx)11276; AVX512BW-NEXT: vmovdqa64 %zmm0, (%rdx)11277; AVX512BW-NEXT: vmovdqa64 %zmm5, 64(%rdx)11278; AVX512BW-NEXT: vmovdqa64 %zmm13, 128(%rdx)11279; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11280; AVX512BW-NEXT: vmovaps %zmm0, 192(%rcx)11281; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11282; AVX512BW-NEXT: vmovaps %zmm0, (%rcx)11283; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11284; AVX512BW-NEXT: vmovaps %zmm0, 64(%rcx)11285; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11286; AVX512BW-NEXT: vmovaps %zmm0, 128(%rcx)11287; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11288; AVX512BW-NEXT: vmovaps %zmm0, 192(%r8)11289; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11290; AVX512BW-NEXT: vmovaps %zmm0, (%r8)11291; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11292; AVX512BW-NEXT: vmovaps %zmm0, 64(%r8)11293; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11294; AVX512BW-NEXT: vmovaps %zmm0, 128(%r8)11295; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11296; AVX512BW-NEXT: vmovaps %zmm0, 192(%r9)11297; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11298; AVX512BW-NEXT: vmovaps %zmm0, (%r9)11299; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11300; AVX512BW-NEXT: vmovaps %zmm0, 64(%r9)11301; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11302; AVX512BW-NEXT: vmovaps %zmm0, 128(%r9)11303; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax11304; AVX512BW-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload11305; AVX512BW-NEXT: vmovaps %zmm0, 192(%rax)11306; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11307; AVX512BW-NEXT: vmovaps %zmm0, (%rax)11308; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11309; AVX512BW-NEXT: vmovaps %zmm0, 64(%rax)11310; AVX512BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11311; AVX512BW-NEXT: vmovaps %zmm0, 128(%rax)11312; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax11313; AVX512BW-NEXT: vmovdqa64 %zmm6, 192(%rax)11314; AVX512BW-NEXT: vmovdqa64 %zmm10, (%rax)11315; AVX512BW-NEXT: vmovdqa64 %zmm4, 64(%rax)11316; AVX512BW-NEXT: vmovdqa64 %zmm14, 128(%rax)11317; AVX512BW-NEXT: movq {{[0-9]+}}(%rsp), %rax11318; AVX512BW-NEXT: vmovdqa64 %zmm11, 128(%rax)11319; AVX512BW-NEXT: vmovdqa64 %zmm9, 192(%rax)11320; AVX512BW-NEXT: vmovdqa64 %zmm8, (%rax)11321; AVX512BW-NEXT: vmovaps %zmm7, 64(%rax)11322; AVX512BW-NEXT: addq $3208, %rsp # imm = 0xC8811323; AVX512BW-NEXT: vzeroupper11324; AVX512BW-NEXT: retq11325;11326; AVX512BW-FCP-LABEL: load_i64_stride8_vf32:11327; AVX512BW-FCP: # %bb.0:11328; AVX512BW-FCP-NEXT: subq $3208, %rsp # imm = 0xC8811329; AVX512BW-FCP-NEXT: vmovdqa64 1856(%rdi), %zmm1211330; AVX512BW-FCP-NEXT: vmovdqa64 1984(%rdi), %zmm1611331; AVX512BW-FCP-NEXT: vmovdqa64 1344(%rdi), %zmm1911332; AVX512BW-FCP-NEXT: vmovdqa64 1280(%rdi), %zmm1811333; AVX512BW-FCP-NEXT: vmovdqa64 1472(%rdi), %zmm2411334; AVX512BW-FCP-NEXT: vmovdqa64 1408(%rdi), %zmm2711335; AVX512BW-FCP-NEXT: vmovdqa64 832(%rdi), %zmm711336; AVX512BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11337; AVX512BW-FCP-NEXT: vmovdqa64 768(%rdi), %zmm1111338; AVX512BW-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11339; AVX512BW-FCP-NEXT: vmovdqa64 960(%rdi), %zmm3111340; AVX512BW-FCP-NEXT: vmovdqa64 896(%rdi), %zmm311341; AVX512BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm2011342; AVX512BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm811343; AVX512BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11344; AVX512BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm2511345; AVX512BW-FCP-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11346; AVX512BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm2311347; AVX512BW-FCP-NEXT: movb $-64, %al11348; AVX512BW-FCP-NEXT: kmovd %eax, %k111349; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,10,2,10,2,10,2,10]11350; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11351; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm111352; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm111353; AVX512BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm211354; AVX512BW-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11355; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm0, %zmm211356; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}11357; AVX512BW-FCP-NEXT: vmovdqa64 1216(%rdi), %ymm2211358; AVX512BW-FCP-NEXT: vmovdqa 1152(%rdi), %ymm1011359; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm10[0],ymm22[0],ymm10[2],ymm22[2]11360; AVX512BW-FCP-NEXT: vmovdqa 1088(%rdi), %ymm911361; AVX512BW-FCP-NEXT: vmovdqa 1024(%rdi), %ymm611362; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]11363; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm13[2,3],ymm4[2,3]11364; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm111365; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11366; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm211367; AVX512BW-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm211368; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm411369; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm411370; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm4 {%k1}11371; AVX512BW-FCP-NEXT: vmovdqa 704(%rdi), %ymm711372; AVX512BW-FCP-NEXT: vmovdqa 640(%rdi), %ymm1311373; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm13[0],ymm7[0],ymm13[2],ymm7[2]11374; AVX512BW-FCP-NEXT: vmovdqa64 576(%rdi), %ymm1711375; AVX512BW-FCP-NEXT: vmovdqa64 512(%rdi), %ymm2111376; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm21[0],ymm17[0],ymm21[2],ymm17[2]11377; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]11378; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm111379; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11380; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm411381; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm0, %zmm411382; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm1111383; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm0, %zmm1111384; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm11 {%k1}11385; AVX512BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm411386; AVX512BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm1411387; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]11388; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm2511389; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %ymm2811390; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm25[0],ymm28[2],ymm25[2]11391; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm8[2,3],ymm1[2,3]11392; AVX512BW-FCP-NEXT: vmovdqa64 1920(%rdi), %zmm2911393; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm11, %zmm111394; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11395; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm111396; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm111397; AVX512BW-FCP-NEXT: vmovdqa64 1792(%rdi), %zmm2611398; AVX512BW-FCP-NEXT: vpermi2q %zmm12, %zmm26, %zmm011399; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}11400; AVX512BW-FCP-NEXT: vmovdqa 1728(%rdi), %ymm211401; AVX512BW-FCP-NEXT: vmovdqa 1664(%rdi), %ymm811402; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm8[0],ymm2[0],ymm8[2],ymm2[2]11403; AVX512BW-FCP-NEXT: vmovdqa64 1600(%rdi), %ymm3011404; AVX512BW-FCP-NEXT: vmovdqa 1536(%rdi), %ymm111405; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm15 = ymm1[0],ymm30[0],ymm1[2],ymm30[2]11406; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm15[2,3],ymm11[2,3]11407; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm011408; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11409; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]11410; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11411; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm1111412; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm1111413; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm0, %zmm1811414; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm18 {%k1}11415; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm10[1],ymm22[1],ymm10[3],ymm22[3]11416; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]11417; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]11418; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm18, %zmm511419; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11420; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm511421; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm1011422; AVX512BW-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm511423; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload11424; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm611425; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload11426; AVX512BW-FCP-NEXT: vpermt2q %zmm22, %zmm0, %zmm611427; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}11428; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm13[1],ymm7[1],ymm13[3],ymm7[3]11429; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm21[1],ymm17[1],ymm21[3],ymm17[3]11430; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]11431; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm311432; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11433; AVX512BW-FCP-NEXT: vmovdqu64 %zmm23, (%rsp) # 64-byte Spill11434; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm311435; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload11436; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm311437; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload11438; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm511439; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm0, %zmm511440; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm5 {%k1}11441; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]11442; AVX512BW-FCP-NEXT: vmovdqa64 1088(%rdi), %zmm711443; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm28[1],ymm25[1],ymm28[3],ymm25[3]11444; AVX512BW-FCP-NEXT: vmovdqa64 1024(%rdi), %zmm611445; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]11446; AVX512BW-FCP-NEXT: vmovdqa64 1216(%rdi), %zmm1311447; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm5, %zmm311448; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11449; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm1511450; AVX512BW-FCP-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11451; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm311452; AVX512BW-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11453; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm311454; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm911455; AVX512BW-FCP-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11456; AVX512BW-FCP-NEXT: vpermi2q %zmm12, %zmm26, %zmm011457; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}11458; AVX512BW-FCP-NEXT: vmovdqa64 1152(%rdi), %zmm411459; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm8[1],ymm2[1],ymm8[3],ymm2[3]11460; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],ymm30[1],ymm1[3],ymm30[3]11461; AVX512BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]11462; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm011463; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11464; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]11465; AVX512BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11466; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm111467; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11468; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm111469; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm811470; AVX512BW-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11471; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm211472; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm511473; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11474; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm211475; AVX512BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11476; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]11477; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm211478; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm211479; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload11480; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm17[0],zmm19[0],zmm17[2],zmm19[2],zmm17[4],zmm19[4],zmm17[6],zmm19[6]11481; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}11482; AVX512BW-FCP-NEXT: vmovdqa64 704(%rdi), %zmm2511483; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm111484; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11485; AVX512BW-FCP-NEXT: vmovdqa64 640(%rdi), %zmm111486; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11487; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm0, %zmm111488; AVX512BW-FCP-NEXT: vmovdqa64 576(%rdi), %zmm2611489; AVX512BW-FCP-NEXT: vmovdqa64 512(%rdi), %zmm1411490; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm211491; AVX512BW-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11492; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm0, %zmm211493; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]11494; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm211495; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm2911496; AVX512BW-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm211497; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm11[0],zmm22[0],zmm11[2],zmm22[2],zmm11[4],zmm22[4],zmm11[6],zmm22[6]11498; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm1011499; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}11500; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm111501; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11502; AVX512BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm211503; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11504; AVX512BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm111505; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11506; AVX512BW-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm111507; AVX512BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm611508; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11509; AVX512BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm211510; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11511; AVX512BW-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm211512; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]11513; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm2311514; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]11515; AVX512BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm2211516; AVX512BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm3 {%k1}11517; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm111518; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11519; AVX512BW-FCP-NEXT: vmovdqa64 1728(%rdi), %zmm1811520; AVX512BW-FCP-NEXT: vmovdqa64 1664(%rdi), %zmm111521; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11522; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm111523; AVX512BW-FCP-NEXT: vmovdqa64 1600(%rdi), %zmm1311524; AVX512BW-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11525; AVX512BW-FCP-NEXT: vmovdqa64 1536(%rdi), %zmm611526; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm211527; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11528; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm211529; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]11530; AVX512BW-FCP-NEXT: vpermi2q %zmm16, %zmm15, %zmm011531; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm9[0],zmm12[0],zmm9[2],zmm12[2],zmm9[4],zmm12[4],zmm9[6],zmm12[6]11532; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}11533; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm011534; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11535; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [5,13,5,13,5,13,5,13]11536; AVX512BW-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11537; AVX512BW-FCP-NEXT: vpermt2q %zmm8, %zmm2, %zmm411538; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm111539; AVX512BW-FCP-NEXT: vpermt2q %zmm7, %zmm2, %zmm111540; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm4[4,5,6,7]11541; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [0,8,0,8,0,8,0,8]11542; AVX512BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11543; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm911544; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm011545; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm21, %zmm011546; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11547; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [1,9,1,9,1,9,1,9]11548; AVX512BW-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11549; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm011550; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm16, %zmm011551; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11552; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [6,14,6,14,6,14,6,14]11553; AVX512BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11554; AVX512BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm011555; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm011556; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm17[1],zmm19[1],zmm17[3],zmm19[3],zmm17[5],zmm19[5],zmm17[7],zmm19[7]11557; AVX512BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [7,15,7,15,7,15,7,15]11558; AVX512BW-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11559; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm17, %zmm911560; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm0 {%k1} = zmm27[0],zmm24[0],zmm27[2],zmm24[2],zmm27[4],zmm24[4],zmm27[6],zmm24[6]11561; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11562; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm27[1],zmm24[1],zmm27[3],zmm24[3],zmm27[5],zmm24[5],zmm27[7],zmm24[7]11563; AVX512BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11564; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm011565; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm811566; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm21, %zmm2711567; AVX512BW-FCP-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11568; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm16, %zmm011569; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11570; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm2, %zmm811571; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}11572; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm7, %zmm011573; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11574; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11575; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm711576; AVX512BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm911577; AVX512BW-FCP-NEXT: vpermt2q %zmm25, %zmm2, %zmm711578; AVX512BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm1311579; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm2, %zmm1411580; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm7[4,5,6,7]11581; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm011582; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm411583; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm411584; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11585; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm411586; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm16, %zmm411587; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11588; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm3011589; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm23, %zmm3011590; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm11 = zmm11[1],zmm10[1],zmm11[3],zmm10[3],zmm11[5],zmm10[5],zmm11[7],zmm10[7]11591; AVX512BW-FCP-NEXT: vpermt2q %zmm10, %zmm17, %zmm011592; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm411593; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm30 {%k1} = zmm29[0],zmm31[0],zmm29[2],zmm31[2],zmm29[4],zmm31[4],zmm29[6],zmm31[6]11594; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm29[1],zmm31[1],zmm29[3],zmm31[3],zmm29[5],zmm31[5],zmm29[7],zmm31[7]11595; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11596; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm011597; AVX512BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm1411598; AVX512BW-FCP-NEXT: vpermt2q %zmm31, %zmm21, %zmm411599; AVX512BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11600; AVX512BW-FCP-NEXT: vpermt2q %zmm31, %zmm16, %zmm011601; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11602; AVX512BW-FCP-NEXT: vpermt2q %zmm31, %zmm2, %zmm1411603; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm11 {%k1}11604; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm11, %zmm011605; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11606; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11607; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload11608; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm2, %zmm811609; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11610; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1111611; AVX512BW-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm11 # 64-byte Folded Reload11612; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm8[4,5,6,7]11613; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm011614; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm2511615; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm21, %zmm2511616; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm511617; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm16, %zmm511618; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11619; AVX512BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm2711620; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm23, %zmm2711621; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm20[1],zmm22[3],zmm20[3],zmm22[5],zmm20[5],zmm22[7],zmm20[7]11622; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm17, %zmm011623; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11624; AVX512BW-FCP-NEXT: vmovdqu64 (%rsp), %zmm31 # 64-byte Reload11625; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm27 {%k1} = zmm31[0],zmm1[0],zmm31[2],zmm1[2],zmm31[4],zmm1[4],zmm31[6],zmm1[6]11626; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm31[1],zmm1[1],zmm31[3],zmm1[3],zmm31[5],zmm1[5],zmm31[7],zmm1[7]11627; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11628; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm011629; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm2411630; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm3111631; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm16, %zmm011632; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11633; AVX512BW-FCP-NEXT: vpermt2q %zmm1, %zmm2, %zmm2411634; AVX512BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm14 {%k1}11635; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm011636; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11637; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload11638; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm1111639; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm2, %zmm1111640; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload11641; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm2, %zmm611642; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm6[0,1,2,3],ymm11[4,5,6,7]11643; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload11644; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11645; AVX512BW-FCP-NEXT: vpermi2q %zmm20, %zmm5, %zmm211646; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload11647; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm12[1],zmm22[3],zmm12[3],zmm22[5],zmm12[5],zmm22[7],zmm12[7]11648; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm14 {%k1}11649; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm211650; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill11651; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm211652; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm21, %zmm211653; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11654; AVX512BW-FCP-NEXT: vpermi2q %zmm12, %zmm22, %zmm2111655; AVX512BW-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11656; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm211657; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm2111658; AVX512BW-FCP-NEXT: vpermt2q %zmm20, %zmm16, %zmm211659; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11660; AVX512BW-FCP-NEXT: vpermi2q %zmm12, %zmm22, %zmm1611661; AVX512BW-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11662; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm1611663; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload11664; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm1411665; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload11666; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm23, %zmm1411667; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload11668; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload11669; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm23, %zmm1111670; AVX512BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm1211671; AVX512BW-FCP-NEXT: vpermt2q %zmm9, %zmm23, %zmm1211672; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm2911673; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload11674; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm811675; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm811676; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload11677; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm1011678; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm23, %zmm1011679; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm511680; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm711681; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload11682; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm23, %zmm711683; AVX512BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm011684; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm23, %zmm011685; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11686; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11687; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm011688; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm011689; AVX512BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11690; AVX512BW-FCP-NEXT: vpermi2q %zmm16, %zmm22, %zmm2311691; AVX512BW-FCP-NEXT: vpermt2q %zmm16, %zmm17, %zmm2211692; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm23 {%k1} = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]11693; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm22 {%k1} = zmm21[1],zmm20[1],zmm21[3],zmm20[3],zmm21[5],zmm20[5],zmm21[7],zmm20[7]11694; AVX512BW-FCP-NEXT: vpermt2q %zmm29, %zmm17, %zmm311695; AVX512BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11696; AVX512BW-FCP-NEXT: vpermt2q %zmm13, %zmm17, %zmm211697; AVX512BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11698; AVX512BW-FCP-NEXT: vpermt2q %zmm28, %zmm17, %zmm911699; AVX512BW-FCP-NEXT: vpermt2q %zmm4, %zmm17, %zmm511700; AVX512BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11701; AVX512BW-FCP-NEXT: vpermt2q %zmm18, %zmm17, %zmm1511702; AVX512BW-FCP-NEXT: vpermt2q %zmm19, %zmm17, %zmm111703; AVX512BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11704; AVX512BW-FCP-NEXT: vpermt2q %zmm24, %zmm17, %zmm611705; AVX512BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11706; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11707; AVX512BW-FCP-NEXT: vpermt2q %zmm26, %zmm17, %zmm311708; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm14[4,5,6,7]11709; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11710; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm1411711; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3],ymm12[4,5,6,7]11712; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm30, %zmm411713; AVX512BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm10[4,5,6,7]11714; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm27, %zmm1011715; AVX512BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm25 {%k1}11716; AVX512BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm011717; AVX512BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm011718; AVX512BW-FCP-NEXT: vmovdqa (%rdi), %xmm111719; AVX512BW-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm1, %ymm111720; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]11721; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm25, %zmm211722; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11723; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload11724; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}11725; AVX512BW-FCP-NEXT: vmovdqa 576(%rdi), %xmm511726; AVX512BW-FCP-NEXT: vinserti128 $1, 704(%rdi), %ymm5, %ymm511727; AVX512BW-FCP-NEXT: vmovdqa 512(%rdi), %xmm611728; AVX512BW-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm611729; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm18 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]11730; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm18, %zmm7, %zmm2711731; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11732; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11733; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}11734; AVX512BW-FCP-NEXT: vmovdqa 1088(%rdi), %xmm1311735; AVX512BW-FCP-NEXT: vinserti128 $1, 1216(%rdi), %ymm13, %ymm1311736; AVX512BW-FCP-NEXT: vmovdqa64 1024(%rdi), %xmm1811737; AVX512BW-FCP-NEXT: vinserti32x4 $1, 1152(%rdi), %ymm18, %ymm1811738; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm19 = ymm18[0],ymm13[0],ymm18[2],ymm13[2]11739; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm19, %zmm7, %zmm1911740; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11741; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11742; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}11743; AVX512BW-FCP-NEXT: vmovdqa64 1600(%rdi), %xmm2111744; AVX512BW-FCP-NEXT: vinserti32x4 $1, 1728(%rdi), %ymm21, %ymm2111745; AVX512BW-FCP-NEXT: vmovdqa64 1536(%rdi), %xmm2511746; AVX512BW-FCP-NEXT: vinserti32x4 $1, 1664(%rdi), %ymm25, %ymm2511747; AVX512BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm26 = ymm25[0],ymm21[0],ymm25[2],ymm21[2]11748; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm26, %zmm7, %zmm1211749; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11750; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11751; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}11752; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm18[1],ymm13[1],ymm18[3],ymm13[3]11753; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm7, %zmm1311754; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11755; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11756; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}11757; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]11758; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm7, %zmm511759; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload11760; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11761; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm7 {%k1}11762; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]11763; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm011764; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload11765; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload11766; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm6 {%k1}11767; AVX512BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm25[1],ymm21[1],ymm25[3],ymm21[3]11768; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm6, %zmm111769; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload11770; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload11771; AVX512BW-FCP-NEXT: # ymm6 = ymm6[0,1,2,3],mem[4,5,6,7]11772; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm23, %zmm611773; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload11774; AVX512BW-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload11775; AVX512BW-FCP-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]11776; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload11777; AVX512BW-FCP-NEXT: vinsertf64x4 $0, %ymm7, %zmm8, %zmm711778; AVX512BW-FCP-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm8 # 32-byte Folded Reload11779; AVX512BW-FCP-NEXT: # ymm8 = mem[0,1,2,3],ymm9[4,5,6,7]11780; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload11781; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm9, %zmm811782; AVX512BW-FCP-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm9 # 32-byte Folded Reload11783; AVX512BW-FCP-NEXT: # ymm9 = mem[0,1,2,3],ymm15[4,5,6,7]11784; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm22, %zmm911785; AVX512BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload11786; AVX512BW-FCP-NEXT: # ymm11 = ymm3[0,1,2,3],mem[4,5,6,7]11787; AVX512BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload11788; AVX512BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm3, %zmm1111789; AVX512BW-FCP-NEXT: vmovdqa64 %zmm12, 192(%rsi)11790; AVX512BW-FCP-NEXT: vmovdqa64 %zmm19, 128(%rsi)11791; AVX512BW-FCP-NEXT: vmovdqa64 %zmm27, 64(%rsi)11792; AVX512BW-FCP-NEXT: vmovdqa64 %zmm2, (%rsi)11793; AVX512BW-FCP-NEXT: vmovdqa64 %zmm1, 192(%rdx)11794; AVX512BW-FCP-NEXT: vmovdqa64 %zmm0, (%rdx)11795; AVX512BW-FCP-NEXT: vmovdqa64 %zmm5, 64(%rdx)11796; AVX512BW-FCP-NEXT: vmovdqa64 %zmm13, 128(%rdx)11797; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11798; AVX512BW-FCP-NEXT: vmovaps %zmm0, 192(%rcx)11799; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11800; AVX512BW-FCP-NEXT: vmovaps %zmm0, (%rcx)11801; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11802; AVX512BW-FCP-NEXT: vmovaps %zmm0, 64(%rcx)11803; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11804; AVX512BW-FCP-NEXT: vmovaps %zmm0, 128(%rcx)11805; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11806; AVX512BW-FCP-NEXT: vmovaps %zmm0, 192(%r8)11807; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11808; AVX512BW-FCP-NEXT: vmovaps %zmm0, (%r8)11809; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11810; AVX512BW-FCP-NEXT: vmovaps %zmm0, 64(%r8)11811; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11812; AVX512BW-FCP-NEXT: vmovaps %zmm0, 128(%r8)11813; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11814; AVX512BW-FCP-NEXT: vmovaps %zmm0, 192(%r9)11815; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11816; AVX512BW-FCP-NEXT: vmovaps %zmm0, (%r9)11817; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11818; AVX512BW-FCP-NEXT: vmovaps %zmm0, 64(%r9)11819; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11820; AVX512BW-FCP-NEXT: vmovaps %zmm0, 128(%r9)11821; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax11822; AVX512BW-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload11823; AVX512BW-FCP-NEXT: vmovaps %zmm0, 192(%rax)11824; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11825; AVX512BW-FCP-NEXT: vmovaps %zmm0, (%rax)11826; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11827; AVX512BW-FCP-NEXT: vmovaps %zmm0, 64(%rax)11828; AVX512BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload11829; AVX512BW-FCP-NEXT: vmovaps %zmm0, 128(%rax)11830; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax11831; AVX512BW-FCP-NEXT: vmovdqa64 %zmm6, 192(%rax)11832; AVX512BW-FCP-NEXT: vmovdqa64 %zmm10, (%rax)11833; AVX512BW-FCP-NEXT: vmovdqa64 %zmm4, 64(%rax)11834; AVX512BW-FCP-NEXT: vmovdqa64 %zmm14, 128(%rax)11835; AVX512BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax11836; AVX512BW-FCP-NEXT: vmovdqa64 %zmm11, 128(%rax)11837; AVX512BW-FCP-NEXT: vmovdqa64 %zmm9, 192(%rax)11838; AVX512BW-FCP-NEXT: vmovdqa64 %zmm8, (%rax)11839; AVX512BW-FCP-NEXT: vmovaps %zmm7, 64(%rax)11840; AVX512BW-FCP-NEXT: addq $3208, %rsp # imm = 0xC8811841; AVX512BW-FCP-NEXT: vzeroupper11842; AVX512BW-FCP-NEXT: retq11843;11844; AVX512DQ-BW-LABEL: load_i64_stride8_vf32:11845; AVX512DQ-BW: # %bb.0:11846; AVX512DQ-BW-NEXT: subq $3208, %rsp # imm = 0xC8811847; AVX512DQ-BW-NEXT: vmovdqa64 1856(%rdi), %zmm1211848; AVX512DQ-BW-NEXT: vmovdqa64 1984(%rdi), %zmm1611849; AVX512DQ-BW-NEXT: vmovdqa64 1344(%rdi), %zmm1911850; AVX512DQ-BW-NEXT: vmovdqa64 1280(%rdi), %zmm1811851; AVX512DQ-BW-NEXT: vmovdqa64 1472(%rdi), %zmm2411852; AVX512DQ-BW-NEXT: vmovdqa64 1408(%rdi), %zmm2711853; AVX512DQ-BW-NEXT: vmovdqa64 832(%rdi), %zmm711854; AVX512DQ-BW-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11855; AVX512DQ-BW-NEXT: vmovdqa64 768(%rdi), %zmm1111856; AVX512DQ-BW-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11857; AVX512DQ-BW-NEXT: vmovdqa64 960(%rdi), %zmm3111858; AVX512DQ-BW-NEXT: vmovdqa64 896(%rdi), %zmm311859; AVX512DQ-BW-NEXT: vmovdqa64 320(%rdi), %zmm2011860; AVX512DQ-BW-NEXT: vmovdqa64 256(%rdi), %zmm811861; AVX512DQ-BW-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11862; AVX512DQ-BW-NEXT: vmovdqa64 448(%rdi), %zmm2511863; AVX512DQ-BW-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11864; AVX512DQ-BW-NEXT: vmovdqa64 384(%rdi), %zmm2311865; AVX512DQ-BW-NEXT: movb $-64, %al11866; AVX512DQ-BW-NEXT: kmovd %eax, %k111867; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,10,2,10,2,10,2,10]11868; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11869; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm111870; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm0, %zmm111871; AVX512DQ-BW-NEXT: vmovdqa64 %zmm18, %zmm211872; AVX512DQ-BW-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11873; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm0, %zmm211874; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}11875; AVX512DQ-BW-NEXT: vmovdqa64 1216(%rdi), %ymm2211876; AVX512DQ-BW-NEXT: vmovdqa 1152(%rdi), %ymm1011877; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm10[0],ymm22[0],ymm10[2],ymm22[2]11878; AVX512DQ-BW-NEXT: vmovdqa 1088(%rdi), %ymm911879; AVX512DQ-BW-NEXT: vmovdqa 1024(%rdi), %ymm611880; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]11881; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm13[2,3],ymm4[2,3]11882; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm111883; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11884; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm211885; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm0, %zmm211886; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm411887; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm411888; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm4 {%k1}11889; AVX512DQ-BW-NEXT: vmovdqa 704(%rdi), %ymm711890; AVX512DQ-BW-NEXT: vmovdqa 640(%rdi), %ymm1311891; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm13[0],ymm7[0],ymm13[2],ymm7[2]11892; AVX512DQ-BW-NEXT: vmovdqa64 576(%rdi), %ymm1711893; AVX512DQ-BW-NEXT: vmovdqa64 512(%rdi), %ymm2111894; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm21[0],ymm17[0],ymm21[2],ymm17[2]11895; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]11896; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm111897; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11898; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, %zmm411899; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm0, %zmm411900; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm1111901; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm0, %zmm1111902; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm11 {%k1}11903; AVX512DQ-BW-NEXT: vmovdqa 192(%rdi), %ymm411904; AVX512DQ-BW-NEXT: vmovdqa 128(%rdi), %ymm1411905; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]11906; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %ymm2511907; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %ymm2811908; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm25[0],ymm28[2],ymm25[2]11909; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm8[2,3],ymm1[2,3]11910; AVX512DQ-BW-NEXT: vmovdqa64 1920(%rdi), %zmm2911911; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm11, %zmm111912; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11913; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm111914; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm0, %zmm111915; AVX512DQ-BW-NEXT: vmovdqa64 1792(%rdi), %zmm2611916; AVX512DQ-BW-NEXT: vpermi2q %zmm12, %zmm26, %zmm011917; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}11918; AVX512DQ-BW-NEXT: vmovdqa 1728(%rdi), %ymm211919; AVX512DQ-BW-NEXT: vmovdqa 1664(%rdi), %ymm811920; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm8[0],ymm2[0],ymm8[2],ymm2[2]11921; AVX512DQ-BW-NEXT: vmovdqa64 1600(%rdi), %ymm3011922; AVX512DQ-BW-NEXT: vmovdqa 1536(%rdi), %ymm111923; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm15 = ymm1[0],ymm30[0],ymm1[2],ymm30[2]11924; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm15[2,3],ymm11[2,3]11925; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm011926; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11927; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]11928; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11929; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm1111930; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm0, %zmm1111931; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm0, %zmm1811932; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm18 {%k1}11933; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm10[1],ymm22[1],ymm10[3],ymm22[3]11934; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]11935; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]11936; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm18, %zmm511937; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11938; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm511939; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm1011940; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm0, %zmm511941; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload11942; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm611943; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload11944; AVX512DQ-BW-NEXT: vpermt2q %zmm22, %zmm0, %zmm611945; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}11946; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm13[1],ymm7[1],ymm13[3],ymm7[3]11947; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm21[1],ymm17[1],ymm21[3],ymm17[3]11948; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]11949; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm311950; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11951; AVX512DQ-BW-NEXT: vmovdqu64 %zmm23, (%rsp) # 64-byte Spill11952; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, %zmm311953; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload11954; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm0, %zmm311955; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload11956; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, %zmm511957; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm0, %zmm511958; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm5 {%k1}11959; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]11960; AVX512DQ-BW-NEXT: vmovdqa64 1088(%rdi), %zmm711961; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm28[1],ymm25[1],ymm28[3],ymm25[3]11962; AVX512DQ-BW-NEXT: vmovdqa64 1024(%rdi), %zmm611963; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]11964; AVX512DQ-BW-NEXT: vmovdqa64 1216(%rdi), %zmm1311965; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm3, %zmm5, %zmm311966; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11967; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm1511968; AVX512DQ-BW-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11969; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm311970; AVX512DQ-BW-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11971; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm0, %zmm311972; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, %zmm911973; AVX512DQ-BW-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11974; AVX512DQ-BW-NEXT: vpermi2q %zmm12, %zmm26, %zmm011975; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}11976; AVX512DQ-BW-NEXT: vmovdqa64 1152(%rdi), %zmm411977; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm8[1],ymm2[1],ymm8[3],ymm2[3]11978; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],ymm30[1],ymm1[3],ymm30[3]11979; AVX512DQ-BW-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]11980; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm011981; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11982; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]11983; AVX512DQ-BW-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]11984; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm111985; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11986; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm0, %zmm111987; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, %zmm811988; AVX512DQ-BW-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11989; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm211990; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm511991; AVX512DQ-BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11992; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm0, %zmm211993; AVX512DQ-BW-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill11994; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]11995; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm211996; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm0, %zmm211997; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload11998; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm17[0],zmm19[0],zmm17[2],zmm19[2],zmm17[4],zmm19[4],zmm17[6],zmm19[6]11999; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}12000; AVX512DQ-BW-NEXT: vmovdqa64 704(%rdi), %zmm2512001; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm112002; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12003; AVX512DQ-BW-NEXT: vmovdqa64 640(%rdi), %zmm112004; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12005; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm0, %zmm112006; AVX512DQ-BW-NEXT: vmovdqa64 576(%rdi), %zmm2612007; AVX512DQ-BW-NEXT: vmovdqa64 512(%rdi), %zmm1412008; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm212009; AVX512DQ-BW-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12010; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm0, %zmm212011; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12012; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm212013; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, %zmm2912014; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm0, %zmm212015; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm11[0],zmm22[0],zmm11[2],zmm22[2],zmm11[4],zmm22[4],zmm11[6],zmm22[6]12016; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm1012017; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}12018; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm112019; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12020; AVX512DQ-BW-NEXT: vmovdqa64 192(%rdi), %zmm212021; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12022; AVX512DQ-BW-NEXT: vmovdqa64 128(%rdi), %zmm112023; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12024; AVX512DQ-BW-NEXT: vpermt2q %zmm2, %zmm0, %zmm112025; AVX512DQ-BW-NEXT: vmovdqa64 64(%rdi), %zmm612026; AVX512DQ-BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12027; AVX512DQ-BW-NEXT: vmovdqa64 (%rdi), %zmm212028; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12029; AVX512DQ-BW-NEXT: vpermt2q %zmm6, %zmm0, %zmm212030; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12031; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm0, %zmm2312032; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]12033; AVX512DQ-BW-NEXT: vmovdqa64 %zmm21, %zmm2212034; AVX512DQ-BW-NEXT: vmovdqa64 %zmm23, %zmm3 {%k1}12035; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm112036; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12037; AVX512DQ-BW-NEXT: vmovdqa64 1728(%rdi), %zmm1812038; AVX512DQ-BW-NEXT: vmovdqa64 1664(%rdi), %zmm112039; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12040; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm0, %zmm112041; AVX512DQ-BW-NEXT: vmovdqa64 1600(%rdi), %zmm1312042; AVX512DQ-BW-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12043; AVX512DQ-BW-NEXT: vmovdqa64 1536(%rdi), %zmm612044; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm212045; AVX512DQ-BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12046; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm0, %zmm212047; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12048; AVX512DQ-BW-NEXT: vpermi2q %zmm16, %zmm15, %zmm012049; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm9[0],zmm12[0],zmm9[2],zmm12[2],zmm9[4],zmm12[4],zmm9[6],zmm12[6]12050; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}12051; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm012052; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12053; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [5,13,5,13,5,13,5,13]12054; AVX512DQ-BW-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12055; AVX512DQ-BW-NEXT: vpermt2q %zmm8, %zmm2, %zmm412056; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm112057; AVX512DQ-BW-NEXT: vpermt2q %zmm7, %zmm2, %zmm112058; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm4[4,5,6,7]12059; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [0,8,0,8,0,8,0,8]12060; AVX512DQ-BW-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12061; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm912062; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm012063; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm21, %zmm012064; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12065; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [1,9,1,9,1,9,1,9]12066; AVX512DQ-BW-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12067; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm012068; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm16, %zmm012069; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12070; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [6,14,6,14,6,14,6,14]12071; AVX512DQ-BW-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12072; AVX512DQ-BW-NEXT: vmovdqa64 %zmm17, %zmm012073; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm23, %zmm012074; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm17[1],zmm19[1],zmm17[3],zmm19[3],zmm17[5],zmm19[5],zmm17[7],zmm19[7]12075; AVX512DQ-BW-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [7,15,7,15,7,15,7,15]12076; AVX512DQ-BW-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12077; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm17, %zmm912078; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm0 {%k1} = zmm27[0],zmm24[0],zmm27[2],zmm24[2],zmm27[4],zmm24[4],zmm27[6],zmm24[6]12079; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12080; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm27[1],zmm24[1],zmm27[3],zmm24[3],zmm27[5],zmm24[5],zmm27[7],zmm24[7]12081; AVX512DQ-BW-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12082; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm012083; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, %zmm812084; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm21, %zmm2712085; AVX512DQ-BW-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12086; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm16, %zmm012087; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12088; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm2, %zmm812089; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}12090; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm7, %zmm012091; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12092; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12093; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm712094; AVX512DQ-BW-NEXT: vmovdqa64 %zmm25, %zmm912095; AVX512DQ-BW-NEXT: vpermt2q %zmm25, %zmm2, %zmm712096; AVX512DQ-BW-NEXT: vmovdqa64 %zmm26, %zmm1312097; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm2, %zmm1412098; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm7[4,5,6,7]12099; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm012100; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm412101; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm21, %zmm412102; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12103; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm412104; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm16, %zmm412105; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12106; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, %zmm3012107; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm23, %zmm3012108; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm11 = zmm11[1],zmm10[1],zmm11[3],zmm10[3],zmm11[5],zmm10[5],zmm11[7],zmm10[7]12109; AVX512DQ-BW-NEXT: vpermt2q %zmm10, %zmm17, %zmm012110; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm412111; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm30 {%k1} = zmm29[0],zmm31[0],zmm29[2],zmm31[2],zmm29[4],zmm31[4],zmm29[6],zmm31[6]12112; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm29[1],zmm31[1],zmm29[3],zmm31[3],zmm29[5],zmm31[5],zmm29[7],zmm31[7]12113; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12114; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm012115; AVX512DQ-BW-NEXT: vmovdqa64 %zmm29, %zmm1412116; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm21, %zmm412117; AVX512DQ-BW-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12118; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm16, %zmm012119; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12120; AVX512DQ-BW-NEXT: vpermt2q %zmm31, %zmm2, %zmm1412121; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, %zmm11 {%k1}12122; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm8, %zmm11, %zmm012123; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12124; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12125; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload12126; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm2, %zmm812127; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload12128; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm1112129; AVX512DQ-BW-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm11 # 64-byte Folded Reload12130; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm8[4,5,6,7]12131; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm012132; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm2512133; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm21, %zmm2512134; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm512135; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm16, %zmm512136; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12137; AVX512DQ-BW-NEXT: vmovdqa64 %zmm22, %zmm2712138; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm23, %zmm2712139; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm20[1],zmm22[3],zmm20[3],zmm22[5],zmm20[5],zmm22[7],zmm20[7]12140; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm17, %zmm012141; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12142; AVX512DQ-BW-NEXT: vmovdqu64 (%rsp), %zmm31 # 64-byte Reload12143; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm27 {%k1} = zmm31[0],zmm1[0],zmm31[2],zmm1[2],zmm31[4],zmm1[4],zmm31[6],zmm1[6]12144; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm31[1],zmm1[1],zmm31[3],zmm1[3],zmm31[5],zmm1[5],zmm31[7],zmm1[7]12145; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12146; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, %zmm012147; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, %zmm2412148; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm21, %zmm3112149; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm16, %zmm012150; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12151; AVX512DQ-BW-NEXT: vpermt2q %zmm1, %zmm2, %zmm2412152; AVX512DQ-BW-NEXT: vmovdqa64 %zmm24, %zmm14 {%k1}12153; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm012154; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12155; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload12156; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm1112157; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm2, %zmm1112158; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload12159; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm2, %zmm612160; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm11 = ymm6[0,1,2,3],ymm11[4,5,6,7]12161; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload12162; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload12163; AVX512DQ-BW-NEXT: vpermi2q %zmm20, %zmm5, %zmm212164; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload12165; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm12[1],zmm22[3],zmm12[3],zmm22[5],zmm12[5],zmm22[7],zmm12[7]12166; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm14 {%k1}12167; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm212168; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill12169; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm212170; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm21, %zmm212171; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12172; AVX512DQ-BW-NEXT: vpermi2q %zmm12, %zmm22, %zmm2112173; AVX512DQ-BW-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12174; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm212175; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm2112176; AVX512DQ-BW-NEXT: vpermt2q %zmm20, %zmm16, %zmm212177; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12178; AVX512DQ-BW-NEXT: vpermi2q %zmm12, %zmm22, %zmm1612179; AVX512DQ-BW-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12180; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, %zmm1612181; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload12182; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm1412183; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload12184; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm23, %zmm1412185; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload12186; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload12187; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm23, %zmm1112188; AVX512DQ-BW-NEXT: vmovdqa64 %zmm3, %zmm1212189; AVX512DQ-BW-NEXT: vpermt2q %zmm9, %zmm23, %zmm1212190; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm2912191; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload12192; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, %zmm812193; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm23, %zmm812194; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload12195; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, %zmm1012196; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm23, %zmm1012197; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm512198; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, %zmm712199; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload12200; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm23, %zmm712201; AVX512DQ-BW-NEXT: vmovdqa64 %zmm15, %zmm012202; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm23, %zmm012203; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12204; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12205; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm012206; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm23, %zmm012207; AVX512DQ-BW-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12208; AVX512DQ-BW-NEXT: vpermi2q %zmm16, %zmm22, %zmm2312209; AVX512DQ-BW-NEXT: vpermt2q %zmm16, %zmm17, %zmm2212210; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} zmm23 {%k1} = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]12211; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} zmm22 {%k1} = zmm21[1],zmm20[1],zmm21[3],zmm20[3],zmm21[5],zmm20[5],zmm21[7],zmm20[7]12212; AVX512DQ-BW-NEXT: vpermt2q %zmm29, %zmm17, %zmm312213; AVX512DQ-BW-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12214; AVX512DQ-BW-NEXT: vpermt2q %zmm13, %zmm17, %zmm212215; AVX512DQ-BW-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12216; AVX512DQ-BW-NEXT: vpermt2q %zmm28, %zmm17, %zmm912217; AVX512DQ-BW-NEXT: vpermt2q %zmm4, %zmm17, %zmm512218; AVX512DQ-BW-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12219; AVX512DQ-BW-NEXT: vpermt2q %zmm18, %zmm17, %zmm1512220; AVX512DQ-BW-NEXT: vpermt2q %zmm19, %zmm17, %zmm112221; AVX512DQ-BW-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12222; AVX512DQ-BW-NEXT: vpermt2q %zmm24, %zmm17, %zmm612223; AVX512DQ-BW-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12224; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12225; AVX512DQ-BW-NEXT: vpermt2q %zmm26, %zmm17, %zmm312226; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm14[4,5,6,7]12227; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12228; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm1412229; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3],ymm12[4,5,6,7]12230; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm30, %zmm412231; AVX512DQ-BW-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm10[4,5,6,7]12232; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm27, %zmm1012233; AVX512DQ-BW-NEXT: vmovdqa64 %zmm31, %zmm25 {%k1}12234; AVX512DQ-BW-NEXT: vmovdqa 64(%rdi), %xmm012235; AVX512DQ-BW-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm012236; AVX512DQ-BW-NEXT: vmovdqa (%rdi), %xmm112237; AVX512DQ-BW-NEXT: vinserti128 $1, 128(%rdi), %ymm1, %ymm112238; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12239; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm2, %zmm25, %zmm212240; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12241; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload12242; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}12243; AVX512DQ-BW-NEXT: vmovdqa 576(%rdi), %xmm512244; AVX512DQ-BW-NEXT: vinserti128 $1, 704(%rdi), %ymm5, %ymm512245; AVX512DQ-BW-NEXT: vmovdqa 512(%rdi), %xmm612246; AVX512DQ-BW-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm612247; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm18 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]12248; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm18, %zmm7, %zmm2712249; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12250; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12251; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}12252; AVX512DQ-BW-NEXT: vmovdqa 1088(%rdi), %xmm1312253; AVX512DQ-BW-NEXT: vinserti128 $1, 1216(%rdi), %ymm13, %ymm1312254; AVX512DQ-BW-NEXT: vmovdqa64 1024(%rdi), %xmm1812255; AVX512DQ-BW-NEXT: vinserti32x4 $1, 1152(%rdi), %ymm18, %ymm1812256; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm19 = ymm18[0],ymm13[0],ymm18[2],ymm13[2]12257; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm19, %zmm7, %zmm1912258; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12259; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12260; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}12261; AVX512DQ-BW-NEXT: vmovdqa64 1600(%rdi), %xmm2112262; AVX512DQ-BW-NEXT: vinserti32x4 $1, 1728(%rdi), %ymm21, %ymm2112263; AVX512DQ-BW-NEXT: vmovdqa64 1536(%rdi), %xmm2512264; AVX512DQ-BW-NEXT: vinserti32x4 $1, 1664(%rdi), %ymm25, %ymm2512265; AVX512DQ-BW-NEXT: vpunpcklqdq {{.*#+}} ymm26 = ymm25[0],ymm21[0],ymm25[2],ymm21[2]12266; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm26, %zmm7, %zmm1212267; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12268; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12269; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}12270; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm18[1],ymm13[1],ymm18[3],ymm13[3]12271; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm13, %zmm7, %zmm1312272; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12273; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12274; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}12275; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]12276; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm5, %zmm7, %zmm512277; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload12278; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12279; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, %zmm7 {%k1}12280; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12281; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm012282; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload12283; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12284; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, %zmm6 {%k1}12285; AVX512DQ-BW-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm25[1],ymm21[1],ymm25[3],ymm21[3]12286; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm1, %zmm6, %zmm112287; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload12288; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload12289; AVX512DQ-BW-NEXT: # ymm6 = ymm6[0,1,2,3],mem[4,5,6,7]12290; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm6, %zmm23, %zmm612291; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12292; AVX512DQ-BW-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload12293; AVX512DQ-BW-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]12294; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12295; AVX512DQ-BW-NEXT: vinsertf64x4 $0, %ymm7, %zmm8, %zmm712296; AVX512DQ-BW-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm8 # 32-byte Folded Reload12297; AVX512DQ-BW-NEXT: # ymm8 = mem[0,1,2,3],ymm9[4,5,6,7]12298; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload12299; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm8, %zmm9, %zmm812300; AVX512DQ-BW-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm9 # 32-byte Folded Reload12301; AVX512DQ-BW-NEXT: # ymm9 = mem[0,1,2,3],ymm15[4,5,6,7]12302; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm9, %zmm22, %zmm912303; AVX512DQ-BW-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload12304; AVX512DQ-BW-NEXT: # ymm11 = ymm3[0,1,2,3],mem[4,5,6,7]12305; AVX512DQ-BW-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12306; AVX512DQ-BW-NEXT: vinserti64x4 $0, %ymm11, %zmm3, %zmm1112307; AVX512DQ-BW-NEXT: vmovdqa64 %zmm12, 192(%rsi)12308; AVX512DQ-BW-NEXT: vmovdqa64 %zmm19, 128(%rsi)12309; AVX512DQ-BW-NEXT: vmovdqa64 %zmm27, 64(%rsi)12310; AVX512DQ-BW-NEXT: vmovdqa64 %zmm2, (%rsi)12311; AVX512DQ-BW-NEXT: vmovdqa64 %zmm1, 192(%rdx)12312; AVX512DQ-BW-NEXT: vmovdqa64 %zmm0, (%rdx)12313; AVX512DQ-BW-NEXT: vmovdqa64 %zmm5, 64(%rdx)12314; AVX512DQ-BW-NEXT: vmovdqa64 %zmm13, 128(%rdx)12315; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12316; AVX512DQ-BW-NEXT: vmovaps %zmm0, 192(%rcx)12317; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12318; AVX512DQ-BW-NEXT: vmovaps %zmm0, (%rcx)12319; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12320; AVX512DQ-BW-NEXT: vmovaps %zmm0, 64(%rcx)12321; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12322; AVX512DQ-BW-NEXT: vmovaps %zmm0, 128(%rcx)12323; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12324; AVX512DQ-BW-NEXT: vmovaps %zmm0, 192(%r8)12325; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12326; AVX512DQ-BW-NEXT: vmovaps %zmm0, (%r8)12327; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12328; AVX512DQ-BW-NEXT: vmovaps %zmm0, 64(%r8)12329; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12330; AVX512DQ-BW-NEXT: vmovaps %zmm0, 128(%r8)12331; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12332; AVX512DQ-BW-NEXT: vmovaps %zmm0, 192(%r9)12333; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12334; AVX512DQ-BW-NEXT: vmovaps %zmm0, (%r9)12335; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12336; AVX512DQ-BW-NEXT: vmovaps %zmm0, 64(%r9)12337; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12338; AVX512DQ-BW-NEXT: vmovaps %zmm0, 128(%r9)12339; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax12340; AVX512DQ-BW-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload12341; AVX512DQ-BW-NEXT: vmovaps %zmm0, 192(%rax)12342; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12343; AVX512DQ-BW-NEXT: vmovaps %zmm0, (%rax)12344; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12345; AVX512DQ-BW-NEXT: vmovaps %zmm0, 64(%rax)12346; AVX512DQ-BW-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12347; AVX512DQ-BW-NEXT: vmovaps %zmm0, 128(%rax)12348; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax12349; AVX512DQ-BW-NEXT: vmovdqa64 %zmm6, 192(%rax)12350; AVX512DQ-BW-NEXT: vmovdqa64 %zmm10, (%rax)12351; AVX512DQ-BW-NEXT: vmovdqa64 %zmm4, 64(%rax)12352; AVX512DQ-BW-NEXT: vmovdqa64 %zmm14, 128(%rax)12353; AVX512DQ-BW-NEXT: movq {{[0-9]+}}(%rsp), %rax12354; AVX512DQ-BW-NEXT: vmovdqa64 %zmm11, 128(%rax)12355; AVX512DQ-BW-NEXT: vmovdqa64 %zmm9, 192(%rax)12356; AVX512DQ-BW-NEXT: vmovdqa64 %zmm8, (%rax)12357; AVX512DQ-BW-NEXT: vmovaps %zmm7, 64(%rax)12358; AVX512DQ-BW-NEXT: addq $3208, %rsp # imm = 0xC8812359; AVX512DQ-BW-NEXT: vzeroupper12360; AVX512DQ-BW-NEXT: retq12361;12362; AVX512DQ-BW-FCP-LABEL: load_i64_stride8_vf32:12363; AVX512DQ-BW-FCP: # %bb.0:12364; AVX512DQ-BW-FCP-NEXT: subq $3208, %rsp # imm = 0xC8812365; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1856(%rdi), %zmm1212366; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1984(%rdi), %zmm1612367; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1344(%rdi), %zmm1912368; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1280(%rdi), %zmm1812369; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1472(%rdi), %zmm2412370; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1408(%rdi), %zmm2712371; AVX512DQ-BW-FCP-NEXT: vmovdqa64 832(%rdi), %zmm712372; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12373; AVX512DQ-BW-FCP-NEXT: vmovdqa64 768(%rdi), %zmm1112374; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12375; AVX512DQ-BW-FCP-NEXT: vmovdqa64 960(%rdi), %zmm3112376; AVX512DQ-BW-FCP-NEXT: vmovdqa64 896(%rdi), %zmm312377; AVX512DQ-BW-FCP-NEXT: vmovdqa64 320(%rdi), %zmm2012378; AVX512DQ-BW-FCP-NEXT: vmovdqa64 256(%rdi), %zmm812379; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12380; AVX512DQ-BW-FCP-NEXT: vmovdqa64 448(%rdi), %zmm2512381; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12382; AVX512DQ-BW-FCP-NEXT: vmovdqa64 384(%rdi), %zmm2312383; AVX512DQ-BW-FCP-NEXT: movb $-64, %al12384; AVX512DQ-BW-FCP-NEXT: kmovd %eax, %k112385; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [2,10,2,10,2,10,2,10]12386; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12387; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm112388; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm112389; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm18, %zmm212390; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm18, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12391; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm0, %zmm212392; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm2 {%k1}12393; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1216(%rdi), %ymm2212394; AVX512DQ-BW-FCP-NEXT: vmovdqa 1152(%rdi), %ymm1012395; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm10[0],ymm22[0],ymm10[2],ymm22[2]12396; AVX512DQ-BW-FCP-NEXT: vmovdqa 1088(%rdi), %ymm912397; AVX512DQ-BW-FCP-NEXT: vmovdqa 1024(%rdi), %ymm612398; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm13 = ymm6[0],ymm9[0],ymm6[2],ymm9[2]12399; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm4 = ymm13[2,3],ymm4[2,3]12400; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm2, %zmm112401; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12402; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm212403; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm212404; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm412405; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm412406; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm4 {%k1}12407; AVX512DQ-BW-FCP-NEXT: vmovdqa 704(%rdi), %ymm712408; AVX512DQ-BW-FCP-NEXT: vmovdqa 640(%rdi), %ymm1312409; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm14 = ymm13[0],ymm7[0],ymm13[2],ymm7[2]12410; AVX512DQ-BW-FCP-NEXT: vmovdqa64 576(%rdi), %ymm1712411; AVX512DQ-BW-FCP-NEXT: vmovdqa64 512(%rdi), %ymm2112412; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm21[0],ymm17[0],ymm21[2],ymm17[2]12413; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm11[2,3],ymm14[2,3]12414; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm4, %zmm112415; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12416; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm412417; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm0, %zmm412418; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm1112419; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm0, %zmm1112420; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm11 {%k1}12421; AVX512DQ-BW-FCP-NEXT: vmovdqa 192(%rdi), %ymm412422; AVX512DQ-BW-FCP-NEXT: vmovdqa 128(%rdi), %ymm1412423; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm1 = ymm14[0],ymm4[0],ymm14[2],ymm4[2]12424; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %ymm2512425; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %ymm2812426; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm8 = ymm28[0],ymm25[0],ymm28[2],ymm25[2]12427; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm8[2,3],ymm1[2,3]12428; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1920(%rdi), %zmm2912429; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm11, %zmm112430; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12431; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm112432; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm112433; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1792(%rdi), %zmm2612434; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm12, %zmm26, %zmm012435; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm0 {%k1}12436; AVX512DQ-BW-FCP-NEXT: vmovdqa 1728(%rdi), %ymm212437; AVX512DQ-BW-FCP-NEXT: vmovdqa 1664(%rdi), %ymm812438; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm11 = ymm8[0],ymm2[0],ymm8[2],ymm2[2]12439; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1600(%rdi), %ymm3012440; AVX512DQ-BW-FCP-NEXT: vmovdqa 1536(%rdi), %ymm112441; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm15 = ymm1[0],ymm30[0],ymm1[2],ymm30[2]12442; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm11 = ymm15[2,3],ymm11[2,3]12443; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm0, %zmm012444; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12445; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [3,11,3,11,3,11,3,11]12446; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12447; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm1112448; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm1112449; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm0, %zmm1812450; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm18 {%k1}12451; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm10[1],ymm22[1],ymm10[3],ymm22[3]12452; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm6 = ymm6[1],ymm9[1],ymm6[3],ymm9[3]12453; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm5 = ymm6[2,3],ymm5[2,3]12454; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm18, %zmm512455; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12456; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm512457; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm1012458; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm512459; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload12460; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm612461; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload12462; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm22, %zmm0, %zmm612463; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm6 {%k1}12464; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm13[1],ymm7[1],ymm13[3],ymm7[3]12465; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm21[1],ymm17[1],ymm21[3],ymm17[3]12466; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm5[2,3],ymm3[2,3]12467; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm6, %zmm312468; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12469; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm23, (%rsp) # 64-byte Spill12470; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm312471; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm18 # 64-byte Reload12472; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm312473; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm21 # 64-byte Reload12474; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm512475; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm0, %zmm512476; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm5 {%k1}12477; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm3 = ymm14[1],ymm4[1],ymm14[3],ymm4[3]12478; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1088(%rdi), %zmm712479; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm28[1],ymm25[1],ymm28[3],ymm25[3]12480; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1024(%rdi), %zmm612481; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm3 = ymm4[2,3],ymm3[2,3]12482; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1216(%rdi), %zmm1312483; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm3, %zmm5, %zmm312484; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12485; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm1512486; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12487; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm312488; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12489; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm0, %zmm312490; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm912491; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12492; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm12, %zmm26, %zmm012493; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm0 {%k1}12494; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1152(%rdi), %zmm412495; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm2 = ymm8[1],ymm2[1],ymm8[3],ymm2[3]12496; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm1[1],ymm30[1],ymm1[3],ymm30[3]12497; AVX512DQ-BW-FCP-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm2[2,3]12498; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm0, %zmm012499; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12500; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = [4,12,4,12,4,12,4,12]12501; AVX512DQ-BW-FCP-NEXT: # zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12502; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm112503; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12504; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm112505; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, %zmm812506; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12507; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm212508; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm512509; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12510; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm0, %zmm212511; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12512; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12513; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm212514; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm0, %zmm212515; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm17 # 64-byte Reload12516; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm17[0],zmm19[0],zmm17[2],zmm19[2],zmm17[4],zmm19[4],zmm17[6],zmm19[6]12517; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}12518; AVX512DQ-BW-FCP-NEXT: vmovdqa64 704(%rdi), %zmm2512519; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm112520; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12521; AVX512DQ-BW-FCP-NEXT: vmovdqa64 640(%rdi), %zmm112522; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12523; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm0, %zmm112524; AVX512DQ-BW-FCP-NEXT: vmovdqa64 576(%rdi), %zmm2612525; AVX512DQ-BW-FCP-NEXT: vmovdqa64 512(%rdi), %zmm1412526; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm212527; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12528; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm0, %zmm212529; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12530; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm212531; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, %zmm2912532; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm31, %zmm0, %zmm212533; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm11[0],zmm22[0],zmm11[2],zmm22[2],zmm11[4],zmm22[4],zmm11[6],zmm22[6]12534; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm1012535; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm3 {%k1}12536; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm112537; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12538; AVX512DQ-BW-FCP-NEXT: vmovdqa64 192(%rdi), %zmm212539; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12540; AVX512DQ-BW-FCP-NEXT: vmovdqa64 128(%rdi), %zmm112541; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12542; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm2, %zmm0, %zmm112543; AVX512DQ-BW-FCP-NEXT: vmovdqa64 64(%rdi), %zmm612544; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12545; AVX512DQ-BW-FCP-NEXT: vmovdqa64 (%rdi), %zmm212546; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12547; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm6, %zmm0, %zmm212548; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12549; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm2312550; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm3 = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]12551; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm21, %zmm2212552; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm23, %zmm3 {%k1}12553; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm3, %zmm112554; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12555; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1728(%rdi), %zmm1812556; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1664(%rdi), %zmm112557; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12558; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm0, %zmm112559; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1600(%rdi), %zmm1312560; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12561; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1536(%rdi), %zmm612562; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm212563; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12564; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm0, %zmm212565; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]12566; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm16, %zmm15, %zmm012567; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm2 = zmm9[0],zmm12[0],zmm9[2],zmm12[2],zmm9[4],zmm12[4],zmm9[6],zmm12[6]12568; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, %zmm2 {%k1}12569; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm2, %zmm012570; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12571; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm2 = [5,13,5,13,5,13,5,13]12572; AVX512DQ-BW-FCP-NEXT: # zmm2 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12573; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm8, %zmm2, %zmm412574; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm112575; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm7, %zmm2, %zmm112576; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm1[0,1,2,3],ymm4[4,5,6,7]12577; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm21 = [0,8,0,8,0,8,0,8]12578; AVX512DQ-BW-FCP-NEXT: # zmm21 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12579; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm912580; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm012581; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm21, %zmm012582; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12583; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm16 = [1,9,1,9,1,9,1,9]12584; AVX512DQ-BW-FCP-NEXT: # zmm16 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12585; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm012586; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm16, %zmm012587; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12588; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm23 = [6,14,6,14,6,14,6,14]12589; AVX512DQ-BW-FCP-NEXT: # zmm23 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12590; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm17, %zmm012591; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm012592; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm7 = zmm17[1],zmm19[1],zmm17[3],zmm19[3],zmm17[5],zmm19[5],zmm17[7],zmm19[7]12593; AVX512DQ-BW-FCP-NEXT: vbroadcasti32x4 {{.*#+}} zmm17 = [7,15,7,15,7,15,7,15]12594; AVX512DQ-BW-FCP-NEXT: # zmm17 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]12595; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm17, %zmm912596; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm0 {%k1} = zmm27[0],zmm24[0],zmm27[2],zmm24[2],zmm27[4],zmm24[4],zmm27[6],zmm24[6]12597; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12598; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm9 {%k1} = zmm27[1],zmm24[1],zmm27[3],zmm24[3],zmm27[5],zmm24[5],zmm27[7],zmm24[7]12599; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12600; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm012601; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, %zmm812602; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm21, %zmm2712603; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm27, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12604; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm16, %zmm012605; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12606; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm2, %zmm812607; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}12608; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm7, %zmm012609; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12610; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12611; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm712612; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm25, %zmm912613; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm25, %zmm2, %zmm712614; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm26, %zmm1312615; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm2, %zmm1412616; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm7[4,5,6,7]12617; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm012618; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm412619; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm21, %zmm412620; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12621; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm412622; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm16, %zmm412623; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12624; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, %zmm3012625; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm23, %zmm3012626; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm11 = zmm11[1],zmm10[1],zmm11[3],zmm10[3],zmm11[5],zmm10[5],zmm11[7],zmm10[7]12627; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm10, %zmm17, %zmm012628; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm412629; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm30 {%k1} = zmm29[0],zmm31[0],zmm29[2],zmm31[2],zmm29[4],zmm31[4],zmm29[6],zmm31[6]12630; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm29[1],zmm31[1],zmm29[3],zmm31[3],zmm29[5],zmm31[5],zmm29[7],zmm31[7]12631; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12632; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm012633; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm29, %zmm1412634; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm31, %zmm21, %zmm412635; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12636; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm31, %zmm16, %zmm012637; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12638; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm31, %zmm2, %zmm1412639; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, %zmm11 {%k1}12640; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm11, %zmm012641; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12642; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12643; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm28 # 64-byte Reload12644; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm2, %zmm812645; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload12646; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm1112647; AVX512DQ-BW-FCP-NEXT: vpermt2q {{[-0-9]+}}(%r{{[sb]}}p), %zmm2, %zmm11 # 64-byte Folded Reload12648; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm8[4,5,6,7]12649; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm012650; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm2512651; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm21, %zmm2512652; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm512653; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm16, %zmm512654; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12655; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm22, %zmm2712656; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm23, %zmm2712657; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm20[1],zmm22[3],zmm20[3],zmm22[5],zmm20[5],zmm22[7],zmm20[7]12658; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm17, %zmm012659; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12660; AVX512DQ-BW-FCP-NEXT: vmovdqu64 (%rsp), %zmm31 # 64-byte Reload12661; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm27 {%k1} = zmm31[0],zmm1[0],zmm31[2],zmm1[2],zmm31[4],zmm1[4],zmm31[6],zmm1[6]12662; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm0 {%k1} = zmm31[1],zmm1[1],zmm31[3],zmm1[3],zmm31[5],zmm1[5],zmm31[7],zmm1[7]12663; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12664; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm012665; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm2412666; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm21, %zmm3112667; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm16, %zmm012668; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12669; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm1, %zmm2, %zmm2412670; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm24, %zmm14 {%k1}12671; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm012672; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12673; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm15 # 64-byte Reload12674; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm1112675; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm2, %zmm1112676; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm19 # 64-byte Reload12677; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm2, %zmm612678; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm11 = ymm6[0,1,2,3],ymm11[4,5,6,7]12679; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm20 # 64-byte Reload12680; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload12681; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm20, %zmm5, %zmm212682; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm22 # 64-byte Reload12683; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm14 = zmm22[1],zmm12[1],zmm22[3],zmm12[3],zmm22[5],zmm12[5],zmm22[7],zmm12[7]12684; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm14 {%k1}12685; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm14, %zmm212686; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, (%rsp) # 64-byte Spill12687; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm212688; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm21, %zmm212689; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12690; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm12, %zmm22, %zmm2112691; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm21, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12692; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm212693; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm2112694; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm20, %zmm16, %zmm212695; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12696; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm12, %zmm22, %zmm1612697; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm16, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12698; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, %zmm1612699; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload12700; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm1412701; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm24 # 64-byte Reload12702; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm23, %zmm1412703; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm11 # 64-byte Reload12704; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm26 # 64-byte Reload12705; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm23, %zmm1112706; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm3, %zmm1212707; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm9, %zmm23, %zmm1212708; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm2912709; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload12710; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, %zmm812711; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm23, %zmm812712; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload12713; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, %zmm1012714; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm23, %zmm1012715; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm512716; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, %zmm712717; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm4 # 64-byte Reload12718; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm23, %zmm712719; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm15, %zmm012720; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm23, %zmm012721; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12722; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12723; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm012724; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm23, %zmm012725; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12726; AVX512DQ-BW-FCP-NEXT: vpermi2q %zmm16, %zmm22, %zmm2312727; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm16, %zmm17, %zmm2212728; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} zmm23 {%k1} = zmm21[0],zmm20[0],zmm21[2],zmm20[2],zmm21[4],zmm20[4],zmm21[6],zmm20[6]12729; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} zmm22 {%k1} = zmm21[1],zmm20[1],zmm21[3],zmm20[3],zmm21[5],zmm20[5],zmm21[7],zmm20[7]12730; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm29, %zmm17, %zmm312731; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12732; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm13, %zmm17, %zmm212733; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12734; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm28, %zmm17, %zmm912735; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm4, %zmm17, %zmm512736; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12737; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm18, %zmm17, %zmm1512738; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm19, %zmm17, %zmm112739; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12740; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm24, %zmm17, %zmm612741; AVX512DQ-BW-FCP-NEXT: vmovdqu64 %zmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12742; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12743; AVX512DQ-BW-FCP-NEXT: vpermt2q %zmm26, %zmm17, %zmm312744; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm14[4,5,6,7]12745; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12746; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm4, %zmm0, %zmm1412747; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3],ymm12[4,5,6,7]12748; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm30, %zmm412749; AVX512DQ-BW-FCP-NEXT: vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm10[4,5,6,7]12750; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm27, %zmm1012751; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm31, %zmm25 {%k1}12752; AVX512DQ-BW-FCP-NEXT: vmovdqa 64(%rdi), %xmm012753; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 192(%rdi), %ymm0, %ymm012754; AVX512DQ-BW-FCP-NEXT: vmovdqa (%rdi), %xmm112755; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 128(%rdi), %ymm1, %ymm112756; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]12757; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm2, %zmm25, %zmm212758; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12759; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm5 # 64-byte Reload12760; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, %zmm7 {%k1}12761; AVX512DQ-BW-FCP-NEXT: vmovdqa 576(%rdi), %xmm512762; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 704(%rdi), %ymm5, %ymm512763; AVX512DQ-BW-FCP-NEXT: vmovdqa 512(%rdi), %xmm612764; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 640(%rdi), %ymm6, %ymm612765; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm18 = ymm6[0],ymm5[0],ymm6[2],ymm5[2]12766; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm18, %zmm7, %zmm2712767; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12768; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12769; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}12770; AVX512DQ-BW-FCP-NEXT: vmovdqa 1088(%rdi), %xmm1312771; AVX512DQ-BW-FCP-NEXT: vinserti128 $1, 1216(%rdi), %ymm13, %ymm1312772; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1024(%rdi), %xmm1812773; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $1, 1152(%rdi), %ymm18, %ymm1812774; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm19 = ymm18[0],ymm13[0],ymm18[2],ymm13[2]12775; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm19, %zmm7, %zmm1912776; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12777; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12778; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}12779; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1600(%rdi), %xmm2112780; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $1, 1728(%rdi), %ymm21, %ymm2112781; AVX512DQ-BW-FCP-NEXT: vmovdqa64 1536(%rdi), %xmm2512782; AVX512DQ-BW-FCP-NEXT: vinserti32x4 $1, 1664(%rdi), %ymm25, %ymm2512783; AVX512DQ-BW-FCP-NEXT: vpunpcklqdq {{.*#+}} ymm26 = ymm25[0],ymm21[0],ymm25[2],ymm21[2]12784; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm26, %zmm7, %zmm1212785; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12786; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12787; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}12788; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm13 = ymm18[1],ymm13[1],ymm18[3],ymm13[3]12789; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm13, %zmm7, %zmm1312790; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12791; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12792; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, %zmm7 {%k1}12793; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm6[1],ymm5[1],ymm6[3],ymm5[3]12794; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm5, %zmm7, %zmm512795; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload12796; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12797; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, %zmm7 {%k1}12798; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]12799; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm0, %zmm7, %zmm012800; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload12801; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload12802; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, %zmm6 {%k1}12803; AVX512DQ-BW-FCP-NEXT: vpunpckhqdq {{.*#+}} ymm1 = ymm25[1],ymm21[1],ymm25[3],ymm21[3]12804; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm1, %zmm6, %zmm112805; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm6 # 64-byte Reload12806; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload12807; AVX512DQ-BW-FCP-NEXT: # ymm6 = ymm6[0,1,2,3],mem[4,5,6,7]12808; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm6, %zmm23, %zmm612809; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm7 # 64-byte Reload12810; AVX512DQ-BW-FCP-NEXT: vblendps $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm7 # 32-byte Folded Reload12811; AVX512DQ-BW-FCP-NEXT: # ymm7 = ymm7[0,1,2,3],mem[4,5,6,7]12812; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm8 # 64-byte Reload12813; AVX512DQ-BW-FCP-NEXT: vinsertf64x4 $0, %ymm7, %zmm8, %zmm712814; AVX512DQ-BW-FCP-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm8 # 32-byte Folded Reload12815; AVX512DQ-BW-FCP-NEXT: # ymm8 = mem[0,1,2,3],ymm9[4,5,6,7]12816; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm9 # 64-byte Reload12817; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm8, %zmm9, %zmm812818; AVX512DQ-BW-FCP-NEXT: vpblendd $15, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm9 # 32-byte Folded Reload12819; AVX512DQ-BW-FCP-NEXT: # ymm9 = mem[0,1,2,3],ymm15[4,5,6,7]12820; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm9, %zmm22, %zmm912821; AVX512DQ-BW-FCP-NEXT: vpblendd $240, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm11 # 32-byte Folded Reload12822; AVX512DQ-BW-FCP-NEXT: # ymm11 = ymm3[0,1,2,3],mem[4,5,6,7]12823; AVX512DQ-BW-FCP-NEXT: vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload12824; AVX512DQ-BW-FCP-NEXT: vinserti64x4 $0, %ymm11, %zmm3, %zmm1112825; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm12, 192(%rsi)12826; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm19, 128(%rsi)12827; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm27, 64(%rsi)12828; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm2, (%rsi)12829; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm1, 192(%rdx)12830; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm0, (%rdx)12831; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm5, 64(%rdx)12832; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm13, 128(%rdx)12833; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12834; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 192(%rcx)12835; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12836; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, (%rcx)12837; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12838; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 64(%rcx)12839; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12840; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 128(%rcx)12841; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12842; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 192(%r8)12843; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12844; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, (%r8)12845; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12846; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 64(%r8)12847; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12848; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 128(%r8)12849; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12850; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 192(%r9)12851; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12852; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, (%r9)12853; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12854; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 64(%r9)12855; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12856; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 128(%r9)12857; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax12858; AVX512DQ-BW-FCP-NEXT: vmovups (%rsp), %zmm0 # 64-byte Reload12859; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 192(%rax)12860; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12861; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, (%rax)12862; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12863; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 64(%rax)12864; AVX512DQ-BW-FCP-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12865; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm0, 128(%rax)12866; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax12867; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm6, 192(%rax)12868; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm10, (%rax)12869; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm4, 64(%rax)12870; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm14, 128(%rax)12871; AVX512DQ-BW-FCP-NEXT: movq {{[0-9]+}}(%rsp), %rax12872; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm11, 128(%rax)12873; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm9, 192(%rax)12874; AVX512DQ-BW-FCP-NEXT: vmovdqa64 %zmm8, (%rax)12875; AVX512DQ-BW-FCP-NEXT: vmovaps %zmm7, 64(%rax)12876; AVX512DQ-BW-FCP-NEXT: addq $3208, %rsp # imm = 0xC8812877; AVX512DQ-BW-FCP-NEXT: vzeroupper12878; AVX512DQ-BW-FCP-NEXT: retq12879 %wide.vec = load <256 x i64>, ptr %in.vec, align 6412880 %strided.vec0 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <32 x i32> <i32 0, i32 8, i32 16, i32 24, i32 32, i32 40, i32 48, i32 56, i32 64, i32 72, i32 80, i32 88, i32 96, i32 104, i32 112, i32 120, i32 128, i32 136, i32 144, i32 152, i32 160, i32 168, i32 176, i32 184, i32 192, i32 200, i32 208, i32 216, i32 224, i32 232, i32 240, i32 248>12881 %strided.vec1 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <32 x i32> <i32 1, i32 9, i32 17, i32 25, i32 33, i32 41, i32 49, i32 57, i32 65, i32 73, i32 81, i32 89, i32 97, i32 105, i32 113, i32 121, i32 129, i32 137, i32 145, i32 153, i32 161, i32 169, i32 177, i32 185, i32 193, i32 201, i32 209, i32 217, i32 225, i32 233, i32 241, i32 249>12882 %strided.vec2 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <32 x i32> <i32 2, i32 10, i32 18, i32 26, i32 34, i32 42, i32 50, i32 58, i32 66, i32 74, i32 82, i32 90, i32 98, i32 106, i32 114, i32 122, i32 130, i32 138, i32 146, i32 154, i32 162, i32 170, i32 178, i32 186, i32 194, i32 202, i32 210, i32 218, i32 226, i32 234, i32 242, i32 250>12883 %strided.vec3 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <32 x i32> <i32 3, i32 11, i32 19, i32 27, i32 35, i32 43, i32 51, i32 59, i32 67, i32 75, i32 83, i32 91, i32 99, i32 107, i32 115, i32 123, i32 131, i32 139, i32 147, i32 155, i32 163, i32 171, i32 179, i32 187, i32 195, i32 203, i32 211, i32 219, i32 227, i32 235, i32 243, i32 251>12884 %strided.vec4 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <32 x i32> <i32 4, i32 12, i32 20, i32 28, i32 36, i32 44, i32 52, i32 60, i32 68, i32 76, i32 84, i32 92, i32 100, i32 108, i32 116, i32 124, i32 132, i32 140, i32 148, i32 156, i32 164, i32 172, i32 180, i32 188, i32 196, i32 204, i32 212, i32 220, i32 228, i32 236, i32 244, i32 252>12885 %strided.vec5 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <32 x i32> <i32 5, i32 13, i32 21, i32 29, i32 37, i32 45, i32 53, i32 61, i32 69, i32 77, i32 85, i32 93, i32 101, i32 109, i32 117, i32 125, i32 133, i32 141, i32 149, i32 157, i32 165, i32 173, i32 181, i32 189, i32 197, i32 205, i32 213, i32 221, i32 229, i32 237, i32 245, i32 253>12886 %strided.vec6 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <32 x i32> <i32 6, i32 14, i32 22, i32 30, i32 38, i32 46, i32 54, i32 62, i32 70, i32 78, i32 86, i32 94, i32 102, i32 110, i32 118, i32 126, i32 134, i32 142, i32 150, i32 158, i32 166, i32 174, i32 182, i32 190, i32 198, i32 206, i32 214, i32 222, i32 230, i32 238, i32 246, i32 254>12887 %strided.vec7 = shufflevector <256 x i64> %wide.vec, <256 x i64> poison, <32 x i32> <i32 7, i32 15, i32 23, i32 31, i32 39, i32 47, i32 55, i32 63, i32 71, i32 79, i32 87, i32 95, i32 103, i32 111, i32 119, i32 127, i32 135, i32 143, i32 151, i32 159, i32 167, i32 175, i32 183, i32 191, i32 199, i32 207, i32 215, i32 223, i32 231, i32 239, i32 247, i32 255>12888 store <32 x i64> %strided.vec0, ptr %out.vec0, align 6412889 store <32 x i64> %strided.vec1, ptr %out.vec1, align 6412890 store <32 x i64> %strided.vec2, ptr %out.vec2, align 6412891 store <32 x i64> %strided.vec3, ptr %out.vec3, align 6412892 store <32 x i64> %strided.vec4, ptr %out.vec4, align 6412893 store <32 x i64> %strided.vec5, ptr %out.vec5, align 6412894 store <32 x i64> %strided.vec6, ptr %out.vec6, align 6412895 store <32 x i64> %strided.vec7, ptr %out.vec7, align 6412896 ret void12897}12898 12899define void @load_i64_stride8_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, ptr %out.vec7) nounwind {12900; SSE-LABEL: load_i64_stride8_vf64:12901; SSE: # %bb.0:12902; SSE-NEXT: subq $3720, %rsp # imm = 0xE8812903; SSE-NEXT: movaps 960(%rdi), %xmm012904; SSE-NEXT: movaps 832(%rdi), %xmm112905; SSE-NEXT: movaps 768(%rdi), %xmm812906; SSE-NEXT: movaps 704(%rdi), %xmm212907; SSE-NEXT: movaps 640(%rdi), %xmm912908; SSE-NEXT: movaps 576(%rdi), %xmm312909; SSE-NEXT: movaps 512(%rdi), %xmm1012910; SSE-NEXT: movaps 448(%rdi), %xmm412911; SSE-NEXT: movaps 384(%rdi), %xmm1112912; SSE-NEXT: movaps 320(%rdi), %xmm512913; SSE-NEXT: movaps 256(%rdi), %xmm1212914; SSE-NEXT: movaps 192(%rdi), %xmm612915; SSE-NEXT: movaps 128(%rdi), %xmm1312916; SSE-NEXT: movaps 64(%rdi), %xmm712917; SSE-NEXT: movaps (%rdi), %xmm1412918; SSE-NEXT: movaps %xmm14, %xmm1512919; SSE-NEXT: movlhps {{.*#+}} xmm15 = xmm15[0],xmm7[0]12920; SSE-NEXT: movaps %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12921; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm7[1]12922; SSE-NEXT: movaps %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12923; SSE-NEXT: movaps %xmm13, %xmm712924; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm6[0]12925; SSE-NEXT: movaps %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12926; SSE-NEXT: unpckhpd {{.*#+}} xmm13 = xmm13[1],xmm6[1]12927; SSE-NEXT: movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12928; SSE-NEXT: movaps %xmm12, %xmm612929; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm5[0]12930; SSE-NEXT: movaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12931; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm5[1]12932; SSE-NEXT: movaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12933; SSE-NEXT: movaps %xmm11, %xmm512934; SSE-NEXT: movlhps {{.*#+}} xmm5 = xmm5[0],xmm4[0]12935; SSE-NEXT: movaps %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12936; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm4[1]12937; SSE-NEXT: movaps %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12938; SSE-NEXT: movaps %xmm10, %xmm412939; SSE-NEXT: movlhps {{.*#+}} xmm4 = xmm4[0],xmm3[0]12940; SSE-NEXT: movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12941; SSE-NEXT: unpckhpd {{.*#+}} xmm10 = xmm10[1],xmm3[1]12942; SSE-NEXT: movaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12943; SSE-NEXT: movaps %xmm9, %xmm312944; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm2[0]12945; SSE-NEXT: movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12946; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm2[1]12947; SSE-NEXT: movaps %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12948; SSE-NEXT: movaps %xmm8, %xmm212949; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm1[0]12950; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12951; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm1[1]12952; SSE-NEXT: movaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12953; SSE-NEXT: movaps 896(%rdi), %xmm112954; SSE-NEXT: movaps %xmm1, %xmm212955; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]12956; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12957; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]12958; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12959; SSE-NEXT: movaps 1088(%rdi), %xmm012960; SSE-NEXT: movaps 1024(%rdi), %xmm112961; SSE-NEXT: movaps %xmm1, %xmm212962; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]12963; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12964; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]12965; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12966; SSE-NEXT: movaps 1216(%rdi), %xmm012967; SSE-NEXT: movaps 1152(%rdi), %xmm112968; SSE-NEXT: movaps %xmm1, %xmm212969; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]12970; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12971; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]12972; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12973; SSE-NEXT: movaps 1344(%rdi), %xmm012974; SSE-NEXT: movaps 1280(%rdi), %xmm112975; SSE-NEXT: movaps %xmm1, %xmm212976; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]12977; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12978; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]12979; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12980; SSE-NEXT: movaps 1472(%rdi), %xmm012981; SSE-NEXT: movaps 1408(%rdi), %xmm112982; SSE-NEXT: movaps %xmm1, %xmm212983; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]12984; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12985; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]12986; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12987; SSE-NEXT: movaps 1600(%rdi), %xmm012988; SSE-NEXT: movaps 1536(%rdi), %xmm112989; SSE-NEXT: movaps %xmm1, %xmm212990; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]12991; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12992; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]12993; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12994; SSE-NEXT: movaps 1728(%rdi), %xmm012995; SSE-NEXT: movaps 1664(%rdi), %xmm112996; SSE-NEXT: movaps %xmm1, %xmm212997; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]12998; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12999; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13000; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13001; SSE-NEXT: movaps 1856(%rdi), %xmm013002; SSE-NEXT: movaps 1792(%rdi), %xmm113003; SSE-NEXT: movaps %xmm1, %xmm213004; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13005; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13006; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13007; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13008; SSE-NEXT: movaps 1984(%rdi), %xmm013009; SSE-NEXT: movaps 1920(%rdi), %xmm113010; SSE-NEXT: movaps %xmm1, %xmm213011; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13012; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13013; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13014; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13015; SSE-NEXT: movaps 2112(%rdi), %xmm013016; SSE-NEXT: movaps 2048(%rdi), %xmm113017; SSE-NEXT: movaps %xmm1, %xmm213018; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13019; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13020; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13021; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13022; SSE-NEXT: movaps 2240(%rdi), %xmm013023; SSE-NEXT: movaps 2176(%rdi), %xmm113024; SSE-NEXT: movaps %xmm1, %xmm213025; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13026; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13027; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13028; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13029; SSE-NEXT: movaps 2368(%rdi), %xmm013030; SSE-NEXT: movaps 2304(%rdi), %xmm113031; SSE-NEXT: movaps %xmm1, %xmm213032; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13033; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13034; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13035; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13036; SSE-NEXT: movaps 2496(%rdi), %xmm013037; SSE-NEXT: movaps 2432(%rdi), %xmm113038; SSE-NEXT: movaps %xmm1, %xmm213039; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13040; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13041; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13042; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13043; SSE-NEXT: movaps 2624(%rdi), %xmm013044; SSE-NEXT: movaps 2560(%rdi), %xmm113045; SSE-NEXT: movaps %xmm1, %xmm213046; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13047; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13048; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13049; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13050; SSE-NEXT: movaps 2752(%rdi), %xmm013051; SSE-NEXT: movaps 2688(%rdi), %xmm113052; SSE-NEXT: movaps %xmm1, %xmm213053; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13054; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13055; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13056; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13057; SSE-NEXT: movaps 2880(%rdi), %xmm013058; SSE-NEXT: movaps 2816(%rdi), %xmm113059; SSE-NEXT: movaps %xmm1, %xmm213060; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13061; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13062; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13063; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13064; SSE-NEXT: movaps 3008(%rdi), %xmm013065; SSE-NEXT: movaps 2944(%rdi), %xmm113066; SSE-NEXT: movaps %xmm1, %xmm213067; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13068; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13069; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13070; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13071; SSE-NEXT: movaps 3136(%rdi), %xmm013072; SSE-NEXT: movaps 3072(%rdi), %xmm113073; SSE-NEXT: movaps %xmm1, %xmm213074; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13075; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13076; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13077; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13078; SSE-NEXT: movaps 3264(%rdi), %xmm013079; SSE-NEXT: movaps 3200(%rdi), %xmm113080; SSE-NEXT: movaps %xmm1, %xmm213081; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13082; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13083; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13084; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13085; SSE-NEXT: movaps 3392(%rdi), %xmm013086; SSE-NEXT: movaps 3328(%rdi), %xmm113087; SSE-NEXT: movaps %xmm1, %xmm213088; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13089; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13090; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13091; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13092; SSE-NEXT: movaps 3520(%rdi), %xmm013093; SSE-NEXT: movaps 3456(%rdi), %xmm113094; SSE-NEXT: movaps %xmm1, %xmm213095; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13096; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13097; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13098; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13099; SSE-NEXT: movaps 3648(%rdi), %xmm013100; SSE-NEXT: movaps 3584(%rdi), %xmm113101; SSE-NEXT: movaps %xmm1, %xmm213102; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13103; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13104; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13105; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13106; SSE-NEXT: movaps 3776(%rdi), %xmm013107; SSE-NEXT: movaps 3712(%rdi), %xmm113108; SSE-NEXT: movaps %xmm1, %xmm213109; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13110; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13111; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13112; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13113; SSE-NEXT: movaps 3904(%rdi), %xmm013114; SSE-NEXT: movaps 3840(%rdi), %xmm113115; SSE-NEXT: movaps %xmm1, %xmm213116; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13117; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13118; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13119; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13120; SSE-NEXT: movaps 4032(%rdi), %xmm013121; SSE-NEXT: movaps 3968(%rdi), %xmm113122; SSE-NEXT: movaps %xmm1, %xmm713123; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm0[0]13124; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13125; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13126; SSE-NEXT: movaps 80(%rdi), %xmm013127; SSE-NEXT: movaps 16(%rdi), %xmm113128; SSE-NEXT: movaps %xmm1, %xmm213129; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13130; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13131; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13132; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13133; SSE-NEXT: movaps 208(%rdi), %xmm013134; SSE-NEXT: movaps 144(%rdi), %xmm113135; SSE-NEXT: movaps %xmm1, %xmm213136; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13137; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13138; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13139; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13140; SSE-NEXT: movaps 336(%rdi), %xmm013141; SSE-NEXT: movaps 272(%rdi), %xmm113142; SSE-NEXT: movaps %xmm1, %xmm213143; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13144; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13145; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13146; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13147; SSE-NEXT: movaps 464(%rdi), %xmm013148; SSE-NEXT: movaps 400(%rdi), %xmm113149; SSE-NEXT: movaps %xmm1, %xmm213150; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13151; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13152; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13153; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13154; SSE-NEXT: movaps 592(%rdi), %xmm013155; SSE-NEXT: movaps 528(%rdi), %xmm113156; SSE-NEXT: movaps %xmm1, %xmm213157; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13158; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13159; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13160; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13161; SSE-NEXT: movaps 720(%rdi), %xmm013162; SSE-NEXT: movaps 656(%rdi), %xmm113163; SSE-NEXT: movaps %xmm1, %xmm213164; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13165; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13166; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13167; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13168; SSE-NEXT: movaps 848(%rdi), %xmm013169; SSE-NEXT: movaps 784(%rdi), %xmm113170; SSE-NEXT: movaps %xmm1, %xmm213171; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13172; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13173; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13174; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13175; SSE-NEXT: movaps 976(%rdi), %xmm013176; SSE-NEXT: movaps 912(%rdi), %xmm113177; SSE-NEXT: movaps %xmm1, %xmm213178; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13179; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13180; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13181; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13182; SSE-NEXT: movaps 1104(%rdi), %xmm013183; SSE-NEXT: movaps 1040(%rdi), %xmm113184; SSE-NEXT: movaps %xmm1, %xmm213185; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13186; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13187; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13188; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13189; SSE-NEXT: movaps 1232(%rdi), %xmm013190; SSE-NEXT: movaps 1168(%rdi), %xmm113191; SSE-NEXT: movaps %xmm1, %xmm213192; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13193; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13194; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13195; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13196; SSE-NEXT: movaps 1360(%rdi), %xmm013197; SSE-NEXT: movaps 1296(%rdi), %xmm113198; SSE-NEXT: movaps %xmm1, %xmm213199; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13200; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13201; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13202; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13203; SSE-NEXT: movaps 1488(%rdi), %xmm013204; SSE-NEXT: movaps 1424(%rdi), %xmm113205; SSE-NEXT: movaps %xmm1, %xmm213206; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13207; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13208; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13209; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13210; SSE-NEXT: movaps 1616(%rdi), %xmm013211; SSE-NEXT: movaps 1552(%rdi), %xmm113212; SSE-NEXT: movaps %xmm1, %xmm213213; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13214; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13215; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13216; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13217; SSE-NEXT: movaps 1744(%rdi), %xmm013218; SSE-NEXT: movaps 1680(%rdi), %xmm113219; SSE-NEXT: movaps %xmm1, %xmm213220; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13221; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13222; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13223; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13224; SSE-NEXT: movaps 1872(%rdi), %xmm013225; SSE-NEXT: movaps 1808(%rdi), %xmm113226; SSE-NEXT: movaps %xmm1, %xmm213227; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13228; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13229; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13230; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13231; SSE-NEXT: movaps 2000(%rdi), %xmm013232; SSE-NEXT: movaps 1936(%rdi), %xmm113233; SSE-NEXT: movaps %xmm1, %xmm213234; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13235; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13236; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13237; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13238; SSE-NEXT: movaps 2128(%rdi), %xmm013239; SSE-NEXT: movaps 2064(%rdi), %xmm113240; SSE-NEXT: movaps %xmm1, %xmm213241; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13242; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13243; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13244; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13245; SSE-NEXT: movaps 2256(%rdi), %xmm013246; SSE-NEXT: movaps 2192(%rdi), %xmm113247; SSE-NEXT: movaps %xmm1, %xmm213248; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13249; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13250; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13251; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13252; SSE-NEXT: movaps 2384(%rdi), %xmm013253; SSE-NEXT: movaps 2320(%rdi), %xmm113254; SSE-NEXT: movaps %xmm1, %xmm213255; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13256; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13257; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13258; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13259; SSE-NEXT: movaps 2512(%rdi), %xmm013260; SSE-NEXT: movaps 2448(%rdi), %xmm113261; SSE-NEXT: movaps %xmm1, %xmm213262; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13263; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13264; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13265; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13266; SSE-NEXT: movaps 2640(%rdi), %xmm013267; SSE-NEXT: movaps 2576(%rdi), %xmm113268; SSE-NEXT: movaps %xmm1, %xmm213269; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13270; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13271; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13272; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13273; SSE-NEXT: movaps 2768(%rdi), %xmm013274; SSE-NEXT: movaps 2704(%rdi), %xmm113275; SSE-NEXT: movaps %xmm1, %xmm213276; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13277; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13278; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13279; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13280; SSE-NEXT: movaps 2896(%rdi), %xmm013281; SSE-NEXT: movaps 2832(%rdi), %xmm113282; SSE-NEXT: movaps %xmm1, %xmm213283; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13284; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13285; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13286; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13287; SSE-NEXT: movaps 3024(%rdi), %xmm013288; SSE-NEXT: movaps 2960(%rdi), %xmm113289; SSE-NEXT: movaps %xmm1, %xmm213290; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13291; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13292; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13293; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13294; SSE-NEXT: movaps 3152(%rdi), %xmm013295; SSE-NEXT: movaps 3088(%rdi), %xmm113296; SSE-NEXT: movaps %xmm1, %xmm213297; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13298; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13299; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13300; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13301; SSE-NEXT: movaps 3280(%rdi), %xmm013302; SSE-NEXT: movaps 3216(%rdi), %xmm113303; SSE-NEXT: movaps %xmm1, %xmm213304; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13305; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13306; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13307; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13308; SSE-NEXT: movaps 3408(%rdi), %xmm013309; SSE-NEXT: movaps 3344(%rdi), %xmm113310; SSE-NEXT: movaps %xmm1, %xmm213311; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13312; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13313; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13314; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13315; SSE-NEXT: movaps 3536(%rdi), %xmm013316; SSE-NEXT: movaps 3472(%rdi), %xmm113317; SSE-NEXT: movaps %xmm1, %xmm213318; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13319; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13320; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13321; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13322; SSE-NEXT: movaps 3664(%rdi), %xmm013323; SSE-NEXT: movaps 3600(%rdi), %xmm113324; SSE-NEXT: movaps %xmm1, %xmm213325; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13326; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13327; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13328; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13329; SSE-NEXT: movaps 3792(%rdi), %xmm013330; SSE-NEXT: movaps 3728(%rdi), %xmm113331; SSE-NEXT: movaps %xmm1, %xmm213332; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13333; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13334; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13335; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13336; SSE-NEXT: movaps 3920(%rdi), %xmm013337; SSE-NEXT: movaps 3856(%rdi), %xmm113338; SSE-NEXT: movaps %xmm1, %xmm213339; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13340; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13341; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13342; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13343; SSE-NEXT: movaps 4048(%rdi), %xmm013344; SSE-NEXT: movaps 3984(%rdi), %xmm113345; SSE-NEXT: movaps %xmm1, %xmm213346; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13347; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13348; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13349; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13350; SSE-NEXT: movaps 96(%rdi), %xmm013351; SSE-NEXT: movaps 32(%rdi), %xmm113352; SSE-NEXT: movaps %xmm1, %xmm213353; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13354; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13355; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13356; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13357; SSE-NEXT: movaps 224(%rdi), %xmm013358; SSE-NEXT: movaps 160(%rdi), %xmm113359; SSE-NEXT: movaps %xmm1, %xmm213360; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13361; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13362; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13363; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13364; SSE-NEXT: movaps 352(%rdi), %xmm013365; SSE-NEXT: movaps 288(%rdi), %xmm113366; SSE-NEXT: movaps %xmm1, %xmm213367; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13368; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13369; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13370; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13371; SSE-NEXT: movaps 480(%rdi), %xmm013372; SSE-NEXT: movaps 416(%rdi), %xmm113373; SSE-NEXT: movaps %xmm1, %xmm213374; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13375; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13376; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13377; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13378; SSE-NEXT: movaps 608(%rdi), %xmm013379; SSE-NEXT: movaps 544(%rdi), %xmm113380; SSE-NEXT: movaps %xmm1, %xmm213381; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13382; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13383; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13384; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13385; SSE-NEXT: movaps 736(%rdi), %xmm013386; SSE-NEXT: movaps 672(%rdi), %xmm113387; SSE-NEXT: movaps %xmm1, %xmm213388; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13389; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13390; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13391; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13392; SSE-NEXT: movaps 864(%rdi), %xmm013393; SSE-NEXT: movaps 800(%rdi), %xmm113394; SSE-NEXT: movaps %xmm1, %xmm213395; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13396; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13397; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13398; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13399; SSE-NEXT: movaps 992(%rdi), %xmm013400; SSE-NEXT: movaps 928(%rdi), %xmm113401; SSE-NEXT: movaps %xmm1, %xmm213402; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13403; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13404; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13405; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13406; SSE-NEXT: movaps 1120(%rdi), %xmm013407; SSE-NEXT: movaps 1056(%rdi), %xmm113408; SSE-NEXT: movaps %xmm1, %xmm213409; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13410; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13411; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13412; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13413; SSE-NEXT: movaps 1248(%rdi), %xmm013414; SSE-NEXT: movaps 1184(%rdi), %xmm113415; SSE-NEXT: movaps %xmm1, %xmm213416; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13417; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13418; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13419; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13420; SSE-NEXT: movaps 1376(%rdi), %xmm013421; SSE-NEXT: movaps 1312(%rdi), %xmm113422; SSE-NEXT: movaps %xmm1, %xmm213423; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13424; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13425; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13426; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13427; SSE-NEXT: movaps 1504(%rdi), %xmm013428; SSE-NEXT: movaps 1440(%rdi), %xmm113429; SSE-NEXT: movaps %xmm1, %xmm213430; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13431; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13432; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13433; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13434; SSE-NEXT: movaps 1632(%rdi), %xmm013435; SSE-NEXT: movaps 1568(%rdi), %xmm113436; SSE-NEXT: movaps %xmm1, %xmm213437; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13438; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13439; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13440; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13441; SSE-NEXT: movaps 1760(%rdi), %xmm013442; SSE-NEXT: movaps 1696(%rdi), %xmm113443; SSE-NEXT: movaps %xmm1, %xmm213444; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13445; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13446; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13447; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13448; SSE-NEXT: movaps 1888(%rdi), %xmm013449; SSE-NEXT: movaps 1824(%rdi), %xmm113450; SSE-NEXT: movaps %xmm1, %xmm213451; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13452; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13453; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13454; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13455; SSE-NEXT: movaps 2016(%rdi), %xmm013456; SSE-NEXT: movaps 1952(%rdi), %xmm113457; SSE-NEXT: movaps %xmm1, %xmm213458; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13459; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13460; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13461; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13462; SSE-NEXT: movaps 2144(%rdi), %xmm013463; SSE-NEXT: movaps 2080(%rdi), %xmm113464; SSE-NEXT: movaps %xmm1, %xmm213465; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13466; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13467; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13468; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13469; SSE-NEXT: movaps 2272(%rdi), %xmm013470; SSE-NEXT: movaps 2208(%rdi), %xmm113471; SSE-NEXT: movaps %xmm1, %xmm213472; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13473; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13474; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13475; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13476; SSE-NEXT: movaps 2400(%rdi), %xmm013477; SSE-NEXT: movaps 2336(%rdi), %xmm113478; SSE-NEXT: movaps %xmm1, %xmm213479; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13480; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13481; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13482; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13483; SSE-NEXT: movaps 2528(%rdi), %xmm013484; SSE-NEXT: movaps 2464(%rdi), %xmm113485; SSE-NEXT: movaps %xmm1, %xmm213486; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13487; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13488; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13489; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13490; SSE-NEXT: movaps 2656(%rdi), %xmm013491; SSE-NEXT: movaps 2592(%rdi), %xmm113492; SSE-NEXT: movaps %xmm1, %xmm213493; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13494; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13495; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13496; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13497; SSE-NEXT: movaps 2784(%rdi), %xmm013498; SSE-NEXT: movaps 2720(%rdi), %xmm113499; SSE-NEXT: movaps %xmm1, %xmm213500; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13501; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13502; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13503; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13504; SSE-NEXT: movaps 2912(%rdi), %xmm013505; SSE-NEXT: movaps 2848(%rdi), %xmm113506; SSE-NEXT: movaps %xmm1, %xmm213507; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13508; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13509; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13510; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13511; SSE-NEXT: movaps 3040(%rdi), %xmm013512; SSE-NEXT: movaps 2976(%rdi), %xmm113513; SSE-NEXT: movaps %xmm1, %xmm213514; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13515; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13516; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13517; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13518; SSE-NEXT: movaps 3168(%rdi), %xmm013519; SSE-NEXT: movaps 3104(%rdi), %xmm113520; SSE-NEXT: movaps %xmm1, %xmm213521; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13522; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13523; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13524; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13525; SSE-NEXT: movaps 3296(%rdi), %xmm013526; SSE-NEXT: movaps 3232(%rdi), %xmm113527; SSE-NEXT: movaps %xmm1, %xmm213528; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13529; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13530; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13531; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13532; SSE-NEXT: movaps 3424(%rdi), %xmm013533; SSE-NEXT: movaps 3360(%rdi), %xmm113534; SSE-NEXT: movaps %xmm1, %xmm213535; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13536; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13537; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13538; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13539; SSE-NEXT: movaps 3552(%rdi), %xmm013540; SSE-NEXT: movaps 3488(%rdi), %xmm113541; SSE-NEXT: movaps %xmm1, %xmm213542; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13543; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13544; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13545; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13546; SSE-NEXT: movaps 3680(%rdi), %xmm013547; SSE-NEXT: movaps 3616(%rdi), %xmm113548; SSE-NEXT: movaps %xmm1, %xmm213549; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13550; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13551; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13552; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13553; SSE-NEXT: movaps 3808(%rdi), %xmm013554; SSE-NEXT: movaps 3744(%rdi), %xmm113555; SSE-NEXT: movaps %xmm1, %xmm213556; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13557; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13558; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13559; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13560; SSE-NEXT: movaps 3936(%rdi), %xmm013561; SSE-NEXT: movaps 3872(%rdi), %xmm113562; SSE-NEXT: movaps %xmm1, %xmm213563; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13564; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13565; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13566; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13567; SSE-NEXT: movaps 4064(%rdi), %xmm013568; SSE-NEXT: movaps 4000(%rdi), %xmm113569; SSE-NEXT: movaps %xmm1, %xmm213570; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13571; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13572; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13573; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13574; SSE-NEXT: movaps 112(%rdi), %xmm013575; SSE-NEXT: movaps 48(%rdi), %xmm113576; SSE-NEXT: movaps %xmm1, %xmm213577; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13578; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13579; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13580; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13581; SSE-NEXT: movaps 240(%rdi), %xmm013582; SSE-NEXT: movaps 176(%rdi), %xmm113583; SSE-NEXT: movaps %xmm1, %xmm213584; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13585; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13586; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13587; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13588; SSE-NEXT: movaps 368(%rdi), %xmm013589; SSE-NEXT: movaps 304(%rdi), %xmm113590; SSE-NEXT: movaps %xmm1, %xmm213591; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13592; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13593; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13594; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13595; SSE-NEXT: movaps 496(%rdi), %xmm013596; SSE-NEXT: movaps 432(%rdi), %xmm113597; SSE-NEXT: movaps %xmm1, %xmm213598; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13599; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13600; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13601; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13602; SSE-NEXT: movaps 624(%rdi), %xmm013603; SSE-NEXT: movaps 560(%rdi), %xmm113604; SSE-NEXT: movaps %xmm1, %xmm213605; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13606; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13607; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13608; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13609; SSE-NEXT: movaps 752(%rdi), %xmm013610; SSE-NEXT: movaps 688(%rdi), %xmm113611; SSE-NEXT: movaps %xmm1, %xmm213612; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13613; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13614; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13615; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13616; SSE-NEXT: movaps 880(%rdi), %xmm013617; SSE-NEXT: movaps 816(%rdi), %xmm113618; SSE-NEXT: movaps %xmm1, %xmm213619; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13620; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13621; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13622; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13623; SSE-NEXT: movaps 1008(%rdi), %xmm013624; SSE-NEXT: movaps 944(%rdi), %xmm113625; SSE-NEXT: movaps %xmm1, %xmm213626; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13627; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13628; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13629; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13630; SSE-NEXT: movaps 1136(%rdi), %xmm013631; SSE-NEXT: movaps 1072(%rdi), %xmm113632; SSE-NEXT: movaps %xmm1, %xmm213633; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13634; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13635; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13636; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13637; SSE-NEXT: movaps 1264(%rdi), %xmm013638; SSE-NEXT: movaps 1200(%rdi), %xmm113639; SSE-NEXT: movaps %xmm1, %xmm213640; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13641; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13642; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13643; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13644; SSE-NEXT: movaps 1392(%rdi), %xmm013645; SSE-NEXT: movaps 1328(%rdi), %xmm113646; SSE-NEXT: movaps %xmm1, %xmm213647; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13648; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13649; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13650; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13651; SSE-NEXT: movaps 1520(%rdi), %xmm013652; SSE-NEXT: movaps 1456(%rdi), %xmm113653; SSE-NEXT: movaps %xmm1, %xmm213654; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13655; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13656; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13657; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13658; SSE-NEXT: movaps 1648(%rdi), %xmm013659; SSE-NEXT: movaps 1584(%rdi), %xmm113660; SSE-NEXT: movaps %xmm1, %xmm213661; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13662; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13663; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13664; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13665; SSE-NEXT: movaps 1776(%rdi), %xmm013666; SSE-NEXT: movaps 1712(%rdi), %xmm113667; SSE-NEXT: movaps %xmm1, %xmm213668; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13669; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13670; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13671; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13672; SSE-NEXT: movaps 1904(%rdi), %xmm013673; SSE-NEXT: movaps 1840(%rdi), %xmm113674; SSE-NEXT: movaps %xmm1, %xmm213675; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13676; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13677; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13678; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13679; SSE-NEXT: movaps 2032(%rdi), %xmm013680; SSE-NEXT: movaps 1968(%rdi), %xmm113681; SSE-NEXT: movaps %xmm1, %xmm213682; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13683; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13684; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13685; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13686; SSE-NEXT: movaps 2160(%rdi), %xmm013687; SSE-NEXT: movaps 2096(%rdi), %xmm113688; SSE-NEXT: movaps %xmm1, %xmm213689; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13690; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13691; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13692; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13693; SSE-NEXT: movaps 2288(%rdi), %xmm013694; SSE-NEXT: movaps 2224(%rdi), %xmm113695; SSE-NEXT: movaps %xmm1, %xmm213696; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13697; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13698; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13699; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13700; SSE-NEXT: movaps 2416(%rdi), %xmm013701; SSE-NEXT: movaps 2352(%rdi), %xmm113702; SSE-NEXT: movaps %xmm1, %xmm213703; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13704; SSE-NEXT: movaps %xmm2, (%rsp) # 16-byte Spill13705; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13706; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13707; SSE-NEXT: movaps 2544(%rdi), %xmm013708; SSE-NEXT: movaps 2480(%rdi), %xmm113709; SSE-NEXT: movaps %xmm1, %xmm213710; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13711; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13712; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13713; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13714; SSE-NEXT: movaps 2672(%rdi), %xmm013715; SSE-NEXT: movaps 2608(%rdi), %xmm113716; SSE-NEXT: movaps %xmm1, %xmm213717; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13718; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13719; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13720; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13721; SSE-NEXT: movaps 2800(%rdi), %xmm013722; SSE-NEXT: movaps 2736(%rdi), %xmm113723; SSE-NEXT: movaps %xmm1, %xmm213724; SSE-NEXT: movlhps {{.*#+}} xmm2 = xmm2[0],xmm0[0]13725; SSE-NEXT: movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13726; SSE-NEXT: unpckhpd {{.*#+}} xmm1 = xmm1[1],xmm0[1]13727; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13728; SSE-NEXT: movaps 2928(%rdi), %xmm013729; SSE-NEXT: movaps 2864(%rdi), %xmm1413730; SSE-NEXT: movaps %xmm14, %xmm113731; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13732; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13733; SSE-NEXT: unpckhpd {{.*#+}} xmm14 = xmm14[1],xmm0[1]13734; SSE-NEXT: movaps 3056(%rdi), %xmm013735; SSE-NEXT: movaps 2992(%rdi), %xmm1113736; SSE-NEXT: movaps %xmm11, %xmm113737; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13738; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13739; SSE-NEXT: unpckhpd {{.*#+}} xmm11 = xmm11[1],xmm0[1]13740; SSE-NEXT: movaps 3184(%rdi), %xmm013741; SSE-NEXT: movaps 3120(%rdi), %xmm1513742; SSE-NEXT: movaps %xmm15, %xmm113743; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13744; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13745; SSE-NEXT: unpckhpd {{.*#+}} xmm15 = xmm15[1],xmm0[1]13746; SSE-NEXT: movaps 3312(%rdi), %xmm013747; SSE-NEXT: movaps 3248(%rdi), %xmm913748; SSE-NEXT: movaps %xmm9, %xmm113749; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13750; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13751; SSE-NEXT: unpckhpd {{.*#+}} xmm9 = xmm9[1],xmm0[1]13752; SSE-NEXT: movaps 3440(%rdi), %xmm013753; SSE-NEXT: movaps 3376(%rdi), %xmm1213754; SSE-NEXT: movaps %xmm12, %xmm113755; SSE-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0],xmm0[0]13756; SSE-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13757; SSE-NEXT: unpckhpd {{.*#+}} xmm12 = xmm12[1],xmm0[1]13758; SSE-NEXT: movaps 3568(%rdi), %xmm013759; SSE-NEXT: movaps 3504(%rdi), %xmm813760; SSE-NEXT: movaps %xmm8, %xmm1313761; SSE-NEXT: movlhps {{.*#+}} xmm13 = xmm13[0],xmm0[0]13762; SSE-NEXT: unpckhpd {{.*#+}} xmm8 = xmm8[1],xmm0[1]13763; SSE-NEXT: movaps 4016(%rdi), %xmm413764; SSE-NEXT: movaps 3952(%rdi), %xmm313765; SSE-NEXT: movaps 3696(%rdi), %xmm013766; SSE-NEXT: movaps 3632(%rdi), %xmm213767; SSE-NEXT: movaps %xmm2, %xmm1013768; SSE-NEXT: movlhps {{.*#+}} xmm10 = xmm10[0],xmm0[0]13769; SSE-NEXT: movaps 4080(%rdi), %xmm113770; SSE-NEXT: movaps 3888(%rdi), %xmm513771; SSE-NEXT: unpckhpd {{.*#+}} xmm2 = xmm2[1],xmm0[1]13772; SSE-NEXT: movaps 3824(%rdi), %xmm613773; SSE-NEXT: movaps 3760(%rdi), %xmm013774; SSE-NEXT: movaps %xmm7, 496(%rsi)13775; SSE-NEXT: movaps %xmm0, %xmm713776; SSE-NEXT: movlhps {{.*#+}} xmm7 = xmm7[0],xmm6[0]13777; SSE-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],xmm6[1]13778; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload13779; SSE-NEXT: movaps %xmm6, 480(%rsi)13780; SSE-NEXT: movaps %xmm5, %xmm613781; SSE-NEXT: movlhps {{.*#+}} xmm6 = xmm6[0],xmm3[0]13782; SSE-NEXT: unpckhpd {{.*#+}} xmm5 = xmm5[1],xmm3[1]13783; SSE-NEXT: movaps %xmm4, %xmm313784; SSE-NEXT: movlhps {{.*#+}} xmm3 = xmm3[0],xmm1[0]13785; SSE-NEXT: unpckhpd {{.*#+}} xmm4 = xmm4[1],xmm1[1]13786; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13787; SSE-NEXT: movaps %xmm1, 464(%rsi)13788; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13789; SSE-NEXT: movaps %xmm1, 448(%rsi)13790; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13791; SSE-NEXT: movaps %xmm1, 432(%rsi)13792; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13793; SSE-NEXT: movaps %xmm1, 416(%rsi)13794; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13795; SSE-NEXT: movaps %xmm1, 400(%rsi)13796; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13797; SSE-NEXT: movaps %xmm1, 384(%rsi)13798; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13799; SSE-NEXT: movaps %xmm1, 368(%rsi)13800; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13801; SSE-NEXT: movaps %xmm1, 352(%rsi)13802; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13803; SSE-NEXT: movaps %xmm1, 336(%rsi)13804; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13805; SSE-NEXT: movaps %xmm1, 320(%rsi)13806; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13807; SSE-NEXT: movaps %xmm1, 304(%rsi)13808; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13809; SSE-NEXT: movaps %xmm1, 288(%rsi)13810; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13811; SSE-NEXT: movaps %xmm1, 272(%rsi)13812; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13813; SSE-NEXT: movaps %xmm1, 256(%rsi)13814; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13815; SSE-NEXT: movaps %xmm1, 240(%rsi)13816; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13817; SSE-NEXT: movaps %xmm1, 224(%rsi)13818; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13819; SSE-NEXT: movaps %xmm1, 208(%rsi)13820; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13821; SSE-NEXT: movaps %xmm1, 192(%rsi)13822; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13823; SSE-NEXT: movaps %xmm1, 176(%rsi)13824; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13825; SSE-NEXT: movaps %xmm1, 160(%rsi)13826; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13827; SSE-NEXT: movaps %xmm1, 144(%rsi)13828; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13829; SSE-NEXT: movaps %xmm1, 128(%rsi)13830; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13831; SSE-NEXT: movaps %xmm1, 112(%rsi)13832; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13833; SSE-NEXT: movaps %xmm1, 96(%rsi)13834; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13835; SSE-NEXT: movaps %xmm1, 80(%rsi)13836; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13837; SSE-NEXT: movaps %xmm1, 64(%rsi)13838; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13839; SSE-NEXT: movaps %xmm1, 48(%rsi)13840; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13841; SSE-NEXT: movaps %xmm1, 32(%rsi)13842; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13843; SSE-NEXT: movaps %xmm1, 16(%rsi)13844; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13845; SSE-NEXT: movaps %xmm1, (%rsi)13846; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13847; SSE-NEXT: movaps %xmm1, 496(%rdx)13848; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13849; SSE-NEXT: movaps %xmm1, 480(%rdx)13850; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13851; SSE-NEXT: movaps %xmm1, 464(%rdx)13852; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13853; SSE-NEXT: movaps %xmm1, 448(%rdx)13854; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13855; SSE-NEXT: movaps %xmm1, 432(%rdx)13856; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13857; SSE-NEXT: movaps %xmm1, 416(%rdx)13858; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13859; SSE-NEXT: movaps %xmm1, 400(%rdx)13860; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13861; SSE-NEXT: movaps %xmm1, 384(%rdx)13862; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13863; SSE-NEXT: movaps %xmm1, 368(%rdx)13864; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13865; SSE-NEXT: movaps %xmm1, 352(%rdx)13866; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13867; SSE-NEXT: movaps %xmm1, 336(%rdx)13868; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13869; SSE-NEXT: movaps %xmm1, 320(%rdx)13870; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13871; SSE-NEXT: movaps %xmm1, 304(%rdx)13872; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13873; SSE-NEXT: movaps %xmm1, 288(%rdx)13874; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13875; SSE-NEXT: movaps %xmm1, 272(%rdx)13876; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13877; SSE-NEXT: movaps %xmm1, 256(%rdx)13878; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13879; SSE-NEXT: movaps %xmm1, 240(%rdx)13880; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13881; SSE-NEXT: movaps %xmm1, 224(%rdx)13882; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13883; SSE-NEXT: movaps %xmm1, 208(%rdx)13884; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13885; SSE-NEXT: movaps %xmm1, 192(%rdx)13886; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13887; SSE-NEXT: movaps %xmm1, 176(%rdx)13888; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13889; SSE-NEXT: movaps %xmm1, 160(%rdx)13890; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13891; SSE-NEXT: movaps %xmm1, 144(%rdx)13892; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13893; SSE-NEXT: movaps %xmm1, 128(%rdx)13894; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13895; SSE-NEXT: movaps %xmm1, 112(%rdx)13896; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13897; SSE-NEXT: movaps %xmm1, 96(%rdx)13898; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13899; SSE-NEXT: movaps %xmm1, 80(%rdx)13900; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13901; SSE-NEXT: movaps %xmm1, 64(%rdx)13902; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13903; SSE-NEXT: movaps %xmm1, 48(%rdx)13904; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13905; SSE-NEXT: movaps %xmm1, 32(%rdx)13906; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13907; SSE-NEXT: movaps %xmm1, 16(%rdx)13908; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13909; SSE-NEXT: movaps %xmm1, (%rdx)13910; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13911; SSE-NEXT: movaps %xmm1, 496(%rcx)13912; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13913; SSE-NEXT: movaps %xmm1, 480(%rcx)13914; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13915; SSE-NEXT: movaps %xmm1, 464(%rcx)13916; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13917; SSE-NEXT: movaps %xmm1, 448(%rcx)13918; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13919; SSE-NEXT: movaps %xmm1, 432(%rcx)13920; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13921; SSE-NEXT: movaps %xmm1, 416(%rcx)13922; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13923; SSE-NEXT: movaps %xmm1, 400(%rcx)13924; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13925; SSE-NEXT: movaps %xmm1, 384(%rcx)13926; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13927; SSE-NEXT: movaps %xmm1, 368(%rcx)13928; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13929; SSE-NEXT: movaps %xmm1, 352(%rcx)13930; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13931; SSE-NEXT: movaps %xmm1, 336(%rcx)13932; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13933; SSE-NEXT: movaps %xmm1, 320(%rcx)13934; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13935; SSE-NEXT: movaps %xmm1, 304(%rcx)13936; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13937; SSE-NEXT: movaps %xmm1, 288(%rcx)13938; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13939; SSE-NEXT: movaps %xmm1, 272(%rcx)13940; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13941; SSE-NEXT: movaps %xmm1, 256(%rcx)13942; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13943; SSE-NEXT: movaps %xmm1, 240(%rcx)13944; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13945; SSE-NEXT: movaps %xmm1, 224(%rcx)13946; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13947; SSE-NEXT: movaps %xmm1, 208(%rcx)13948; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13949; SSE-NEXT: movaps %xmm1, 192(%rcx)13950; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13951; SSE-NEXT: movaps %xmm1, 176(%rcx)13952; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13953; SSE-NEXT: movaps %xmm1, 160(%rcx)13954; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13955; SSE-NEXT: movaps %xmm1, 144(%rcx)13956; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13957; SSE-NEXT: movaps %xmm1, 128(%rcx)13958; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13959; SSE-NEXT: movaps %xmm1, 112(%rcx)13960; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13961; SSE-NEXT: movaps %xmm1, 96(%rcx)13962; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13963; SSE-NEXT: movaps %xmm1, 80(%rcx)13964; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13965; SSE-NEXT: movaps %xmm1, 64(%rcx)13966; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13967; SSE-NEXT: movaps %xmm1, 48(%rcx)13968; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13969; SSE-NEXT: movaps %xmm1, 32(%rcx)13970; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13971; SSE-NEXT: movaps %xmm1, 16(%rcx)13972; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13973; SSE-NEXT: movaps %xmm1, (%rcx)13974; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13975; SSE-NEXT: movaps %xmm1, 496(%r8)13976; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13977; SSE-NEXT: movaps %xmm1, 480(%r8)13978; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13979; SSE-NEXT: movaps %xmm1, 464(%r8)13980; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13981; SSE-NEXT: movaps %xmm1, 448(%r8)13982; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13983; SSE-NEXT: movaps %xmm1, 432(%r8)13984; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13985; SSE-NEXT: movaps %xmm1, 416(%r8)13986; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13987; SSE-NEXT: movaps %xmm1, 400(%r8)13988; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13989; SSE-NEXT: movaps %xmm1, 384(%r8)13990; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13991; SSE-NEXT: movaps %xmm1, 368(%r8)13992; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13993; SSE-NEXT: movaps %xmm1, 352(%r8)13994; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13995; SSE-NEXT: movaps %xmm1, 336(%r8)13996; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13997; SSE-NEXT: movaps %xmm1, 320(%r8)13998; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13999; SSE-NEXT: movaps %xmm1, 304(%r8)14000; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14001; SSE-NEXT: movaps %xmm1, 288(%r8)14002; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14003; SSE-NEXT: movaps %xmm1, 272(%r8)14004; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14005; SSE-NEXT: movaps %xmm1, 256(%r8)14006; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14007; SSE-NEXT: movaps %xmm1, 240(%r8)14008; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14009; SSE-NEXT: movaps %xmm1, 224(%r8)14010; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14011; SSE-NEXT: movaps %xmm1, 208(%r8)14012; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14013; SSE-NEXT: movaps %xmm1, 192(%r8)14014; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14015; SSE-NEXT: movaps %xmm1, 176(%r8)14016; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14017; SSE-NEXT: movaps %xmm1, 160(%r8)14018; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14019; SSE-NEXT: movaps %xmm1, 144(%r8)14020; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14021; SSE-NEXT: movaps %xmm1, 128(%r8)14022; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14023; SSE-NEXT: movaps %xmm1, 112(%r8)14024; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14025; SSE-NEXT: movaps %xmm1, 96(%r8)14026; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14027; SSE-NEXT: movaps %xmm1, 80(%r8)14028; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14029; SSE-NEXT: movaps %xmm1, 64(%r8)14030; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14031; SSE-NEXT: movaps %xmm1, 48(%r8)14032; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14033; SSE-NEXT: movaps %xmm1, 32(%r8)14034; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14035; SSE-NEXT: movaps %xmm1, 16(%r8)14036; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14037; SSE-NEXT: movaps %xmm1, (%r8)14038; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14039; SSE-NEXT: movaps %xmm1, 496(%r9)14040; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14041; SSE-NEXT: movaps %xmm1, 480(%r9)14042; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14043; SSE-NEXT: movaps %xmm1, 464(%r9)14044; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14045; SSE-NEXT: movaps %xmm1, 448(%r9)14046; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14047; SSE-NEXT: movaps %xmm1, 432(%r9)14048; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14049; SSE-NEXT: movaps %xmm1, 416(%r9)14050; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14051; SSE-NEXT: movaps %xmm1, 400(%r9)14052; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14053; SSE-NEXT: movaps %xmm1, 384(%r9)14054; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14055; SSE-NEXT: movaps %xmm1, 368(%r9)14056; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14057; SSE-NEXT: movaps %xmm1, 352(%r9)14058; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14059; SSE-NEXT: movaps %xmm1, 336(%r9)14060; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14061; SSE-NEXT: movaps %xmm1, 320(%r9)14062; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14063; SSE-NEXT: movaps %xmm1, 304(%r9)14064; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14065; SSE-NEXT: movaps %xmm1, 288(%r9)14066; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14067; SSE-NEXT: movaps %xmm1, 272(%r9)14068; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14069; SSE-NEXT: movaps %xmm1, 256(%r9)14070; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14071; SSE-NEXT: movaps %xmm1, 240(%r9)14072; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14073; SSE-NEXT: movaps %xmm1, 224(%r9)14074; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14075; SSE-NEXT: movaps %xmm1, 208(%r9)14076; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14077; SSE-NEXT: movaps %xmm1, 192(%r9)14078; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14079; SSE-NEXT: movaps %xmm1, 176(%r9)14080; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14081; SSE-NEXT: movaps %xmm1, 160(%r9)14082; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14083; SSE-NEXT: movaps %xmm1, 144(%r9)14084; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14085; SSE-NEXT: movaps %xmm1, 128(%r9)14086; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14087; SSE-NEXT: movaps %xmm1, 112(%r9)14088; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14089; SSE-NEXT: movaps %xmm1, 96(%r9)14090; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14091; SSE-NEXT: movaps %xmm1, 80(%r9)14092; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14093; SSE-NEXT: movaps %xmm1, 64(%r9)14094; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14095; SSE-NEXT: movaps %xmm1, 48(%r9)14096; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14097; SSE-NEXT: movaps %xmm1, 32(%r9)14098; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14099; SSE-NEXT: movaps %xmm1, 16(%r9)14100; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14101; SSE-NEXT: movaps %xmm1, (%r9)14102; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax14103; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14104; SSE-NEXT: movaps %xmm1, 496(%rax)14105; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14106; SSE-NEXT: movaps %xmm1, 480(%rax)14107; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14108; SSE-NEXT: movaps %xmm1, 464(%rax)14109; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14110; SSE-NEXT: movaps %xmm1, 448(%rax)14111; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14112; SSE-NEXT: movaps %xmm1, 432(%rax)14113; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14114; SSE-NEXT: movaps %xmm1, 416(%rax)14115; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14116; SSE-NEXT: movaps %xmm1, 400(%rax)14117; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14118; SSE-NEXT: movaps %xmm1, 384(%rax)14119; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14120; SSE-NEXT: movaps %xmm1, 368(%rax)14121; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14122; SSE-NEXT: movaps %xmm1, 352(%rax)14123; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14124; SSE-NEXT: movaps %xmm1, 336(%rax)14125; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14126; SSE-NEXT: movaps %xmm1, 320(%rax)14127; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14128; SSE-NEXT: movaps %xmm1, 304(%rax)14129; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14130; SSE-NEXT: movaps %xmm1, 288(%rax)14131; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14132; SSE-NEXT: movaps %xmm1, 272(%rax)14133; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14134; SSE-NEXT: movaps %xmm1, 256(%rax)14135; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14136; SSE-NEXT: movaps %xmm1, 240(%rax)14137; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14138; SSE-NEXT: movaps %xmm1, 224(%rax)14139; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14140; SSE-NEXT: movaps %xmm1, 208(%rax)14141; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14142; SSE-NEXT: movaps %xmm1, 192(%rax)14143; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14144; SSE-NEXT: movaps %xmm1, 176(%rax)14145; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14146; SSE-NEXT: movaps %xmm1, 160(%rax)14147; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14148; SSE-NEXT: movaps %xmm1, 144(%rax)14149; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14150; SSE-NEXT: movaps %xmm1, 128(%rax)14151; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14152; SSE-NEXT: movaps %xmm1, 112(%rax)14153; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14154; SSE-NEXT: movaps %xmm1, 96(%rax)14155; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14156; SSE-NEXT: movaps %xmm1, 80(%rax)14157; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14158; SSE-NEXT: movaps %xmm1, 64(%rax)14159; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14160; SSE-NEXT: movaps %xmm1, 48(%rax)14161; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14162; SSE-NEXT: movaps %xmm1, 32(%rax)14163; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14164; SSE-NEXT: movaps %xmm1, 16(%rax)14165; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14166; SSE-NEXT: movaps %xmm1, (%rax)14167; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax14168; SSE-NEXT: movaps %xmm3, 496(%rax)14169; SSE-NEXT: movaps %xmm6, 480(%rax)14170; SSE-NEXT: movaps %xmm7, 464(%rax)14171; SSE-NEXT: movaps %xmm10, 448(%rax)14172; SSE-NEXT: movaps %xmm13, 432(%rax)14173; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14174; SSE-NEXT: movaps %xmm1, 416(%rax)14175; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14176; SSE-NEXT: movaps %xmm1, 400(%rax)14177; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14178; SSE-NEXT: movaps %xmm1, 384(%rax)14179; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14180; SSE-NEXT: movaps %xmm1, 368(%rax)14181; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14182; SSE-NEXT: movaps %xmm1, 352(%rax)14183; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14184; SSE-NEXT: movaps %xmm1, 336(%rax)14185; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14186; SSE-NEXT: movaps %xmm1, 320(%rax)14187; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14188; SSE-NEXT: movaps %xmm1, 304(%rax)14189; SSE-NEXT: movaps (%rsp), %xmm1 # 16-byte Reload14190; SSE-NEXT: movaps %xmm1, 288(%rax)14191; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14192; SSE-NEXT: movaps %xmm1, 272(%rax)14193; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14194; SSE-NEXT: movaps %xmm1, 256(%rax)14195; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14196; SSE-NEXT: movaps %xmm1, 240(%rax)14197; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14198; SSE-NEXT: movaps %xmm1, 224(%rax)14199; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14200; SSE-NEXT: movaps %xmm1, 208(%rax)14201; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14202; SSE-NEXT: movaps %xmm1, 192(%rax)14203; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14204; SSE-NEXT: movaps %xmm1, 176(%rax)14205; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14206; SSE-NEXT: movaps %xmm1, 160(%rax)14207; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14208; SSE-NEXT: movaps %xmm1, 144(%rax)14209; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14210; SSE-NEXT: movaps %xmm1, 128(%rax)14211; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14212; SSE-NEXT: movaps %xmm1, 112(%rax)14213; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14214; SSE-NEXT: movaps %xmm1, 96(%rax)14215; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14216; SSE-NEXT: movaps %xmm1, 80(%rax)14217; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14218; SSE-NEXT: movaps %xmm1, 64(%rax)14219; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14220; SSE-NEXT: movaps %xmm1, 48(%rax)14221; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14222; SSE-NEXT: movaps %xmm1, 32(%rax)14223; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14224; SSE-NEXT: movaps %xmm1, 16(%rax)14225; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14226; SSE-NEXT: movaps %xmm1, (%rax)14227; SSE-NEXT: movq {{[0-9]+}}(%rsp), %rax14228; SSE-NEXT: movaps %xmm4, 496(%rax)14229; SSE-NEXT: movaps %xmm5, 480(%rax)14230; SSE-NEXT: movaps %xmm0, 464(%rax)14231; SSE-NEXT: movaps %xmm2, 448(%rax)14232; SSE-NEXT: movaps %xmm8, 432(%rax)14233; SSE-NEXT: movaps %xmm12, 416(%rax)14234; SSE-NEXT: movaps %xmm9, 400(%rax)14235; SSE-NEXT: movaps %xmm15, 384(%rax)14236; SSE-NEXT: movaps %xmm11, 368(%rax)14237; SSE-NEXT: movaps %xmm14, 352(%rax)14238; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14239; SSE-NEXT: movaps %xmm0, 336(%rax)14240; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14241; SSE-NEXT: movaps %xmm0, 320(%rax)14242; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14243; SSE-NEXT: movaps %xmm0, 304(%rax)14244; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14245; SSE-NEXT: movaps %xmm0, 288(%rax)14246; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14247; SSE-NEXT: movaps %xmm0, 272(%rax)14248; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14249; SSE-NEXT: movaps %xmm0, 256(%rax)14250; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14251; SSE-NEXT: movaps %xmm0, 240(%rax)14252; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14253; SSE-NEXT: movaps %xmm0, 224(%rax)14254; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14255; SSE-NEXT: movaps %xmm0, 208(%rax)14256; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14257; SSE-NEXT: movaps %xmm0, 192(%rax)14258; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14259; SSE-NEXT: movaps %xmm0, 176(%rax)14260; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14261; SSE-NEXT: movaps %xmm0, 160(%rax)14262; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14263; SSE-NEXT: movaps %xmm0, 144(%rax)14264; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14265; SSE-NEXT: movaps %xmm0, 128(%rax)14266; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14267; SSE-NEXT: movaps %xmm0, 112(%rax)14268; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14269; SSE-NEXT: movaps %xmm0, 96(%rax)14270; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14271; SSE-NEXT: movaps %xmm0, 80(%rax)14272; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14273; SSE-NEXT: movaps %xmm0, 64(%rax)14274; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14275; SSE-NEXT: movaps %xmm0, 48(%rax)14276; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14277; SSE-NEXT: movaps %xmm0, 32(%rax)14278; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14279; SSE-NEXT: movaps %xmm0, 16(%rax)14280; SSE-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14281; SSE-NEXT: movaps %xmm0, (%rax)14282; SSE-NEXT: addq $3720, %rsp # imm = 0xE8814283; SSE-NEXT: retq14284;14285; AVX-LABEL: load_i64_stride8_vf64:14286; AVX: # %bb.0:14287; AVX-NEXT: subq $5016, %rsp # imm = 0x139814288; AVX-NEXT: vmovaps 2496(%rdi), %xmm014289; AVX-NEXT: vmovaps 2432(%rdi), %xmm114290; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14291; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14292; AVX-NEXT: vmovaps 3008(%rdi), %xmm214293; AVX-NEXT: vmovaps 2944(%rdi), %xmm314294; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm3[0],xmm2[0]14295; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14296; AVX-NEXT: vmovaps 3520(%rdi), %xmm414297; AVX-NEXT: vmovaps 3456(%rdi), %xmm514298; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm5[0],xmm4[0]14299; AVX-NEXT: vmovaps %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14300; AVX-NEXT: vmovaps 2880(%rdi), %xmm614301; AVX-NEXT: vmovaps 3392(%rdi), %xmm714302; AVX-NEXT: vmovaps 3904(%rdi), %xmm814303; AVX-NEXT: vmovaps 3840(%rdi), %xmm914304; AVX-NEXT: vmovaps 4032(%rdi), %xmm1014305; AVX-NEXT: vmovaps 3968(%rdi), %xmm1114306; AVX-NEXT: vmovlhps {{.*#+}} xmm12 = xmm11[0],xmm10[0]14307; AVX-NEXT: vmovaps %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14308; AVX-NEXT: vunpckhpd {{.*#+}} xmm10 = xmm11[1],xmm10[1]14309; AVX-NEXT: vmovaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14310; AVX-NEXT: vmovlhps {{.*#+}} xmm10 = xmm9[0],xmm8[0]14311; AVX-NEXT: vmovaps %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14312; AVX-NEXT: vunpckhpd {{.*#+}} xmm8 = xmm9[1],xmm8[1]14313; AVX-NEXT: vmovaps %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14314; AVX-NEXT: vmovaps 3328(%rdi), %xmm814315; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm5[1],xmm4[1]14316; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14317; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm8[0],xmm7[0]14318; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14319; AVX-NEXT: vunpckhpd {{.*#+}} xmm4 = xmm8[1],xmm7[1]14320; AVX-NEXT: vmovaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14321; AVX-NEXT: vmovaps 2816(%rdi), %xmm414322; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm3[1],xmm2[1]14323; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14324; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm4[0],xmm6[0]14325; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14326; AVX-NEXT: vunpckhpd {{.*#+}} xmm2 = xmm4[1],xmm6[1]14327; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14328; AVX-NEXT: vmovaps 2368(%rdi), %xmm214329; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14330; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14331; AVX-NEXT: vmovaps 2304(%rdi), %xmm014332; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm2[0]14333; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14334; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm0[1],xmm2[1]14335; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14336; AVX-NEXT: vmovaps 1984(%rdi), %xmm014337; AVX-NEXT: vmovaps 1920(%rdi), %xmm114338; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14339; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14340; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14341; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14342; AVX-NEXT: vmovaps 1856(%rdi), %xmm014343; AVX-NEXT: vmovaps 1792(%rdi), %xmm114344; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14345; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14346; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14347; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14348; AVX-NEXT: vmovaps 1472(%rdi), %xmm014349; AVX-NEXT: vmovaps 1408(%rdi), %xmm114350; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14351; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14352; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14353; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14354; AVX-NEXT: vmovaps 1344(%rdi), %xmm014355; AVX-NEXT: vmovaps 1280(%rdi), %xmm114356; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14357; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14358; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14359; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14360; AVX-NEXT: vmovaps 448(%rdi), %xmm014361; AVX-NEXT: vmovaps 384(%rdi), %xmm114362; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14363; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14364; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14365; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14366; AVX-NEXT: vmovaps 320(%rdi), %xmm014367; AVX-NEXT: vmovaps 256(%rdi), %xmm114368; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14369; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14370; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14371; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14372; AVX-NEXT: vmovaps 960(%rdi), %xmm014373; AVX-NEXT: vmovaps 896(%rdi), %xmm114374; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14375; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14376; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14377; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14378; AVX-NEXT: vmovaps 832(%rdi), %xmm014379; AVX-NEXT: vmovaps 768(%rdi), %xmm114380; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14381; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14382; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14383; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14384; AVX-NEXT: vmovaps 3776(%rdi), %xmm014385; AVX-NEXT: vmovaps 3712(%rdi), %xmm114386; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14387; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14388; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14389; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14390; AVX-NEXT: vmovaps 3648(%rdi), %xmm014391; AVX-NEXT: vmovaps 3584(%rdi), %xmm114392; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14393; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14394; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14395; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14396; AVX-NEXT: vmovaps 3264(%rdi), %xmm014397; AVX-NEXT: vmovaps 3200(%rdi), %xmm114398; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14399; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14400; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14401; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14402; AVX-NEXT: vmovaps 3136(%rdi), %xmm014403; AVX-NEXT: vmovaps 3072(%rdi), %xmm114404; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14405; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14406; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14407; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14408; AVX-NEXT: vmovaps 2752(%rdi), %xmm014409; AVX-NEXT: vmovaps 2688(%rdi), %xmm114410; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14411; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14412; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14413; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14414; AVX-NEXT: vmovaps 2624(%rdi), %xmm014415; AVX-NEXT: vmovaps 2560(%rdi), %xmm114416; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14417; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14418; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14419; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14420; AVX-NEXT: vmovaps 1728(%rdi), %xmm014421; AVX-NEXT: vmovaps 1664(%rdi), %xmm114422; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14423; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14424; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14425; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14426; AVX-NEXT: vmovaps 1600(%rdi), %xmm014427; AVX-NEXT: vmovaps 1536(%rdi), %xmm114428; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14429; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14430; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14431; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14432; AVX-NEXT: vmovaps 192(%rdi), %xmm014433; AVX-NEXT: vmovaps 128(%rdi), %xmm114434; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14435; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14436; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14437; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14438; AVX-NEXT: vmovaps 64(%rdi), %xmm014439; AVX-NEXT: vmovaps (%rdi), %xmm114440; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14441; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14442; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14443; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14444; AVX-NEXT: vmovaps 704(%rdi), %xmm014445; AVX-NEXT: vmovaps 640(%rdi), %xmm114446; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14447; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14448; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14449; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14450; AVX-NEXT: vmovaps 576(%rdi), %xmm014451; AVX-NEXT: vmovaps 512(%rdi), %xmm114452; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14453; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14454; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14455; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14456; AVX-NEXT: vmovaps 2240(%rdi), %xmm014457; AVX-NEXT: vmovaps 2176(%rdi), %xmm114458; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14459; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14460; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14461; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14462; AVX-NEXT: vmovaps 2112(%rdi), %xmm014463; AVX-NEXT: vmovaps 2048(%rdi), %xmm114464; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14465; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14466; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14467; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14468; AVX-NEXT: vmovaps 1216(%rdi), %xmm014469; AVX-NEXT: vmovaps 1152(%rdi), %xmm114470; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14471; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14472; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14473; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14474; AVX-NEXT: vmovaps 1088(%rdi), %xmm014475; AVX-NEXT: vmovaps 1024(%rdi), %xmm114476; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14477; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14478; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14479; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14480; AVX-NEXT: vmovaps 448(%rdi), %ymm114481; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14482; AVX-NEXT: vmovaps 384(%rdi), %ymm014483; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14484; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14485; AVX-NEXT: vmovaps 336(%rdi), %xmm214486; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14487; AVX-NEXT: vmovaps 272(%rdi), %xmm114488; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14489; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14490; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14491; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14492; AVX-NEXT: vmovaps 960(%rdi), %ymm114493; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14494; AVX-NEXT: vmovaps 896(%rdi), %ymm014495; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14496; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14497; AVX-NEXT: vmovaps 848(%rdi), %xmm214498; AVX-NEXT: vmovaps %xmm2, (%rsp) # 16-byte Spill14499; AVX-NEXT: vmovaps 784(%rdi), %xmm114500; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14501; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14502; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14503; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14504; AVX-NEXT: vmovaps 1472(%rdi), %ymm114505; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14506; AVX-NEXT: vmovaps 1408(%rdi), %ymm014507; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14508; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14509; AVX-NEXT: vmovaps 1360(%rdi), %xmm214510; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14511; AVX-NEXT: vmovaps 1296(%rdi), %xmm114512; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14513; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14514; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14515; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14516; AVX-NEXT: vmovaps 1984(%rdi), %ymm114517; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14518; AVX-NEXT: vmovaps 1920(%rdi), %ymm014519; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14520; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14521; AVX-NEXT: vmovaps 1872(%rdi), %xmm214522; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14523; AVX-NEXT: vmovaps 1808(%rdi), %xmm114524; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14525; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14526; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14527; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14528; AVX-NEXT: vmovaps 2496(%rdi), %ymm114529; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14530; AVX-NEXT: vmovaps 2432(%rdi), %ymm014531; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14532; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14533; AVX-NEXT: vmovaps 2384(%rdi), %xmm214534; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14535; AVX-NEXT: vmovaps 2320(%rdi), %xmm114536; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14537; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14538; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14539; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14540; AVX-NEXT: vmovaps 3008(%rdi), %ymm114541; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14542; AVX-NEXT: vmovaps 2944(%rdi), %ymm014543; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14544; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14545; AVX-NEXT: vmovaps 2896(%rdi), %xmm214546; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14547; AVX-NEXT: vmovaps 2832(%rdi), %xmm114548; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14549; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14550; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14551; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14552; AVX-NEXT: vmovaps 3520(%rdi), %ymm114553; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14554; AVX-NEXT: vmovaps 3456(%rdi), %ymm014555; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14556; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14557; AVX-NEXT: vmovaps 3408(%rdi), %xmm214558; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14559; AVX-NEXT: vmovaps 3344(%rdi), %xmm114560; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14561; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14562; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14563; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14564; AVX-NEXT: vmovaps 4032(%rdi), %ymm114565; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14566; AVX-NEXT: vmovaps 3968(%rdi), %ymm014567; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14568; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14569; AVX-NEXT: vmovaps 3920(%rdi), %xmm214570; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14571; AVX-NEXT: vmovaps 3856(%rdi), %xmm114572; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14573; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14574; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14575; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14576; AVX-NEXT: vmovaps 192(%rdi), %ymm014577; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14578; AVX-NEXT: vmovaps 128(%rdi), %ymm114579; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14580; AVX-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]14581; AVX-NEXT: vmovaps 80(%rdi), %xmm014582; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14583; AVX-NEXT: vmovaps 16(%rdi), %xmm814584; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm8[0],xmm0[0]14585; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm1[4,5,6,7]14586; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14587; AVX-NEXT: vmovaps 704(%rdi), %ymm014588; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14589; AVX-NEXT: vmovaps 640(%rdi), %ymm114590; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14591; AVX-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]14592; AVX-NEXT: vmovaps 592(%rdi), %xmm014593; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14594; AVX-NEXT: vmovaps 528(%rdi), %xmm114595; AVX-NEXT: vmovlhps {{.*#+}} xmm3 = xmm1[0],xmm0[0]14596; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm2[4,5,6,7]14597; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14598; AVX-NEXT: vmovaps 1216(%rdi), %ymm014599; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14600; AVX-NEXT: vmovaps 1152(%rdi), %ymm214601; AVX-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14602; AVX-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm0[0],ymm2[2],ymm0[2]14603; AVX-NEXT: vmovaps 1104(%rdi), %xmm1014604; AVX-NEXT: vmovaps 1040(%rdi), %xmm214605; AVX-NEXT: vmovlhps {{.*#+}} xmm4 = xmm2[0],xmm10[0]14606; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm3[4,5,6,7]14607; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14608; AVX-NEXT: vmovaps 1728(%rdi), %ymm014609; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14610; AVX-NEXT: vmovaps 1664(%rdi), %ymm314611; AVX-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14612; AVX-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm0[0],ymm3[2],ymm0[2]14613; AVX-NEXT: vmovaps 1616(%rdi), %xmm1114614; AVX-NEXT: vmovaps 1552(%rdi), %xmm314615; AVX-NEXT: vmovlhps {{.*#+}} xmm5 = xmm3[0],xmm11[0]14616; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm4[4,5,6,7]14617; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14618; AVX-NEXT: vmovaps 2240(%rdi), %ymm014619; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14620; AVX-NEXT: vmovaps 2176(%rdi), %ymm414621; AVX-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14622; AVX-NEXT: vunpcklpd {{.*#+}} ymm5 = ymm4[0],ymm0[0],ymm4[2],ymm0[2]14623; AVX-NEXT: vmovaps 2128(%rdi), %xmm1214624; AVX-NEXT: vmovaps 2064(%rdi), %xmm414625; AVX-NEXT: vmovlhps {{.*#+}} xmm6 = xmm4[0],xmm12[0]14626; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm5[4,5,6,7]14627; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14628; AVX-NEXT: vmovaps 2752(%rdi), %ymm014629; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14630; AVX-NEXT: vmovaps 2688(%rdi), %ymm514631; AVX-NEXT: vmovups %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14632; AVX-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm0[0],ymm5[2],ymm0[2]14633; AVX-NEXT: vmovaps 2640(%rdi), %xmm1314634; AVX-NEXT: vmovaps 2576(%rdi), %xmm514635; AVX-NEXT: vmovlhps {{.*#+}} xmm7 = xmm5[0],xmm13[0]14636; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm6[4,5,6,7]14637; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14638; AVX-NEXT: vmovaps 3264(%rdi), %ymm014639; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14640; AVX-NEXT: vmovaps 3200(%rdi), %ymm614641; AVX-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14642; AVX-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm6[0],ymm0[0],ymm6[2],ymm0[2]14643; AVX-NEXT: vmovaps 3152(%rdi), %xmm1414644; AVX-NEXT: vmovaps 3088(%rdi), %xmm614645; AVX-NEXT: vmovlhps {{.*#+}} xmm15 = xmm6[0],xmm14[0]14646; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm7[4,5,6,7]14647; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14648; AVX-NEXT: vmovaps 3776(%rdi), %ymm714649; AVX-NEXT: vmovups %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14650; AVX-NEXT: vmovaps 3712(%rdi), %ymm014651; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14652; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm7[0],ymm0[2],ymm7[2]14653; AVX-NEXT: vmovaps 3664(%rdi), %xmm1514654; AVX-NEXT: vmovaps 3600(%rdi), %xmm714655; AVX-NEXT: vmovlhps {{.*#+}} xmm9 = xmm7[0],xmm15[0]14656; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm9[0,1,2,3],ymm0[4,5,6,7]14657; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14658; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14659; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14660; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14661; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm8 # 16-byte Folded Reload14662; AVX-NEXT: # xmm8 = xmm8[1],mem[1]14663; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]14664; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14665; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14666; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14667; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14668; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload14669; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8, %xmm8 # 16-byte Folded Reload14670; AVX-NEXT: # xmm8 = mem[0,1],xmm8[2,3]14671; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]14672; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14673; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14674; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14675; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14676; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14677; AVX-NEXT: # xmm1 = xmm1[1],mem[1]14678; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14679; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14680; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14681; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14682; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14683; AVX-NEXT: vmovaps (%rsp), %xmm1 # 16-byte Reload14684; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14685; AVX-NEXT: # xmm1 = mem[0,1],xmm1[2,3]14686; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14687; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14688; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14689; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14690; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14691; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm2[1],xmm10[1]14692; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14693; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14694; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14695; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14696; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14697; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14698; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14699; AVX-NEXT: # xmm1 = mem[0,1],xmm1[2,3]14700; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14701; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14702; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14703; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14704; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14705; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm3[1],xmm11[1]14706; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14707; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14708; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14709; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14710; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14711; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14712; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14713; AVX-NEXT: # xmm1 = mem[0,1],xmm1[2,3]14714; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14715; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14716; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14717; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14718; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14719; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm4[1],xmm12[1]14720; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14721; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14722; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14723; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14724; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14725; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14726; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14727; AVX-NEXT: # xmm1 = mem[0,1],xmm1[2,3]14728; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14729; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14730; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14731; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14732; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14733; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm5[1],xmm13[1]14734; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14735; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14736; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14737; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14738; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14739; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14740; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14741; AVX-NEXT: # xmm1 = mem[0,1],xmm1[2,3]14742; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14743; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14744; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14745; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14746; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14747; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm6[1],xmm14[1]14748; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14749; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14750; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14751; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14752; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14753; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14754; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14755; AVX-NEXT: # xmm1 = mem[0,1],xmm1[2,3]14756; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14757; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14758; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14759; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14760; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14761; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm7[1],xmm15[1]14762; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14763; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14764; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload14765; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload14766; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]14767; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14768; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload14769; AVX-NEXT: # xmm1 = mem[0,1],xmm1[2,3]14770; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14771; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14772; AVX-NEXT: vmovaps 96(%rdi), %xmm014773; AVX-NEXT: vmovaps 32(%rdi), %xmm114774; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14775; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14776; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14777; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14778; AVX-NEXT: vmovaps 224(%rdi), %xmm014779; AVX-NEXT: vmovaps 160(%rdi), %xmm114780; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14781; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14782; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14783; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14784; AVX-NEXT: vmovaps 352(%rdi), %xmm014785; AVX-NEXT: vmovaps 288(%rdi), %xmm114786; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14787; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14788; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14789; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14790; AVX-NEXT: vmovaps 480(%rdi), %xmm014791; AVX-NEXT: vmovaps 416(%rdi), %xmm114792; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14793; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14794; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14795; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14796; AVX-NEXT: vmovaps 608(%rdi), %xmm014797; AVX-NEXT: vmovaps 544(%rdi), %xmm114798; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14799; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14800; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14801; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14802; AVX-NEXT: vmovaps 736(%rdi), %xmm014803; AVX-NEXT: vmovaps 672(%rdi), %xmm114804; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14805; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14806; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14807; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14808; AVX-NEXT: vmovaps 864(%rdi), %xmm014809; AVX-NEXT: vmovaps 800(%rdi), %xmm114810; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14811; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14812; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14813; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14814; AVX-NEXT: vmovaps 992(%rdi), %xmm014815; AVX-NEXT: vmovaps 928(%rdi), %xmm114816; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14817; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14818; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14819; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14820; AVX-NEXT: vmovaps 1120(%rdi), %xmm014821; AVX-NEXT: vmovaps 1056(%rdi), %xmm114822; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14823; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14824; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14825; AVX-NEXT: vmovaps %xmm0, (%rsp) # 16-byte Spill14826; AVX-NEXT: vmovaps 1248(%rdi), %xmm014827; AVX-NEXT: vmovaps 1184(%rdi), %xmm114828; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14829; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14830; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14831; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14832; AVX-NEXT: vmovaps 1376(%rdi), %xmm014833; AVX-NEXT: vmovaps 1312(%rdi), %xmm114834; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14835; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14836; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14837; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14838; AVX-NEXT: vmovaps 1504(%rdi), %xmm014839; AVX-NEXT: vmovaps 1440(%rdi), %xmm114840; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14841; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14842; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14843; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14844; AVX-NEXT: vmovaps 1632(%rdi), %xmm014845; AVX-NEXT: vmovaps 1568(%rdi), %xmm114846; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14847; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14848; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14849; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14850; AVX-NEXT: vmovaps 1760(%rdi), %xmm014851; AVX-NEXT: vmovaps 1696(%rdi), %xmm114852; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14853; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14854; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14855; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14856; AVX-NEXT: vmovaps 1888(%rdi), %xmm014857; AVX-NEXT: vmovaps 1824(%rdi), %xmm114858; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14859; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14860; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14861; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14862; AVX-NEXT: vmovaps 2016(%rdi), %xmm014863; AVX-NEXT: vmovaps 1952(%rdi), %xmm114864; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14865; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14866; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14867; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14868; AVX-NEXT: vmovaps 2144(%rdi), %xmm014869; AVX-NEXT: vmovaps 2080(%rdi), %xmm114870; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14871; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14872; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14873; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14874; AVX-NEXT: vmovaps 2272(%rdi), %xmm014875; AVX-NEXT: vmovaps 2208(%rdi), %xmm114876; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14877; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14878; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14879; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14880; AVX-NEXT: vmovaps 2400(%rdi), %xmm014881; AVX-NEXT: vmovaps 2336(%rdi), %xmm114882; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14883; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14884; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14885; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14886; AVX-NEXT: vmovaps 2528(%rdi), %xmm014887; AVX-NEXT: vmovaps 2464(%rdi), %xmm114888; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14889; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14890; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14891; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14892; AVX-NEXT: vmovaps 2656(%rdi), %xmm014893; AVX-NEXT: vmovaps 2592(%rdi), %xmm114894; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14895; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14896; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14897; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14898; AVX-NEXT: vmovaps 2784(%rdi), %xmm014899; AVX-NEXT: vmovaps 2720(%rdi), %xmm114900; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14901; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14902; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14903; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14904; AVX-NEXT: vmovaps 2912(%rdi), %xmm014905; AVX-NEXT: vmovaps 2848(%rdi), %xmm114906; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14907; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14908; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14909; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14910; AVX-NEXT: vmovaps 3040(%rdi), %xmm014911; AVX-NEXT: vmovaps 2976(%rdi), %xmm114912; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14913; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14914; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14915; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14916; AVX-NEXT: vmovaps 3168(%rdi), %xmm014917; AVX-NEXT: vmovaps 3104(%rdi), %xmm114918; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14919; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14920; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14921; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14922; AVX-NEXT: vmovaps 3296(%rdi), %xmm014923; AVX-NEXT: vmovaps 3232(%rdi), %xmm114924; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14925; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14926; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14927; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14928; AVX-NEXT: vmovaps 3424(%rdi), %xmm014929; AVX-NEXT: vmovaps 3360(%rdi), %xmm114930; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14931; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14932; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14933; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14934; AVX-NEXT: vmovaps 3552(%rdi), %xmm014935; AVX-NEXT: vmovaps 3488(%rdi), %xmm114936; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14937; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14938; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14939; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14940; AVX-NEXT: vmovaps 3680(%rdi), %xmm014941; AVX-NEXT: vmovaps 3616(%rdi), %xmm114942; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14943; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14944; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14945; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14946; AVX-NEXT: vmovaps 3808(%rdi), %xmm014947; AVX-NEXT: vmovaps 3744(%rdi), %xmm114948; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14949; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14950; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14951; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14952; AVX-NEXT: vmovaps 3936(%rdi), %xmm014953; AVX-NEXT: vmovaps 3872(%rdi), %xmm114954; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14955; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14956; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14957; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14958; AVX-NEXT: vmovaps 4064(%rdi), %xmm014959; AVX-NEXT: vmovaps 4000(%rdi), %xmm114960; AVX-NEXT: vmovlhps {{.*#+}} xmm2 = xmm1[0],xmm0[0]14961; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14962; AVX-NEXT: vunpckhpd {{.*#+}} xmm0 = xmm1[1],xmm0[1]14963; AVX-NEXT: vmovaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14964; AVX-NEXT: vmovaps 224(%rdi), %ymm114965; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14966; AVX-NEXT: vmovaps 160(%rdi), %ymm014967; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14968; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14969; AVX-NEXT: vmovaps 112(%rdi), %xmm214970; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14971; AVX-NEXT: vmovaps 48(%rdi), %xmm114972; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14973; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14974; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14975; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14976; AVX-NEXT: vmovaps 480(%rdi), %ymm114977; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14978; AVX-NEXT: vmovaps 416(%rdi), %ymm014979; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14980; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14981; AVX-NEXT: vmovaps 368(%rdi), %xmm214982; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14983; AVX-NEXT: vmovaps 304(%rdi), %xmm114984; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14985; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14986; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14987; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14988; AVX-NEXT: vmovaps 736(%rdi), %ymm114989; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14990; AVX-NEXT: vmovaps 672(%rdi), %ymm014991; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14992; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]14993; AVX-NEXT: vmovaps 624(%rdi), %xmm214994; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14995; AVX-NEXT: vmovaps 560(%rdi), %xmm114996; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14997; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]14998; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14999; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15000; AVX-NEXT: vmovaps 992(%rdi), %ymm115001; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15002; AVX-NEXT: vmovaps 928(%rdi), %ymm015003; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15004; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15005; AVX-NEXT: vmovaps 880(%rdi), %xmm215006; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15007; AVX-NEXT: vmovaps 816(%rdi), %xmm115008; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15009; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]15010; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15011; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15012; AVX-NEXT: vmovaps 1248(%rdi), %ymm115013; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15014; AVX-NEXT: vmovaps 1184(%rdi), %ymm015015; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15016; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15017; AVX-NEXT: vmovaps 1136(%rdi), %xmm215018; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15019; AVX-NEXT: vmovaps 1072(%rdi), %xmm115020; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15021; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]15022; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15023; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15024; AVX-NEXT: vmovaps 1504(%rdi), %ymm115025; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15026; AVX-NEXT: vmovaps 1440(%rdi), %ymm015027; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15028; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15029; AVX-NEXT: vmovaps 1392(%rdi), %xmm215030; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15031; AVX-NEXT: vmovaps 1328(%rdi), %xmm115032; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15033; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]15034; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15035; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15036; AVX-NEXT: vmovaps 1760(%rdi), %ymm115037; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15038; AVX-NEXT: vmovaps 1696(%rdi), %ymm015039; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15040; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15041; AVX-NEXT: vmovaps 1648(%rdi), %xmm215042; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15043; AVX-NEXT: vmovaps 1584(%rdi), %xmm115044; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15045; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]15046; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15047; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15048; AVX-NEXT: vmovaps 2016(%rdi), %ymm115049; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15050; AVX-NEXT: vmovaps 1952(%rdi), %ymm015051; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15052; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15053; AVX-NEXT: vmovaps 1904(%rdi), %xmm215054; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15055; AVX-NEXT: vmovaps 1840(%rdi), %xmm115056; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15057; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]15058; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15059; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15060; AVX-NEXT: vmovaps 2272(%rdi), %ymm115061; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15062; AVX-NEXT: vmovaps 2208(%rdi), %ymm015063; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15064; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15065; AVX-NEXT: vmovaps 2160(%rdi), %xmm215066; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15067; AVX-NEXT: vmovaps 2096(%rdi), %xmm115068; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15069; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]15070; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15071; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15072; AVX-NEXT: vmovaps 2528(%rdi), %ymm115073; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15074; AVX-NEXT: vmovaps 2464(%rdi), %ymm015075; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15076; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15077; AVX-NEXT: vmovaps 2416(%rdi), %xmm215078; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15079; AVX-NEXT: vmovaps 2352(%rdi), %xmm115080; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15081; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]15082; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15083; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15084; AVX-NEXT: vmovaps 2784(%rdi), %ymm115085; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15086; AVX-NEXT: vmovaps 2720(%rdi), %ymm015087; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15088; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15089; AVX-NEXT: vmovaps 2672(%rdi), %xmm215090; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15091; AVX-NEXT: vmovaps 2608(%rdi), %xmm115092; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15093; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]15094; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15095; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15096; AVX-NEXT: vmovaps 3040(%rdi), %ymm115097; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15098; AVX-NEXT: vmovaps 2976(%rdi), %ymm015099; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15100; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15101; AVX-NEXT: vmovaps 2928(%rdi), %xmm215102; AVX-NEXT: vmovaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15103; AVX-NEXT: vmovaps 2864(%rdi), %xmm115104; AVX-NEXT: vmovaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15105; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm1[0],xmm2[0]15106; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15107; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15108; AVX-NEXT: vmovaps 3296(%rdi), %ymm115109; AVX-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15110; AVX-NEXT: vmovaps 3232(%rdi), %ymm015111; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15112; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15113; AVX-NEXT: vmovaps 3184(%rdi), %xmm1415114; AVX-NEXT: vmovaps 3120(%rdi), %xmm1315115; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm13[0],xmm14[0]15116; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15117; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15118; AVX-NEXT: vmovaps 3552(%rdi), %ymm1215119; AVX-NEXT: vmovaps 3488(%rdi), %ymm1115120; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]15121; AVX-NEXT: vmovaps 3440(%rdi), %xmm1015122; AVX-NEXT: vmovaps 3376(%rdi), %xmm915123; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm9[0],xmm10[0]15124; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15125; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15126; AVX-NEXT: vmovaps 3808(%rdi), %ymm815127; AVX-NEXT: vmovaps 3744(%rdi), %ymm715128; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]15129; AVX-NEXT: vmovaps 3696(%rdi), %xmm615130; AVX-NEXT: vmovaps 3632(%rdi), %xmm515131; AVX-NEXT: vmovlhps {{.*#+}} xmm1 = xmm5[0],xmm6[0]15132; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15133; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15134; AVX-NEXT: vmovaps 4064(%rdi), %ymm415135; AVX-NEXT: vmovaps 4000(%rdi), %ymm315136; AVX-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]15137; AVX-NEXT: vmovaps 3952(%rdi), %xmm215138; AVX-NEXT: vmovaps 3888(%rdi), %xmm115139; AVX-NEXT: vmovlhps {{.*#+}} xmm15 = xmm1[0],xmm2[0]15140; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15141; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15142; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15143; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15144; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15145; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15146; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15147; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15148; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15149; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15150; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15151; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15152; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15153; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15154; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15155; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15156; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15157; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15158; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15159; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15160; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15161; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15162; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15163; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15164; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15165; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15166; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15167; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15168; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15169; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15170; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15171; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15172; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15173; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15174; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15175; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15176; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15177; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15178; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15179; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15180; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15181; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15182; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15183; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15184; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15185; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15186; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15187; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15188; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15189; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15190; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15191; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15192; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15193; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15194; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15195; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15196; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15197; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15198; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15199; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15200; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15201; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15202; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15203; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15204; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15205; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15206; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15207; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15208; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15209; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15210; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15211; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15212; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15213; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15214; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15215; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15216; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15217; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15218; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15219; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15220; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15221; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15222; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15223; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15224; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15225; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15226; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15227; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15228; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]15229; AVX-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15230; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15231; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15232; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15233; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload15234; AVX-NEXT: vmovlps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload15235; AVX-NEXT: # xmm15 = mem[0,1],xmm15[2,3]15236; AVX-NEXT: vblendps {{.*#+}} ymm15 = ymm15[0,1,2,3],ymm0[4,5,6,7]15237; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15238; AVX-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15239; AVX-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15240; AVX-NEXT: vunpckhpd {{.*#+}} xmm13 = xmm13[1],xmm14[1]15241; AVX-NEXT: vblendps {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm0[4,5,6,7]15242; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]15243; AVX-NEXT: vunpckhpd {{.*#+}} xmm9 = xmm9[1],xmm10[1]15244; AVX-NEXT: vblendps {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm0[4,5,6,7]15245; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]15246; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm5[1],xmm6[1]15247; AVX-NEXT: vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3],ymm0[4,5,6,7]15248; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]15249; AVX-NEXT: vunpckhpd {{.*#+}} xmm1 = xmm1[1],xmm2[1]15250; AVX-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15251; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15252; AVX-NEXT: vmovaps %xmm1, 464(%rsi)15253; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15254; AVX-NEXT: vmovaps %xmm1, 448(%rsi)15255; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15256; AVX-NEXT: vmovaps %xmm1, 256(%rsi)15257; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15258; AVX-NEXT: vmovaps %xmm1, 384(%rsi)15259; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15260; AVX-NEXT: vmovaps %xmm1, 320(%rsi)15261; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15262; AVX-NEXT: vmovaps %xmm1, 192(%rsi)15263; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15264; AVX-NEXT: vmovaps %xmm1, 128(%rsi)15265; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15266; AVX-NEXT: vmovaps %xmm1, 64(%rsi)15267; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15268; AVX-NEXT: vmovaps %xmm1, (%rsi)15269; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15270; AVX-NEXT: vmovaps %xmm1, 272(%rsi)15271; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15272; AVX-NEXT: vmovaps %xmm1, 400(%rsi)15273; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15274; AVX-NEXT: vmovaps %xmm1, 336(%rsi)15275; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15276; AVX-NEXT: vmovaps %xmm1, 208(%rsi)15277; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15278; AVX-NEXT: vmovaps %xmm1, 144(%rsi)15279; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15280; AVX-NEXT: vmovaps %xmm1, 80(%rsi)15281; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15282; AVX-NEXT: vmovaps %xmm1, 16(%rsi)15283; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15284; AVX-NEXT: vmovaps %xmm1, 496(%rsi)15285; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15286; AVX-NEXT: vmovaps %xmm1, 480(%rsi)15287; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15288; AVX-NEXT: vmovaps %xmm1, 32(%rsi)15289; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15290; AVX-NEXT: vmovaps %xmm1, 416(%rsi)15291; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15292; AVX-NEXT: vmovaps %xmm1, 352(%rsi)15293; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15294; AVX-NEXT: vmovaps %xmm1, 288(%rsi)15295; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15296; AVX-NEXT: vmovaps %xmm1, 224(%rsi)15297; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15298; AVX-NEXT: vmovaps %xmm1, 160(%rsi)15299; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15300; AVX-NEXT: vmovaps %xmm1, 96(%rsi)15301; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15302; AVX-NEXT: vmovaps %xmm1, 48(%rsi)15303; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15304; AVX-NEXT: vmovaps %xmm1, 432(%rsi)15305; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15306; AVX-NEXT: vmovaps %xmm1, 368(%rsi)15307; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15308; AVX-NEXT: vmovaps %xmm1, 304(%rsi)15309; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15310; AVX-NEXT: vmovaps %xmm1, 240(%rsi)15311; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15312; AVX-NEXT: vmovaps %xmm1, 176(%rsi)15313; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15314; AVX-NEXT: vmovaps %xmm1, 112(%rsi)15315; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15316; AVX-NEXT: vmovaps %xmm1, 128(%rdx)15317; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15318; AVX-NEXT: vmovaps %xmm1, 144(%rdx)15319; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15320; AVX-NEXT: vmovaps %xmm1, 256(%rdx)15321; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15322; AVX-NEXT: vmovaps %xmm1, 272(%rdx)15323; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15324; AVX-NEXT: vmovaps %xmm1, 64(%rdx)15325; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15326; AVX-NEXT: vmovaps %xmm1, 80(%rdx)15327; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15328; AVX-NEXT: vmovaps %xmm1, (%rdx)15329; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15330; AVX-NEXT: vmovaps %xmm1, 16(%rdx)15331; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15332; AVX-NEXT: vmovaps %xmm1, 192(%rdx)15333; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15334; AVX-NEXT: vmovaps %xmm1, 208(%rdx)15335; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15336; AVX-NEXT: vmovaps %xmm1, 320(%rdx)15337; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15338; AVX-NEXT: vmovaps %xmm1, 336(%rdx)15339; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15340; AVX-NEXT: vmovaps %xmm1, 384(%rdx)15341; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15342; AVX-NEXT: vmovaps %xmm1, 400(%rdx)15343; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15344; AVX-NEXT: vmovaps %xmm1, 448(%rdx)15345; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15346; AVX-NEXT: vmovaps %xmm1, 464(%rdx)15347; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15348; AVX-NEXT: vmovaps %xmm1, 96(%rdx)15349; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15350; AVX-NEXT: vmovaps %xmm1, 112(%rdx)15351; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15352; AVX-NEXT: vmovaps %xmm1, 32(%rdx)15353; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15354; AVX-NEXT: vmovaps %xmm1, 48(%rdx)15355; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15356; AVX-NEXT: vmovaps %xmm1, 160(%rdx)15357; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15358; AVX-NEXT: vmovaps %xmm1, 176(%rdx)15359; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15360; AVX-NEXT: vmovaps %xmm1, 224(%rdx)15361; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15362; AVX-NEXT: vmovaps %xmm1, 240(%rdx)15363; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15364; AVX-NEXT: vmovaps %xmm1, 288(%rdx)15365; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15366; AVX-NEXT: vmovaps %xmm1, 304(%rdx)15367; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15368; AVX-NEXT: vmovaps %xmm1, 352(%rdx)15369; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15370; AVX-NEXT: vmovaps %xmm1, 368(%rdx)15371; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15372; AVX-NEXT: vmovaps %xmm1, 416(%rdx)15373; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15374; AVX-NEXT: vmovaps %xmm1, 432(%rdx)15375; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15376; AVX-NEXT: vmovaps %xmm1, 480(%rdx)15377; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15378; AVX-NEXT: vmovaps %xmm1, 496(%rdx)15379; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15380; AVX-NEXT: vmovaps %ymm1, 448(%rcx)15381; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15382; AVX-NEXT: vmovaps %ymm1, 384(%rcx)15383; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15384; AVX-NEXT: vmovaps %ymm1, 320(%rcx)15385; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15386; AVX-NEXT: vmovaps %ymm1, 256(%rcx)15387; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15388; AVX-NEXT: vmovaps %ymm1, 192(%rcx)15389; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15390; AVX-NEXT: vmovaps %ymm1, 128(%rcx)15391; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15392; AVX-NEXT: vmovaps %ymm1, 64(%rcx)15393; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15394; AVX-NEXT: vmovaps %ymm1, (%rcx)15395; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15396; AVX-NEXT: vmovaps %ymm1, 480(%rcx)15397; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15398; AVX-NEXT: vmovaps %ymm1, 416(%rcx)15399; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15400; AVX-NEXT: vmovaps %ymm1, 352(%rcx)15401; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15402; AVX-NEXT: vmovaps %ymm1, 288(%rcx)15403; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15404; AVX-NEXT: vmovaps %ymm1, 224(%rcx)15405; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15406; AVX-NEXT: vmovaps %ymm1, 160(%rcx)15407; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15408; AVX-NEXT: vmovaps %ymm1, 96(%rcx)15409; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15410; AVX-NEXT: vmovaps %ymm1, 32(%rcx)15411; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15412; AVX-NEXT: vmovaps %ymm1, 480(%r8)15413; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15414; AVX-NEXT: vmovaps %ymm1, 448(%r8)15415; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15416; AVX-NEXT: vmovaps %ymm1, 416(%r8)15417; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15418; AVX-NEXT: vmovaps %ymm1, 384(%r8)15419; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15420; AVX-NEXT: vmovaps %ymm1, 352(%r8)15421; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15422; AVX-NEXT: vmovaps %ymm1, 320(%r8)15423; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15424; AVX-NEXT: vmovaps %ymm1, 288(%r8)15425; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15426; AVX-NEXT: vmovaps %ymm1, 256(%r8)15427; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15428; AVX-NEXT: vmovaps %ymm1, 224(%r8)15429; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15430; AVX-NEXT: vmovaps %ymm1, 192(%r8)15431; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15432; AVX-NEXT: vmovaps %ymm1, 160(%r8)15433; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15434; AVX-NEXT: vmovaps %ymm1, 128(%r8)15435; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15436; AVX-NEXT: vmovaps %ymm1, 96(%r8)15437; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15438; AVX-NEXT: vmovaps %ymm1, 64(%r8)15439; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15440; AVX-NEXT: vmovaps %ymm1, 32(%r8)15441; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15442; AVX-NEXT: vmovaps %ymm1, (%r8)15443; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15444; AVX-NEXT: vmovaps %xmm1, 496(%r9)15445; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15446; AVX-NEXT: vmovaps %xmm1, 480(%r9)15447; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15448; AVX-NEXT: vmovaps %xmm1, 464(%r9)15449; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15450; AVX-NEXT: vmovaps %xmm1, 448(%r9)15451; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15452; AVX-NEXT: vmovaps %xmm1, 432(%r9)15453; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15454; AVX-NEXT: vmovaps %xmm1, 416(%r9)15455; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15456; AVX-NEXT: vmovaps %xmm1, 400(%r9)15457; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15458; AVX-NEXT: vmovaps %xmm1, 384(%r9)15459; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15460; AVX-NEXT: vmovaps %xmm1, 368(%r9)15461; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15462; AVX-NEXT: vmovaps %xmm1, 352(%r9)15463; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15464; AVX-NEXT: vmovaps %xmm1, 336(%r9)15465; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15466; AVX-NEXT: vmovaps %xmm1, 320(%r9)15467; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15468; AVX-NEXT: vmovaps %xmm1, 304(%r9)15469; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15470; AVX-NEXT: vmovaps %xmm1, 288(%r9)15471; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15472; AVX-NEXT: vmovaps %xmm1, 272(%r9)15473; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15474; AVX-NEXT: vmovaps %xmm1, 256(%r9)15475; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15476; AVX-NEXT: vmovaps %xmm1, 240(%r9)15477; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15478; AVX-NEXT: vmovaps %xmm1, 224(%r9)15479; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15480; AVX-NEXT: vmovaps %xmm1, 208(%r9)15481; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15482; AVX-NEXT: vmovaps %xmm1, 192(%r9)15483; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15484; AVX-NEXT: vmovaps %xmm1, 176(%r9)15485; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15486; AVX-NEXT: vmovaps %xmm1, 160(%r9)15487; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15488; AVX-NEXT: vmovaps %xmm1, 144(%r9)15489; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15490; AVX-NEXT: vmovaps %xmm1, 128(%r9)15491; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15492; AVX-NEXT: vmovaps %xmm1, 112(%r9)15493; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15494; AVX-NEXT: vmovaps %xmm1, 96(%r9)15495; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15496; AVX-NEXT: vmovaps %xmm1, 80(%r9)15497; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15498; AVX-NEXT: vmovaps %xmm1, 64(%r9)15499; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15500; AVX-NEXT: vmovaps %xmm1, 48(%r9)15501; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15502; AVX-NEXT: vmovaps %xmm1, 32(%r9)15503; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15504; AVX-NEXT: vmovaps %xmm1, 16(%r9)15505; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15506; AVX-NEXT: vmovaps %xmm1, (%r9)15507; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax15508; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15509; AVX-NEXT: vmovaps %xmm1, 496(%rax)15510; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15511; AVX-NEXT: vmovaps %xmm1, 480(%rax)15512; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15513; AVX-NEXT: vmovaps %xmm1, 464(%rax)15514; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15515; AVX-NEXT: vmovaps %xmm1, 448(%rax)15516; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15517; AVX-NEXT: vmovaps %xmm1, 432(%rax)15518; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15519; AVX-NEXT: vmovaps %xmm1, 416(%rax)15520; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15521; AVX-NEXT: vmovaps %xmm1, 400(%rax)15522; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15523; AVX-NEXT: vmovaps %xmm1, 384(%rax)15524; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15525; AVX-NEXT: vmovaps %xmm1, 368(%rax)15526; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15527; AVX-NEXT: vmovaps %xmm1, 352(%rax)15528; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15529; AVX-NEXT: vmovaps %xmm1, 336(%rax)15530; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15531; AVX-NEXT: vmovaps %xmm1, 320(%rax)15532; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15533; AVX-NEXT: vmovaps %xmm1, 304(%rax)15534; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15535; AVX-NEXT: vmovaps %xmm1, 288(%rax)15536; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15537; AVX-NEXT: vmovaps %xmm1, 272(%rax)15538; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15539; AVX-NEXT: vmovaps %xmm1, 256(%rax)15540; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15541; AVX-NEXT: vmovaps %xmm1, 240(%rax)15542; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15543; AVX-NEXT: vmovaps %xmm1, 224(%rax)15544; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15545; AVX-NEXT: vmovaps %xmm1, 208(%rax)15546; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15547; AVX-NEXT: vmovaps %xmm1, 192(%rax)15548; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15549; AVX-NEXT: vmovaps %xmm1, 176(%rax)15550; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15551; AVX-NEXT: vmovaps %xmm1, 160(%rax)15552; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15553; AVX-NEXT: vmovaps %xmm1, 144(%rax)15554; AVX-NEXT: vmovaps (%rsp), %xmm1 # 16-byte Reload15555; AVX-NEXT: vmovaps %xmm1, 128(%rax)15556; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15557; AVX-NEXT: vmovaps %xmm1, 112(%rax)15558; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15559; AVX-NEXT: vmovaps %xmm1, 96(%rax)15560; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15561; AVX-NEXT: vmovaps %xmm1, 80(%rax)15562; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15563; AVX-NEXT: vmovaps %xmm1, 64(%rax)15564; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15565; AVX-NEXT: vmovaps %xmm1, 48(%rax)15566; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15567; AVX-NEXT: vmovaps %xmm1, 32(%rax)15568; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15569; AVX-NEXT: vmovaps %xmm1, 16(%rax)15570; AVX-NEXT: vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload15571; AVX-NEXT: vmovaps %xmm1, (%rax)15572; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax15573; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15574; AVX-NEXT: vmovaps %ymm1, 480(%rax)15575; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15576; AVX-NEXT: vmovaps %ymm1, 448(%rax)15577; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15578; AVX-NEXT: vmovaps %ymm1, 416(%rax)15579; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15580; AVX-NEXT: vmovaps %ymm1, 384(%rax)15581; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15582; AVX-NEXT: vmovaps %ymm1, 352(%rax)15583; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15584; AVX-NEXT: vmovaps %ymm1, 320(%rax)15585; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15586; AVX-NEXT: vmovaps %ymm1, 288(%rax)15587; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15588; AVX-NEXT: vmovaps %ymm1, 256(%rax)15589; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15590; AVX-NEXT: vmovaps %ymm1, 224(%rax)15591; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15592; AVX-NEXT: vmovaps %ymm1, 192(%rax)15593; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15594; AVX-NEXT: vmovaps %ymm1, 160(%rax)15595; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15596; AVX-NEXT: vmovaps %ymm1, 128(%rax)15597; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15598; AVX-NEXT: vmovaps %ymm1, 96(%rax)15599; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15600; AVX-NEXT: vmovaps %ymm1, 64(%rax)15601; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15602; AVX-NEXT: vmovaps %ymm1, 32(%rax)15603; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload15604; AVX-NEXT: vmovaps %ymm1, (%rax)15605; AVX-NEXT: movq {{[0-9]+}}(%rsp), %rax15606; AVX-NEXT: vmovaps %ymm0, 480(%rax)15607; AVX-NEXT: vmovaps %ymm5, 448(%rax)15608; AVX-NEXT: vmovaps %ymm9, 416(%rax)15609; AVX-NEXT: vmovaps %ymm13, 384(%rax)15610; AVX-NEXT: vmovaps %ymm15, 352(%rax)15611; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15612; AVX-NEXT: vmovaps %ymm0, 320(%rax)15613; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15614; AVX-NEXT: vmovaps %ymm0, 288(%rax)15615; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15616; AVX-NEXT: vmovaps %ymm0, 256(%rax)15617; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15618; AVX-NEXT: vmovaps %ymm0, 224(%rax)15619; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15620; AVX-NEXT: vmovaps %ymm0, 192(%rax)15621; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15622; AVX-NEXT: vmovaps %ymm0, 160(%rax)15623; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15624; AVX-NEXT: vmovaps %ymm0, 128(%rax)15625; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15626; AVX-NEXT: vmovaps %ymm0, 96(%rax)15627; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15628; AVX-NEXT: vmovaps %ymm0, 64(%rax)15629; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15630; AVX-NEXT: vmovaps %ymm0, 32(%rax)15631; AVX-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15632; AVX-NEXT: vmovaps %ymm0, (%rax)15633; AVX-NEXT: addq $5016, %rsp # imm = 0x139815634; AVX-NEXT: vzeroupper15635; AVX-NEXT: retq15636;15637; AVX2-LABEL: load_i64_stride8_vf64:15638; AVX2: # %bb.0:15639; AVX2-NEXT: subq $5064, %rsp # imm = 0x13C815640; AVX2-NEXT: vmovaps 320(%rdi), %xmm015641; AVX2-NEXT: vinsertf128 $1, 448(%rdi), %ymm0, %ymm015642; AVX2-NEXT: vmovaps 256(%rdi), %xmm115643; AVX2-NEXT: vinsertf128 $1, 384(%rdi), %ymm1, %ymm115644; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15645; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15646; AVX2-NEXT: vmovaps 832(%rdi), %xmm215647; AVX2-NEXT: vinsertf128 $1, 960(%rdi), %ymm2, %ymm215648; AVX2-NEXT: vmovaps 768(%rdi), %xmm315649; AVX2-NEXT: vinsertf128 $1, 896(%rdi), %ymm3, %ymm315650; AVX2-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15651; AVX2-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15652; AVX2-NEXT: vmovaps 1344(%rdi), %xmm415653; AVX2-NEXT: vinsertf128 $1, 1472(%rdi), %ymm4, %ymm415654; AVX2-NEXT: vmovaps 1280(%rdi), %xmm515655; AVX2-NEXT: vinsertf128 $1, 1408(%rdi), %ymm5, %ymm515656; AVX2-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]15657; AVX2-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15658; AVX2-NEXT: vmovaps 1856(%rdi), %xmm615659; AVX2-NEXT: vinsertf128 $1, 1984(%rdi), %ymm6, %ymm615660; AVX2-NEXT: vmovaps 1792(%rdi), %xmm715661; AVX2-NEXT: vinsertf128 $1, 1920(%rdi), %ymm7, %ymm715662; AVX2-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]15663; AVX2-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15664; AVX2-NEXT: vmovaps 2368(%rdi), %xmm815665; AVX2-NEXT: vinsertf128 $1, 2496(%rdi), %ymm8, %ymm815666; AVX2-NEXT: vmovaps 2304(%rdi), %xmm915667; AVX2-NEXT: vinsertf128 $1, 2432(%rdi), %ymm9, %ymm915668; AVX2-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]15669; AVX2-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15670; AVX2-NEXT: vmovaps 2880(%rdi), %xmm1015671; AVX2-NEXT: vinsertf128 $1, 3008(%rdi), %ymm10, %ymm1015672; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]15673; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15674; AVX2-NEXT: vmovaps 2816(%rdi), %xmm015675; AVX2-NEXT: vinsertf128 $1, 2944(%rdi), %ymm0, %ymm015676; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]15677; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15678; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]15679; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15680; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]15681; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15682; AVX2-NEXT: vmovaps 3392(%rdi), %xmm115683; AVX2-NEXT: vinsertf128 $1, 3520(%rdi), %ymm1, %ymm115684; AVX2-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]15685; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15686; AVX2-NEXT: vmovaps 3328(%rdi), %xmm215687; AVX2-NEXT: vinsertf128 $1, 3456(%rdi), %ymm2, %ymm215688; AVX2-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]15689; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15690; AVX2-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]15691; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15692; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]15693; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15694; AVX2-NEXT: vmovaps 3904(%rdi), %xmm015695; AVX2-NEXT: vinsertf128 $1, 4032(%rdi), %ymm0, %ymm015696; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]15697; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15698; AVX2-NEXT: vmovaps 3840(%rdi), %xmm115699; AVX2-NEXT: vinsertf128 $1, 3968(%rdi), %ymm1, %ymm115700; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15701; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15702; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]15703; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15704; AVX2-NEXT: vmovaps 64(%rdi), %xmm015705; AVX2-NEXT: vinsertf128 $1, 192(%rdi), %ymm0, %ymm015706; AVX2-NEXT: vmovaps (%rdi), %xmm115707; AVX2-NEXT: vinsertf128 $1, 128(%rdi), %ymm1, %ymm115708; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15709; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15710; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]15711; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15712; AVX2-NEXT: vmovaps 576(%rdi), %xmm015713; AVX2-NEXT: vinsertf128 $1, 704(%rdi), %ymm0, %ymm015714; AVX2-NEXT: vmovaps 512(%rdi), %xmm115715; AVX2-NEXT: vinsertf128 $1, 640(%rdi), %ymm1, %ymm115716; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15717; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15718; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]15719; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15720; AVX2-NEXT: vmovaps 1088(%rdi), %xmm015721; AVX2-NEXT: vinsertf128 $1, 1216(%rdi), %ymm0, %ymm015722; AVX2-NEXT: vmovaps 1024(%rdi), %xmm115723; AVX2-NEXT: vinsertf128 $1, 1152(%rdi), %ymm1, %ymm115724; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15725; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15726; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]15727; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15728; AVX2-NEXT: vmovaps 1600(%rdi), %xmm015729; AVX2-NEXT: vinsertf128 $1, 1728(%rdi), %ymm0, %ymm015730; AVX2-NEXT: vmovaps 1536(%rdi), %xmm115731; AVX2-NEXT: vinsertf128 $1, 1664(%rdi), %ymm1, %ymm115732; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15733; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15734; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]15735; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15736; AVX2-NEXT: vmovaps 2112(%rdi), %xmm015737; AVX2-NEXT: vinsertf128 $1, 2240(%rdi), %ymm0, %ymm015738; AVX2-NEXT: vmovaps 2048(%rdi), %xmm115739; AVX2-NEXT: vinsertf128 $1, 2176(%rdi), %ymm1, %ymm115740; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15741; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15742; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]15743; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15744; AVX2-NEXT: vmovaps 2624(%rdi), %xmm015745; AVX2-NEXT: vinsertf128 $1, 2752(%rdi), %ymm0, %ymm015746; AVX2-NEXT: vmovaps 2560(%rdi), %xmm115747; AVX2-NEXT: vinsertf128 $1, 2688(%rdi), %ymm1, %ymm115748; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15749; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15750; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]15751; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15752; AVX2-NEXT: vmovaps 3136(%rdi), %xmm015753; AVX2-NEXT: vinsertf128 $1, 3264(%rdi), %ymm0, %ymm015754; AVX2-NEXT: vmovaps 3072(%rdi), %xmm115755; AVX2-NEXT: vinsertf128 $1, 3200(%rdi), %ymm1, %ymm115756; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15757; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15758; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]15759; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15760; AVX2-NEXT: vmovaps 3648(%rdi), %xmm015761; AVX2-NEXT: vinsertf128 $1, 3776(%rdi), %ymm0, %ymm015762; AVX2-NEXT: vmovaps 3584(%rdi), %xmm115763; AVX2-NEXT: vinsertf128 $1, 3712(%rdi), %ymm1, %ymm115764; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]15765; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15766; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]15767; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15768; AVX2-NEXT: vmovaps 320(%rdi), %ymm215769; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15770; AVX2-NEXT: vmovaps 256(%rdi), %ymm315771; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15772; AVX2-NEXT: vmovaps 448(%rdi), %ymm115773; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15774; AVX2-NEXT: vmovaps 384(%rdi), %ymm015775; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15776; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15777; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15778; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15779; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15780; AVX2-NEXT: vmovaps 832(%rdi), %ymm215781; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15782; AVX2-NEXT: vmovaps 768(%rdi), %ymm315783; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15784; AVX2-NEXT: vmovaps 960(%rdi), %ymm115785; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15786; AVX2-NEXT: vmovaps 896(%rdi), %ymm015787; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15788; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15789; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15790; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15791; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15792; AVX2-NEXT: vmovaps 1344(%rdi), %ymm215793; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15794; AVX2-NEXT: vmovaps 1280(%rdi), %ymm315795; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15796; AVX2-NEXT: vmovaps 1472(%rdi), %ymm115797; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15798; AVX2-NEXT: vmovaps 1408(%rdi), %ymm015799; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15800; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15801; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15802; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15803; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15804; AVX2-NEXT: vmovaps 1856(%rdi), %ymm215805; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15806; AVX2-NEXT: vmovaps 1792(%rdi), %ymm315807; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15808; AVX2-NEXT: vmovaps 1984(%rdi), %ymm115809; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15810; AVX2-NEXT: vmovaps 1920(%rdi), %ymm015811; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15812; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15813; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15814; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15815; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15816; AVX2-NEXT: vmovaps 2368(%rdi), %ymm215817; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15818; AVX2-NEXT: vmovaps 2304(%rdi), %ymm315819; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15820; AVX2-NEXT: vmovaps 2496(%rdi), %ymm115821; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15822; AVX2-NEXT: vmovaps 2432(%rdi), %ymm015823; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15824; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15825; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15826; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15827; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15828; AVX2-NEXT: vmovaps 2880(%rdi), %ymm215829; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15830; AVX2-NEXT: vmovaps 2816(%rdi), %ymm315831; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15832; AVX2-NEXT: vmovaps 3008(%rdi), %ymm115833; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15834; AVX2-NEXT: vmovaps 2944(%rdi), %ymm015835; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15836; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15837; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15838; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15839; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15840; AVX2-NEXT: vmovaps 3392(%rdi), %ymm215841; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15842; AVX2-NEXT: vmovaps 3328(%rdi), %ymm315843; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15844; AVX2-NEXT: vmovaps 3520(%rdi), %ymm115845; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15846; AVX2-NEXT: vmovaps 3456(%rdi), %ymm015847; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15848; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15849; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15850; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15851; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15852; AVX2-NEXT: vmovaps 3904(%rdi), %ymm215853; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15854; AVX2-NEXT: vmovaps 3840(%rdi), %ymm315855; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15856; AVX2-NEXT: vmovaps 4032(%rdi), %ymm115857; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15858; AVX2-NEXT: vmovaps 3968(%rdi), %ymm015859; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15860; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15861; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15862; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15863; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15864; AVX2-NEXT: vmovaps 64(%rdi), %ymm215865; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15866; AVX2-NEXT: vmovaps (%rdi), %ymm315867; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15868; AVX2-NEXT: vmovaps 192(%rdi), %ymm115869; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15870; AVX2-NEXT: vmovaps 128(%rdi), %ymm015871; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15872; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15873; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15874; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15875; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15876; AVX2-NEXT: vmovaps 576(%rdi), %ymm215877; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15878; AVX2-NEXT: vmovaps 512(%rdi), %ymm315879; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15880; AVX2-NEXT: vmovaps 704(%rdi), %ymm115881; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15882; AVX2-NEXT: vmovaps 640(%rdi), %ymm015883; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15884; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]15885; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15886; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15887; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15888; AVX2-NEXT: vmovaps 1088(%rdi), %ymm215889; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15890; AVX2-NEXT: vmovaps 1024(%rdi), %ymm315891; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15892; AVX2-NEXT: vmovaps 1216(%rdi), %ymm015893; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15894; AVX2-NEXT: vmovaps 1152(%rdi), %ymm1515895; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm15[0],ymm0[0],ymm15[2],ymm0[2]15896; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]15897; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15898; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15899; AVX2-NEXT: vmovaps 1600(%rdi), %ymm215900; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15901; AVX2-NEXT: vmovaps 1536(%rdi), %ymm115902; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15903; AVX2-NEXT: vmovaps 1728(%rdi), %ymm1415904; AVX2-NEXT: vmovaps 1664(%rdi), %ymm1115905; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm11[0],ymm14[0],ymm11[2],ymm14[2]15906; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]15907; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15908; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15909; AVX2-NEXT: vmovaps 2112(%rdi), %ymm215910; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15911; AVX2-NEXT: vmovaps 2048(%rdi), %ymm115912; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15913; AVX2-NEXT: vmovaps 2240(%rdi), %ymm1015914; AVX2-NEXT: vmovaps 2176(%rdi), %ymm815915; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm8[0],ymm10[0],ymm8[2],ymm10[2]15916; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]15917; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15918; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15919; AVX2-NEXT: vmovaps 2624(%rdi), %ymm215920; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15921; AVX2-NEXT: vmovaps 2560(%rdi), %ymm115922; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15923; AVX2-NEXT: vmovaps 2752(%rdi), %ymm715924; AVX2-NEXT: vmovaps 2688(%rdi), %ymm515925; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm7[0],ymm5[2],ymm7[2]15926; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]15927; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]15928; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15929; AVX2-NEXT: vmovaps 3136(%rdi), %ymm115930; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15931; AVX2-NEXT: vmovaps 3072(%rdi), %ymm915932; AVX2-NEXT: vmovaps 3264(%rdi), %ymm415933; AVX2-NEXT: vmovaps 3200(%rdi), %ymm315934; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]15935; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm9[0],ymm1[0],ymm9[2],ymm1[2]15936; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm2[2,3],ymm0[2,3]15937; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15938; AVX2-NEXT: vmovaps 3648(%rdi), %ymm1215939; AVX2-NEXT: vmovaps 3584(%rdi), %ymm615940; AVX2-NEXT: vmovaps 3776(%rdi), %ymm215941; AVX2-NEXT: vmovaps 3712(%rdi), %ymm115942; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]15943; AVX2-NEXT: vunpcklpd {{.*#+}} ymm13 = ymm6[0],ymm12[0],ymm6[2],ymm12[2]15944; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]15945; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15946; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15947; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15948; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15949; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload15950; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload15951; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]15952; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]15953; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15954; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15955; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15956; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15957; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload15958; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload15959; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]15960; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]15961; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15962; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15963; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15964; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15965; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload15966; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload15967; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]15968; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]15969; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15970; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15971; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15972; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15973; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload15974; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload15975; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]15976; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]15977; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15978; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm0 # 32-byte Folded Reload15979; AVX2-NEXT: # ymm0 = ymm15[1],mem[1],ymm15[3],mem[3]15980; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload15981; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload15982; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]15983; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]15984; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15985; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload15986; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload15987; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]15988; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload15989; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload15990; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]15991; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm13[2,3],ymm0[2,3]15992; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15993; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm11[1],ymm14[1],ymm11[3],ymm14[3]15994; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload15995; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload15996; AVX2-NEXT: # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]15997; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]15998; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15999; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16000; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16001; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16002; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload16003; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload16004; AVX2-NEXT: # ymm11 = ymm11[1],mem[1],ymm11[3],mem[3]16005; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm11[2,3],ymm0[2,3]16006; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16007; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm8[1],ymm10[1],ymm8[3],ymm10[3]16008; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload16009; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload16010; AVX2-NEXT: # ymm8 = ymm8[1],mem[1],ymm8[3],mem[3]16011; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm8[2,3],ymm0[2,3]16012; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16013; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16014; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16015; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16016; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload16017; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm8, %ymm8 # 32-byte Folded Reload16018; AVX2-NEXT: # ymm8 = ymm8[1],mem[1],ymm8[3],mem[3]16019; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm8[2,3],ymm0[2,3]16020; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16021; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm5[1],ymm7[1],ymm5[3],ymm7[3]16022; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload16023; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm5 # 32-byte Folded Reload16024; AVX2-NEXT: # ymm5 = ymm5[1],mem[1],ymm5[3],mem[3]16025; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm5[2,3],ymm0[2,3]16026; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16027; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16028; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16029; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16030; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload16031; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm5 # 32-byte Folded Reload16032; AVX2-NEXT: # ymm5 = ymm5[1],mem[1],ymm5[3],mem[3]16033; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm5[2,3],ymm0[2,3]16034; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16035; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]16036; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm3 # 32-byte Folded Reload16037; AVX2-NEXT: # ymm3 = ymm9[1],mem[1],ymm9[3],mem[3]16038; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm3[2,3],ymm0[2,3]16039; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16040; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16041; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16042; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16043; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload16044; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm3 # 32-byte Folded Reload16045; AVX2-NEXT: # ymm3 = ymm3[1],mem[1],ymm3[3],mem[3]16046; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm3[2,3],ymm0[2,3]16047; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16048; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]16049; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm6[1],ymm12[1],ymm6[3],ymm12[3]16050; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16051; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16052; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16053; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16054; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16055; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16056; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm1 # 32-byte Folded Reload16057; AVX2-NEXT: # ymm1 = ymm1[1],mem[1],ymm1[3],mem[3]16058; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16059; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16060; AVX2-NEXT: vmovaps 96(%rdi), %xmm016061; AVX2-NEXT: vinsertf128 $1, 224(%rdi), %ymm0, %ymm016062; AVX2-NEXT: vmovaps 32(%rdi), %xmm116063; AVX2-NEXT: vinsertf128 $1, 160(%rdi), %ymm1, %ymm116064; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16065; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16066; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16067; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16068; AVX2-NEXT: vmovaps 352(%rdi), %xmm016069; AVX2-NEXT: vinsertf128 $1, 480(%rdi), %ymm0, %ymm016070; AVX2-NEXT: vmovaps 288(%rdi), %xmm116071; AVX2-NEXT: vinsertf128 $1, 416(%rdi), %ymm1, %ymm116072; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16073; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16074; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16075; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16076; AVX2-NEXT: vmovaps 608(%rdi), %xmm016077; AVX2-NEXT: vinsertf128 $1, 736(%rdi), %ymm0, %ymm016078; AVX2-NEXT: vmovaps 544(%rdi), %xmm116079; AVX2-NEXT: vinsertf128 $1, 672(%rdi), %ymm1, %ymm116080; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16081; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16082; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16083; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16084; AVX2-NEXT: vmovaps 864(%rdi), %xmm016085; AVX2-NEXT: vinsertf128 $1, 992(%rdi), %ymm0, %ymm016086; AVX2-NEXT: vmovaps 800(%rdi), %xmm116087; AVX2-NEXT: vinsertf128 $1, 928(%rdi), %ymm1, %ymm116088; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16089; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16090; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16091; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16092; AVX2-NEXT: vmovaps 1120(%rdi), %xmm016093; AVX2-NEXT: vinsertf128 $1, 1248(%rdi), %ymm0, %ymm016094; AVX2-NEXT: vmovaps 1056(%rdi), %xmm116095; AVX2-NEXT: vinsertf128 $1, 1184(%rdi), %ymm1, %ymm116096; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16097; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16098; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16099; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16100; AVX2-NEXT: vmovaps 1376(%rdi), %xmm016101; AVX2-NEXT: vinsertf128 $1, 1504(%rdi), %ymm0, %ymm016102; AVX2-NEXT: vmovaps 1312(%rdi), %xmm116103; AVX2-NEXT: vinsertf128 $1, 1440(%rdi), %ymm1, %ymm116104; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16105; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16106; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16107; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16108; AVX2-NEXT: vmovaps 1632(%rdi), %xmm016109; AVX2-NEXT: vinsertf128 $1, 1760(%rdi), %ymm0, %ymm016110; AVX2-NEXT: vmovaps 1568(%rdi), %xmm116111; AVX2-NEXT: vinsertf128 $1, 1696(%rdi), %ymm1, %ymm116112; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16113; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16114; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16115; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16116; AVX2-NEXT: vmovaps 1888(%rdi), %xmm016117; AVX2-NEXT: vinsertf128 $1, 2016(%rdi), %ymm0, %ymm016118; AVX2-NEXT: vmovaps 1824(%rdi), %xmm116119; AVX2-NEXT: vinsertf128 $1, 1952(%rdi), %ymm1, %ymm116120; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16121; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16122; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16123; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16124; AVX2-NEXT: vmovaps 2144(%rdi), %xmm016125; AVX2-NEXT: vinsertf128 $1, 2272(%rdi), %ymm0, %ymm016126; AVX2-NEXT: vmovaps 2080(%rdi), %xmm116127; AVX2-NEXT: vinsertf128 $1, 2208(%rdi), %ymm1, %ymm116128; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16129; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16130; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16131; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16132; AVX2-NEXT: vmovaps 2400(%rdi), %xmm016133; AVX2-NEXT: vinsertf128 $1, 2528(%rdi), %ymm0, %ymm016134; AVX2-NEXT: vmovaps 2336(%rdi), %xmm116135; AVX2-NEXT: vinsertf128 $1, 2464(%rdi), %ymm1, %ymm116136; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16137; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16138; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16139; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16140; AVX2-NEXT: vmovaps 2656(%rdi), %xmm016141; AVX2-NEXT: vinsertf128 $1, 2784(%rdi), %ymm0, %ymm016142; AVX2-NEXT: vmovaps 2592(%rdi), %xmm116143; AVX2-NEXT: vinsertf128 $1, 2720(%rdi), %ymm1, %ymm116144; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16145; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16146; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16147; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16148; AVX2-NEXT: vmovaps 2912(%rdi), %xmm016149; AVX2-NEXT: vinsertf128 $1, 3040(%rdi), %ymm0, %ymm016150; AVX2-NEXT: vmovaps 2848(%rdi), %xmm116151; AVX2-NEXT: vinsertf128 $1, 2976(%rdi), %ymm1, %ymm116152; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16153; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16154; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16155; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16156; AVX2-NEXT: vmovaps 3168(%rdi), %xmm016157; AVX2-NEXT: vinsertf128 $1, 3296(%rdi), %ymm0, %ymm016158; AVX2-NEXT: vmovaps 3104(%rdi), %xmm116159; AVX2-NEXT: vinsertf128 $1, 3232(%rdi), %ymm1, %ymm116160; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16161; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16162; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16163; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16164; AVX2-NEXT: vmovaps 3424(%rdi), %xmm016165; AVX2-NEXT: vinsertf128 $1, 3552(%rdi), %ymm0, %ymm016166; AVX2-NEXT: vmovaps 3360(%rdi), %xmm116167; AVX2-NEXT: vinsertf128 $1, 3488(%rdi), %ymm1, %ymm116168; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16169; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16170; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16171; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16172; AVX2-NEXT: vmovaps 3680(%rdi), %xmm016173; AVX2-NEXT: vinsertf128 $1, 3808(%rdi), %ymm0, %ymm016174; AVX2-NEXT: vmovaps 3616(%rdi), %xmm116175; AVX2-NEXT: vinsertf128 $1, 3744(%rdi), %ymm1, %ymm116176; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16177; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16178; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16179; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16180; AVX2-NEXT: vmovaps 3936(%rdi), %xmm016181; AVX2-NEXT: vinsertf128 $1, 4064(%rdi), %ymm0, %ymm016182; AVX2-NEXT: vmovaps 3872(%rdi), %xmm116183; AVX2-NEXT: vinsertf128 $1, 4000(%rdi), %ymm1, %ymm116184; AVX2-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16185; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16186; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16187; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16188; AVX2-NEXT: vmovaps 96(%rdi), %ymm216189; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16190; AVX2-NEXT: vmovaps 32(%rdi), %ymm316191; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16192; AVX2-NEXT: vmovaps 224(%rdi), %ymm116193; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16194; AVX2-NEXT: vmovaps 160(%rdi), %ymm016195; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16196; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16197; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16198; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16199; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16200; AVX2-NEXT: vmovaps 352(%rdi), %ymm216201; AVX2-NEXT: vmovups %ymm2, (%rsp) # 32-byte Spill16202; AVX2-NEXT: vmovaps 288(%rdi), %ymm316203; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16204; AVX2-NEXT: vmovaps 480(%rdi), %ymm116205; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16206; AVX2-NEXT: vmovaps 416(%rdi), %ymm016207; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16208; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16209; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16210; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16211; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16212; AVX2-NEXT: vmovaps 608(%rdi), %ymm216213; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16214; AVX2-NEXT: vmovaps 544(%rdi), %ymm316215; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16216; AVX2-NEXT: vmovaps 736(%rdi), %ymm116217; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16218; AVX2-NEXT: vmovaps 672(%rdi), %ymm016219; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16220; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16221; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16222; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16223; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16224; AVX2-NEXT: vmovaps 864(%rdi), %ymm216225; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16226; AVX2-NEXT: vmovaps 800(%rdi), %ymm316227; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16228; AVX2-NEXT: vmovaps 992(%rdi), %ymm116229; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16230; AVX2-NEXT: vmovaps 928(%rdi), %ymm016231; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16232; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16233; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16234; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16235; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16236; AVX2-NEXT: vmovaps 1120(%rdi), %ymm216237; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16238; AVX2-NEXT: vmovaps 1056(%rdi), %ymm316239; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16240; AVX2-NEXT: vmovaps 1248(%rdi), %ymm116241; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16242; AVX2-NEXT: vmovaps 1184(%rdi), %ymm016243; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16244; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16245; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16246; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16247; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16248; AVX2-NEXT: vmovaps 1376(%rdi), %ymm216249; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16250; AVX2-NEXT: vmovaps 1312(%rdi), %ymm316251; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16252; AVX2-NEXT: vmovaps 1504(%rdi), %ymm116253; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16254; AVX2-NEXT: vmovaps 1440(%rdi), %ymm016255; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16256; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16257; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16258; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16259; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16260; AVX2-NEXT: vmovaps 1632(%rdi), %ymm216261; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16262; AVX2-NEXT: vmovaps 1568(%rdi), %ymm316263; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16264; AVX2-NEXT: vmovaps 1760(%rdi), %ymm116265; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16266; AVX2-NEXT: vmovaps 1696(%rdi), %ymm016267; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16268; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16269; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16270; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16271; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16272; AVX2-NEXT: vmovaps 1888(%rdi), %ymm216273; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16274; AVX2-NEXT: vmovaps 1824(%rdi), %ymm316275; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16276; AVX2-NEXT: vmovaps 2016(%rdi), %ymm116277; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16278; AVX2-NEXT: vmovaps 1952(%rdi), %ymm016279; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16280; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16281; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16282; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16283; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16284; AVX2-NEXT: vmovaps 2144(%rdi), %ymm216285; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16286; AVX2-NEXT: vmovaps 2080(%rdi), %ymm316287; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16288; AVX2-NEXT: vmovaps 2272(%rdi), %ymm116289; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16290; AVX2-NEXT: vmovaps 2208(%rdi), %ymm016291; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16292; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16293; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16294; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16295; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16296; AVX2-NEXT: vmovaps 2400(%rdi), %ymm216297; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16298; AVX2-NEXT: vmovaps 2336(%rdi), %ymm316299; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16300; AVX2-NEXT: vmovaps 2528(%rdi), %ymm116301; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16302; AVX2-NEXT: vmovaps 2464(%rdi), %ymm016303; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16304; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16305; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16306; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16307; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16308; AVX2-NEXT: vmovaps 2656(%rdi), %ymm216309; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16310; AVX2-NEXT: vmovaps 2592(%rdi), %ymm316311; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16312; AVX2-NEXT: vmovaps 2784(%rdi), %ymm116313; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16314; AVX2-NEXT: vmovaps 2720(%rdi), %ymm016315; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16316; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16317; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16318; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16319; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16320; AVX2-NEXT: vmovaps 2912(%rdi), %ymm216321; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16322; AVX2-NEXT: vmovaps 2848(%rdi), %ymm316323; AVX2-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16324; AVX2-NEXT: vmovaps 3040(%rdi), %ymm116325; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16326; AVX2-NEXT: vmovaps 2976(%rdi), %ymm016327; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16328; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]16329; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16330; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16331; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16332; AVX2-NEXT: vmovaps 3168(%rdi), %ymm216333; AVX2-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16334; AVX2-NEXT: vmovaps 3104(%rdi), %ymm116335; AVX2-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16336; AVX2-NEXT: vmovaps 3296(%rdi), %ymm1416337; AVX2-NEXT: vmovaps 3232(%rdi), %ymm1316338; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm13[0],ymm14[0],ymm13[2],ymm14[2]16339; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]16340; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16341; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16342; AVX2-NEXT: vmovaps 3424(%rdi), %ymm1216343; AVX2-NEXT: vmovaps 3360(%rdi), %ymm1116344; AVX2-NEXT: vmovaps 3552(%rdi), %ymm1016345; AVX2-NEXT: vmovaps 3488(%rdi), %ymm916346; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm9[0],ymm10[0],ymm9[2],ymm10[2]16347; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm11[0],ymm12[0],ymm11[2],ymm12[2]16348; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16349; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16350; AVX2-NEXT: vmovaps 3680(%rdi), %ymm816351; AVX2-NEXT: vmovaps 3616(%rdi), %ymm716352; AVX2-NEXT: vmovaps 3808(%rdi), %ymm616353; AVX2-NEXT: vmovaps 3744(%rdi), %ymm516354; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm5[0],ymm6[0],ymm5[2],ymm6[2]16355; AVX2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm7[0],ymm8[0],ymm7[2],ymm8[2]16356; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16357; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16358; AVX2-NEXT: vmovaps 3936(%rdi), %ymm416359; AVX2-NEXT: vmovaps 3872(%rdi), %ymm316360; AVX2-NEXT: vmovaps 4064(%rdi), %ymm216361; AVX2-NEXT: vmovaps 4000(%rdi), %ymm116362; AVX2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm1[0],ymm2[0],ymm1[2],ymm2[2]16363; AVX2-NEXT: vunpcklpd {{.*#+}} ymm15 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]16364; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16365; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16366; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16367; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16368; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16369; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16370; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16371; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16372; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16373; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16374; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16375; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16376; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16377; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16378; AVX2-NEXT: vunpckhpd (%rsp), %ymm15, %ymm15 # 32-byte Folded Reload16379; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16380; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16381; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16382; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16383; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16384; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16385; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16386; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16387; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16388; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16389; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16390; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16391; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16392; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16393; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16394; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16395; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16396; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16397; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16398; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16399; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16400; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16401; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16402; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16403; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16404; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16405; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16406; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16407; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16408; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16409; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16410; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16411; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16412; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16413; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16414; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16415; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16416; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16417; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16418; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16419; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16420; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16421; AVX2-NEXT: vmovups %ymm0, (%rsp) # 32-byte Spill16422; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16423; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16424; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16425; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16426; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16427; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16428; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16429; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16430; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16431; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16432; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16433; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16434; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16435; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16436; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16437; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16438; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16439; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16440; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16441; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16442; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16443; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16444; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16445; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16446; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16447; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16448; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16449; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16450; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16451; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16452; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm15[2,3],ymm0[2,3]16453; AVX2-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16454; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16455; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload16456; AVX2-NEXT: # ymm0 = ymm0[1],mem[1],ymm0[3],mem[3]16457; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload16458; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm15 # 32-byte Folded Reload16459; AVX2-NEXT: # ymm15 = ymm15[1],mem[1],ymm15[3],mem[3]16460; AVX2-NEXT: vperm2f128 {{.*#+}} ymm15 = ymm15[2,3],ymm0[2,3]16461; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm13[1],ymm14[1],ymm13[3],ymm14[3]16462; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload16463; AVX2-NEXT: vunpckhpd {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm13 # 32-byte Folded Reload16464; AVX2-NEXT: # ymm13 = ymm13[1],mem[1],ymm13[3],mem[3]16465; AVX2-NEXT: vperm2f128 {{.*#+}} ymm13 = ymm13[2,3],ymm0[2,3]16466; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm9[1],ymm10[1],ymm9[3],ymm10[3]16467; AVX2-NEXT: vunpckhpd {{.*#+}} ymm9 = ymm11[1],ymm12[1],ymm11[3],ymm12[3]16468; AVX2-NEXT: vperm2f128 {{.*#+}} ymm9 = ymm9[2,3],ymm0[2,3]16469; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm5[1],ymm6[1],ymm5[3],ymm6[3]16470; AVX2-NEXT: vunpckhpd {{.*#+}} ymm5 = ymm7[1],ymm8[1],ymm7[3],ymm8[3]16471; AVX2-NEXT: vperm2f128 {{.*#+}} ymm5 = ymm5[2,3],ymm0[2,3]16472; AVX2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm2[1],ymm1[3],ymm2[3]16473; AVX2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]16474; AVX2-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[2,3]16475; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16476; AVX2-NEXT: vmovaps %ymm1, 448(%rsi)16477; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16478; AVX2-NEXT: vmovaps %ymm1, 384(%rsi)16479; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16480; AVX2-NEXT: vmovaps %ymm1, 320(%rsi)16481; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16482; AVX2-NEXT: vmovaps %ymm1, 256(%rsi)16483; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16484; AVX2-NEXT: vmovaps %ymm1, 192(%rsi)16485; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16486; AVX2-NEXT: vmovaps %ymm1, 128(%rsi)16487; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16488; AVX2-NEXT: vmovaps %ymm1, 64(%rsi)16489; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16490; AVX2-NEXT: vmovaps %ymm1, (%rsi)16491; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16492; AVX2-NEXT: vmovaps %ymm1, 480(%rsi)16493; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16494; AVX2-NEXT: vmovaps %ymm1, 416(%rsi)16495; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16496; AVX2-NEXT: vmovaps %ymm1, 352(%rsi)16497; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16498; AVX2-NEXT: vmovaps %ymm1, 288(%rsi)16499; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16500; AVX2-NEXT: vmovaps %ymm1, 224(%rsi)16501; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16502; AVX2-NEXT: vmovaps %ymm1, 160(%rsi)16503; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16504; AVX2-NEXT: vmovaps %ymm1, 96(%rsi)16505; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16506; AVX2-NEXT: vmovaps %ymm1, 32(%rsi)16507; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16508; AVX2-NEXT: vmovaps %ymm1, 448(%rdx)16509; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16510; AVX2-NEXT: vmovaps %ymm1, 384(%rdx)16511; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16512; AVX2-NEXT: vmovaps %ymm1, 320(%rdx)16513; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16514; AVX2-NEXT: vmovaps %ymm1, 256(%rdx)16515; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16516; AVX2-NEXT: vmovaps %ymm1, 192(%rdx)16517; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16518; AVX2-NEXT: vmovaps %ymm1, 128(%rdx)16519; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16520; AVX2-NEXT: vmovaps %ymm1, 64(%rdx)16521; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16522; AVX2-NEXT: vmovaps %ymm1, (%rdx)16523; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16524; AVX2-NEXT: vmovaps %ymm1, 480(%rdx)16525; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16526; AVX2-NEXT: vmovaps %ymm1, 416(%rdx)16527; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16528; AVX2-NEXT: vmovaps %ymm1, 352(%rdx)16529; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16530; AVX2-NEXT: vmovaps %ymm1, 288(%rdx)16531; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16532; AVX2-NEXT: vmovaps %ymm1, 224(%rdx)16533; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16534; AVX2-NEXT: vmovaps %ymm1, 160(%rdx)16535; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16536; AVX2-NEXT: vmovaps %ymm1, 96(%rdx)16537; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16538; AVX2-NEXT: vmovaps %ymm1, 32(%rdx)16539; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16540; AVX2-NEXT: vmovaps %ymm1, 448(%rcx)16541; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16542; AVX2-NEXT: vmovaps %ymm1, 384(%rcx)16543; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16544; AVX2-NEXT: vmovaps %ymm1, 320(%rcx)16545; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16546; AVX2-NEXT: vmovaps %ymm1, 256(%rcx)16547; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16548; AVX2-NEXT: vmovaps %ymm1, 192(%rcx)16549; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16550; AVX2-NEXT: vmovaps %ymm1, 128(%rcx)16551; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16552; AVX2-NEXT: vmovaps %ymm1, 64(%rcx)16553; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16554; AVX2-NEXT: vmovaps %ymm1, (%rcx)16555; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16556; AVX2-NEXT: vmovaps %ymm1, 480(%rcx)16557; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16558; AVX2-NEXT: vmovaps %ymm1, 416(%rcx)16559; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16560; AVX2-NEXT: vmovaps %ymm1, 352(%rcx)16561; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16562; AVX2-NEXT: vmovaps %ymm1, 288(%rcx)16563; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16564; AVX2-NEXT: vmovaps %ymm1, 224(%rcx)16565; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16566; AVX2-NEXT: vmovaps %ymm1, 160(%rcx)16567; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16568; AVX2-NEXT: vmovaps %ymm1, 96(%rcx)16569; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16570; AVX2-NEXT: vmovaps %ymm1, 32(%rcx)16571; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16572; AVX2-NEXT: vmovaps %ymm1, 480(%r8)16573; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16574; AVX2-NEXT: vmovaps %ymm1, 448(%r8)16575; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16576; AVX2-NEXT: vmovaps %ymm1, 416(%r8)16577; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16578; AVX2-NEXT: vmovaps %ymm1, 384(%r8)16579; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16580; AVX2-NEXT: vmovaps %ymm1, 352(%r8)16581; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16582; AVX2-NEXT: vmovaps %ymm1, 320(%r8)16583; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16584; AVX2-NEXT: vmovaps %ymm1, 288(%r8)16585; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16586; AVX2-NEXT: vmovaps %ymm1, 256(%r8)16587; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16588; AVX2-NEXT: vmovaps %ymm1, 224(%r8)16589; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16590; AVX2-NEXT: vmovaps %ymm1, 192(%r8)16591; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16592; AVX2-NEXT: vmovaps %ymm1, 160(%r8)16593; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16594; AVX2-NEXT: vmovaps %ymm1, 128(%r8)16595; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16596; AVX2-NEXT: vmovaps %ymm1, 96(%r8)16597; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16598; AVX2-NEXT: vmovaps %ymm1, 64(%r8)16599; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16600; AVX2-NEXT: vmovaps %ymm1, 32(%r8)16601; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16602; AVX2-NEXT: vmovaps %ymm1, (%r8)16603; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16604; AVX2-NEXT: vmovaps %ymm1, 480(%r9)16605; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16606; AVX2-NEXT: vmovaps %ymm1, 448(%r9)16607; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16608; AVX2-NEXT: vmovaps %ymm1, 416(%r9)16609; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16610; AVX2-NEXT: vmovaps %ymm1, 384(%r9)16611; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16612; AVX2-NEXT: vmovaps %ymm1, 352(%r9)16613; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16614; AVX2-NEXT: vmovaps %ymm1, 320(%r9)16615; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16616; AVX2-NEXT: vmovaps %ymm1, 288(%r9)16617; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16618; AVX2-NEXT: vmovaps %ymm1, 256(%r9)16619; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16620; AVX2-NEXT: vmovaps %ymm1, 224(%r9)16621; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16622; AVX2-NEXT: vmovaps %ymm1, 192(%r9)16623; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16624; AVX2-NEXT: vmovaps %ymm1, 160(%r9)16625; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16626; AVX2-NEXT: vmovaps %ymm1, 128(%r9)16627; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16628; AVX2-NEXT: vmovaps %ymm1, 96(%r9)16629; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16630; AVX2-NEXT: vmovaps %ymm1, 64(%r9)16631; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16632; AVX2-NEXT: vmovaps %ymm1, 32(%r9)16633; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16634; AVX2-NEXT: vmovaps %ymm1, (%r9)16635; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax16636; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16637; AVX2-NEXT: vmovaps %ymm1, 480(%rax)16638; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16639; AVX2-NEXT: vmovaps %ymm1, 448(%rax)16640; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16641; AVX2-NEXT: vmovaps %ymm1, 416(%rax)16642; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16643; AVX2-NEXT: vmovaps %ymm1, 384(%rax)16644; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16645; AVX2-NEXT: vmovaps %ymm1, 352(%rax)16646; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16647; AVX2-NEXT: vmovaps %ymm1, 320(%rax)16648; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16649; AVX2-NEXT: vmovaps %ymm1, 288(%rax)16650; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16651; AVX2-NEXT: vmovaps %ymm1, 256(%rax)16652; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16653; AVX2-NEXT: vmovaps %ymm1, 224(%rax)16654; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16655; AVX2-NEXT: vmovaps %ymm1, 192(%rax)16656; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16657; AVX2-NEXT: vmovaps %ymm1, 160(%rax)16658; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16659; AVX2-NEXT: vmovaps %ymm1, 128(%rax)16660; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16661; AVX2-NEXT: vmovaps %ymm1, 96(%rax)16662; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16663; AVX2-NEXT: vmovaps %ymm1, 64(%rax)16664; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16665; AVX2-NEXT: vmovaps %ymm1, 32(%rax)16666; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16667; AVX2-NEXT: vmovaps %ymm1, (%rax)16668; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax16669; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16670; AVX2-NEXT: vmovaps %ymm1, 480(%rax)16671; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16672; AVX2-NEXT: vmovaps %ymm1, 448(%rax)16673; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16674; AVX2-NEXT: vmovaps %ymm1, 416(%rax)16675; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16676; AVX2-NEXT: vmovaps %ymm1, 384(%rax)16677; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16678; AVX2-NEXT: vmovaps %ymm1, 352(%rax)16679; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16680; AVX2-NEXT: vmovaps %ymm1, 320(%rax)16681; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16682; AVX2-NEXT: vmovaps %ymm1, 288(%rax)16683; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16684; AVX2-NEXT: vmovaps %ymm1, 256(%rax)16685; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16686; AVX2-NEXT: vmovaps %ymm1, 224(%rax)16687; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16688; AVX2-NEXT: vmovaps %ymm1, 192(%rax)16689; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16690; AVX2-NEXT: vmovaps %ymm1, 160(%rax)16691; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16692; AVX2-NEXT: vmovaps %ymm1, 128(%rax)16693; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16694; AVX2-NEXT: vmovaps %ymm1, 96(%rax)16695; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16696; AVX2-NEXT: vmovaps %ymm1, 64(%rax)16697; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16698; AVX2-NEXT: vmovaps %ymm1, 32(%rax)16699; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload16700; AVX2-NEXT: vmovaps %ymm1, (%rax)16701; AVX2-NEXT: movq {{[0-9]+}}(%rsp), %rax16702; AVX2-NEXT: vmovaps %ymm0, 480(%rax)16703; AVX2-NEXT: vmovaps %ymm5, 448(%rax)16704; AVX2-NEXT: vmovaps %ymm9, 416(%rax)16705; AVX2-NEXT: vmovaps %ymm13, 384(%rax)16706; AVX2-NEXT: vmovaps %ymm15, 352(%rax)16707; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16708; AVX2-NEXT: vmovaps %ymm0, 320(%rax)16709; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16710; AVX2-NEXT: vmovaps %ymm0, 288(%rax)16711; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16712; AVX2-NEXT: vmovaps %ymm0, 256(%rax)16713; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16714; AVX2-NEXT: vmovaps %ymm0, 224(%rax)16715; AVX2-NEXT: vmovups (%rsp), %ymm0 # 32-byte Reload16716; AVX2-NEXT: vmovaps %ymm0, 192(%rax)16717; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16718; AVX2-NEXT: vmovaps %ymm0, 160(%rax)16719; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16720; AVX2-NEXT: vmovaps %ymm0, 128(%rax)16721; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16722; AVX2-NEXT: vmovaps %ymm0, 96(%rax)16723; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16724; AVX2-NEXT: vmovaps %ymm0, 64(%rax)16725; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16726; AVX2-NEXT: vmovaps %ymm0, 32(%rax)16727; AVX2-NEXT: vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload16728; AVX2-NEXT: vmovaps %ymm0, (%rax)16729; AVX2-NEXT: addq $5064, %rsp # imm = 0x13C816730; AVX2-NEXT: vzeroupper16731; AVX2-NEXT: retq16732;16733; AVX2-FP-LABEL: load_i64_stride8_vf64:16734; AVX2-FP: # %bb.0:16735; AVX2-FP-NEXT: subq $5064, %rsp # imm = 0x13C816736; AVX2-FP-NEXT: vmovaps 320(%rdi), %xmm016737; AVX2-FP-NEXT: vinsertf128 $1, 448(%rdi), %ymm0, %ymm016738; AVX2-FP-NEXT: vmovaps 256(%rdi), %xmm116739; AVX2-FP-NEXT: vinsertf128 $1, 384(%rdi), %ymm1, %ymm116740; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16741; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16742; AVX2-FP-NEXT: vmovaps 832(%rdi), %xmm216743; AVX2-FP-NEXT: vinsertf128 $1, 960(%rdi), %ymm2, %ymm216744; AVX2-FP-NEXT: vmovaps 768(%rdi), %xmm316745; AVX2-FP-NEXT: vinsertf128 $1, 896(%rdi), %ymm3, %ymm316746; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm4 = ymm3[0],ymm2[0],ymm3[2],ymm2[2]16747; AVX2-FP-NEXT: vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16748; AVX2-FP-NEXT: vmovaps 1344(%rdi), %xmm416749; AVX2-FP-NEXT: vinsertf128 $1, 1472(%rdi), %ymm4, %ymm416750; AVX2-FP-NEXT: vmovaps 1280(%rdi), %xmm516751; AVX2-FP-NEXT: vinsertf128 $1, 1408(%rdi), %ymm5, %ymm516752; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm5[0],ymm4[0],ymm5[2],ymm4[2]16753; AVX2-FP-NEXT: vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16754; AVX2-FP-NEXT: vmovaps 1856(%rdi), %xmm616755; AVX2-FP-NEXT: vinsertf128 $1, 1984(%rdi), %ymm6, %ymm616756; AVX2-FP-NEXT: vmovaps 1792(%rdi), %xmm716757; AVX2-FP-NEXT: vinsertf128 $1, 1920(%rdi), %ymm7, %ymm716758; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm8 = ymm7[0],ymm6[0],ymm7[2],ymm6[2]16759; AVX2-FP-NEXT: vmovups %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16760; AVX2-FP-NEXT: vmovaps 2368(%rdi), %xmm816761; AVX2-FP-NEXT: vinsertf128 $1, 2496(%rdi), %ymm8, %ymm816762; AVX2-FP-NEXT: vmovaps 2304(%rdi), %xmm916763; AVX2-FP-NEXT: vinsertf128 $1, 2432(%rdi), %ymm9, %ymm916764; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm10 = ymm9[0],ymm8[0],ymm9[2],ymm8[2]16765; AVX2-FP-NEXT: vmovups %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16766; AVX2-FP-NEXT: vmovaps 2880(%rdi), %xmm1016767; AVX2-FP-NEXT: vinsertf128 $1, 3008(%rdi), %ymm10, %ymm1016768; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16769; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16770; AVX2-FP-NEXT: vmovaps 2816(%rdi), %xmm016771; AVX2-FP-NEXT: vinsertf128 $1, 2944(%rdi), %ymm0, %ymm016772; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm3[1],ymm2[1],ymm3[3],ymm2[3]16773; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16774; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm0[0],ymm10[0],ymm0[2],ymm10[2]16775; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16776; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm5[1],ymm4[1],ymm5[3],ymm4[3]16777; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16778; AVX2-FP-NEXT: vmovaps 3392(%rdi), %xmm116779; AVX2-FP-NEXT: vinsertf128 $1, 3520(%rdi), %ymm1, %ymm116780; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm7[1],ymm6[1],ymm7[3],ymm6[3]16781; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16782; AVX2-FP-NEXT: vmovaps 3328(%rdi), %xmm216783; AVX2-FP-NEXT: vinsertf128 $1, 3456(%rdi), %ymm2, %ymm216784; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm3 = ymm9[1],ymm8[1],ymm9[3],ymm8[3]16785; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16786; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm2[0],ymm1[0],ymm2[2],ymm1[2]16787; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16788; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm10[1],ymm0[3],ymm10[3]16789; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16790; AVX2-FP-NEXT: vmovaps 3904(%rdi), %xmm016791; AVX2-FP-NEXT: vinsertf128 $1, 4032(%rdi), %ymm0, %ymm016792; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm2[1],ymm1[1],ymm2[3],ymm1[3]16793; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16794; AVX2-FP-NEXT: vmovaps 3840(%rdi), %xmm116795; AVX2-FP-NEXT: vinsertf128 $1, 3968(%rdi), %ymm1, %ymm116796; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16797; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16798; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16799; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16800; AVX2-FP-NEXT: vmovaps 64(%rdi), %xmm016801; AVX2-FP-NEXT: vinsertf128 $1, 192(%rdi), %ymm0, %ymm016802; AVX2-FP-NEXT: vmovaps (%rdi), %xmm116803; AVX2-FP-NEXT: vinsertf128 $1, 128(%rdi), %ymm1, %ymm116804; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16805; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16806; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16807; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16808; AVX2-FP-NEXT: vmovaps 576(%rdi), %xmm016809; AVX2-FP-NEXT: vinsertf128 $1, 704(%rdi), %ymm0, %ymm016810; AVX2-FP-NEXT: vmovaps 512(%rdi), %xmm116811; AVX2-FP-NEXT: vinsertf128 $1, 640(%rdi), %ymm1, %ymm116812; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16813; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16814; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16815; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16816; AVX2-FP-NEXT: vmovaps 1088(%rdi), %xmm016817; AVX2-FP-NEXT: vinsertf128 $1, 1216(%rdi), %ymm0, %ymm016818; AVX2-FP-NEXT: vmovaps 1024(%rdi), %xmm116819; AVX2-FP-NEXT: vinsertf128 $1, 1152(%rdi), %ymm1, %ymm116820; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16821; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16822; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16823; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16824; AVX2-FP-NEXT: vmovaps 1600(%rdi), %xmm016825; AVX2-FP-NEXT: vinsertf128 $1, 1728(%rdi), %ymm0, %ymm016826; AVX2-FP-NEXT: vmovaps 1536(%rdi), %xmm116827; AVX2-FP-NEXT: vinsertf128 $1, 1664(%rdi), %ymm1, %ymm116828; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16829; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16830; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16831; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16832; AVX2-FP-NEXT: vmovaps 2112(%rdi), %xmm016833; AVX2-FP-NEXT: vinsertf128 $1, 2240(%rdi), %ymm0, %ymm016834; AVX2-FP-NEXT: vmovaps 2048(%rdi), %xmm116835; AVX2-FP-NEXT: vinsertf128 $1, 2176(%rdi), %ymm1, %ymm116836; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16837; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16838; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16839; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16840; AVX2-FP-NEXT: vmovaps 2624(%rdi), %xmm016841; AVX2-FP-NEXT: vinsertf128 $1, 2752(%rdi), %ymm0, %ymm016842; AVX2-FP-NEXT: vmovaps 2560(%rdi), %xmm116843; AVX2-FP-NEXT: vinsertf128 $1, 2688(%rdi), %ymm1, %ymm116844; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16845; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16846; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16847; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16848; AVX2-FP-NEXT: vmovaps 3136(%rdi), %xmm016849; AVX2-FP-NEXT: vinsertf128 $1, 3264(%rdi), %ymm0, %ymm016850; AVX2-FP-NEXT: vmovaps 3072(%rdi), %xmm116851; AVX2-FP-NEXT: vinsertf128 $1, 3200(%rdi), %ymm1, %ymm116852; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16853; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16854; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16855; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16856; AVX2-FP-NEXT: vmovaps 3648(%rdi), %xmm016857; AVX2-FP-NEXT: vinsertf128 $1, 3776(%rdi), %ymm0, %ymm016858; AVX2-FP-NEXT: vmovaps 3584(%rdi), %xmm116859; AVX2-FP-NEXT: vinsertf128 $1, 3712(%rdi), %ymm1, %ymm116860; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm1[0],ymm0[0],ymm1[2],ymm0[2]16861; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16862; AVX2-FP-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm1[1],ymm0[1],ymm1[3],ymm0[3]16863; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16864; AVX2-FP-NEXT: vmovaps 320(%rdi), %ymm216865; AVX2-FP-NEXT: vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16866; AVX2-FP-NEXT: vmovaps 256(%rdi), %ymm316867; AVX2-FP-NEXT: vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16868; AVX2-FP-NEXT: vmovaps 448(%rdi), %ymm116869; AVX2-FP-NEXT: vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16870; AVX2-FP-NEXT: vmovaps 384(%rdi), %ymm016871; AVX2-FP-NEXT: vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill16872; AVX2-FP-NEXT: vunpcklpd {{.*#+}} ymm0 = ymmFile truncated to the first 1 MiB.