brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 MiB · b249950 Raw
14863 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_i16_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_i16_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:    movdqa (%rdi), %xmm025; SSE-NEXT:    movdqa 16(%rdi), %xmm126; SSE-NEXT:    movdqa %xmm0, %xmm227; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]28; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm2[1,1,1,1]29; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm2[2,3,2,3]30; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm2[3,3,3,3]31; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]32; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]33; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm0[2,3,2,3]34; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm0[3,3,3,3]35; SSE-NEXT:    movd %xmm2, (%rsi)36; SSE-NEXT:    movd %xmm3, (%rdx)37; SSE-NEXT:    movd %xmm4, (%rcx)38; SSE-NEXT:    movd %xmm5, (%r8)39; SSE-NEXT:    movd %xmm0, (%r9)40; SSE-NEXT:    movd %xmm1, (%r11)41; SSE-NEXT:    movd %xmm6, (%r10)42; SSE-NEXT:    movd %xmm7, (%rax)43; SSE-NEXT:    retq44;45; AVX-LABEL: load_i16_stride8_vf2:46; AVX:       # %bb.0:47; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax48; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r1049; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r1150; AVX-NEXT:    vmovdqa (%rdi), %xmm051; AVX-NEXT:    vmovdqa 16(%rdi), %xmm152; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]53; AVX-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]54; AVX-NEXT:    vmovd %xmm2, (%rsi)55; AVX-NEXT:    vpextrd $1, %xmm2, (%rdx)56; AVX-NEXT:    vpextrd $2, %xmm2, (%rcx)57; AVX-NEXT:    vpextrd $3, %xmm2, (%r8)58; AVX-NEXT:    vmovd %xmm0, (%r9)59; AVX-NEXT:    vpextrd $1, %xmm0, (%r11)60; AVX-NEXT:    vpextrd $2, %xmm0, (%r10)61; AVX-NEXT:    vpextrd $3, %xmm0, (%rax)62; AVX-NEXT:    retq63;64; AVX2-LABEL: load_i16_stride8_vf2:65; AVX2:       # %bb.0:66; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax67; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r1068; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r1169; AVX2-NEXT:    vmovdqa (%rdi), %xmm070; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm171; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]72; AVX2-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]73; AVX2-NEXT:    vmovd %xmm2, (%rsi)74; AVX2-NEXT:    vpextrd $1, %xmm2, (%rdx)75; AVX2-NEXT:    vpextrd $2, %xmm2, (%rcx)76; AVX2-NEXT:    vpextrd $3, %xmm2, (%r8)77; AVX2-NEXT:    vmovd %xmm0, (%r9)78; AVX2-NEXT:    vpextrd $1, %xmm0, (%r11)79; AVX2-NEXT:    vpextrd $2, %xmm0, (%r10)80; AVX2-NEXT:    vpextrd $3, %xmm0, (%rax)81; AVX2-NEXT:    retq82;83; AVX2-FP-LABEL: load_i16_stride8_vf2:84; AVX2-FP:       # %bb.0:85; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax86; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r1087; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r1188; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm089; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm190; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]91; AVX2-FP-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]92; AVX2-FP-NEXT:    vmovd %xmm2, (%rsi)93; AVX2-FP-NEXT:    vpextrd $1, %xmm2, (%rdx)94; AVX2-FP-NEXT:    vpextrd $2, %xmm2, (%rcx)95; AVX2-FP-NEXT:    vpextrd $3, %xmm2, (%r8)96; AVX2-FP-NEXT:    vmovd %xmm0, (%r9)97; AVX2-FP-NEXT:    vpextrd $1, %xmm0, (%r11)98; AVX2-FP-NEXT:    vpextrd $2, %xmm0, (%r10)99; AVX2-FP-NEXT:    vpextrd $3, %xmm0, (%rax)100; AVX2-FP-NEXT:    retq101;102; AVX2-FCP-LABEL: load_i16_stride8_vf2:103; AVX2-FCP:       # %bb.0:104; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax105; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10106; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11107; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm0108; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1109; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]110; AVX2-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]111; AVX2-FCP-NEXT:    vmovd %xmm2, (%rsi)112; AVX2-FCP-NEXT:    vpextrd $1, %xmm2, (%rdx)113; AVX2-FCP-NEXT:    vpextrd $2, %xmm2, (%rcx)114; AVX2-FCP-NEXT:    vpextrd $3, %xmm2, (%r8)115; AVX2-FCP-NEXT:    vmovd %xmm0, (%r9)116; AVX2-FCP-NEXT:    vpextrd $1, %xmm0, (%r11)117; AVX2-FCP-NEXT:    vpextrd $2, %xmm0, (%r10)118; AVX2-FCP-NEXT:    vpextrd $3, %xmm0, (%rax)119; AVX2-FCP-NEXT:    retq120;121; AVX512-LABEL: load_i16_stride8_vf2:122; AVX512:       # %bb.0:123; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax124; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r10125; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r11126; AVX512-NEXT:    vmovdqa (%rdi), %xmm0127; AVX512-NEXT:    vmovdqa 16(%rdi), %xmm1128; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]129; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]130; AVX512-NEXT:    vmovd %xmm2, (%rsi)131; AVX512-NEXT:    vpextrd $1, %xmm2, (%rdx)132; AVX512-NEXT:    vpextrd $2, %xmm2, (%rcx)133; AVX512-NEXT:    vpextrd $3, %xmm2, (%r8)134; AVX512-NEXT:    vmovd %xmm0, (%r9)135; AVX512-NEXT:    vpextrd $1, %xmm0, (%r11)136; AVX512-NEXT:    vpextrd $2, %xmm0, (%r10)137; AVX512-NEXT:    vpextrd $3, %xmm0, (%rax)138; AVX512-NEXT:    retq139;140; AVX512-FCP-LABEL: load_i16_stride8_vf2:141; AVX512-FCP:       # %bb.0:142; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax143; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10144; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11145; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm0146; AVX512-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1147; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]148; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]149; AVX512-FCP-NEXT:    vmovd %xmm2, (%rsi)150; AVX512-FCP-NEXT:    vpextrd $1, %xmm2, (%rdx)151; AVX512-FCP-NEXT:    vpextrd $2, %xmm2, (%rcx)152; AVX512-FCP-NEXT:    vpextrd $3, %xmm2, (%r8)153; AVX512-FCP-NEXT:    vmovd %xmm0, (%r9)154; AVX512-FCP-NEXT:    vpextrd $1, %xmm0, (%r11)155; AVX512-FCP-NEXT:    vpextrd $2, %xmm0, (%r10)156; AVX512-FCP-NEXT:    vpextrd $3, %xmm0, (%rax)157; AVX512-FCP-NEXT:    retq158;159; AVX512DQ-LABEL: load_i16_stride8_vf2:160; AVX512DQ:       # %bb.0:161; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax162; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r10163; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r11164; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm0165; AVX512DQ-NEXT:    vmovdqa 16(%rdi), %xmm1166; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]167; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]168; AVX512DQ-NEXT:    vmovd %xmm2, (%rsi)169; AVX512DQ-NEXT:    vpextrd $1, %xmm2, (%rdx)170; AVX512DQ-NEXT:    vpextrd $2, %xmm2, (%rcx)171; AVX512DQ-NEXT:    vpextrd $3, %xmm2, (%r8)172; AVX512DQ-NEXT:    vmovd %xmm0, (%r9)173; AVX512DQ-NEXT:    vpextrd $1, %xmm0, (%r11)174; AVX512DQ-NEXT:    vpextrd $2, %xmm0, (%r10)175; AVX512DQ-NEXT:    vpextrd $3, %xmm0, (%rax)176; AVX512DQ-NEXT:    retq177;178; AVX512DQ-FCP-LABEL: load_i16_stride8_vf2:179; AVX512DQ-FCP:       # %bb.0:180; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax181; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10182; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11183; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm0184; AVX512DQ-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1185; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]186; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]187; AVX512DQ-FCP-NEXT:    vmovd %xmm2, (%rsi)188; AVX512DQ-FCP-NEXT:    vpextrd $1, %xmm2, (%rdx)189; AVX512DQ-FCP-NEXT:    vpextrd $2, %xmm2, (%rcx)190; AVX512DQ-FCP-NEXT:    vpextrd $3, %xmm2, (%r8)191; AVX512DQ-FCP-NEXT:    vmovd %xmm0, (%r9)192; AVX512DQ-FCP-NEXT:    vpextrd $1, %xmm0, (%r11)193; AVX512DQ-FCP-NEXT:    vpextrd $2, %xmm0, (%r10)194; AVX512DQ-FCP-NEXT:    vpextrd $3, %xmm0, (%rax)195; AVX512DQ-FCP-NEXT:    retq196;197; AVX512BW-LABEL: load_i16_stride8_vf2:198; AVX512BW:       # %bb.0:199; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax200; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10201; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r11202; AVX512BW-NEXT:    vmovdqa (%rdi), %xmm0203; AVX512BW-NEXT:    vmovdqa 16(%rdi), %xmm1204; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]205; AVX512BW-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]206; AVX512BW-NEXT:    vmovd %xmm2, (%rsi)207; AVX512BW-NEXT:    vpextrd $1, %xmm2, (%rdx)208; AVX512BW-NEXT:    vpextrd $2, %xmm2, (%rcx)209; AVX512BW-NEXT:    vpextrd $3, %xmm2, (%r8)210; AVX512BW-NEXT:    vmovd %xmm0, (%r9)211; AVX512BW-NEXT:    vpextrd $1, %xmm0, (%r11)212; AVX512BW-NEXT:    vpextrd $2, %xmm0, (%r10)213; AVX512BW-NEXT:    vpextrd $3, %xmm0, (%rax)214; AVX512BW-NEXT:    retq215;216; AVX512BW-FCP-LABEL: load_i16_stride8_vf2:217; AVX512BW-FCP:       # %bb.0:218; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax219; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10220; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11221; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %xmm0222; AVX512BW-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1223; AVX512BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]224; AVX512BW-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]225; AVX512BW-FCP-NEXT:    vmovd %xmm2, (%rsi)226; AVX512BW-FCP-NEXT:    vpextrd $1, %xmm2, (%rdx)227; AVX512BW-FCP-NEXT:    vpextrd $2, %xmm2, (%rcx)228; AVX512BW-FCP-NEXT:    vpextrd $3, %xmm2, (%r8)229; AVX512BW-FCP-NEXT:    vmovd %xmm0, (%r9)230; AVX512BW-FCP-NEXT:    vpextrd $1, %xmm0, (%r11)231; AVX512BW-FCP-NEXT:    vpextrd $2, %xmm0, (%r10)232; AVX512BW-FCP-NEXT:    vpextrd $3, %xmm0, (%rax)233; AVX512BW-FCP-NEXT:    retq234;235; AVX512DQ-BW-LABEL: load_i16_stride8_vf2:236; AVX512DQ-BW:       # %bb.0:237; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax238; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10239; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r11240; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %xmm0241; AVX512DQ-BW-NEXT:    vmovdqa 16(%rdi), %xmm1242; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]243; AVX512DQ-BW-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]244; AVX512DQ-BW-NEXT:    vmovd %xmm2, (%rsi)245; AVX512DQ-BW-NEXT:    vpextrd $1, %xmm2, (%rdx)246; AVX512DQ-BW-NEXT:    vpextrd $2, %xmm2, (%rcx)247; AVX512DQ-BW-NEXT:    vpextrd $3, %xmm2, (%r8)248; AVX512DQ-BW-NEXT:    vmovd %xmm0, (%r9)249; AVX512DQ-BW-NEXT:    vpextrd $1, %xmm0, (%r11)250; AVX512DQ-BW-NEXT:    vpextrd $2, %xmm0, (%r10)251; AVX512DQ-BW-NEXT:    vpextrd $3, %xmm0, (%rax)252; AVX512DQ-BW-NEXT:    retq253;254; AVX512DQ-BW-FCP-LABEL: load_i16_stride8_vf2:255; AVX512DQ-BW-FCP:       # %bb.0:256; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax257; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10258; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11259; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %xmm0260; AVX512DQ-BW-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1261; AVX512DQ-BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]262; AVX512DQ-BW-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]263; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm2, (%rsi)264; AVX512DQ-BW-FCP-NEXT:    vpextrd $1, %xmm2, (%rdx)265; AVX512DQ-BW-FCP-NEXT:    vpextrd $2, %xmm2, (%rcx)266; AVX512DQ-BW-FCP-NEXT:    vpextrd $3, %xmm2, (%r8)267; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm0, (%r9)268; AVX512DQ-BW-FCP-NEXT:    vpextrd $1, %xmm0, (%r11)269; AVX512DQ-BW-FCP-NEXT:    vpextrd $2, %xmm0, (%r10)270; AVX512DQ-BW-FCP-NEXT:    vpextrd $3, %xmm0, (%rax)271; AVX512DQ-BW-FCP-NEXT:    retq272  %wide.vec = load <16 x i16>, ptr %in.vec, align 64273  %strided.vec0 = shufflevector <16 x i16> %wide.vec, <16 x i16> poison, <2 x i32> <i32 0, i32 8>274  %strided.vec1 = shufflevector <16 x i16> %wide.vec, <16 x i16> poison, <2 x i32> <i32 1, i32 9>275  %strided.vec2 = shufflevector <16 x i16> %wide.vec, <16 x i16> poison, <2 x i32> <i32 2, i32 10>276  %strided.vec3 = shufflevector <16 x i16> %wide.vec, <16 x i16> poison, <2 x i32> <i32 3, i32 11>277  %strided.vec4 = shufflevector <16 x i16> %wide.vec, <16 x i16> poison, <2 x i32> <i32 4, i32 12>278  %strided.vec5 = shufflevector <16 x i16> %wide.vec, <16 x i16> poison, <2 x i32> <i32 5, i32 13>279  %strided.vec6 = shufflevector <16 x i16> %wide.vec, <16 x i16> poison, <2 x i32> <i32 6, i32 14>280  %strided.vec7 = shufflevector <16 x i16> %wide.vec, <16 x i16> poison, <2 x i32> <i32 7, i32 15>281  store <2 x i16> %strided.vec0, ptr %out.vec0, align 64282  store <2 x i16> %strided.vec1, ptr %out.vec1, align 64283  store <2 x i16> %strided.vec2, ptr %out.vec2, align 64284  store <2 x i16> %strided.vec3, ptr %out.vec3, align 64285  store <2 x i16> %strided.vec4, ptr %out.vec4, align 64286  store <2 x i16> %strided.vec5, ptr %out.vec5, align 64287  store <2 x i16> %strided.vec6, ptr %out.vec6, align 64288  store <2 x i16> %strided.vec7, ptr %out.vec7, align 64289  ret void290}291 292define void @load_i16_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 {293; SSE-LABEL: load_i16_stride8_vf4:294; SSE:       # %bb.0:295; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax296; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %r10297; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %r11298; SSE-NEXT:    movdqa (%rdi), %xmm0299; SSE-NEXT:    movdqa 16(%rdi), %xmm2300; SSE-NEXT:    movdqa 32(%rdi), %xmm1301; SSE-NEXT:    movdqa 48(%rdi), %xmm3302; SSE-NEXT:    movdqa %xmm1, %xmm4303; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]304; SSE-NEXT:    movdqa %xmm0, %xmm5305; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1],xmm5[2],xmm2[2],xmm5[3],xmm2[3]306; SSE-NEXT:    movdqa %xmm5, %xmm6307; SSE-NEXT:    punpckldq {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1]308; SSE-NEXT:    movq %xmm6, (%rsi)309; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm4[1,1,1,1]310; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm5[1,1,1,1]311; SSE-NEXT:    punpckldq {{.*#+}} xmm7 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]312; SSE-NEXT:    movq %xmm7, (%rdx)313; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm5[3,3,3,3]314; SSE-NEXT:    punpckhdq {{.*#+}} xmm5 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]315; SSE-NEXT:    movq %xmm5, (%rcx)316; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[3,3,3,3]317; SSE-NEXT:    punpckldq {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1]318; SSE-NEXT:    movq %xmm6, (%r8)319; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm3[4],xmm1[5],xmm3[5],xmm1[6],xmm3[6],xmm1[7],xmm3[7]320; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]321; SSE-NEXT:    movdqa %xmm0, %xmm2322; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]323; SSE-NEXT:    movq %xmm2, (%r9)324; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm1[1,1,1,1]325; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm0[1,1,1,1]326; SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]327; SSE-NEXT:    movq %xmm3, (%r11)328; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm0[3,3,3,3]329; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm1[2],xmm0[3],xmm1[3]330; SSE-NEXT:    movq %xmm0, (%r10)331; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[3,3,3,3]332; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]333; SSE-NEXT:    movq %xmm2, (%rax)334; SSE-NEXT:    retq335;336; AVX-LABEL: load_i16_stride8_vf4:337; AVX:       # %bb.0:338; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax339; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r10340; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r11341; AVX-NEXT:    vmovdqa (%rdi), %xmm0342; AVX-NEXT:    vmovdqa 16(%rdi), %xmm1343; AVX-NEXT:    vmovdqa 32(%rdi), %xmm2344; AVX-NEXT:    vmovdqa 48(%rdi), %xmm3345; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]346; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]347; AVX-NEXT:    vpunpckldq {{.*#+}} xmm6 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]348; AVX-NEXT:    vmovq %xmm6, (%rsi)349; AVX-NEXT:    vpshufd {{.*#+}} xmm6 = xmm5[1,1,1,1]350; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm6[0,1],xmm4[2,3],xmm6[4,5,6,7]351; AVX-NEXT:    vmovq %xmm6, (%rdx)352; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm6 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]353; AVX-NEXT:    vmovq %xmm6, (%rcx)354; AVX-NEXT:    vpshufd {{.*#+}} xmm4 = xmm4[2,3,2,3]355; AVX-NEXT:    vpshufd {{.*#+}} xmm5 = xmm5[3,3,3,3]356; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3],xmm5[4,5,6,7]357; AVX-NEXT:    vmovq %xmm4, (%r8)358; AVX-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]359; AVX-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]360; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]361; AVX-NEXT:    vmovq %xmm1, (%r9)362; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]363; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3],xmm1[4,5,6,7]364; AVX-NEXT:    vmovq %xmm1, (%r11)365; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm0[2],xmm2[2],xmm0[3],xmm2[3]366; AVX-NEXT:    vmovq %xmm1, (%r10)367; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm2[2,3,2,3]368; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[3,3,3,3]369; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5,6,7]370; AVX-NEXT:    vmovq %xmm0, (%rax)371; AVX-NEXT:    retq372;373; AVX2-LABEL: load_i16_stride8_vf4:374; AVX2:       # %bb.0:375; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax376; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r10377; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r11378; AVX2-NEXT:    vmovdqa (%rdi), %xmm0379; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm1380; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm2381; AVX2-NEXT:    vmovdqa 48(%rdi), %xmm3382; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]383; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]384; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm6 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]385; AVX2-NEXT:    vmovq %xmm6, (%rsi)386; AVX2-NEXT:    vpshufd {{.*#+}} xmm6 = xmm5[1,1,1,1]387; AVX2-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0],xmm4[1],xmm6[2,3]388; AVX2-NEXT:    vmovq %xmm6, (%rdx)389; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm6 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]390; AVX2-NEXT:    vmovq %xmm6, (%rcx)391; AVX2-NEXT:    vpshufd {{.*#+}} xmm4 = xmm4[2,3,2,3]392; AVX2-NEXT:    vpshufd {{.*#+}} xmm5 = xmm5[3,3,3,3]393; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]394; AVX2-NEXT:    vmovq %xmm4, (%r8)395; AVX2-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]396; AVX2-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]397; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]398; AVX2-NEXT:    vmovq %xmm1, (%r9)399; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]400; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0],xmm2[1],xmm1[2,3]401; AVX2-NEXT:    vmovq %xmm1, (%r11)402; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm0[2],xmm2[2],xmm0[3],xmm2[3]403; AVX2-NEXT:    vmovq %xmm1, (%r10)404; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm2[2,3,2,3]405; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[3,3,3,3]406; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2,3]407; AVX2-NEXT:    vmovq %xmm0, (%rax)408; AVX2-NEXT:    retq409;410; AVX2-FP-LABEL: load_i16_stride8_vf4:411; AVX2-FP:       # %bb.0:412; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax413; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r10414; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r11415; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm0416; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm1417; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm2418; AVX2-FP-NEXT:    vmovdqa 48(%rdi), %xmm3419; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]420; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]421; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm6 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]422; AVX2-FP-NEXT:    vmovq %xmm6, (%rsi)423; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm6 = xmm5[1,1,1,1]424; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0],xmm4[1],xmm6[2,3]425; AVX2-FP-NEXT:    vmovq %xmm6, (%rdx)426; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm6 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]427; AVX2-FP-NEXT:    vmovq %xmm6, (%rcx)428; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm4 = xmm4[2,3,2,3]429; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm5 = xmm5[3,3,3,3]430; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]431; AVX2-FP-NEXT:    vmovq %xmm4, (%r8)432; AVX2-FP-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]433; AVX2-FP-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]434; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]435; AVX2-FP-NEXT:    vmovq %xmm1, (%r9)436; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]437; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0],xmm2[1],xmm1[2,3]438; AVX2-FP-NEXT:    vmovq %xmm1, (%r11)439; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm0[2],xmm2[2],xmm0[3],xmm2[3]440; AVX2-FP-NEXT:    vmovq %xmm1, (%r10)441; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm1 = xmm2[2,3,2,3]442; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[3,3,3,3]443; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2,3]444; AVX2-FP-NEXT:    vmovq %xmm0, (%rax)445; AVX2-FP-NEXT:    retq446;447; AVX2-FCP-LABEL: load_i16_stride8_vf4:448; AVX2-FCP:       # %bb.0:449; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax450; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10451; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11452; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm0453; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1454; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %xmm2455; AVX2-FCP-NEXT:    vmovdqa 48(%rdi), %xmm3456; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]457; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]458; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm6 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]459; AVX2-FCP-NEXT:    vmovq %xmm6, (%rsi)460; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm6 = xmm5[1,1,1,1]461; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0],xmm4[1],xmm6[2,3]462; AVX2-FCP-NEXT:    vmovq %xmm6, (%rdx)463; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm6 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]464; AVX2-FCP-NEXT:    vmovq %xmm6, (%rcx)465; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm4 = xmm4[2,3,2,3]466; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm5 = xmm5[3,3,3,3]467; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]468; AVX2-FCP-NEXT:    vmovq %xmm4, (%r8)469; AVX2-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]470; AVX2-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]471; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]472; AVX2-FCP-NEXT:    vmovq %xmm1, (%r9)473; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]474; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0],xmm2[1],xmm1[2,3]475; AVX2-FCP-NEXT:    vmovq %xmm1, (%r11)476; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm0[2],xmm2[2],xmm0[3],xmm2[3]477; AVX2-FCP-NEXT:    vmovq %xmm1, (%r10)478; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm1 = xmm2[2,3,2,3]479; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[3,3,3,3]480; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2,3]481; AVX2-FCP-NEXT:    vmovq %xmm0, (%rax)482; AVX2-FCP-NEXT:    retq483;484; AVX512-LABEL: load_i16_stride8_vf4:485; AVX512:       # %bb.0:486; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax487; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r10488; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r11489; AVX512-NEXT:    vmovdqa (%rdi), %xmm0490; AVX512-NEXT:    vmovdqa 16(%rdi), %xmm1491; AVX512-NEXT:    vmovdqa 32(%rdi), %xmm2492; AVX512-NEXT:    vmovdqa 48(%rdi), %xmm3493; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]494; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]495; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm6 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]496; AVX512-NEXT:    vmovq %xmm6, (%rsi)497; AVX512-NEXT:    vpshufd {{.*#+}} xmm6 = xmm5[1,1,1,1]498; AVX512-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0],xmm4[1],xmm6[2,3]499; AVX512-NEXT:    vmovq %xmm6, (%rdx)500; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm6 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]501; AVX512-NEXT:    vmovq %xmm6, (%rcx)502; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm6 = [3,7,3,3]503; AVX512-NEXT:    vpermt2d %xmm4, %xmm6, %xmm5504; AVX512-NEXT:    vmovq %xmm5, (%r8)505; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]506; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]507; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]508; AVX512-NEXT:    vmovq %xmm1, (%r9)509; AVX512-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]510; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0],xmm2[1],xmm1[2,3]511; AVX512-NEXT:    vmovq %xmm1, (%r11)512; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm0[2],xmm2[2],xmm0[3],xmm2[3]513; AVX512-NEXT:    vmovq %xmm1, (%r10)514; AVX512-NEXT:    vpermt2d %xmm2, %xmm6, %xmm0515; AVX512-NEXT:    vmovq %xmm0, (%rax)516; AVX512-NEXT:    retq517;518; AVX512-FCP-LABEL: load_i16_stride8_vf4:519; AVX512-FCP:       # %bb.0:520; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax521; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10522; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11523; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm0524; AVX512-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1525; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %xmm2526; AVX512-FCP-NEXT:    vmovdqa 48(%rdi), %xmm3527; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]528; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]529; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm6 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]530; AVX512-FCP-NEXT:    vmovq %xmm6, (%rsi)531; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm6 = [1,5,1,1]532; AVX512-FCP-NEXT:    vmovdqa %xmm5, %xmm7533; AVX512-FCP-NEXT:    vpermt2d %xmm4, %xmm6, %xmm7534; AVX512-FCP-NEXT:    vmovq %xmm7, (%rdx)535; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm7 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]536; AVX512-FCP-NEXT:    vmovq %xmm7, (%rcx)537; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm7 = [3,7,3,3]538; AVX512-FCP-NEXT:    vpermt2d %xmm4, %xmm7, %xmm5539; AVX512-FCP-NEXT:    vmovq %xmm5, (%r8)540; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]541; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]542; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]543; AVX512-FCP-NEXT:    vmovq %xmm1, (%r9)544; AVX512-FCP-NEXT:    vpermi2d %xmm2, %xmm0, %xmm6545; AVX512-FCP-NEXT:    vmovq %xmm6, (%r11)546; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm0[2],xmm2[2],xmm0[3],xmm2[3]547; AVX512-FCP-NEXT:    vmovq %xmm1, (%r10)548; AVX512-FCP-NEXT:    vpermt2d %xmm2, %xmm7, %xmm0549; AVX512-FCP-NEXT:    vmovq %xmm0, (%rax)550; AVX512-FCP-NEXT:    retq551;552; AVX512DQ-LABEL: load_i16_stride8_vf4:553; AVX512DQ:       # %bb.0:554; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax555; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r10556; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r11557; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm0558; AVX512DQ-NEXT:    vmovdqa 16(%rdi), %xmm1559; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %xmm2560; AVX512DQ-NEXT:    vmovdqa 48(%rdi), %xmm3561; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]562; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]563; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm6 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]564; AVX512DQ-NEXT:    vmovq %xmm6, (%rsi)565; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm6 = xmm5[1,1,1,1]566; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0],xmm4[1],xmm6[2,3]567; AVX512DQ-NEXT:    vmovq %xmm6, (%rdx)568; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm6 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]569; AVX512DQ-NEXT:    vmovq %xmm6, (%rcx)570; AVX512DQ-NEXT:    vpmovsxbd {{.*#+}} xmm6 = [3,7,3,3]571; AVX512DQ-NEXT:    vpermt2d %xmm4, %xmm6, %xmm5572; AVX512DQ-NEXT:    vmovq %xmm5, (%r8)573; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]574; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]575; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]576; AVX512DQ-NEXT:    vmovq %xmm1, (%r9)577; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[1,1,1,1]578; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0],xmm2[1],xmm1[2,3]579; AVX512DQ-NEXT:    vmovq %xmm1, (%r11)580; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm0[2],xmm2[2],xmm0[3],xmm2[3]581; AVX512DQ-NEXT:    vmovq %xmm1, (%r10)582; AVX512DQ-NEXT:    vpermt2d %xmm2, %xmm6, %xmm0583; AVX512DQ-NEXT:    vmovq %xmm0, (%rax)584; AVX512DQ-NEXT:    retq585;586; AVX512DQ-FCP-LABEL: load_i16_stride8_vf4:587; AVX512DQ-FCP:       # %bb.0:588; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax589; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10590; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11591; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm0592; AVX512DQ-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1593; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %xmm2594; AVX512DQ-FCP-NEXT:    vmovdqa 48(%rdi), %xmm3595; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]596; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]597; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm6 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]598; AVX512DQ-FCP-NEXT:    vmovq %xmm6, (%rsi)599; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm6 = [1,5,1,1]600; AVX512DQ-FCP-NEXT:    vmovdqa %xmm5, %xmm7601; AVX512DQ-FCP-NEXT:    vpermt2d %xmm4, %xmm6, %xmm7602; AVX512DQ-FCP-NEXT:    vmovq %xmm7, (%rdx)603; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm7 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]604; AVX512DQ-FCP-NEXT:    vmovq %xmm7, (%rcx)605; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm7 = [3,7,3,3]606; AVX512DQ-FCP-NEXT:    vpermt2d %xmm4, %xmm7, %xmm5607; AVX512DQ-FCP-NEXT:    vmovq %xmm5, (%r8)608; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]609; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]610; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]611; AVX512DQ-FCP-NEXT:    vmovq %xmm1, (%r9)612; AVX512DQ-FCP-NEXT:    vpermi2d %xmm2, %xmm0, %xmm6613; AVX512DQ-FCP-NEXT:    vmovq %xmm6, (%r11)614; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm0[2],xmm2[2],xmm0[3],xmm2[3]615; AVX512DQ-FCP-NEXT:    vmovq %xmm1, (%r10)616; AVX512DQ-FCP-NEXT:    vpermt2d %xmm2, %xmm7, %xmm0617; AVX512DQ-FCP-NEXT:    vmovq %xmm0, (%rax)618; AVX512DQ-FCP-NEXT:    retq619;620; AVX512BW-LABEL: load_i16_stride8_vf4:621; AVX512BW:       # %bb.0:622; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax623; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10624; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r11625; AVX512BW-NEXT:    vmovq {{.*#+}} xmm0 = [0,8,16,24,0,0,0,0]626; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm1627; AVX512BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0628; AVX512BW-NEXT:    vmovq %xmm0, (%rsi)629; AVX512BW-NEXT:    vmovq {{.*#+}} xmm0 = [1,9,17,25,0,0,0,0]630; AVX512BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0631; AVX512BW-NEXT:    vmovq %xmm0, (%rdx)632; AVX512BW-NEXT:    vmovq {{.*#+}} xmm0 = [2,10,18,26,0,0,0,0]633; AVX512BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0634; AVX512BW-NEXT:    vmovq %xmm0, (%rcx)635; AVX512BW-NEXT:    vmovq {{.*#+}} xmm0 = [3,11,19,27,0,0,0,0]636; AVX512BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0637; AVX512BW-NEXT:    vmovq %xmm0, (%r8)638; AVX512BW-NEXT:    vmovq {{.*#+}} xmm0 = [4,12,20,28,0,0,0,0]639; AVX512BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0640; AVX512BW-NEXT:    vmovq %xmm0, (%r9)641; AVX512BW-NEXT:    vmovq {{.*#+}} xmm0 = [5,13,21,29,0,0,0,0]642; AVX512BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0643; AVX512BW-NEXT:    vmovq %xmm0, (%r11)644; AVX512BW-NEXT:    vmovq {{.*#+}} xmm0 = [6,14,22,30,0,0,0,0]645; AVX512BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0646; AVX512BW-NEXT:    vmovq %xmm0, (%r10)647; AVX512BW-NEXT:    vmovq {{.*#+}} xmm0 = [7,15,23,31,0,0,0,0]648; AVX512BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0649; AVX512BW-NEXT:    vmovq %xmm0, (%rax)650; AVX512BW-NEXT:    vzeroupper651; AVX512BW-NEXT:    retq652;653; AVX512BW-FCP-LABEL: load_i16_stride8_vf4:654; AVX512BW-FCP:       # %bb.0:655; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax656; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10657; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11658; AVX512BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [0,8,16,24,0,0,0,0]659; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm1660; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0661; AVX512BW-FCP-NEXT:    vmovq %xmm0, (%rsi)662; AVX512BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [1,9,17,25,0,0,0,0]663; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0664; AVX512BW-FCP-NEXT:    vmovq %xmm0, (%rdx)665; AVX512BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [2,10,18,26,0,0,0,0]666; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0667; AVX512BW-FCP-NEXT:    vmovq %xmm0, (%rcx)668; AVX512BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [3,11,19,27,0,0,0,0]669; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0670; AVX512BW-FCP-NEXT:    vmovq %xmm0, (%r8)671; AVX512BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [4,12,20,28,0,0,0,0]672; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0673; AVX512BW-FCP-NEXT:    vmovq %xmm0, (%r9)674; AVX512BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [5,13,21,29,0,0,0,0]675; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0676; AVX512BW-FCP-NEXT:    vmovq %xmm0, (%r11)677; AVX512BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [6,14,22,30,0,0,0,0]678; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0679; AVX512BW-FCP-NEXT:    vmovq %xmm0, (%r10)680; AVX512BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [7,15,23,31,0,0,0,0]681; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0682; AVX512BW-FCP-NEXT:    vmovq %xmm0, (%rax)683; AVX512BW-FCP-NEXT:    vzeroupper684; AVX512BW-FCP-NEXT:    retq685;686; AVX512DQ-BW-LABEL: load_i16_stride8_vf4:687; AVX512DQ-BW:       # %bb.0:688; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax689; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10690; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r11691; AVX512DQ-BW-NEXT:    vmovq {{.*#+}} xmm0 = [0,8,16,24,0,0,0,0]692; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm1693; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0694; AVX512DQ-BW-NEXT:    vmovq %xmm0, (%rsi)695; AVX512DQ-BW-NEXT:    vmovq {{.*#+}} xmm0 = [1,9,17,25,0,0,0,0]696; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0697; AVX512DQ-BW-NEXT:    vmovq %xmm0, (%rdx)698; AVX512DQ-BW-NEXT:    vmovq {{.*#+}} xmm0 = [2,10,18,26,0,0,0,0]699; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0700; AVX512DQ-BW-NEXT:    vmovq %xmm0, (%rcx)701; AVX512DQ-BW-NEXT:    vmovq {{.*#+}} xmm0 = [3,11,19,27,0,0,0,0]702; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0703; AVX512DQ-BW-NEXT:    vmovq %xmm0, (%r8)704; AVX512DQ-BW-NEXT:    vmovq {{.*#+}} xmm0 = [4,12,20,28,0,0,0,0]705; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0706; AVX512DQ-BW-NEXT:    vmovq %xmm0, (%r9)707; AVX512DQ-BW-NEXT:    vmovq {{.*#+}} xmm0 = [5,13,21,29,0,0,0,0]708; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0709; AVX512DQ-BW-NEXT:    vmovq %xmm0, (%r11)710; AVX512DQ-BW-NEXT:    vmovq {{.*#+}} xmm0 = [6,14,22,30,0,0,0,0]711; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0712; AVX512DQ-BW-NEXT:    vmovq %xmm0, (%r10)713; AVX512DQ-BW-NEXT:    vmovq {{.*#+}} xmm0 = [7,15,23,31,0,0,0,0]714; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm0, %zmm0715; AVX512DQ-BW-NEXT:    vmovq %xmm0, (%rax)716; AVX512DQ-BW-NEXT:    vzeroupper717; AVX512DQ-BW-NEXT:    retq718;719; AVX512DQ-BW-FCP-LABEL: load_i16_stride8_vf4:720; AVX512DQ-BW-FCP:       # %bb.0:721; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax722; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10723; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11724; AVX512DQ-BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [0,8,16,24,0,0,0,0]725; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm1726; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0727; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm0, (%rsi)728; AVX512DQ-BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [1,9,17,25,0,0,0,0]729; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0730; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm0, (%rdx)731; AVX512DQ-BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [2,10,18,26,0,0,0,0]732; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0733; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm0, (%rcx)734; AVX512DQ-BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [3,11,19,27,0,0,0,0]735; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0736; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm0, (%r8)737; AVX512DQ-BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [4,12,20,28,0,0,0,0]738; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0739; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm0, (%r9)740; AVX512DQ-BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [5,13,21,29,0,0,0,0]741; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0742; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm0, (%r11)743; AVX512DQ-BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [6,14,22,30,0,0,0,0]744; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0745; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm0, (%r10)746; AVX512DQ-BW-FCP-NEXT:    vmovq {{.*#+}} xmm0 = [7,15,23,31,0,0,0,0]747; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm0748; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm0, (%rax)749; AVX512DQ-BW-FCP-NEXT:    vzeroupper750; AVX512DQ-BW-FCP-NEXT:    retq751  %wide.vec = load <32 x i16>, ptr %in.vec, align 64752  %strided.vec0 = shufflevector <32 x i16> %wide.vec, <32 x i16> poison, <4 x i32> <i32 0, i32 8, i32 16, i32 24>753  %strided.vec1 = shufflevector <32 x i16> %wide.vec, <32 x i16> poison, <4 x i32> <i32 1, i32 9, i32 17, i32 25>754  %strided.vec2 = shufflevector <32 x i16> %wide.vec, <32 x i16> poison, <4 x i32> <i32 2, i32 10, i32 18, i32 26>755  %strided.vec3 = shufflevector <32 x i16> %wide.vec, <32 x i16> poison, <4 x i32> <i32 3, i32 11, i32 19, i32 27>756  %strided.vec4 = shufflevector <32 x i16> %wide.vec, <32 x i16> poison, <4 x i32> <i32 4, i32 12, i32 20, i32 28>757  %strided.vec5 = shufflevector <32 x i16> %wide.vec, <32 x i16> poison, <4 x i32> <i32 5, i32 13, i32 21, i32 29>758  %strided.vec6 = shufflevector <32 x i16> %wide.vec, <32 x i16> poison, <4 x i32> <i32 6, i32 14, i32 22, i32 30>759  %strided.vec7 = shufflevector <32 x i16> %wide.vec, <32 x i16> poison, <4 x i32> <i32 7, i32 15, i32 23, i32 31>760  store <4 x i16> %strided.vec0, ptr %out.vec0, align 64761  store <4 x i16> %strided.vec1, ptr %out.vec1, align 64762  store <4 x i16> %strided.vec2, ptr %out.vec2, align 64763  store <4 x i16> %strided.vec3, ptr %out.vec3, align 64764  store <4 x i16> %strided.vec4, ptr %out.vec4, align 64765  store <4 x i16> %strided.vec5, ptr %out.vec5, align 64766  store <4 x i16> %strided.vec6, ptr %out.vec6, align 64767  store <4 x i16> %strided.vec7, ptr %out.vec7, align 64768  ret void769}770 771define void @load_i16_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 {772; SSE-LABEL: load_i16_stride8_vf8:773; SSE:       # %bb.0:774; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax775; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %r10776; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %r11777; SSE-NEXT:    movdqa (%rdi), %xmm0778; SSE-NEXT:    movdqa 16(%rdi), %xmm7779; SSE-NEXT:    movdqa 32(%rdi), %xmm2780; SSE-NEXT:    movdqa 48(%rdi), %xmm9781; SSE-NEXT:    movdqa 80(%rdi), %xmm10782; SSE-NEXT:    movdqa 64(%rdi), %xmm1783; SSE-NEXT:    movdqa 112(%rdi), %xmm11784; SSE-NEXT:    movdqa 96(%rdi), %xmm3785; SSE-NEXT:    movdqa %xmm3, %xmm13786; SSE-NEXT:    punpcklwd {{.*#+}} xmm13 = xmm13[0],xmm11[0],xmm13[1],xmm11[1],xmm13[2],xmm11[2],xmm13[3],xmm11[3]787; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm13[0,0,0,0]788; SSE-NEXT:    movdqa %xmm1, %xmm12789; SSE-NEXT:    punpcklwd {{.*#+}} xmm12 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]790; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm12[0,0,0,0]791; SSE-NEXT:    punpckhdq {{.*#+}} xmm6 = xmm6[2],xmm4[2],xmm6[3],xmm4[3]792; SSE-NEXT:    movdqa %xmm2, %xmm14793; SSE-NEXT:    punpcklwd {{.*#+}} xmm14 = xmm14[0],xmm9[0],xmm14[1],xmm9[1],xmm14[2],xmm9[2],xmm14[3],xmm9[3]794; SSE-NEXT:    movdqa %xmm0, %xmm4795; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm7[0],xmm4[1],xmm7[1],xmm4[2],xmm7[2],xmm4[3],xmm7[3]796; SSE-NEXT:    movdqa %xmm4, %xmm5797; SSE-NEXT:    punpckldq {{.*#+}} xmm5 = xmm5[0],xmm14[0],xmm5[1],xmm14[1]798; SSE-NEXT:    shufps {{.*#+}} xmm5 = xmm5[0,1],xmm6[2,3]799; SSE-NEXT:    movdqa %xmm12, %xmm8800; SSE-NEXT:    punpckldq {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1]801; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm14[1,1,1,1]802; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm4[1,1,1,1]803; SSE-NEXT:    punpckldq {{.*#+}} xmm6 = xmm6[0],xmm15[0],xmm6[1],xmm15[1]804; SSE-NEXT:    shufps {{.*#+}} xmm6 = xmm6[0,1],xmm8[2,3]805; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm13[2,2,2,2]806; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm12[2,2,2,2]807; SSE-NEXT:    punpckhdq {{.*#+}} xmm15 = xmm15[2],xmm8[2],xmm15[3],xmm8[3]808; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm4[3,3,3,3]809; SSE-NEXT:    punpckhdq {{.*#+}} xmm4 = xmm4[2],xmm14[2],xmm4[3],xmm14[3]810; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,1],xmm15[2,3]811; SSE-NEXT:    punpckhdq {{.*#+}} xmm12 = xmm12[2],xmm13[2],xmm12[3],xmm13[3]812; SSE-NEXT:    pshufd {{.*#+}} xmm13 = xmm14[3,3,3,3]813; SSE-NEXT:    punpckldq {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1]814; SSE-NEXT:    shufps {{.*#+}} xmm8 = xmm8[0,1],xmm12[2,3]815; SSE-NEXT:    punpckhwd {{.*#+}} xmm3 = xmm3[4],xmm11[4],xmm3[5],xmm11[5],xmm3[6],xmm11[6],xmm3[7],xmm11[7]816; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm3[0,0,0,0]817; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm10[4],xmm1[5],xmm10[5],xmm1[6],xmm10[6],xmm1[7],xmm10[7]818; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm1[0,0,0,0]819; SSE-NEXT:    punpckhdq {{.*#+}} xmm10 = xmm10[2],xmm11[2],xmm10[3],xmm11[3]820; SSE-NEXT:    punpckhwd {{.*#+}} xmm2 = xmm2[4],xmm9[4],xmm2[5],xmm9[5],xmm2[6],xmm9[6],xmm2[7],xmm9[7]821; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm7[4],xmm0[5],xmm7[5],xmm0[6],xmm7[6],xmm0[7],xmm7[7]822; SSE-NEXT:    movdqa %xmm0, %xmm7823; SSE-NEXT:    punpckldq {{.*#+}} xmm7 = xmm7[0],xmm2[0],xmm7[1],xmm2[1]824; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,1],xmm10[2,3]825; SSE-NEXT:    movdqa %xmm1, %xmm9826; SSE-NEXT:    punpckldq {{.*#+}} xmm9 = xmm9[0],xmm3[0],xmm9[1],xmm3[1]827; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm2[1,1,1,1]828; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm0[1,1,1,1]829; SSE-NEXT:    punpckldq {{.*#+}} xmm11 = xmm11[0],xmm10[0],xmm11[1],xmm10[1]830; SSE-NEXT:    shufps {{.*#+}} xmm11 = xmm11[0,1],xmm9[2,3]831; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm3[2,2,2,2]832; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm1[2,2,2,2]833; SSE-NEXT:    punpckhdq {{.*#+}} xmm10 = xmm10[2],xmm9[2],xmm10[3],xmm9[3]834; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm0[3,3,3,3]835; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm2[2],xmm0[3],xmm2[3]836; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm10[2,3]837; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm3[2],xmm1[3],xmm3[3]838; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[3,3,3,3]839; SSE-NEXT:    punpckldq {{.*#+}} xmm9 = xmm9[0],xmm2[0],xmm9[1],xmm2[1]840; SSE-NEXT:    shufps {{.*#+}} xmm9 = xmm9[0,1],xmm1[2,3]841; SSE-NEXT:    movaps %xmm5, (%rsi)842; SSE-NEXT:    movaps %xmm6, (%rdx)843; SSE-NEXT:    movaps %xmm4, (%rcx)844; SSE-NEXT:    movaps %xmm8, (%r8)845; SSE-NEXT:    movaps %xmm7, (%r9)846; SSE-NEXT:    movaps %xmm11, (%r11)847; SSE-NEXT:    movaps %xmm0, (%r10)848; SSE-NEXT:    movaps %xmm9, (%rax)849; SSE-NEXT:    retq850;851; AVX-LABEL: load_i16_stride8_vf8:852; AVX:       # %bb.0:853; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax854; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r10855; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r11856; AVX-NEXT:    vmovdqa 112(%rdi), %xmm2857; AVX-NEXT:    vmovdqa 96(%rdi), %xmm3858; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]859; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm4[0,0,0,0]860; AVX-NEXT:    vmovdqa 80(%rdi), %xmm5861; AVX-NEXT:    vmovdqa 64(%rdi), %xmm6862; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]863; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm7[0,1,0,1]864; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]865; AVX-NEXT:    vmovdqa (%rdi), %xmm8866; AVX-NEXT:    vmovdqa 16(%rdi), %xmm9867; AVX-NEXT:    vmovdqa 32(%rdi), %xmm10868; AVX-NEXT:    vmovdqa 48(%rdi), %xmm11869; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]870; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]871; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm13[0],xmm12[0],xmm13[1],xmm12[1]872; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]873; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm7[0],xmm4[0],xmm7[1],xmm4[1]874; AVX-NEXT:    vpshufd {{.*#+}} xmm14 = xmm13[1,1,1,1]875; AVX-NEXT:    vpblendw {{.*#+}} xmm14 = xmm14[0,1],xmm12[2,3],xmm14[4,5,6,7]876; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm14[0,1,2,3],xmm1[4,5,6,7]877; AVX-NEXT:    vpshufd {{.*#+}} xmm14 = xmm4[2,2,2,2]878; AVX-NEXT:    vpblendw {{.*#+}} xmm14 = xmm7[0,1,2,3,4,5],xmm14[6,7]879; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm15 = xmm13[2],xmm12[2],xmm13[3],xmm12[3]880; AVX-NEXT:    vpblendw {{.*#+}} xmm14 = xmm15[0,1,2,3],xmm14[4,5,6,7]881; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm4 = xmm7[2],xmm4[2],xmm7[3],xmm4[3]882; AVX-NEXT:    vpshufd {{.*#+}} xmm7 = xmm12[2,3,2,3]883; AVX-NEXT:    vpshufd {{.*#+}} xmm12 = xmm13[3,3,3,3]884; AVX-NEXT:    vpblendw {{.*#+}} xmm7 = xmm12[0,1],xmm7[2,3],xmm12[4,5,6,7]885; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm7[0,1,2,3],xmm4[4,5,6,7]886; AVX-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm3[4],xmm2[4],xmm3[5],xmm2[5],xmm3[6],xmm2[6],xmm3[7],xmm2[7]887; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm2[0,0,0,0]888; AVX-NEXT:    vpunpckhwd {{.*#+}} xmm5 = xmm6[4],xmm5[4],xmm6[5],xmm5[5],xmm6[6],xmm5[6],xmm6[7],xmm5[7]889; AVX-NEXT:    vpshufd {{.*#+}} xmm6 = xmm5[0,1,0,1]890; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm6[0,1,2,3,4,5],xmm3[6,7]891; AVX-NEXT:    vpunpckhwd {{.*#+}} xmm6 = xmm10[4],xmm11[4],xmm10[5],xmm11[5],xmm10[6],xmm11[6],xmm10[7],xmm11[7]892; AVX-NEXT:    vpunpckhwd {{.*#+}} xmm7 = xmm8[4],xmm9[4],xmm8[5],xmm9[5],xmm8[6],xmm9[6],xmm8[7],xmm9[7]893; AVX-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]894; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm8[0,1,2,3],xmm3[4,5,6,7]895; AVX-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]896; AVX-NEXT:    vpshufd {{.*#+}} xmm9 = xmm7[1,1,1,1]897; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm9[0,1],xmm6[2,3],xmm9[4,5,6,7]898; AVX-NEXT:    vpblendw {{.*#+}} xmm8 = xmm9[0,1,2,3],xmm8[4,5,6,7]899; AVX-NEXT:    vpshufd {{.*#+}} xmm9 = xmm2[2,2,2,2]900; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm5[0,1,2,3,4,5],xmm9[6,7]901; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm7[2],xmm6[2],xmm7[3],xmm6[3]902; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm10[0,1,2,3],xmm9[4,5,6,7]903; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm5[2],xmm2[2],xmm5[3],xmm2[3]904; AVX-NEXT:    vpshufd {{.*#+}} xmm5 = xmm6[2,3,2,3]905; AVX-NEXT:    vpshufd {{.*#+}} xmm6 = xmm7[3,3,3,3]906; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]907; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm5[0,1,2,3],xmm2[4,5,6,7]908; AVX-NEXT:    vmovdqa %xmm0, (%rsi)909; AVX-NEXT:    vmovdqa %xmm1, (%rdx)910; AVX-NEXT:    vmovdqa %xmm14, (%rcx)911; AVX-NEXT:    vmovdqa %xmm4, (%r8)912; AVX-NEXT:    vmovdqa %xmm3, (%r9)913; AVX-NEXT:    vmovdqa %xmm8, (%r11)914; AVX-NEXT:    vmovdqa %xmm9, (%r10)915; AVX-NEXT:    vmovdqa %xmm2, (%rax)916; AVX-NEXT:    retq917;918; AVX2-LABEL: load_i16_stride8_vf8:919; AVX2:       # %bb.0:920; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax921; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r10922; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r11923; AVX2-NEXT:    vmovdqa 112(%rdi), %xmm2924; AVX2-NEXT:    vmovdqa 96(%rdi), %xmm3925; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]926; AVX2-NEXT:    vpbroadcastd %xmm4, %xmm0927; AVX2-NEXT:    vmovdqa 80(%rdi), %xmm5928; AVX2-NEXT:    vmovdqa 64(%rdi), %xmm6929; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]930; AVX2-NEXT:    vpbroadcastd %xmm7, %xmm1931; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]932; AVX2-NEXT:    vmovdqa (%rdi), %xmm8933; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm9934; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm10935; AVX2-NEXT:    vmovdqa 48(%rdi), %xmm11936; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]937; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]938; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm13[0],xmm12[0],xmm13[1],xmm12[1]939; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]940; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm7[0],xmm4[0],xmm7[1],xmm4[1]941; AVX2-NEXT:    vpshufd {{.*#+}} xmm14 = xmm13[1,1,1,1]942; AVX2-NEXT:    vpblendd {{.*#+}} xmm14 = xmm14[0],xmm12[1],xmm14[2,3]943; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1],xmm1[2,3]944; AVX2-NEXT:    vpshufd {{.*#+}} xmm14 = xmm4[2,2,2,2]945; AVX2-NEXT:    vpblendd {{.*#+}} xmm14 = xmm7[0,1,2],xmm14[3]946; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm15 = xmm13[2],xmm12[2],xmm13[3],xmm12[3]947; AVX2-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]948; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm4 = xmm7[2],xmm4[2],xmm7[3],xmm4[3]949; AVX2-NEXT:    vpshufd {{.*#+}} xmm7 = xmm12[2,3,2,3]950; AVX2-NEXT:    vpshufd {{.*#+}} xmm12 = xmm13[3,3,3,3]951; AVX2-NEXT:    vpblendd {{.*#+}} xmm7 = xmm12[0],xmm7[1],xmm12[2,3]952; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm7[0,1],xmm4[2,3]953; AVX2-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm3[4],xmm2[4],xmm3[5],xmm2[5],xmm3[6],xmm2[6],xmm3[7],xmm2[7]954; AVX2-NEXT:    vpbroadcastd %xmm2, %xmm3955; AVX2-NEXT:    vpunpckhwd {{.*#+}} xmm5 = xmm6[4],xmm5[4],xmm6[5],xmm5[5],xmm6[6],xmm5[6],xmm6[7],xmm5[7]956; AVX2-NEXT:    vpbroadcastd %xmm5, %xmm6957; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm6[0],xmm3[0],xmm6[1],xmm3[1]958; AVX2-NEXT:    vpunpckhwd {{.*#+}} xmm6 = xmm10[4],xmm11[4],xmm10[5],xmm11[5],xmm10[6],xmm11[6],xmm10[7],xmm11[7]959; AVX2-NEXT:    vpunpckhwd {{.*#+}} xmm7 = xmm8[4],xmm9[4],xmm8[5],xmm9[5],xmm8[6],xmm9[6],xmm8[7],xmm9[7]960; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]961; AVX2-NEXT:    vpblendd {{.*#+}} xmm3 = xmm8[0,1],xmm3[2,3]962; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]963; AVX2-NEXT:    vpshufd {{.*#+}} xmm9 = xmm7[1,1,1,1]964; AVX2-NEXT:    vpblendd {{.*#+}} xmm9 = xmm9[0],xmm6[1],xmm9[2,3]965; AVX2-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]966; AVX2-NEXT:    vpshufd {{.*#+}} xmm9 = xmm2[2,2,2,2]967; AVX2-NEXT:    vpblendd {{.*#+}} xmm9 = xmm5[0,1,2],xmm9[3]968; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm7[2],xmm6[2],xmm7[3],xmm6[3]969; AVX2-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]970; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm5[2],xmm2[2],xmm5[3],xmm2[3]971; AVX2-NEXT:    vpshufd {{.*#+}} xmm5 = xmm6[2,3,2,3]972; AVX2-NEXT:    vpshufd {{.*#+}} xmm6 = xmm7[3,3,3,3]973; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]974; AVX2-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1],xmm2[2,3]975; AVX2-NEXT:    vmovdqa %xmm0, (%rsi)976; AVX2-NEXT:    vmovdqa %xmm1, (%rdx)977; AVX2-NEXT:    vmovdqa %xmm14, (%rcx)978; AVX2-NEXT:    vmovdqa %xmm4, (%r8)979; AVX2-NEXT:    vmovdqa %xmm3, (%r9)980; AVX2-NEXT:    vmovdqa %xmm8, (%r11)981; AVX2-NEXT:    vmovdqa %xmm9, (%r10)982; AVX2-NEXT:    vmovdqa %xmm2, (%rax)983; AVX2-NEXT:    retq984;985; AVX2-FP-LABEL: load_i16_stride8_vf8:986; AVX2-FP:       # %bb.0:987; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax988; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r10989; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r11990; AVX2-FP-NEXT:    vmovdqa 112(%rdi), %xmm2991; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %xmm3992; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]993; AVX2-FP-NEXT:    vpbroadcastd %xmm4, %xmm0994; AVX2-FP-NEXT:    vmovdqa 80(%rdi), %xmm5995; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %xmm6996; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]997; AVX2-FP-NEXT:    vpbroadcastd %xmm7, %xmm1998; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]999; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm81000; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm91001; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm101002; AVX2-FP-NEXT:    vmovdqa 48(%rdi), %xmm111003; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]1004; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]1005; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm13[0],xmm12[0],xmm13[1],xmm12[1]1006; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]1007; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm7[0],xmm4[0],xmm7[1],xmm4[1]1008; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm14 = xmm13[1,1,1,1]1009; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm14[0],xmm12[1],xmm14[2,3]1010; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1],xmm1[2,3]1011; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm14 = xmm4[2,2,2,2]1012; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm7[0,1,2],xmm14[3]1013; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm15 = xmm13[2],xmm12[2],xmm13[3],xmm12[3]1014; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]1015; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm4 = xmm7[2],xmm4[2],xmm7[3],xmm4[3]1016; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm7 = xmm12[2,3,2,3]1017; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm12 = xmm13[3,3,3,3]1018; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm12[0],xmm7[1],xmm12[2,3]1019; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm7[0,1],xmm4[2,3]1020; AVX2-FP-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm3[4],xmm2[4],xmm3[5],xmm2[5],xmm3[6],xmm2[6],xmm3[7],xmm2[7]1021; AVX2-FP-NEXT:    vpbroadcastd %xmm2, %xmm31022; AVX2-FP-NEXT:    vpunpckhwd {{.*#+}} xmm5 = xmm6[4],xmm5[4],xmm6[5],xmm5[5],xmm6[6],xmm5[6],xmm6[7],xmm5[7]1023; AVX2-FP-NEXT:    vpbroadcastd %xmm5, %xmm61024; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm6[0],xmm3[0],xmm6[1],xmm3[1]1025; AVX2-FP-NEXT:    vpunpckhwd {{.*#+}} xmm6 = xmm10[4],xmm11[4],xmm10[5],xmm11[5],xmm10[6],xmm11[6],xmm10[7],xmm11[7]1026; AVX2-FP-NEXT:    vpunpckhwd {{.*#+}} xmm7 = xmm8[4],xmm9[4],xmm8[5],xmm9[5],xmm8[6],xmm9[6],xmm8[7],xmm9[7]1027; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]1028; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm8[0,1],xmm3[2,3]1029; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]1030; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm9 = xmm7[1,1,1,1]1031; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm9[0],xmm6[1],xmm9[2,3]1032; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]1033; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm9 = xmm2[2,2,2,2]1034; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm5[0,1,2],xmm9[3]1035; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm7[2],xmm6[2],xmm7[3],xmm6[3]1036; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]1037; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm5[2],xmm2[2],xmm5[3],xmm2[3]1038; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm5 = xmm6[2,3,2,3]1039; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm6 = xmm7[3,3,3,3]1040; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]1041; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1],xmm2[2,3]1042; AVX2-FP-NEXT:    vmovdqa %xmm0, (%rsi)1043; AVX2-FP-NEXT:    vmovdqa %xmm1, (%rdx)1044; AVX2-FP-NEXT:    vmovdqa %xmm14, (%rcx)1045; AVX2-FP-NEXT:    vmovdqa %xmm4, (%r8)1046; AVX2-FP-NEXT:    vmovdqa %xmm3, (%r9)1047; AVX2-FP-NEXT:    vmovdqa %xmm8, (%r11)1048; AVX2-FP-NEXT:    vmovdqa %xmm9, (%r10)1049; AVX2-FP-NEXT:    vmovdqa %xmm2, (%rax)1050; AVX2-FP-NEXT:    retq1051;1052; AVX2-FCP-LABEL: load_i16_stride8_vf8:1053; AVX2-FCP:       # %bb.0:1054; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1055; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101056; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r111057; AVX2-FCP-NEXT:    vmovdqa 112(%rdi), %xmm21058; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %xmm31059; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]1060; AVX2-FCP-NEXT:    vpbroadcastd %xmm4, %xmm01061; AVX2-FCP-NEXT:    vmovdqa 80(%rdi), %xmm51062; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %xmm61063; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]1064; AVX2-FCP-NEXT:    vpbroadcastd %xmm7, %xmm11065; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]1066; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm81067; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm91068; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %xmm101069; AVX2-FCP-NEXT:    vmovdqa 48(%rdi), %xmm111070; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]1071; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]1072; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm13[0],xmm12[0],xmm13[1],xmm12[1]1073; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]1074; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm7[0],xmm4[0],xmm7[1],xmm4[1]1075; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm14 = xmm13[1,1,1,1]1076; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm14[0],xmm12[1],xmm14[2,3]1077; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1],xmm1[2,3]1078; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm14 = xmm4[2,2,2,2]1079; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm7[0,1,2],xmm14[3]1080; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm15 = xmm13[2],xmm12[2],xmm13[3],xmm12[3]1081; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]1082; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm4 = xmm7[2],xmm4[2],xmm7[3],xmm4[3]1083; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm7 = xmm12[2,3,2,3]1084; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm12 = xmm13[3,3,3,3]1085; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm12[0],xmm7[1],xmm12[2,3]1086; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm7[0,1],xmm4[2,3]1087; AVX2-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm3[4],xmm2[4],xmm3[5],xmm2[5],xmm3[6],xmm2[6],xmm3[7],xmm2[7]1088; AVX2-FCP-NEXT:    vpbroadcastd %xmm2, %xmm31089; AVX2-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm5 = xmm6[4],xmm5[4],xmm6[5],xmm5[5],xmm6[6],xmm5[6],xmm6[7],xmm5[7]1090; AVX2-FCP-NEXT:    vpbroadcastd %xmm5, %xmm61091; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm6[0],xmm3[0],xmm6[1],xmm3[1]1092; AVX2-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm6 = xmm10[4],xmm11[4],xmm10[5],xmm11[5],xmm10[6],xmm11[6],xmm10[7],xmm11[7]1093; AVX2-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm7 = xmm8[4],xmm9[4],xmm8[5],xmm9[5],xmm8[6],xmm9[6],xmm8[7],xmm9[7]1094; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]1095; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm8[0,1],xmm3[2,3]1096; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]1097; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm9 = xmm7[1,1,1,1]1098; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm9[0],xmm6[1],xmm9[2,3]1099; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]1100; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm9 = xmm2[2,2,2,2]1101; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm5[0,1,2],xmm9[3]1102; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm7[2],xmm6[2],xmm7[3],xmm6[3]1103; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]1104; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm5[2],xmm2[2],xmm5[3],xmm2[3]1105; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm5 = xmm6[2,3,2,3]1106; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm6 = xmm7[3,3,3,3]1107; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]1108; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1],xmm2[2,3]1109; AVX2-FCP-NEXT:    vmovdqa %xmm0, (%rsi)1110; AVX2-FCP-NEXT:    vmovdqa %xmm1, (%rdx)1111; AVX2-FCP-NEXT:    vmovdqa %xmm14, (%rcx)1112; AVX2-FCP-NEXT:    vmovdqa %xmm4, (%r8)1113; AVX2-FCP-NEXT:    vmovdqa %xmm3, (%r9)1114; AVX2-FCP-NEXT:    vmovdqa %xmm8, (%r11)1115; AVX2-FCP-NEXT:    vmovdqa %xmm9, (%r10)1116; AVX2-FCP-NEXT:    vmovdqa %xmm2, (%rax)1117; AVX2-FCP-NEXT:    retq1118;1119; AVX512-LABEL: load_i16_stride8_vf8:1120; AVX512:       # %bb.0:1121; AVX512-NEXT:    vmovdqa 112(%rdi), %xmm11122; AVX512-NEXT:    vmovdqa 96(%rdi), %xmm21123; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]1124; AVX512-NEXT:    vmovdqa 80(%rdi), %xmm31125; AVX512-NEXT:    vmovdqa 64(%rdi), %xmm41126; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]1127; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm0 = [0,0,0,4]1128; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm7 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]1129; AVX512-NEXT:    vpshufd {{.*#+}} xmm8 = xmm5[2,2,2,2]1130; AVX512-NEXT:    vpblendd {{.*#+}} xmm8 = xmm6[0,1,2],xmm8[3]1131; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm9 = xmm6[2],xmm5[2],xmm6[3],xmm5[3]1132; AVX512-NEXT:    vpermt2d %xmm5, %xmm0, %xmm61133; AVX512-NEXT:    vmovdqa (%rdi), %xmm51134; AVX512-NEXT:    vmovdqa 16(%rdi), %xmm101135; AVX512-NEXT:    vmovdqa 32(%rdi), %xmm111136; AVX512-NEXT:    vmovdqa 48(%rdi), %xmm121137; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]1138; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm5[0],xmm10[0],xmm5[1],xmm10[1],xmm5[2],xmm10[2],xmm5[3],xmm10[3]1139; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm14[0],xmm13[0],xmm14[1],xmm13[1]1140; AVX512-NEXT:    vpblendd {{.*#+}} xmm6 = xmm15[0,1],xmm6[2,3]1141; AVX512-NEXT:    vpshufd {{.*#+}} xmm15 = xmm14[1,1,1,1]1142; AVX512-NEXT:    vpblendd {{.*#+}} xmm15 = xmm15[0],xmm13[1],xmm15[2,3]1143; AVX512-NEXT:    vpblendd {{.*#+}} xmm7 = xmm15[0,1],xmm7[2,3]1144; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm15 = xmm14[2],xmm13[2],xmm14[3],xmm13[3]1145; AVX512-NEXT:    vpblendd {{.*#+}} xmm8 = xmm15[0,1],xmm8[2,3]1146; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm15 = [3,7,0,0]1147; AVX512-NEXT:    vpermt2d %xmm13, %xmm15, %xmm141148; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1],xmm9[2,3]1149; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm1 = xmm2[4],xmm1[4],xmm2[5],xmm1[5],xmm2[6],xmm1[6],xmm2[7],xmm1[7]1150; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm4[4],xmm3[4],xmm4[5],xmm3[5],xmm4[6],xmm3[6],xmm4[7],xmm3[7]1151; AVX512-NEXT:    vpermi2d %xmm1, %xmm2, %xmm01152; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm3 = xmm11[4],xmm12[4],xmm11[5],xmm12[5],xmm11[6],xmm12[6],xmm11[7],xmm12[7]1153; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm4 = xmm5[4],xmm10[4],xmm5[5],xmm10[5],xmm5[6],xmm10[6],xmm5[7],xmm10[7]1154; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]1155; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1],xmm0[2,3]1156; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]1157; AVX512-NEXT:    vpshufd {{.*#+}} xmm10 = xmm4[1,1,1,1]1158; AVX512-NEXT:    vpblendd {{.*#+}} xmm10 = xmm10[0],xmm3[1],xmm10[2,3]1159; AVX512-NEXT:    vpblendd {{.*#+}} xmm5 = xmm10[0,1],xmm5[2,3]1160; AVX512-NEXT:    vpshufd {{.*#+}} xmm10 = xmm1[2,2,2,2]1161; AVX512-NEXT:    vpblendd {{.*#+}} xmm10 = xmm2[0,1,2],xmm10[3]1162; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm11 = xmm4[2],xmm3[2],xmm4[3],xmm3[3]1163; AVX512-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]1164; AVX512-NEXT:    vpermt2d %xmm3, %xmm15, %xmm41165; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]1166; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]1167; AVX512-NEXT:    vmovdqa %xmm6, (%rsi)1168; AVX512-NEXT:    vmovdqa %xmm7, (%rdx)1169; AVX512-NEXT:    vmovdqa %xmm8, (%rcx)1170; AVX512-NEXT:    vmovdqa %xmm9, (%r8)1171; AVX512-NEXT:    vmovdqa %xmm0, (%r9)1172; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax1173; AVX512-NEXT:    vmovdqa %xmm5, (%rax)1174; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax1175; AVX512-NEXT:    vmovdqa %xmm10, (%rax)1176; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax1177; AVX512-NEXT:    vmovdqa %xmm1, (%rax)1178; AVX512-NEXT:    retq1179;1180; AVX512-FCP-LABEL: load_i16_stride8_vf8:1181; AVX512-FCP:       # %bb.0:1182; AVX512-FCP-NEXT:    vmovdqa 112(%rdi), %xmm01183; AVX512-FCP-NEXT:    vmovdqa 96(%rdi), %xmm41184; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm4[0],xmm0[0],xmm4[1],xmm0[1],xmm4[2],xmm0[2],xmm4[3],xmm0[3]1185; AVX512-FCP-NEXT:    vmovdqa64 %xmm0, %xmm171186; AVX512-FCP-NEXT:    vmovdqa 80(%rdi), %xmm51187; AVX512-FCP-NEXT:    vmovdqa 64(%rdi), %xmm61188; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]1189; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm3 = [0,0,0,4]1190; AVX512-FCP-NEXT:    vmovdqa %xmm11, %xmm01191; AVX512-FCP-NEXT:    vpermt2d %xmm10, %xmm3, %xmm01192; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm71193; AVX512-FCP-NEXT:    vmovdqa 16(%rdi), %xmm81194; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %xmm121195; AVX512-FCP-NEXT:    vmovdqa 48(%rdi), %xmm131196; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]1197; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]1198; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm15[0],xmm14[0],xmm15[1],xmm14[1]1199; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]1200; AVX512-FCP-NEXT:    vmovdqa64 %xmm0, %xmm161201; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm9 = [1,5,0,0]1202; AVX512-FCP-NEXT:    vmovdqa %xmm15, %xmm21203; AVX512-FCP-NEXT:    vpermt2d %xmm14, %xmm9, %xmm21204; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm11[0],xmm10[0],xmm11[1],xmm10[1]1205; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm0[2,3]1206; AVX512-FCP-NEXT:    vmovdqa %xmm11, %xmm01207; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm11 = xmm11[2],xmm10[2],xmm11[3],xmm10[3]1208; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm1 = [0,0,2,6]1209; AVX512-FCP-NEXT:    vpermt2d %xmm10, %xmm1, %xmm01210; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm15[2],xmm14[2],xmm15[3],xmm14[3]1211; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm10[0,1],xmm0[2,3]1212; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm10 = [3,7,0,0]1213; AVX512-FCP-NEXT:    vpermt2d %xmm14, %xmm10, %xmm151214; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm15[0,1],xmm11[2,3]1215; AVX512-FCP-NEXT:    vmovdqa64 %xmm17, %xmm141216; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm4 = xmm4[4],xmm14[4],xmm4[5],xmm14[5],xmm4[6],xmm14[6],xmm4[7],xmm14[7]1217; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm5 = xmm6[4],xmm5[4],xmm6[5],xmm5[5],xmm6[6],xmm5[6],xmm6[7],xmm5[7]1218; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm6 = xmm12[4],xmm13[4],xmm12[5],xmm13[5],xmm12[6],xmm13[6],xmm12[7],xmm13[7]1219; AVX512-FCP-NEXT:    vpermi2d %xmm4, %xmm5, %xmm31220; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm7 = xmm7[4],xmm8[4],xmm7[5],xmm8[5],xmm7[6],xmm8[6],xmm7[7],xmm8[7]1221; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]1222; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm8[0,1],xmm3[2,3]1223; AVX512-FCP-NEXT:    vpermi2d %xmm6, %xmm7, %xmm91224; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]1225; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]1226; AVX512-FCP-NEXT:    vpermi2d %xmm4, %xmm5, %xmm11227; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm9 = xmm7[2],xmm6[2],xmm7[3],xmm6[3]1228; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm9[0,1],xmm1[2,3]1229; AVX512-FCP-NEXT:    vpermt2d %xmm6, %xmm10, %xmm71230; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm4 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]1231; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm7[0,1],xmm4[2,3]1232; AVX512-FCP-NEXT:    vmovdqa64 %xmm16, (%rsi)1233; AVX512-FCP-NEXT:    vmovdqa %xmm2, (%rdx)1234; AVX512-FCP-NEXT:    vmovdqa %xmm0, (%rcx)1235; AVX512-FCP-NEXT:    vmovdqa %xmm11, (%r8)1236; AVX512-FCP-NEXT:    vmovdqa %xmm3, (%r9)1237; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1238; AVX512-FCP-NEXT:    vmovdqa %xmm8, (%rax)1239; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1240; AVX512-FCP-NEXT:    vmovdqa %xmm1, (%rax)1241; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1242; AVX512-FCP-NEXT:    vmovdqa %xmm4, (%rax)1243; AVX512-FCP-NEXT:    retq1244;1245; AVX512DQ-LABEL: load_i16_stride8_vf8:1246; AVX512DQ:       # %bb.0:1247; AVX512DQ-NEXT:    vmovdqa 112(%rdi), %xmm11248; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %xmm21249; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]1250; AVX512DQ-NEXT:    vmovdqa 80(%rdi), %xmm31251; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %xmm41252; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]1253; AVX512DQ-NEXT:    vpmovsxbd {{.*#+}} xmm0 = [0,0,0,4]1254; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm7 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]1255; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm8 = xmm5[2,2,2,2]1256; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm8 = xmm6[0,1,2],xmm8[3]1257; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm9 = xmm6[2],xmm5[2],xmm6[3],xmm5[3]1258; AVX512DQ-NEXT:    vpermt2d %xmm5, %xmm0, %xmm61259; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm51260; AVX512DQ-NEXT:    vmovdqa 16(%rdi), %xmm101261; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %xmm111262; AVX512DQ-NEXT:    vmovdqa 48(%rdi), %xmm121263; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]1264; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm5[0],xmm10[0],xmm5[1],xmm10[1],xmm5[2],xmm10[2],xmm5[3],xmm10[3]1265; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm14[0],xmm13[0],xmm14[1],xmm13[1]1266; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm6 = xmm15[0,1],xmm6[2,3]1267; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm15 = xmm14[1,1,1,1]1268; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm15 = xmm15[0],xmm13[1],xmm15[2,3]1269; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm7 = xmm15[0,1],xmm7[2,3]1270; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm15 = xmm14[2],xmm13[2],xmm14[3],xmm13[3]1271; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm8 = xmm15[0,1],xmm8[2,3]1272; AVX512DQ-NEXT:    vpmovsxbd {{.*#+}} xmm15 = [3,7,0,0]1273; AVX512DQ-NEXT:    vpermt2d %xmm13, %xmm15, %xmm141274; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1],xmm9[2,3]1275; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm1 = xmm2[4],xmm1[4],xmm2[5],xmm1[5],xmm2[6],xmm1[6],xmm2[7],xmm1[7]1276; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm4[4],xmm3[4],xmm4[5],xmm3[5],xmm4[6],xmm3[6],xmm4[7],xmm3[7]1277; AVX512DQ-NEXT:    vpermi2d %xmm1, %xmm2, %xmm01278; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm3 = xmm11[4],xmm12[4],xmm11[5],xmm12[5],xmm11[6],xmm12[6],xmm11[7],xmm12[7]1279; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm4 = xmm5[4],xmm10[4],xmm5[5],xmm10[5],xmm5[6],xmm10[6],xmm5[7],xmm10[7]1280; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]1281; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1],xmm0[2,3]1282; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]1283; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm10 = xmm4[1,1,1,1]1284; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm10 = xmm10[0],xmm3[1],xmm10[2,3]1285; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm5 = xmm10[0,1],xmm5[2,3]1286; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm10 = xmm1[2,2,2,2]1287; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm10 = xmm2[0,1,2],xmm10[3]1288; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm11 = xmm4[2],xmm3[2],xmm4[3],xmm3[3]1289; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]1290; AVX512DQ-NEXT:    vpermt2d %xmm3, %xmm15, %xmm41291; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]1292; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]1293; AVX512DQ-NEXT:    vmovdqa %xmm6, (%rsi)1294; AVX512DQ-NEXT:    vmovdqa %xmm7, (%rdx)1295; AVX512DQ-NEXT:    vmovdqa %xmm8, (%rcx)1296; AVX512DQ-NEXT:    vmovdqa %xmm9, (%r8)1297; AVX512DQ-NEXT:    vmovdqa %xmm0, (%r9)1298; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax1299; AVX512DQ-NEXT:    vmovdqa %xmm5, (%rax)1300; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax1301; AVX512DQ-NEXT:    vmovdqa %xmm10, (%rax)1302; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax1303; AVX512DQ-NEXT:    vmovdqa %xmm1, (%rax)1304; AVX512DQ-NEXT:    retq1305;1306; AVX512DQ-FCP-LABEL: load_i16_stride8_vf8:1307; AVX512DQ-FCP:       # %bb.0:1308; AVX512DQ-FCP-NEXT:    vmovdqa 112(%rdi), %xmm01309; AVX512DQ-FCP-NEXT:    vmovdqa 96(%rdi), %xmm41310; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm4[0],xmm0[0],xmm4[1],xmm0[1],xmm4[2],xmm0[2],xmm4[3],xmm0[3]1311; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm0, %xmm171312; AVX512DQ-FCP-NEXT:    vmovdqa 80(%rdi), %xmm51313; AVX512DQ-FCP-NEXT:    vmovdqa 64(%rdi), %xmm61314; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]1315; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm3 = [0,0,0,4]1316; AVX512DQ-FCP-NEXT:    vmovdqa %xmm11, %xmm01317; AVX512DQ-FCP-NEXT:    vpermt2d %xmm10, %xmm3, %xmm01318; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm71319; AVX512DQ-FCP-NEXT:    vmovdqa 16(%rdi), %xmm81320; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %xmm121321; AVX512DQ-FCP-NEXT:    vmovdqa 48(%rdi), %xmm131322; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]1323; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]1324; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm15[0],xmm14[0],xmm15[1],xmm14[1]1325; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]1326; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm0, %xmm161327; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm9 = [1,5,0,0]1328; AVX512DQ-FCP-NEXT:    vmovdqa %xmm15, %xmm21329; AVX512DQ-FCP-NEXT:    vpermt2d %xmm14, %xmm9, %xmm21330; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm11[0],xmm10[0],xmm11[1],xmm10[1]1331; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm0[2,3]1332; AVX512DQ-FCP-NEXT:    vmovdqa %xmm11, %xmm01333; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm11 = xmm11[2],xmm10[2],xmm11[3],xmm10[3]1334; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm1 = [0,0,2,6]1335; AVX512DQ-FCP-NEXT:    vpermt2d %xmm10, %xmm1, %xmm01336; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm15[2],xmm14[2],xmm15[3],xmm14[3]1337; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm10[0,1],xmm0[2,3]1338; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm10 = [3,7,0,0]1339; AVX512DQ-FCP-NEXT:    vpermt2d %xmm14, %xmm10, %xmm151340; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm15[0,1],xmm11[2,3]1341; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm17, %xmm141342; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm4 = xmm4[4],xmm14[4],xmm4[5],xmm14[5],xmm4[6],xmm14[6],xmm4[7],xmm14[7]1343; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm5 = xmm6[4],xmm5[4],xmm6[5],xmm5[5],xmm6[6],xmm5[6],xmm6[7],xmm5[7]1344; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm6 = xmm12[4],xmm13[4],xmm12[5],xmm13[5],xmm12[6],xmm13[6],xmm12[7],xmm13[7]1345; AVX512DQ-FCP-NEXT:    vpermi2d %xmm4, %xmm5, %xmm31346; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm7 = xmm7[4],xmm8[4],xmm7[5],xmm8[5],xmm7[6],xmm8[6],xmm7[7],xmm8[7]1347; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]1348; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm8[0,1],xmm3[2,3]1349; AVX512DQ-FCP-NEXT:    vpermi2d %xmm6, %xmm7, %xmm91350; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]1351; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]1352; AVX512DQ-FCP-NEXT:    vpermi2d %xmm4, %xmm5, %xmm11353; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm9 = xmm7[2],xmm6[2],xmm7[3],xmm6[3]1354; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm9[0,1],xmm1[2,3]1355; AVX512DQ-FCP-NEXT:    vpermt2d %xmm6, %xmm10, %xmm71356; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm4 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]1357; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm7[0,1],xmm4[2,3]1358; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm16, (%rsi)1359; AVX512DQ-FCP-NEXT:    vmovdqa %xmm2, (%rdx)1360; AVX512DQ-FCP-NEXT:    vmovdqa %xmm0, (%rcx)1361; AVX512DQ-FCP-NEXT:    vmovdqa %xmm11, (%r8)1362; AVX512DQ-FCP-NEXT:    vmovdqa %xmm3, (%r9)1363; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1364; AVX512DQ-FCP-NEXT:    vmovdqa %xmm8, (%rax)1365; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1366; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, (%rax)1367; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1368; AVX512DQ-FCP-NEXT:    vmovdqa %xmm4, (%rax)1369; AVX512DQ-FCP-NEXT:    retq1370;1371; AVX512BW-LABEL: load_i16_stride8_vf8:1372; AVX512BW:       # %bb.0:1373; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax1374; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r101375; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r111376; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm0 = [0,8,16,24,32,40,48,56]1377; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm11378; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm21379; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm01380; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm3 = [1,9,17,25,33,41,49,57]1381; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm31382; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm4 = [2,10,18,26,34,42,50,58]1383; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm41384; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm5 = [3,11,19,27,35,43,51,59]1385; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm51386; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm6 = [4,12,20,28,36,44,52,60]1387; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm61388; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm7 = [5,13,21,29,37,45,53,61]1389; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm71390; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm8 = [6,14,22,30,38,46,54,62]1391; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm81392; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm9 = [7,15,23,31,39,47,55,63]1393; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm91394; AVX512BW-NEXT:    vmovdqa %xmm0, (%rsi)1395; AVX512BW-NEXT:    vmovdqa %xmm3, (%rdx)1396; AVX512BW-NEXT:    vmovdqa %xmm4, (%rcx)1397; AVX512BW-NEXT:    vmovdqa %xmm5, (%r8)1398; AVX512BW-NEXT:    vmovdqa %xmm6, (%r9)1399; AVX512BW-NEXT:    vmovdqa %xmm7, (%r11)1400; AVX512BW-NEXT:    vmovdqa %xmm8, (%r10)1401; AVX512BW-NEXT:    vmovdqa %xmm9, (%rax)1402; AVX512BW-NEXT:    vzeroupper1403; AVX512BW-NEXT:    retq1404;1405; AVX512BW-FCP-LABEL: load_i16_stride8_vf8:1406; AVX512BW-FCP:       # %bb.0:1407; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1408; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101409; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r111410; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm0 = [0,8,16,24,32,40,48,56]1411; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm11412; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm21413; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm01414; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm3 = [1,9,17,25,33,41,49,57]1415; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm31416; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm4 = [2,10,18,26,34,42,50,58]1417; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm41418; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm5 = [3,11,19,27,35,43,51,59]1419; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm51420; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm6 = [4,12,20,28,36,44,52,60]1421; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm61422; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm7 = [5,13,21,29,37,45,53,61]1423; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm71424; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm8 = [6,14,22,30,38,46,54,62]1425; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm81426; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm9 = [7,15,23,31,39,47,55,63]1427; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm91428; AVX512BW-FCP-NEXT:    vmovdqa %xmm0, (%rsi)1429; AVX512BW-FCP-NEXT:    vmovdqa %xmm3, (%rdx)1430; AVX512BW-FCP-NEXT:    vmovdqa %xmm4, (%rcx)1431; AVX512BW-FCP-NEXT:    vmovdqa %xmm5, (%r8)1432; AVX512BW-FCP-NEXT:    vmovdqa %xmm6, (%r9)1433; AVX512BW-FCP-NEXT:    vmovdqa %xmm7, (%r11)1434; AVX512BW-FCP-NEXT:    vmovdqa %xmm8, (%r10)1435; AVX512BW-FCP-NEXT:    vmovdqa %xmm9, (%rax)1436; AVX512BW-FCP-NEXT:    vzeroupper1437; AVX512BW-FCP-NEXT:    retq1438;1439; AVX512DQ-BW-LABEL: load_i16_stride8_vf8:1440; AVX512DQ-BW:       # %bb.0:1441; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax1442; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r101443; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r111444; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm0 = [0,8,16,24,32,40,48,56]1445; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm11446; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm21447; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm01448; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm3 = [1,9,17,25,33,41,49,57]1449; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm31450; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm4 = [2,10,18,26,34,42,50,58]1451; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm41452; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm5 = [3,11,19,27,35,43,51,59]1453; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm51454; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm6 = [4,12,20,28,36,44,52,60]1455; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm61456; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm7 = [5,13,21,29,37,45,53,61]1457; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm71458; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm8 = [6,14,22,30,38,46,54,62]1459; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm81460; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm9 = [7,15,23,31,39,47,55,63]1461; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm1, %zmm91462; AVX512DQ-BW-NEXT:    vmovdqa %xmm0, (%rsi)1463; AVX512DQ-BW-NEXT:    vmovdqa %xmm3, (%rdx)1464; AVX512DQ-BW-NEXT:    vmovdqa %xmm4, (%rcx)1465; AVX512DQ-BW-NEXT:    vmovdqa %xmm5, (%r8)1466; AVX512DQ-BW-NEXT:    vmovdqa %xmm6, (%r9)1467; AVX512DQ-BW-NEXT:    vmovdqa %xmm7, (%r11)1468; AVX512DQ-BW-NEXT:    vmovdqa %xmm8, (%r10)1469; AVX512DQ-BW-NEXT:    vmovdqa %xmm9, (%rax)1470; AVX512DQ-BW-NEXT:    vzeroupper1471; AVX512DQ-BW-NEXT:    retq1472;1473; AVX512DQ-BW-FCP-LABEL: load_i16_stride8_vf8:1474; AVX512DQ-BW-FCP:       # %bb.0:1475; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1476; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101477; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r111478; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm0 = [0,8,16,24,32,40,48,56]1479; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm11480; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm21481; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm01482; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm3 = [1,9,17,25,33,41,49,57]1483; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm31484; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm4 = [2,10,18,26,34,42,50,58]1485; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm41486; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm5 = [3,11,19,27,35,43,51,59]1487; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm51488; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm6 = [4,12,20,28,36,44,52,60]1489; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm61490; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm7 = [5,13,21,29,37,45,53,61]1491; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm71492; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm8 = [6,14,22,30,38,46,54,62]1493; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm81494; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm9 = [7,15,23,31,39,47,55,63]1495; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm1, %zmm91496; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm0, (%rsi)1497; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm3, (%rdx)1498; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm4, (%rcx)1499; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm5, (%r8)1500; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm6, (%r9)1501; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm7, (%r11)1502; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm8, (%r10)1503; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm9, (%rax)1504; AVX512DQ-BW-FCP-NEXT:    vzeroupper1505; AVX512DQ-BW-FCP-NEXT:    retq1506  %wide.vec = load <64 x i16>, ptr %in.vec, align 641507  %strided.vec0 = shufflevector <64 x i16> %wide.vec, <64 x i16> poison, <8 x i32> <i32 0, i32 8, i32 16, i32 24, i32 32, i32 40, i32 48, i32 56>1508  %strided.vec1 = shufflevector <64 x i16> %wide.vec, <64 x i16> poison, <8 x i32> <i32 1, i32 9, i32 17, i32 25, i32 33, i32 41, i32 49, i32 57>1509  %strided.vec2 = shufflevector <64 x i16> %wide.vec, <64 x i16> poison, <8 x i32> <i32 2, i32 10, i32 18, i32 26, i32 34, i32 42, i32 50, i32 58>1510  %strided.vec3 = shufflevector <64 x i16> %wide.vec, <64 x i16> poison, <8 x i32> <i32 3, i32 11, i32 19, i32 27, i32 35, i32 43, i32 51, i32 59>1511  %strided.vec4 = shufflevector <64 x i16> %wide.vec, <64 x i16> poison, <8 x i32> <i32 4, i32 12, i32 20, i32 28, i32 36, i32 44, i32 52, i32 60>1512  %strided.vec5 = shufflevector <64 x i16> %wide.vec, <64 x i16> poison, <8 x i32> <i32 5, i32 13, i32 21, i32 29, i32 37, i32 45, i32 53, i32 61>1513  %strided.vec6 = shufflevector <64 x i16> %wide.vec, <64 x i16> poison, <8 x i32> <i32 6, i32 14, i32 22, i32 30, i32 38, i32 46, i32 54, i32 62>1514  %strided.vec7 = shufflevector <64 x i16> %wide.vec, <64 x i16> poison, <8 x i32> <i32 7, i32 15, i32 23, i32 31, i32 39, i32 47, i32 55, i32 63>1515  store <8 x i16> %strided.vec0, ptr %out.vec0, align 641516  store <8 x i16> %strided.vec1, ptr %out.vec1, align 641517  store <8 x i16> %strided.vec2, ptr %out.vec2, align 641518  store <8 x i16> %strided.vec3, ptr %out.vec3, align 641519  store <8 x i16> %strided.vec4, ptr %out.vec4, align 641520  store <8 x i16> %strided.vec5, ptr %out.vec5, align 641521  store <8 x i16> %strided.vec6, ptr %out.vec6, align 641522  store <8 x i16> %strided.vec7, ptr %out.vec7, align 641523  ret void1524}1525 1526define void @load_i16_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 {1527; SSE-LABEL: load_i16_stride8_vf16:1528; SSE:       # %bb.0:1529; SSE-NEXT:    subq $168, %rsp1530; SSE-NEXT:    movdqa 112(%rdi), %xmm61531; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1532; SSE-NEXT:    movdqa 96(%rdi), %xmm141533; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1534; SSE-NEXT:    movdqa 208(%rdi), %xmm01535; SSE-NEXT:    movdqa %xmm0, (%rsp) # 16-byte Spill1536; SSE-NEXT:    movdqa 192(%rdi), %xmm51537; SSE-NEXT:    movdqa 240(%rdi), %xmm11538; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1539; SSE-NEXT:    movdqa 224(%rdi), %xmm121540; SSE-NEXT:    movdqa 144(%rdi), %xmm31541; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1542; SSE-NEXT:    movdqa 128(%rdi), %xmm101543; SSE-NEXT:    movdqa 176(%rdi), %xmm21544; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1545; SSE-NEXT:    movdqa 160(%rdi), %xmm111546; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1547; SSE-NEXT:    punpcklwd {{.*#+}} xmm11 = xmm11[0],xmm2[0],xmm11[1],xmm2[1],xmm11[2],xmm2[2],xmm11[3],xmm2[3]1548; SSE-NEXT:    movdqa %xmm10, %xmm21549; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]1550; SSE-NEXT:    movdqa %xmm12, %xmm41551; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]1552; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm4[0,0,0,0]1553; SSE-NEXT:    movdqa %xmm5, %xmm11554; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]1555; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[0,0,0,0]1556; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm3[2],xmm0[3],xmm3[3]1557; SSE-NEXT:    movdqa %xmm2, %xmm31558; SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm11[0],xmm3[1],xmm11[1]1559; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm3[0],xmm0[1]1560; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1561; SSE-NEXT:    punpcklwd {{.*#+}} xmm14 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]1562; SSE-NEXT:    movdqa 80(%rdi), %xmm01563; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1564; SSE-NEXT:    movdqa 64(%rdi), %xmm31565; SSE-NEXT:    movdqa %xmm3, %xmm71566; SSE-NEXT:    punpcklwd {{.*#+}} xmm7 = xmm7[0],xmm0[0],xmm7[1],xmm0[1],xmm7[2],xmm0[2],xmm7[3],xmm0[3]1567; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm14[0,0,0,0]1568; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm7[0,0,0,0]1569; SSE-NEXT:    punpckhdq {{.*#+}} xmm15 = xmm15[2],xmm6[2],xmm15[3],xmm6[3]1570; SSE-NEXT:    movdqa 32(%rdi), %xmm91571; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1572; SSE-NEXT:    movdqa 48(%rdi), %xmm01573; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1574; SSE-NEXT:    punpcklwd {{.*#+}} xmm9 = xmm9[0],xmm0[0],xmm9[1],xmm0[1],xmm9[2],xmm0[2],xmm9[3],xmm0[3]1575; SSE-NEXT:    movdqa (%rdi), %xmm61576; SSE-NEXT:    movdqa 16(%rdi), %xmm01577; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1578; SSE-NEXT:    movdqa %xmm6, %xmm81579; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm0[0],xmm8[1],xmm0[1],xmm8[2],xmm0[2],xmm8[3],xmm0[3]1580; SSE-NEXT:    movdqa %xmm8, %xmm01581; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm9[0],xmm0[1],xmm9[1]1582; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm15[2,3]1583; SSE-NEXT:    movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1584; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]1585; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm11[1,1,1,1]1586; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm15[0],xmm0[1],xmm15[1]1587; SSE-NEXT:    movdqa %xmm1, %xmm151588; SSE-NEXT:    punpckldq {{.*#+}} xmm15 = xmm15[0],xmm4[0],xmm15[1],xmm4[1]1589; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm15[2,3]1590; SSE-NEXT:    movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1591; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm9[1,1,1,1]1592; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm8[1,1,1,1]1593; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm15[0],xmm0[1],xmm15[1]1594; SSE-NEXT:    movdqa %xmm7, %xmm151595; SSE-NEXT:    punpckldq {{.*#+}} xmm15 = xmm15[0],xmm14[0],xmm15[1],xmm14[1]1596; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm15[2,3]1597; SSE-NEXT:    movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1598; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm4[2,2,2,2]1599; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[2,2,2,2]1600; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm15[2],xmm0[3],xmm15[3]1601; SSE-NEXT:    movdqa %xmm2, %xmm151602; SSE-NEXT:    punpckhdq {{.*#+}} xmm15 = xmm15[2],xmm11[2],xmm15[3],xmm11[3]1603; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm15[0],xmm0[1]1604; SSE-NEXT:    movapd %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1605; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm14[2,2,2,2]1606; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm7[2,2,2,2]1607; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm15[2],xmm0[3],xmm15[3]1608; SSE-NEXT:    pshufd {{.*#+}} xmm13 = xmm8[3,3,3,3]1609; SSE-NEXT:    punpckhdq {{.*#+}} xmm8 = xmm8[2],xmm9[2],xmm8[3],xmm9[3]1610; SSE-NEXT:    shufps {{.*#+}} xmm8 = xmm8[0,1],xmm0[2,3]1611; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm4[2],xmm1[3],xmm4[3]1612; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[3,3,3,3]1613; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm11[3,3,3,3]1614; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]1615; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm1[2,3]1616; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1617; SSE-NEXT:    punpckhdq {{.*#+}} xmm7 = xmm7[2],xmm14[2],xmm7[3],xmm14[3]1618; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm9[3,3,3,3]1619; SSE-NEXT:    punpckldq {{.*#+}} xmm13 = xmm13[0],xmm0[0],xmm13[1],xmm0[1]1620; SSE-NEXT:    shufps {{.*#+}} xmm13 = xmm13[0,1],xmm7[2,3]1621; SSE-NEXT:    movaps %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1622; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload1623; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Folded Reload1624; SSE-NEXT:    # xmm13 = xmm13[4],mem[4],xmm13[5],mem[5],xmm13[6],mem[6],xmm13[7],mem[7]1625; SSE-NEXT:    movdqa %xmm10, %xmm151626; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload1627; SSE-NEXT:    # xmm15 = xmm15[4],mem[4],xmm15[5],mem[5],xmm15[6],mem[6],xmm15[7],mem[7]1628; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload1629; SSE-NEXT:    # xmm12 = xmm12[4],mem[4],xmm12[5],mem[5],xmm12[6],mem[6],xmm12[7],mem[7]1630; SSE-NEXT:    movdqa %xmm5, %xmm21631; SSE-NEXT:    punpckhwd (%rsp), %xmm2 # 16-byte Folded Reload1632; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]1633; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm12[0,0,0,0]1634; SSE-NEXT:    movdqa %xmm12, %xmm01635; SSE-NEXT:    pshufd {{.*#+}} xmm12 = xmm2[0,0,0,0]1636; SSE-NEXT:    punpckhdq {{.*#+}} xmm12 = xmm12[2],xmm1[2],xmm12[3],xmm1[3]1637; SSE-NEXT:    movdqa %xmm15, %xmm11638; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm13[0],xmm1[1],xmm13[1]1639; SSE-NEXT:    movsd {{.*#+}} xmm12 = xmm1[0],xmm12[1]1640; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload1641; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Folded Reload1642; SSE-NEXT:    # xmm10 = xmm10[4],mem[4],xmm10[5],mem[5],xmm10[6],mem[6],xmm10[7],mem[7]1643; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload1644; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]1645; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm10[0,0,0,0]1646; SSE-NEXT:    movdqa %xmm10, %xmm141647; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1648; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm3[0,0,0,0]1649; SSE-NEXT:    punpckhdq {{.*#+}} xmm4 = xmm4[2],xmm1[2],xmm4[3],xmm1[3]1650; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload1651; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload1652; SSE-NEXT:    # xmm5 = xmm5[4],mem[4],xmm5[5],mem[5],xmm5[6],mem[6],xmm5[7],mem[7]1653; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload1654; SSE-NEXT:    # xmm6 = xmm6[4],mem[4],xmm6[5],mem[5],xmm6[6],mem[6],xmm6[7],mem[7]1655; SSE-NEXT:    movdqa %xmm6, %xmm11656; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1]1657; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm4[2,3]1658; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm15[1,1,1,1]1659; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm13[1,1,1,1]1660; SSE-NEXT:    punpckldq {{.*#+}} xmm4 = xmm4[0],xmm7[0],xmm4[1],xmm7[1]1661; SSE-NEXT:    movdqa %xmm2, %xmm71662; SSE-NEXT:    punpckldq {{.*#+}} xmm7 = xmm7[0],xmm0[0],xmm7[1],xmm0[1]1663; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,1],xmm7[2,3]1664; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm5[1,1,1,1]1665; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm6[1,1,1,1]1666; SSE-NEXT:    punpckldq {{.*#+}} xmm7 = xmm7[0],xmm9[0],xmm7[1],xmm9[1]1667; SSE-NEXT:    movdqa %xmm3, %xmm91668; SSE-NEXT:    punpckldq {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1]1669; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,1],xmm9[2,3]1670; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm0[2,2,2,2]1671; SSE-NEXT:    movdqa %xmm0, %xmm101672; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm2[2,2,2,2]1673; SSE-NEXT:    punpckhdq {{.*#+}} xmm9 = xmm9[2],xmm11[2],xmm9[3],xmm11[3]1674; SSE-NEXT:    movdqa %xmm15, %xmm111675; SSE-NEXT:    punpckhdq {{.*#+}} xmm11 = xmm11[2],xmm13[2],xmm11[3],xmm13[3]1676; SSE-NEXT:    movsd {{.*#+}} xmm9 = xmm11[0],xmm9[1]1677; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm14[2,2,2,2]1678; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[2,2,2,2]1679; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm11[2],xmm0[3],xmm11[3]1680; SSE-NEXT:    pshufd {{.*#+}} xmm14 = xmm6[3,3,3,3]1681; SSE-NEXT:    punpckhdq {{.*#+}} xmm6 = xmm6[2],xmm5[2],xmm6[3],xmm5[3]1682; SSE-NEXT:    shufps {{.*#+}} xmm6 = xmm6[0,1],xmm0[2,3]1683; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm10[2],xmm2[3],xmm10[3]1684; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm15[3,3,3,3]1685; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm13[3,3,3,3]1686; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm11[0],xmm0[1],xmm11[1]1687; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3]1688; SSE-NEXT:    punpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload1689; SSE-NEXT:    # xmm3 = xmm3[2],mem[2],xmm3[3],mem[3]1690; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[3,3,3,3]1691; SSE-NEXT:    punpckldq {{.*#+}} xmm14 = xmm14[0],xmm5[0],xmm14[1],xmm5[1]1692; SSE-NEXT:    shufps {{.*#+}} xmm14 = xmm14[0,1],xmm3[2,3]1693; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1694; SSE-NEXT:    movaps %xmm2, (%rsi)1695; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload1696; SSE-NEXT:    movaps %xmm3, 16(%rsi)1697; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1698; SSE-NEXT:    movaps %xmm2, (%rdx)1699; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1700; SSE-NEXT:    movaps %xmm2, 16(%rdx)1701; SSE-NEXT:    movaps %xmm8, (%rcx)1702; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1703; SSE-NEXT:    movaps %xmm2, 16(%rcx)1704; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1705; SSE-NEXT:    movaps %xmm2, (%r8)1706; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1707; SSE-NEXT:    movaps %xmm2, 16(%r8)1708; SSE-NEXT:    movaps %xmm1, (%r9)1709; SSE-NEXT:    movapd %xmm12, 16(%r9)1710; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax1711; SSE-NEXT:    movaps %xmm7, (%rax)1712; SSE-NEXT:    movaps %xmm4, 16(%rax)1713; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax1714; SSE-NEXT:    movaps %xmm6, (%rax)1715; SSE-NEXT:    movapd %xmm9, 16(%rax)1716; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax1717; SSE-NEXT:    movaps %xmm0, 16(%rax)1718; SSE-NEXT:    movaps %xmm14, (%rax)1719; SSE-NEXT:    addq $168, %rsp1720; SSE-NEXT:    retq1721;1722; AVX-LABEL: load_i16_stride8_vf16:1723; AVX:       # %bb.0:1724; AVX-NEXT:    subq $152, %rsp1725; AVX-NEXT:    vmovdqa 176(%rdi), %xmm01726; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1727; AVX-NEXT:    vmovdqa 160(%rdi), %xmm11728; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1729; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]1730; AVX-NEXT:    vmovdqa 144(%rdi), %xmm01731; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1732; AVX-NEXT:    vmovdqa 128(%rdi), %xmm11733; AVX-NEXT:    vmovdqa %xmm1, (%rsp) # 16-byte Spill1734; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]1735; AVX-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm7[0],xmm8[0],xmm7[1],xmm8[1]1736; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm01737; AVX-NEXT:    vmovdqa 240(%rdi), %xmm11738; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1739; AVX-NEXT:    vmovdqa 224(%rdi), %xmm21740; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1741; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]1742; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm5[0,0,0,0]1743; AVX-NEXT:    vmovdqa 208(%rdi), %xmm21744; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1745; AVX-NEXT:    vmovdqa 192(%rdi), %xmm31746; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1747; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]1748; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm3[0,1,0,1]1749; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]1750; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm11751; AVX-NEXT:    vblendps {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5],ymm1[6,7]1752; AVX-NEXT:    vmovdqa 112(%rdi), %xmm01753; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1754; AVX-NEXT:    vmovdqa 96(%rdi), %xmm11755; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1756; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]1757; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm4[0,0,0,0]1758; AVX-NEXT:    vmovdqa 80(%rdi), %xmm11759; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1760; AVX-NEXT:    vmovdqa 64(%rdi), %xmm151761; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm15[0],xmm1[0],xmm15[1],xmm1[1],xmm15[2],xmm1[2],xmm15[3],xmm1[3]1762; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm2[0,1,0,1]1763; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm1[0,1,2,3,4,5],xmm0[6,7]1764; AVX-NEXT:    vmovdqa (%rdi), %xmm141765; AVX-NEXT:    vmovdqa 16(%rdi), %xmm121766; AVX-NEXT:    vmovdqa 32(%rdi), %xmm111767; AVX-NEXT:    vmovdqa 48(%rdi), %xmm101768; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm11[0],xmm10[0],xmm11[1],xmm10[1],xmm11[2],xmm10[2],xmm11[3],xmm10[3]1769; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm14[0],xmm12[0],xmm14[1],xmm12[1],xmm14[2],xmm12[2],xmm14[3],xmm12[3]1770; AVX-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]1771; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm13[0,1,2,3],xmm6[4,5,6,7]1772; AVX-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm9[4,5,6,7]1773; AVX-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1774; AVX-NEXT:    vpunpckldq {{.*#+}} xmm6 = xmm3[0],xmm5[0],xmm3[1],xmm5[1]1775; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm61776; AVX-NEXT:    vpshufd {{.*#+}} xmm9 = xmm7[1,1,1,1]1777; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm9[0,1],xmm8[2,3],xmm9[4,5,6,7]1778; AVX-NEXT:    vinsertf128 $1, %xmm9, %ymm0, %ymm91779; AVX-NEXT:    vblendps {{.*#+}} ymm6 = ymm9[0,1,2,3,4,5],ymm6[6,7]1780; AVX-NEXT:    vpshufd {{.*#+}} xmm9 = xmm1[1,1,1,1]1781; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm9[0,1],xmm0[2,3],xmm9[4,5,6,7]1782; AVX-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]1783; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm9[0,1,2,3],xmm13[4,5,6,7]1784; AVX-NEXT:    vblendps {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]1785; AVX-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1786; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm6 = xmm7[2],xmm8[2],xmm7[3],xmm8[3]1787; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm61788; AVX-NEXT:    vpshufd {{.*#+}} xmm9 = xmm5[2,2,2,2]1789; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm3[0,1,2,3,4,5],xmm9[6,7]1790; AVX-NEXT:    vinsertf128 $1, %xmm9, %ymm0, %ymm91791; AVX-NEXT:    vblendps {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm9[6,7]1792; AVX-NEXT:    vpshufd {{.*#+}} xmm9 = xmm4[2,2,2,2]1793; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm2[0,1,2,3,4,5],xmm9[6,7]1794; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm13 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]1795; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm13[0,1,2,3],xmm9[4,5,6,7]1796; AVX-NEXT:    vblendps {{.*#+}} ymm13 = ymm9[0,1,2,3],ymm6[4,5,6,7]1797; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm3[2],xmm5[2],xmm3[3],xmm5[3]1798; AVX-NEXT:    vpshufd {{.*#+}} xmm5 = xmm8[2,3,2,3]1799; AVX-NEXT:    vpshufd {{.*#+}} xmm6 = xmm7[3,3,3,3]1800; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]1801; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm31802; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm51803; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5],ymm3[6,7]1804; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm2[2],xmm4[2],xmm2[3],xmm4[3]1805; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]1806; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[3,3,3,3]1807; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3],xmm1[4,5,6,7]1808; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm2[4,5,6,7]1809; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]1810; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1811; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1812; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload1813; AVX-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]1814; AVX-NEXT:    vmovdqa (%rsp), %xmm1 # 16-byte Reload1815; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload1816; AVX-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]1817; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1818; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload1819; AVX-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]1820; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload1821; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload1822; AVX-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]1823; AVX-NEXT:    vpshufd {{.*#+}} xmm4 = xmm2[0,0,0,0]1824; AVX-NEXT:    vpshufd {{.*#+}} xmm5 = xmm3[0,1,0,1]1825; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3,4,5],xmm4[6,7]1826; AVX-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]1827; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm51828; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm41829; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm4[6,7]1830; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload1831; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm4 # 16-byte Folded Reload1832; AVX-NEXT:    # xmm4 = xmm4[4],mem[4],xmm4[5],mem[5],xmm4[6],mem[6],xmm4[7],mem[7]1833; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm9 # 16-byte Folded Reload1834; AVX-NEXT:    # xmm9 = xmm15[4],mem[4],xmm15[5],mem[5],xmm15[6],mem[6],xmm15[7],mem[7]1835; AVX-NEXT:    vpshufd {{.*#+}} xmm6 = xmm4[0,0,0,0]1836; AVX-NEXT:    vpshufd {{.*#+}} xmm7 = xmm9[0,1,0,1]1837; AVX-NEXT:    vpblendw {{.*#+}} xmm8 = xmm7[0,1,2,3,4,5],xmm6[6,7]1838; AVX-NEXT:    vpunpckhwd {{.*#+}} xmm6 = xmm11[4],xmm10[4],xmm11[5],xmm10[5],xmm11[6],xmm10[6],xmm11[7],xmm10[7]1839; AVX-NEXT:    vpunpckhwd {{.*#+}} xmm7 = xmm14[4],xmm12[4],xmm14[5],xmm12[5],xmm14[6],xmm12[6],xmm14[7],xmm12[7]1840; AVX-NEXT:    vpunpckldq {{.*#+}} xmm10 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]1841; AVX-NEXT:    vpblendw {{.*#+}} xmm8 = xmm10[0,1,2,3],xmm8[4,5,6,7]1842; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm8[0,1,2,3],ymm5[4,5,6,7]1843; AVX-NEXT:    vpunpckldq {{.*#+}} xmm8 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]1844; AVX-NEXT:    vinsertf128 $1, %xmm8, %ymm0, %ymm81845; AVX-NEXT:    vpshufd {{.*#+}} xmm10 = xmm1[1,1,1,1]1846; AVX-NEXT:    vpblendw {{.*#+}} xmm10 = xmm10[0,1],xmm0[2,3],xmm10[4,5,6,7]1847; AVX-NEXT:    vinsertf128 $1, %xmm10, %ymm0, %ymm101848; AVX-NEXT:    vblendps {{.*#+}} ymm8 = ymm10[0,1,2,3,4,5],ymm8[6,7]1849; AVX-NEXT:    vpunpckldq {{.*#+}} xmm10 = xmm9[0],xmm4[0],xmm9[1],xmm4[1]1850; AVX-NEXT:    vpshufd {{.*#+}} xmm11 = xmm7[1,1,1,1]1851; AVX-NEXT:    vpblendw {{.*#+}} xmm11 = xmm11[0,1],xmm6[2,3],xmm11[4,5,6,7]1852; AVX-NEXT:    vpblendw {{.*#+}} xmm10 = xmm11[0,1,2,3],xmm10[4,5,6,7]1853; AVX-NEXT:    vblendps {{.*#+}} ymm8 = ymm10[0,1,2,3],ymm8[4,5,6,7]1854; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]1855; AVX-NEXT:    vinsertf128 $1, %xmm10, %ymm0, %ymm101856; AVX-NEXT:    vpshufd {{.*#+}} xmm11 = xmm2[2,2,2,2]1857; AVX-NEXT:    vpblendw {{.*#+}} xmm11 = xmm3[0,1,2,3,4,5],xmm11[6,7]1858; AVX-NEXT:    vinsertf128 $1, %xmm11, %ymm0, %ymm111859; AVX-NEXT:    vblendps {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],ymm11[6,7]1860; AVX-NEXT:    vpshufd {{.*#+}} xmm11 = xmm4[2,2,2,2]1861; AVX-NEXT:    vpblendw {{.*#+}} xmm11 = xmm9[0,1,2,3,4,5],xmm11[6,7]1862; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm12 = xmm7[2],xmm6[2],xmm7[3],xmm6[3]1863; AVX-NEXT:    vpblendw {{.*#+}} xmm11 = xmm12[0,1,2,3],xmm11[4,5,6,7]1864; AVX-NEXT:    vblendps {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]1865; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm3[2],xmm2[2],xmm3[3],xmm2[3]1866; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]1867; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[3,3,3,3]1868; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3],xmm1[4,5,6,7]1869; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm11870; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm01871; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]1872; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm9[2],xmm4[2],xmm9[3],xmm4[3]1873; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm6[2,3,2,3]1874; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm7[3,3,3,3]1875; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3],xmm3[4,5,6,7]1876; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3],xmm1[4,5,6,7]1877; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]1878; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1879; AVX-NEXT:    vmovaps %ymm1, (%rsi)1880; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1881; AVX-NEXT:    vmovaps %ymm1, (%rdx)1882; AVX-NEXT:    vmovaps %ymm13, (%rcx)1883; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload1884; AVX-NEXT:    vmovaps %ymm1, (%r8)1885; AVX-NEXT:    vmovaps %ymm5, (%r9)1886; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax1887; AVX-NEXT:    vmovaps %ymm8, (%rax)1888; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax1889; AVX-NEXT:    vmovaps %ymm10, (%rax)1890; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax1891; AVX-NEXT:    vmovaps %ymm0, (%rax)1892; AVX-NEXT:    addq $152, %rsp1893; AVX-NEXT:    vzeroupper1894; AVX-NEXT:    retq1895;1896; AVX2-LABEL: load_i16_stride8_vf16:1897; AVX2:       # %bb.0:1898; AVX2-NEXT:    subq $264, %rsp # imm = 0x1081899; AVX2-NEXT:    vmovdqa 192(%rdi), %ymm21900; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1901; AVX2-NEXT:    vmovdqa 224(%rdi), %ymm51902; AVX2-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1903; AVX2-NEXT:    vmovdqa 112(%rdi), %xmm01904; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1905; AVX2-NEXT:    vmovdqa 96(%rdi), %xmm11906; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1907; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]1908; AVX2-NEXT:    vpbroadcastd %xmm12, %xmm01909; AVX2-NEXT:    vmovdqa 80(%rdi), %xmm11910; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1911; AVX2-NEXT:    vmovdqa 64(%rdi), %xmm31912; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1913; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]1914; AVX2-NEXT:    vpbroadcastd %xmm9, %xmm11915; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]1916; AVX2-NEXT:    vmovdqa (%rdi), %xmm01917; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1918; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm11919; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1920; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm41921; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1922; AVX2-NEXT:    vmovdqa 48(%rdi), %xmm61923; AVX2-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1924; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm4[0],xmm6[0],xmm4[1],xmm6[1],xmm4[2],xmm6[2],xmm4[3],xmm6[3]1925; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1926; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm7[0],xmm8[0],xmm7[1],xmm8[1]1927; AVX2-NEXT:    vpblendd {{.*#+}} xmm14 = xmm4[0,1],xmm3[2,3]1928; AVX2-NEXT:    vpermq {{.*#+}} ymm13 = ymm5[0,1,0,2]1929; AVX2-NEXT:    vpshufd {{.*#+}} ymm6 = ymm13[0,1,2,0,4,5,6,4]1930; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]1931; AVX2-NEXT:    vpermq {{.*#+}} ymm11 = ymm2[0,1,0,2]1932; AVX2-NEXT:    vpshufd {{.*#+}} ymm5 = ymm11[0,1,2,0,4,5,6,4]1933; AVX2-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm5[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]1934; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]1935; AVX2-NEXT:    vmovdqa 128(%rdi), %ymm01936; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1937; AVX2-NEXT:    vmovdqa 160(%rdi), %ymm11938; AVX2-NEXT:    vmovdqu %ymm1, (%rsp) # 32-byte Spill1939; AVX2-NEXT:    vpermq {{.*#+}} ymm10 = ymm1[0,1,0,2]1940; AVX2-NEXT:    vpshufd {{.*#+}} ymm1 = ymm10[0,2,2,3,4,6,6,7]1941; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm1[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]1942; AVX2-NEXT:    vpermq {{.*#+}} ymm4 = ymm0[0,1,0,2]1943; AVX2-NEXT:    vpshufd {{.*#+}} ymm0 = ymm4[0,2,2,3,4,6,6,7]1944; AVX2-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]1945; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3,4],ymm2[5],ymm15[6,7]1946; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]1947; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm14[0,1,2,3],ymm2[4,5,6,7]1948; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1949; AVX2-NEXT:    vpshufd {{.*#+}} xmm2 = xmm7[1,1,1,1]1950; AVX2-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm8[1],xmm2[2,3]1951; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm9[0],xmm12[0],xmm9[1],xmm12[1]1952; AVX2-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm3[2,3]1953; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]1954; AVX2-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]1955; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5,6],ymm3[7]1956; AVX2-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]1957; AVX2-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]1958; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]1959; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]1960; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]1961; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1962; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm12[2,2,2,2]1963; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm9[0,1,2],xmm0[3]1964; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm7[2],xmm8[2],xmm7[3],xmm8[3]1965; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]1966; AVX2-NEXT:    vpshufd {{.*#+}} ymm1 = ymm13[0,1,1,3,4,5,5,7]1967; AVX2-NEXT:    vpshufd {{.*#+}} ymm2 = ymm11[0,1,1,3,4,5,5,7]1968; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]1969; AVX2-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]1970; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5,6],ymm3[7]1971; AVX2-NEXT:    vpshufd {{.*#+}} ymm5 = ymm10[3,1,2,3,7,5,6,7]1972; AVX2-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[3,1,2,3,7,5,6,7]1973; AVX2-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm5[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]1974; AVX2-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm4[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]1975; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4],ymm6[5],ymm10[6,7]1976; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5],ymm3[6,7]1977; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]1978; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1979; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm9[2],xmm12[2],xmm9[3],xmm12[3]1980; AVX2-NEXT:    vpshufd {{.*#+}} xmm3 = xmm8[2,3,2,3]1981; AVX2-NEXT:    vpshufd {{.*#+}} xmm6 = xmm7[3,3,3,3]1982; AVX2-NEXT:    vpblendd {{.*#+}} xmm3 = xmm6[0],xmm3[1],xmm6[2,3]1983; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]1984; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]1985; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]1986; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]1987; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm5[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]1988; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]1989; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]1990; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]1991; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]1992; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill1993; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1994; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload1995; AVX2-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]1996; AVX2-NEXT:    vpbroadcastd %xmm0, %xmm11997; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1998; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm5 # 16-byte Folded Reload1999; AVX2-NEXT:    # xmm5 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]2000; AVX2-NEXT:    vpbroadcastd %xmm5, %xmm22001; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]2002; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2003; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload2004; AVX2-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]2005; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2006; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload2007; AVX2-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]2008; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]2009; AVX2-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]2010; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload2011; AVX2-NEXT:    # ymm6 = mem[0,1,1,3]2012; AVX2-NEXT:    vpshufd {{.*#+}} ymm4 = ymm6[0,1,2,0,4,5,6,4]2013; AVX2-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2014; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload2015; AVX2-NEXT:    # ymm7 = mem[0,1,1,3]2016; AVX2-NEXT:    vpshufd {{.*#+}} ymm10 = ymm7[0,1,2,0,4,5,6,4]2017; AVX2-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2018; AVX2-NEXT:    vpblendd {{.*#+}} ymm11 = ymm9[0,1,2,3,4,5,6],ymm8[7]2019; AVX2-NEXT:    vpermq $212, (%rsp), %ymm8 # 32-byte Folded Reload2020; AVX2-NEXT:    # ymm8 = mem[0,1,1,3]2021; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload2022; AVX2-NEXT:    # ymm9 = mem[0,1,1,3]2023; AVX2-NEXT:    vpshufd {{.*#+}} ymm13 = ymm8[0,2,2,3,4,6,6,7]2024; AVX2-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm13[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2025; AVX2-NEXT:    vpshufd {{.*#+}} ymm15 = ymm9[0,2,2,3,4,6,6,7]2026; AVX2-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm15[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2027; AVX2-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3,4],ymm14[5],ymm12[6,7]2028; AVX2-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]2029; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm11[4,5,6,7]2030; AVX2-NEXT:    vpshufd {{.*#+}} xmm11 = xmm2[1,1,1,1]2031; AVX2-NEXT:    vpblendd {{.*#+}} xmm11 = xmm11[0],xmm1[1],xmm11[2,3]2032; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm12 = xmm5[0],xmm0[0],xmm5[1],xmm0[1]2033; AVX2-NEXT:    vpblendd {{.*#+}} xmm11 = xmm11[0,1],xmm12[2,3]2034; AVX2-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2035; AVX2-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2036; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm10[0,1,2,3,4,5,6],ymm4[7]2037; AVX2-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm13[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2038; AVX2-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm15[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2039; AVX2-NEXT:    vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3,4],ymm10[5],ymm12[6,7]2040; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm10[0,1,2,3,4,5],ymm4[6,7]2041; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm4[4,5,6,7]2042; AVX2-NEXT:    vpshufd {{.*#+}} xmm10 = xmm0[2,2,2,2]2043; AVX2-NEXT:    vpblendd {{.*#+}} xmm10 = xmm5[0,1,2],xmm10[3]2044; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm11 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]2045; AVX2-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]2046; AVX2-NEXT:    vpshufd {{.*#+}} ymm6 = ymm6[0,1,1,3,4,5,5,7]2047; AVX2-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm6[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2048; AVX2-NEXT:    vpshufd {{.*#+}} ymm7 = ymm7[0,1,1,3,4,5,5,7]2049; AVX2-NEXT:    vpshufhw {{.*#+}} ymm12 = ymm7[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2050; AVX2-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5,6],ymm11[7]2051; AVX2-NEXT:    vpshufd {{.*#+}} ymm8 = ymm8[3,1,2,3,7,5,6,7]2052; AVX2-NEXT:    vpshufd {{.*#+}} ymm9 = ymm9[3,1,2,3,7,5,6,7]2053; AVX2-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm8[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2054; AVX2-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm9[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2055; AVX2-NEXT:    vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4],ymm12[5],ymm13[6,7]2056; AVX2-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]2057; AVX2-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]2058; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm5[2],xmm0[2],xmm5[3],xmm0[3]2059; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,2,3]2060; AVX2-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[3,3,3,3]2061; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0],xmm1[1],xmm2[2,3]2062; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]2063; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2064; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm7[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2065; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]2066; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm8[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2067; AVX2-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm9[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2068; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3,4],ymm2[5],ymm5[6,7]2069; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]2070; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2071; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2072; AVX2-NEXT:    vmovaps %ymm1, (%rsi)2073; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2074; AVX2-NEXT:    vmovaps %ymm1, (%rdx)2075; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2076; AVX2-NEXT:    vmovaps %ymm1, (%rcx)2077; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2078; AVX2-NEXT:    vmovaps %ymm1, (%r8)2079; AVX2-NEXT:    vmovdqa %ymm3, (%r9)2080; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax2081; AVX2-NEXT:    vmovdqa %ymm4, (%rax)2082; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax2083; AVX2-NEXT:    vmovdqa %ymm10, (%rax)2084; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax2085; AVX2-NEXT:    vmovdqa %ymm0, (%rax)2086; AVX2-NEXT:    addq $264, %rsp # imm = 0x1082087; AVX2-NEXT:    vzeroupper2088; AVX2-NEXT:    retq2089;2090; AVX2-FP-LABEL: load_i16_stride8_vf16:2091; AVX2-FP:       # %bb.0:2092; AVX2-FP-NEXT:    subq $264, %rsp # imm = 0x1082093; AVX2-FP-NEXT:    vmovdqa 192(%rdi), %ymm22094; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2095; AVX2-FP-NEXT:    vmovdqa 224(%rdi), %ymm52096; AVX2-FP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2097; AVX2-FP-NEXT:    vmovdqa 112(%rdi), %xmm02098; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2099; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %xmm12100; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2101; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2102; AVX2-FP-NEXT:    vpbroadcastd %xmm12, %xmm02103; AVX2-FP-NEXT:    vmovdqa 80(%rdi), %xmm12104; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2105; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %xmm32106; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2107; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]2108; AVX2-FP-NEXT:    vpbroadcastd %xmm9, %xmm12109; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]2110; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm02111; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2112; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm12113; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2114; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm42115; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2116; AVX2-FP-NEXT:    vmovdqa 48(%rdi), %xmm62117; AVX2-FP-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2118; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm4[0],xmm6[0],xmm4[1],xmm6[1],xmm4[2],xmm6[2],xmm4[3],xmm6[3]2119; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]2120; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm7[0],xmm8[0],xmm7[1],xmm8[1]2121; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm4[0,1],xmm3[2,3]2122; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm13 = ymm5[0,1,0,2]2123; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm13[0,1,2,0,4,5,6,4]2124; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2125; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm11 = ymm2[0,1,0,2]2126; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm5 = ymm11[0,1,2,0,4,5,6,4]2127; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm5[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2128; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]2129; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %ymm02130; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2131; AVX2-FP-NEXT:    vmovdqa 160(%rdi), %ymm12132; AVX2-FP-NEXT:    vmovdqu %ymm1, (%rsp) # 32-byte Spill2133; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm10 = ymm1[0,1,0,2]2134; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm10[0,2,2,3,4,6,6,7]2135; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm1[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2136; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm4 = ymm0[0,1,0,2]2137; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm0 = ymm4[0,2,2,3,4,6,6,7]2138; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2139; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3,4],ymm2[5],ymm15[6,7]2140; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]2141; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm14[0,1,2,3],ymm2[4,5,6,7]2142; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2143; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm2 = xmm7[1,1,1,1]2144; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm8[1],xmm2[2,3]2145; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm9[0],xmm12[0],xmm9[1],xmm12[1]2146; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm3[2,3]2147; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2148; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2149; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5,6],ymm3[7]2150; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2151; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2152; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]2153; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]2154; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]2155; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2156; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm12[2,2,2,2]2157; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm9[0,1,2],xmm0[3]2158; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm7[2],xmm8[2],xmm7[3],xmm8[3]2159; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]2160; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm13[0,1,1,3,4,5,5,7]2161; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm11[0,1,1,3,4,5,5,7]2162; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2163; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2164; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5,6],ymm3[7]2165; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm5 = ymm10[3,1,2,3,7,5,6,7]2166; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[3,1,2,3,7,5,6,7]2167; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm5[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2168; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm4[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2169; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4],ymm6[5],ymm10[6,7]2170; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5],ymm3[6,7]2171; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]2172; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2173; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm9[2],xmm12[2],xmm9[3],xmm12[3]2174; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm3 = xmm8[2,3,2,3]2175; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm6 = xmm7[3,3,3,3]2176; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm6[0],xmm3[1],xmm6[2,3]2177; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]2178; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2179; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2180; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]2181; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm5[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2182; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2183; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]2184; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]2185; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2186; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2187; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2188; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload2189; AVX2-FP-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]2190; AVX2-FP-NEXT:    vpbroadcastd %xmm0, %xmm12191; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2192; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm5 # 16-byte Folded Reload2193; AVX2-FP-NEXT:    # xmm5 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]2194; AVX2-FP-NEXT:    vpbroadcastd %xmm5, %xmm22195; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]2196; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2197; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload2198; AVX2-FP-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]2199; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2200; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload2201; AVX2-FP-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]2202; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]2203; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]2204; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload2205; AVX2-FP-NEXT:    # ymm6 = mem[0,1,1,3]2206; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm6[0,1,2,0,4,5,6,4]2207; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2208; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload2209; AVX2-FP-NEXT:    # ymm7 = mem[0,1,1,3]2210; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm7[0,1,2,0,4,5,6,4]2211; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2212; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm9[0,1,2,3,4,5,6],ymm8[7]2213; AVX2-FP-NEXT:    vpermq $212, (%rsp), %ymm8 # 32-byte Folded Reload2214; AVX2-FP-NEXT:    # ymm8 = mem[0,1,1,3]2215; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload2216; AVX2-FP-NEXT:    # ymm9 = mem[0,1,1,3]2217; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm13 = ymm8[0,2,2,3,4,6,6,7]2218; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm13[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2219; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm15 = ymm9[0,2,2,3,4,6,6,7]2220; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm15[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2221; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3,4],ymm14[5],ymm12[6,7]2222; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]2223; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm11[4,5,6,7]2224; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm11 = xmm2[1,1,1,1]2225; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm11[0],xmm1[1],xmm11[2,3]2226; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm12 = xmm5[0],xmm0[0],xmm5[1],xmm0[1]2227; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm11[0,1],xmm12[2,3]2228; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2229; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2230; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm10[0,1,2,3,4,5,6],ymm4[7]2231; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm13[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2232; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm15[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2233; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3,4],ymm10[5],ymm12[6,7]2234; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm10[0,1,2,3,4,5],ymm4[6,7]2235; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm4[4,5,6,7]2236; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm10 = xmm0[2,2,2,2]2237; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm5[0,1,2],xmm10[3]2238; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm11 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]2239; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]2240; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm6[0,1,1,3,4,5,5,7]2241; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm6[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2242; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm7[0,1,1,3,4,5,5,7]2243; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm12 = ymm7[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2244; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5,6],ymm11[7]2245; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm8[3,1,2,3,7,5,6,7]2246; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm9[3,1,2,3,7,5,6,7]2247; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm8[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2248; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm9[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2249; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4],ymm12[5],ymm13[6,7]2250; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]2251; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]2252; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm5[2],xmm0[2],xmm5[3],xmm0[3]2253; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,2,3]2254; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[3,3,3,3]2255; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0],xmm1[1],xmm2[2,3]2256; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]2257; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2258; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm7[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2259; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]2260; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm8[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2261; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm9[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2262; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3,4],ymm2[5],ymm5[6,7]2263; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]2264; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2265; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2266; AVX2-FP-NEXT:    vmovaps %ymm1, (%rsi)2267; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2268; AVX2-FP-NEXT:    vmovaps %ymm1, (%rdx)2269; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2270; AVX2-FP-NEXT:    vmovaps %ymm1, (%rcx)2271; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2272; AVX2-FP-NEXT:    vmovaps %ymm1, (%r8)2273; AVX2-FP-NEXT:    vmovdqa %ymm3, (%r9)2274; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2275; AVX2-FP-NEXT:    vmovdqa %ymm4, (%rax)2276; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2277; AVX2-FP-NEXT:    vmovdqa %ymm10, (%rax)2278; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2279; AVX2-FP-NEXT:    vmovdqa %ymm0, (%rax)2280; AVX2-FP-NEXT:    addq $264, %rsp # imm = 0x1082281; AVX2-FP-NEXT:    vzeroupper2282; AVX2-FP-NEXT:    retq2283;2284; AVX2-FCP-LABEL: load_i16_stride8_vf16:2285; AVX2-FCP:       # %bb.0:2286; AVX2-FCP-NEXT:    subq $264, %rsp # imm = 0x1082287; AVX2-FCP-NEXT:    vmovdqa 192(%rdi), %ymm22288; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2289; AVX2-FCP-NEXT:    vmovdqa 224(%rdi), %ymm52290; AVX2-FCP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2291; AVX2-FCP-NEXT:    vmovdqa 112(%rdi), %xmm02292; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2293; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %xmm12294; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2295; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2296; AVX2-FCP-NEXT:    vpbroadcastd %xmm12, %xmm02297; AVX2-FCP-NEXT:    vmovdqa 80(%rdi), %xmm12298; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2299; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %xmm32300; AVX2-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2301; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]2302; AVX2-FCP-NEXT:    vpbroadcastd %xmm9, %xmm12303; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]2304; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm02305; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2306; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm12307; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2308; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %xmm42309; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2310; AVX2-FCP-NEXT:    vmovdqa 48(%rdi), %xmm62311; AVX2-FCP-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2312; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm4[0],xmm6[0],xmm4[1],xmm6[1],xmm4[2],xmm6[2],xmm4[3],xmm6[3]2313; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]2314; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm7[0],xmm8[0],xmm7[1],xmm8[1]2315; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm4[0,1],xmm3[2,3]2316; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm5[0,1,0,2]2317; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm13[0,1,2,0,4,5,6,4]2318; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2319; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm11 = ymm2[0,1,0,2]2320; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm5 = ymm11[0,1,2,0,4,5,6,4]2321; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm5[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2322; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]2323; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %ymm02324; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2325; AVX2-FCP-NEXT:    vmovdqa 160(%rdi), %ymm12326; AVX2-FCP-NEXT:    vmovdqu %ymm1, (%rsp) # 32-byte Spill2327; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm10 = ymm1[0,1,0,2]2328; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm10[0,2,2,3,4,6,6,7]2329; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm1[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2330; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm0[0,1,0,2]2331; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm0 = ymm4[0,2,2,3,4,6,6,7]2332; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2333; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3,4],ymm2[5],ymm15[6,7]2334; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]2335; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm14[0,1,2,3],ymm2[4,5,6,7]2336; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2337; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm2 = xmm7[1,1,1,1]2338; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm8[1],xmm2[2,3]2339; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm9[0],xmm12[0],xmm9[1],xmm12[1]2340; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm3[2,3]2341; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2342; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2343; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5,6],ymm3[7]2344; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2345; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2346; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]2347; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]2348; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]2349; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2350; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm12[2,2,2,2]2351; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm9[0,1,2],xmm0[3]2352; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm7[2],xmm8[2],xmm7[3],xmm8[3]2353; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]2354; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm13[0,1,1,3,4,5,5,7]2355; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm11[0,1,1,3,4,5,5,7]2356; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2357; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2358; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5,6],ymm3[7]2359; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm5 = ymm10[3,1,2,3,7,5,6,7]2360; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[3,1,2,3,7,5,6,7]2361; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm5[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2362; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm4[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2363; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4],ymm6[5],ymm10[6,7]2364; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5],ymm3[6,7]2365; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]2366; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2367; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm9[2],xmm12[2],xmm9[3],xmm12[3]2368; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm3 = xmm8[2,3,2,3]2369; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm6 = xmm7[3,3,3,3]2370; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm6[0],xmm3[1],xmm6[2,3]2371; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]2372; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2373; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2374; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]2375; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm5[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2376; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2377; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]2378; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]2379; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2380; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2381; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2382; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload2383; AVX2-FCP-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]2384; AVX2-FCP-NEXT:    vpbroadcastd %xmm0, %xmm12385; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2386; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm5 # 16-byte Folded Reload2387; AVX2-FCP-NEXT:    # xmm5 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]2388; AVX2-FCP-NEXT:    vpbroadcastd %xmm5, %xmm22389; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]2390; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2391; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload2392; AVX2-FCP-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]2393; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2394; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload2395; AVX2-FCP-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]2396; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]2397; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]2398; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload2399; AVX2-FCP-NEXT:    # ymm6 = mem[0,1,1,3]2400; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm6[0,1,2,0,4,5,6,4]2401; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2402; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload2403; AVX2-FCP-NEXT:    # ymm7 = mem[0,1,1,3]2404; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm7[0,1,2,0,4,5,6,4]2405; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2406; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm9[0,1,2,3,4,5,6],ymm8[7]2407; AVX2-FCP-NEXT:    vpermq $212, (%rsp), %ymm8 # 32-byte Folded Reload2408; AVX2-FCP-NEXT:    # ymm8 = mem[0,1,1,3]2409; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload2410; AVX2-FCP-NEXT:    # ymm9 = mem[0,1,1,3]2411; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm13 = ymm8[0,2,2,3,4,6,6,7]2412; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm13[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2413; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm15 = ymm9[0,2,2,3,4,6,6,7]2414; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm15[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2415; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3,4],ymm14[5],ymm12[6,7]2416; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]2417; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm11[4,5,6,7]2418; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm11 = xmm2[1,1,1,1]2419; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm11[0],xmm1[1],xmm11[2,3]2420; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm12 = xmm5[0],xmm0[0],xmm5[1],xmm0[1]2421; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm11[0,1],xmm12[2,3]2422; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2423; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2424; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm10[0,1,2,3,4,5,6],ymm4[7]2425; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm13[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2426; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm15[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2427; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3,4],ymm10[5],ymm12[6,7]2428; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm10[0,1,2,3,4,5],ymm4[6,7]2429; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm11[0,1,2,3],ymm4[4,5,6,7]2430; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm10 = xmm0[2,2,2,2]2431; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm5[0,1,2],xmm10[3]2432; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm11 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]2433; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]2434; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm6[0,1,1,3,4,5,5,7]2435; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm6[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2436; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm7[0,1,1,3,4,5,5,7]2437; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm12 = ymm7[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2438; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5,6],ymm11[7]2439; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm8[3,1,2,3,7,5,6,7]2440; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm9[3,1,2,3,7,5,6,7]2441; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm8[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2442; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm9[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2443; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4],ymm12[5],ymm13[6,7]2444; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]2445; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]2446; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm5[2],xmm0[2],xmm5[3],xmm0[3]2447; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[2,3,2,3]2448; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[3,3,3,3]2449; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0],xmm1[1],xmm2[2,3]2450; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]2451; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2452; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm7[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2453; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]2454; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm8[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2455; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm9[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2456; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3,4],ymm2[5],ymm5[6,7]2457; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]2458; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2459; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2460; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rsi)2461; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2462; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rdx)2463; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2464; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rcx)2465; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2466; AVX2-FCP-NEXT:    vmovaps %ymm1, (%r8)2467; AVX2-FCP-NEXT:    vmovdqa %ymm3, (%r9)2468; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2469; AVX2-FCP-NEXT:    vmovdqa %ymm4, (%rax)2470; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2471; AVX2-FCP-NEXT:    vmovdqa %ymm10, (%rax)2472; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2473; AVX2-FCP-NEXT:    vmovdqa %ymm0, (%rax)2474; AVX2-FCP-NEXT:    addq $264, %rsp # imm = 0x1082475; AVX2-FCP-NEXT:    vzeroupper2476; AVX2-FCP-NEXT:    retq2477;2478; AVX512-LABEL: load_i16_stride8_vf16:2479; AVX512:       # %bb.0:2480; AVX512-NEXT:    vmovdqa 112(%rdi), %xmm02481; AVX512-NEXT:    vmovdqa 96(%rdi), %xmm12482; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2483; AVX512-NEXT:    vmovdqa64 %xmm1, %xmm242484; AVX512-NEXT:    vmovdqa64 %xmm0, %xmm252485; AVX512-NEXT:    vmovdqa 80(%rdi), %xmm02486; AVX512-NEXT:    vmovdqa 64(%rdi), %xmm12487; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2488; AVX512-NEXT:    vmovdqa64 %xmm1, %xmm262489; AVX512-NEXT:    vmovdqa64 %xmm0, %xmm272490; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm7 = [0,0,0,4]2491; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm29 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]2492; AVX512-NEXT:    vpshufd {{.*#+}} xmm0 = xmm5[2,2,2,2]2493; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm6[0,1,2],xmm0[3]2494; AVX512-NEXT:    vmovdqa64 %xmm0, %xmm302495; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm11 = xmm6[2],xmm5[2],xmm6[3],xmm5[3]2496; AVX512-NEXT:    vpermt2d %xmm5, %xmm7, %xmm62497; AVX512-NEXT:    vmovdqa (%rdi), %xmm92498; AVX512-NEXT:    vmovdqa 16(%rdi), %xmm102499; AVX512-NEXT:    vmovdqa 32(%rdi), %xmm122500; AVX512-NEXT:    vmovdqa 48(%rdi), %xmm132501; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2502; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2503; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm14[0],xmm4[0],xmm14[1],xmm4[1]2504; AVX512-NEXT:    vpblendd {{.*#+}} xmm5 = xmm5[0,1],xmm6[2,3]2505; AVX512-NEXT:    vmovdqa64 224(%rdi), %ymm182506; AVX512-NEXT:    vpermq {{.*#+}} ymm17 = ymm18[0,1,0,2]2507; AVX512-NEXT:    vpshufd {{.*#+}} ymm6 = ymm17[0,1,2,0,4,5,6,4]2508; AVX512-NEXT:    vmovdqa64 192(%rdi), %ymm202509; AVX512-NEXT:    vpermq {{.*#+}} ymm19 = ymm20[0,1,0,2]2510; AVX512-NEXT:    vpshufhw {{.*#+}} ymm15 = ymm6[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2511; AVX512-NEXT:    vpshufd {{.*#+}} ymm1 = ymm19[0,1,2,0,4,5,6,4]2512; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm1[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2513; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm15[7]2514; AVX512-NEXT:    vmovdqa64 160(%rdi), %ymm232515; AVX512-NEXT:    vpermq {{.*#+}} ymm21 = ymm23[0,1,0,2]2516; AVX512-NEXT:    vmovdqa64 128(%rdi), %ymm162517; AVX512-NEXT:    vpermq {{.*#+}} ymm22 = ymm16[0,1,0,2]2518; AVX512-NEXT:    vpshufd {{.*#+}} ymm15 = ymm21[0,2,2,3,4,6,6,7]2519; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm15[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2520; AVX512-NEXT:    vpshufd {{.*#+}} ymm0 = ymm22[0,2,2,3,4,6,6,7]2521; AVX512-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2522; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3,4],ymm2[5],ymm8[6,7]2523; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]2524; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]2525; AVX512-NEXT:    vmovdqa64 %ymm2, %ymm282526; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2527; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2528; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm2[7]2529; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm15[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2530; AVX512-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2531; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm2[5],ymm0[6,7]2532; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2533; AVX512-NEXT:    vpshufd {{.*#+}} xmm1 = xmm14[1,1,1,1]2534; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0],xmm4[1],xmm1[2,3]2535; AVX512-NEXT:    vmovdqa64 %xmm29, %xmm22536; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]2537; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2538; AVX512-NEXT:    vmovdqa64 %ymm0, %ymm292539; AVX512-NEXT:    vpshufd {{.*#+}} ymm0 = ymm17[0,1,1,3,4,5,5,7]2540; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2541; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm19[0,1,1,3,4,5,5,7]2542; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2543; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]2544; AVX512-NEXT:    vpshufd {{.*#+}} ymm3 = ymm21[3,1,2,3,7,5,6,7]2545; AVX512-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm3[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2546; AVX512-NEXT:    vpshufd {{.*#+}} ymm8 = ymm22[3,1,2,3,7,5,6,7]2547; AVX512-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm8[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2548; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3,4],ymm5[5],ymm15[6,7]2549; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5],ymm1[6,7]2550; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm5 = xmm14[2],xmm4[2],xmm14[3],xmm4[3]2551; AVX512-NEXT:    vmovdqa64 %xmm30, %xmm62552; AVX512-NEXT:    vpblendd {{.*#+}} xmm5 = xmm5[0,1],xmm6[2,3]2553; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3],ymm1[4,5,6,7]2554; AVX512-NEXT:    vmovdqa64 %ymm1, %ymm192555; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm17 = [3,7,0,0]2556; AVX512-NEXT:    vpermt2d %xmm4, %xmm17, %xmm142557; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1],xmm11[2,3]2558; AVX512-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2559; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2560; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]2561; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm3[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2562; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm8[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2563; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]2564; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]2565; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm1[0,1,2,3],ymm0[4,5,6,7]2566; AVX512-NEXT:    vmovdqa64 %xmm24, %xmm02567; AVX512-NEXT:    vmovdqa64 %xmm25, %xmm12568; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm1 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]2569; AVX512-NEXT:    vmovdqa64 %xmm26, %xmm02570; AVX512-NEXT:    vmovdqa64 %xmm27, %xmm22571; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]2572; AVX512-NEXT:    vpermi2d %xmm1, %xmm2, %xmm72573; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm4 = xmm12[4],xmm13[4],xmm12[5],xmm13[5],xmm12[6],xmm13[6],xmm12[7],xmm13[7]2574; AVX512-NEXT:    vpunpckhwd {{.*#+}} xmm3 = xmm9[4],xmm10[4],xmm9[5],xmm10[5],xmm9[6],xmm10[6],xmm9[7],xmm10[7]2575; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]2576; AVX512-NEXT:    vpblendd {{.*#+}} xmm5 = xmm0[0,1],xmm7[2,3]2577; AVX512-NEXT:    vpermq {{.*#+}} ymm9 = ymm18[0,1,1,3]2578; AVX512-NEXT:    vpshufd {{.*#+}} ymm7 = ymm9[0,1,2,0,4,5,6,4]2579; AVX512-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2580; AVX512-NEXT:    vpermq {{.*#+}} ymm11 = ymm20[0,1,1,3]2581; AVX512-NEXT:    vpshufd {{.*#+}} ymm12 = ymm11[0,1,2,0,4,5,6,4]2582; AVX512-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm12[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2583; AVX512-NEXT:    vpblendd {{.*#+}} ymm10 = ymm13[0,1,2,3,4,5,6],ymm10[7]2584; AVX512-NEXT:    vpermq {{.*#+}} ymm13 = ymm23[0,1,1,3]2585; AVX512-NEXT:    vpshufd {{.*#+}} ymm14 = ymm13[0,2,2,3,4,6,6,7]2586; AVX512-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm14[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2587; AVX512-NEXT:    vpermq {{.*#+}} ymm16 = ymm16[0,1,1,3]2588; AVX512-NEXT:    vpshufd {{.*#+}} ymm0 = ymm16[0,2,2,3,4,6,6,7]2589; AVX512-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2590; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4],ymm15[5],ymm6[6,7]2591; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm10[6,7]2592; AVX512-NEXT:    vpblendd {{.*#+}} ymm10 = ymm5[0,1,2,3],ymm6[4,5,6,7]2593; AVX512-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2594; AVX512-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm12[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2595; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]2596; AVX512-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm14[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2597; AVX512-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2598; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm6[5],ymm0[6,7]2599; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm5[6,7]2600; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]2601; AVX512-NEXT:    vpshufd {{.*#+}} xmm6 = xmm3[1,1,1,1]2602; AVX512-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0],xmm4[1],xmm6[2,3]2603; AVX512-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3]2604; AVX512-NEXT:    vpblendd {{.*#+}} ymm7 = ymm5[0,1,2,3],ymm0[4,5,6,7]2605; AVX512-NEXT:    vpshufd {{.*#+}} ymm0 = ymm9[0,1,1,3,4,5,5,7]2606; AVX512-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2607; AVX512-NEXT:    vpshufd {{.*#+}} ymm6 = ymm11[0,1,1,3,4,5,5,7]2608; AVX512-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm6[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2609; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5,6],ymm5[7]2610; AVX512-NEXT:    vpshufd {{.*#+}} ymm9 = ymm13[3,1,2,3,7,5,6,7]2611; AVX512-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm9[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2612; AVX512-NEXT:    vpshufd {{.*#+}} ymm12 = ymm16[3,1,2,3,7,5,6,7]2613; AVX512-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm12[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2614; AVX512-NEXT:    vpblendd {{.*#+}} ymm11 = ymm13[0,1,2,3,4],ymm11[5],ymm13[6,7]2615; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm11[0,1,2,3,4,5],ymm5[6,7]2616; AVX512-NEXT:    vpshufd {{.*#+}} xmm11 = xmm1[2,2,2,2]2617; AVX512-NEXT:    vpblendd {{.*#+}} xmm11 = xmm2[0,1,2],xmm11[3]2618; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm13 = xmm3[2],xmm4[2],xmm3[3],xmm4[3]2619; AVX512-NEXT:    vpblendd {{.*#+}} xmm11 = xmm13[0,1],xmm11[2,3]2620; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm11[0,1,2,3],ymm5[4,5,6,7]2621; AVX512-NEXT:    vpermt2d %xmm4, %xmm17, %xmm32622; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]2623; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1],xmm1[2,3]2624; AVX512-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2625; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm6[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2626; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]2627; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm9[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2628; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm12[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2629; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]2630; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]2631; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2632; AVX512-NEXT:    vmovdqa64 %ymm28, (%rsi)2633; AVX512-NEXT:    vmovdqa64 %ymm29, (%rdx)2634; AVX512-NEXT:    vmovdqa64 %ymm19, (%rcx)2635; AVX512-NEXT:    vmovdqa %ymm8, (%r8)2636; AVX512-NEXT:    vmovdqa %ymm10, (%r9)2637; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax2638; AVX512-NEXT:    vmovdqa %ymm7, (%rax)2639; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax2640; AVX512-NEXT:    vmovdqa %ymm5, (%rax)2641; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax2642; AVX512-NEXT:    vmovdqa %ymm0, (%rax)2643; AVX512-NEXT:    vzeroupper2644; AVX512-NEXT:    retq2645;2646; AVX512-FCP-LABEL: load_i16_stride8_vf16:2647; AVX512-FCP:       # %bb.0:2648; AVX512-FCP-NEXT:    vmovdqa 112(%rdi), %xmm02649; AVX512-FCP-NEXT:    vmovdqa 96(%rdi), %xmm12650; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2651; AVX512-FCP-NEXT:    vmovdqa64 %xmm1, %xmm262652; AVX512-FCP-NEXT:    vmovdqa64 %xmm0, %xmm272653; AVX512-FCP-NEXT:    vmovdqa 80(%rdi), %xmm02654; AVX512-FCP-NEXT:    vmovdqa 64(%rdi), %xmm12655; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2656; AVX512-FCP-NEXT:    vmovdqa64 %xmm1, %xmm282657; AVX512-FCP-NEXT:    vmovdqa64 %xmm0, %xmm292658; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm7 = [0,0,0,4]2659; AVX512-FCP-NEXT:    vmovdqa %xmm12, %xmm132660; AVX512-FCP-NEXT:    vpermt2d %xmm4, %xmm7, %xmm132661; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm02662; AVX512-FCP-NEXT:    vmovdqa 16(%rdi), %xmm12663; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %xmm92664; AVX512-FCP-NEXT:    vmovdqa 48(%rdi), %xmm102665; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2666; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]2667; AVX512-FCP-NEXT:    vmovdqa64 %xmm1, %xmm302668; AVX512-FCP-NEXT:    vmovdqa64 %xmm0, %xmm312669; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm14 = xmm11[0],xmm5[0],xmm11[1],xmm5[1]2670; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm15 = xmm14[0,1],xmm13[2,3]2671; AVX512-FCP-NEXT:    vmovdqa64 224(%rdi), %ymm162672; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm18 = ymm16[0,1,0,2]2673; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm13 = ymm18[0,1,2,0,4,5,6,4]2674; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm13[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2675; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm172676; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm20 = ymm17[0,1,0,2]2677; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm20[0,1,2,0,4,5,6,4]2678; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2679; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm14[7]2680; AVX512-FCP-NEXT:    vmovdqa64 160(%rdi), %ymm192681; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm21 = ymm19[0,1,0,2]2682; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %ymm232683; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm22 = ymm23[0,1,0,2]2684; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm21[0,2,2,3,4,6,6,7]2685; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm14[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2686; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm0 = ymm22[0,2,2,3,4,6,6,7]2687; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2688; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4],ymm1[5],ymm6[6,7]2689; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]2690; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm15[0,1,2,3],ymm1[4,5,6,7]2691; AVX512-FCP-NEXT:    vmovdqa64 %ymm1, %ymm242692; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm15 = [1,5,0,0]2693; AVX512-FCP-NEXT:    vmovdqa %xmm11, %xmm12694; AVX512-FCP-NEXT:    vpermt2d %xmm5, %xmm15, %xmm12695; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm12[0],xmm4[0],xmm12[1],xmm4[1]2696; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm3[2,3]2697; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm13[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2698; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2699; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]2700; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm14[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2701; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2702; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm3[5],ymm0[6,7]2703; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]2704; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2705; AVX512-FCP-NEXT:    vmovdqa64 %ymm0, %ymm252706; AVX512-FCP-NEXT:    vmovdqa %xmm12, %xmm02707; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm12[2],xmm4[2],xmm12[3],xmm4[3]2708; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm12 = [0,0,2,6]2709; AVX512-FCP-NEXT:    vpermt2d %xmm4, %xmm12, %xmm02710; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm11[2],xmm5[2],xmm11[3],xmm5[3]2711; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]2712; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm18[0,1,1,3,4,5,5,7]2713; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2714; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm20[0,1,1,3,4,5,5,7]2715; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm4[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2716; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,6],ymm1[7]2717; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm21[3,1,2,3,7,5,6,7]2718; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm6[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2719; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm22[3,1,2,3,7,5,6,7]2720; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm14[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2721; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4],ymm13[5],ymm8[6,7]2722; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3,4,5],ymm1[6,7]2723; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]2724; AVX512-FCP-NEXT:    vmovdqa64 %ymm0, %ymm212725; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm18 = [3,7,0,0]2726; AVX512-FCP-NEXT:    vpermt2d %xmm5, %xmm18, %xmm112727; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1],xmm2[2,3]2728; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2729; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm4[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2730; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]2731; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm6[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2732; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm14[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2733; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]2734; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]2735; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]2736; AVX512-FCP-NEXT:    vmovdqa64 %ymm0, %ymm222737; AVX512-FCP-NEXT:    vmovdqa64 %xmm26, %xmm02738; AVX512-FCP-NEXT:    vmovdqa64 %xmm27, %xmm12739; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm3 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]2740; AVX512-FCP-NEXT:    vmovdqa64 %xmm28, %xmm02741; AVX512-FCP-NEXT:    vmovdqa64 %xmm29, %xmm12742; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm4 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]2743; AVX512-FCP-NEXT:    vpermi2d %xmm3, %xmm4, %xmm72744; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm6 = xmm9[4],xmm10[4],xmm9[5],xmm10[5],xmm9[6],xmm10[6],xmm9[7],xmm10[7]2745; AVX512-FCP-NEXT:    vmovdqa64 %xmm30, %xmm02746; AVX512-FCP-NEXT:    vmovdqa64 %xmm31, %xmm12747; AVX512-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm5 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]2748; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm5[0],xmm6[0],xmm5[1],xmm6[1]2749; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm7[2,3]2750; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm20 = ymm16[0,1,1,3]2751; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm20[0,1,2,0,4,5,6,4]2752; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2753; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm10 = ymm17[0,1,1,3]2754; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm11 = ymm10[0,1,2,0,4,5,6,4]2755; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm11[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2756; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3,4,5,6],ymm9[7]2757; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm19[0,1,1,3]2758; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm13[0,2,2,3,4,6,6,7]2759; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm14[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2760; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm16 = ymm23[0,1,1,3]2761; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm16[0,2,2,3,4,6,6,7]2762; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm8[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2763; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]2764; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm9[6,7]2765; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5,6,7]2766; AVX512-FCP-NEXT:    vpermi2d %xmm6, %xmm5, %xmm152767; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]2768; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm15[0,1],xmm0[2,3]2769; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2770; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm7 = ymm11[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2771; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,6],ymm1[7]2772; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm14[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2773; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm8[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2774; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4],ymm7[5],ymm8[6,7]2775; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5],ymm1[6,7]2776; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm0[0,1,2,3],ymm1[4,5,6,7]2777; AVX512-FCP-NEXT:    vpermi2d %xmm3, %xmm4, %xmm122778; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm5[2],xmm6[2],xmm5[3],xmm6[3]2779; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm12[2,3]2780; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm20[0,1,1,3,4,5,5,7]2781; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2782; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm10[0,1,1,3,4,5,5,7]2783; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm9[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2784; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm10[0,1,2,3,4,5,6],ymm8[7]2785; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm13[3,1,2,3,7,5,6,7]2786; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm10[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2787; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm12 = ymm16[3,1,2,3,7,5,6,7]2788; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm12[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2789; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm13[0,1,2,3,4],ymm11[5],ymm13[6,7]2790; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm11[0,1,2,3,4,5],ymm8[6,7]2791; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]2792; AVX512-FCP-NEXT:    vpermt2d %xmm6, %xmm18, %xmm52793; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm4[2],xmm3[2],xmm4[3],xmm3[3]2794; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm5[0,1],xmm3[2,3]2795; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2796; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm9[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2797; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]2798; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm10[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2799; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm12[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2800; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]2801; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]2802; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]2803; AVX512-FCP-NEXT:    vmovdqa64 %ymm24, (%rsi)2804; AVX512-FCP-NEXT:    vmovdqa64 %ymm25, (%rdx)2805; AVX512-FCP-NEXT:    vmovdqa64 %ymm21, (%rcx)2806; AVX512-FCP-NEXT:    vmovdqa64 %ymm22, (%r8)2807; AVX512-FCP-NEXT:    vmovdqa %ymm2, (%r9)2808; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2809; AVX512-FCP-NEXT:    vmovdqa %ymm7, (%rax)2810; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2811; AVX512-FCP-NEXT:    vmovdqa %ymm0, (%rax)2812; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2813; AVX512-FCP-NEXT:    vmovdqa %ymm1, (%rax)2814; AVX512-FCP-NEXT:    vzeroupper2815; AVX512-FCP-NEXT:    retq2816;2817; AVX512DQ-LABEL: load_i16_stride8_vf16:2818; AVX512DQ:       # %bb.0:2819; AVX512DQ-NEXT:    vmovdqa 112(%rdi), %xmm02820; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %xmm12821; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2822; AVX512DQ-NEXT:    vmovdqa64 %xmm1, %xmm242823; AVX512DQ-NEXT:    vmovdqa64 %xmm0, %xmm252824; AVX512DQ-NEXT:    vmovdqa 80(%rdi), %xmm02825; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %xmm12826; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2827; AVX512DQ-NEXT:    vmovdqa64 %xmm1, %xmm262828; AVX512DQ-NEXT:    vmovdqa64 %xmm0, %xmm272829; AVX512DQ-NEXT:    vpmovsxbd {{.*#+}} xmm7 = [0,0,0,4]2830; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm29 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]2831; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm0 = xmm5[2,2,2,2]2832; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm6[0,1,2],xmm0[3]2833; AVX512DQ-NEXT:    vmovdqa64 %xmm0, %xmm302834; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm11 = xmm6[2],xmm5[2],xmm6[3],xmm5[3]2835; AVX512DQ-NEXT:    vpermt2d %xmm5, %xmm7, %xmm62836; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm92837; AVX512DQ-NEXT:    vmovdqa 16(%rdi), %xmm102838; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %xmm122839; AVX512DQ-NEXT:    vmovdqa 48(%rdi), %xmm132840; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2841; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2842; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm14[0],xmm4[0],xmm14[1],xmm4[1]2843; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm5 = xmm5[0,1],xmm6[2,3]2844; AVX512DQ-NEXT:    vmovdqa64 224(%rdi), %ymm182845; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm17 = ymm18[0,1,0,2]2846; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm6 = ymm17[0,1,2,0,4,5,6,4]2847; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %ymm202848; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm19 = ymm20[0,1,0,2]2849; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm15 = ymm6[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2850; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm1 = ymm19[0,1,2,0,4,5,6,4]2851; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm1[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2852; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm15[7]2853; AVX512DQ-NEXT:    vmovdqa64 160(%rdi), %ymm232854; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm21 = ymm23[0,1,0,2]2855; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %ymm162856; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm22 = ymm16[0,1,0,2]2857; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm15 = ymm21[0,2,2,3,4,6,6,7]2858; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm15[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2859; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm0 = ymm22[0,2,2,3,4,6,6,7]2860; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2861; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3,4],ymm2[5],ymm8[6,7]2862; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]2863; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]2864; AVX512DQ-NEXT:    vmovdqa64 %ymm2, %ymm282865; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2866; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2867; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm2[7]2868; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm15[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2869; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2870; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm2[5],ymm0[6,7]2871; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]2872; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm1 = xmm14[1,1,1,1]2873; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0],xmm4[1],xmm1[2,3]2874; AVX512DQ-NEXT:    vmovdqa64 %xmm29, %xmm22875; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]2876; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2877; AVX512DQ-NEXT:    vmovdqa64 %ymm0, %ymm292878; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm0 = ymm17[0,1,1,3,4,5,5,7]2879; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2880; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm2 = ymm19[0,1,1,3,4,5,5,7]2881; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2882; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]2883; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm3 = ymm21[3,1,2,3,7,5,6,7]2884; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm3[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2885; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm8 = ymm22[3,1,2,3,7,5,6,7]2886; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm8[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2887; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm15[0,1,2,3,4],ymm5[5],ymm15[6,7]2888; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5],ymm1[6,7]2889; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm5 = xmm14[2],xmm4[2],xmm14[3],xmm4[3]2890; AVX512DQ-NEXT:    vmovdqa64 %xmm30, %xmm62891; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm5 = xmm5[0,1],xmm6[2,3]2892; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3],ymm1[4,5,6,7]2893; AVX512DQ-NEXT:    vmovdqa64 %ymm1, %ymm192894; AVX512DQ-NEXT:    vpmovsxbd {{.*#+}} xmm17 = [3,7,0,0]2895; AVX512DQ-NEXT:    vpermt2d %xmm4, %xmm17, %xmm142896; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1],xmm11[2,3]2897; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2898; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2899; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]2900; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm3[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2901; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm8[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2902; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]2903; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]2904; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm1[0,1,2,3],ymm0[4,5,6,7]2905; AVX512DQ-NEXT:    vmovdqa64 %xmm24, %xmm02906; AVX512DQ-NEXT:    vmovdqa64 %xmm25, %xmm12907; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm1 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]2908; AVX512DQ-NEXT:    vmovdqa64 %xmm26, %xmm02909; AVX512DQ-NEXT:    vmovdqa64 %xmm27, %xmm22910; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm2 = xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]2911; AVX512DQ-NEXT:    vpermi2d %xmm1, %xmm2, %xmm72912; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm4 = xmm12[4],xmm13[4],xmm12[5],xmm13[5],xmm12[6],xmm13[6],xmm12[7],xmm13[7]2913; AVX512DQ-NEXT:    vpunpckhwd {{.*#+}} xmm3 = xmm9[4],xmm10[4],xmm9[5],xmm10[5],xmm9[6],xmm10[6],xmm9[7],xmm10[7]2914; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]2915; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm5 = xmm0[0,1],xmm7[2,3]2916; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm9 = ymm18[0,1,1,3]2917; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm7 = ymm9[0,1,2,0,4,5,6,4]2918; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]2919; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm11 = ymm20[0,1,1,3]2920; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm12 = ymm11[0,1,2,0,4,5,6,4]2921; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm12[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]2922; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm10 = ymm13[0,1,2,3,4,5,6],ymm10[7]2923; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm13 = ymm23[0,1,1,3]2924; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm14 = ymm13[0,2,2,3,4,6,6,7]2925; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm14[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]2926; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm16 = ymm16[0,1,1,3]2927; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm0 = ymm16[0,2,2,3,4,6,6,7]2928; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]2929; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4],ymm15[5],ymm6[6,7]2930; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm10[6,7]2931; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm10 = ymm5[0,1,2,3],ymm6[4,5,6,7]2932; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]2933; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm12[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]2934; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]2935; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm14[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]2936; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]2937; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm6[5],ymm0[6,7]2938; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm5[6,7]2939; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]2940; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm6 = xmm3[1,1,1,1]2941; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0],xmm4[1],xmm6[2,3]2942; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3]2943; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm7 = ymm5[0,1,2,3],ymm0[4,5,6,7]2944; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm0 = ymm9[0,1,1,3,4,5,5,7]2945; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]2946; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm6 = ymm11[0,1,1,3,4,5,5,7]2947; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm6[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]2948; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5,6],ymm5[7]2949; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm9 = ymm13[3,1,2,3,7,5,6,7]2950; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm9[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]2951; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm12 = ymm16[3,1,2,3,7,5,6,7]2952; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm12[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]2953; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm11 = ymm13[0,1,2,3,4],ymm11[5],ymm13[6,7]2954; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm11[0,1,2,3,4,5],ymm5[6,7]2955; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm11 = xmm1[2,2,2,2]2956; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm11 = xmm2[0,1,2],xmm11[3]2957; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm13 = xmm3[2],xmm4[2],xmm3[3],xmm4[3]2958; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm11 = xmm13[0,1],xmm11[2,3]2959; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm11[0,1,2,3],ymm5[4,5,6,7]2960; AVX512DQ-NEXT:    vpermt2d %xmm4, %xmm17, %xmm32961; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]2962; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1],xmm1[2,3]2963; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]2964; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm6[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]2965; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]2966; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm9[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]2967; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm12[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]2968; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]2969; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]2970; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]2971; AVX512DQ-NEXT:    vmovdqa64 %ymm28, (%rsi)2972; AVX512DQ-NEXT:    vmovdqa64 %ymm29, (%rdx)2973; AVX512DQ-NEXT:    vmovdqa64 %ymm19, (%rcx)2974; AVX512DQ-NEXT:    vmovdqa %ymm8, (%r8)2975; AVX512DQ-NEXT:    vmovdqa %ymm10, (%r9)2976; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax2977; AVX512DQ-NEXT:    vmovdqa %ymm7, (%rax)2978; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax2979; AVX512DQ-NEXT:    vmovdqa %ymm5, (%rax)2980; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax2981; AVX512DQ-NEXT:    vmovdqa %ymm0, (%rax)2982; AVX512DQ-NEXT:    vzeroupper2983; AVX512DQ-NEXT:    retq2984;2985; AVX512DQ-FCP-LABEL: load_i16_stride8_vf16:2986; AVX512DQ-FCP:       # %bb.0:2987; AVX512DQ-FCP-NEXT:    vmovdqa 112(%rdi), %xmm02988; AVX512DQ-FCP-NEXT:    vmovdqa 96(%rdi), %xmm12989; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2990; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm1, %xmm262991; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm0, %xmm272992; AVX512DQ-FCP-NEXT:    vmovdqa 80(%rdi), %xmm02993; AVX512DQ-FCP-NEXT:    vmovdqa 64(%rdi), %xmm12994; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2995; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm1, %xmm282996; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm0, %xmm292997; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm7 = [0,0,0,4]2998; AVX512DQ-FCP-NEXT:    vmovdqa %xmm12, %xmm132999; AVX512DQ-FCP-NEXT:    vpermt2d %xmm4, %xmm7, %xmm133000; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm03001; AVX512DQ-FCP-NEXT:    vmovdqa 16(%rdi), %xmm13002; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %xmm93003; AVX512DQ-FCP-NEXT:    vmovdqa 48(%rdi), %xmm103004; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]3005; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]3006; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm1, %xmm303007; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm0, %xmm313008; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm14 = xmm11[0],xmm5[0],xmm11[1],xmm5[1]3009; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm15 = xmm14[0,1],xmm13[2,3]3010; AVX512DQ-FCP-NEXT:    vmovdqa64 224(%rdi), %ymm163011; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm18 = ymm16[0,1,0,2]3012; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm13 = ymm18[0,1,2,0,4,5,6,4]3013; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm13[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]3014; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm173015; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm20 = ymm17[0,1,0,2]3016; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm20[0,1,2,0,4,5,6,4]3017; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]3018; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm14[7]3019; AVX512DQ-FCP-NEXT:    vmovdqa64 160(%rdi), %ymm193020; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm21 = ymm19[0,1,0,2]3021; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %ymm233022; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm22 = ymm23[0,1,0,2]3023; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm21[0,2,2,3,4,6,6,7]3024; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm14[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]3025; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm0 = ymm22[0,2,2,3,4,6,6,7]3026; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]3027; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4],ymm1[5],ymm6[6,7]3028; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]3029; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm15[0,1,2,3],ymm1[4,5,6,7]3030; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm1, %ymm243031; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm15 = [1,5,0,0]3032; AVX512DQ-FCP-NEXT:    vmovdqa %xmm11, %xmm13033; AVX512DQ-FCP-NEXT:    vpermt2d %xmm5, %xmm15, %xmm13034; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm12[0],xmm4[0],xmm12[1],xmm4[1]3035; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm3[2,3]3036; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm13[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]3037; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]3038; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]3039; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm14[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]3040; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]3041; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm3[5],ymm0[6,7]3042; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]3043; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]3044; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm0, %ymm253045; AVX512DQ-FCP-NEXT:    vmovdqa %xmm12, %xmm03046; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm12[2],xmm4[2],xmm12[3],xmm4[3]3047; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm12 = [0,0,2,6]3048; AVX512DQ-FCP-NEXT:    vpermt2d %xmm4, %xmm12, %xmm03049; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm11[2],xmm5[2],xmm11[3],xmm5[3]3050; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]3051; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm18[0,1,1,3,4,5,5,7]3052; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]3053; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm20[0,1,1,3,4,5,5,7]3054; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm4[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]3055; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,6],ymm1[7]3056; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm21[3,1,2,3,7,5,6,7]3057; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm6[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]3058; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm22[3,1,2,3,7,5,6,7]3059; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm14[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]3060; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4],ymm13[5],ymm8[6,7]3061; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3,4,5],ymm1[6,7]3062; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3063; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm0, %ymm213064; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm18 = [3,7,0,0]3065; AVX512DQ-FCP-NEXT:    vpermt2d %xmm5, %xmm18, %xmm113066; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1],xmm2[2,3]3067; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]3068; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm4[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]3069; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]3070; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm6[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]3071; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm14[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]3072; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]3073; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]3074; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]3075; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm0, %ymm223076; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm26, %xmm03077; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm27, %xmm13078; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm3 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]3079; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm28, %xmm03080; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm29, %xmm13081; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm4 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]3082; AVX512DQ-FCP-NEXT:    vpermi2d %xmm3, %xmm4, %xmm73083; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm6 = xmm9[4],xmm10[4],xmm9[5],xmm10[5],xmm9[6],xmm10[6],xmm9[7],xmm10[7]3084; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm30, %xmm03085; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm31, %xmm13086; AVX512DQ-FCP-NEXT:    vpunpckhwd {{.*#+}} xmm5 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]3087; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm5[0],xmm6[0],xmm5[1],xmm6[1]3088; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm7[2,3]3089; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm20 = ymm16[0,1,1,3]3090; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm20[0,1,2,0,4,5,6,4]3091; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]3092; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm10 = ymm17[0,1,1,3]3093; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm11 = ymm10[0,1,2,0,4,5,6,4]3094; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm11[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]3095; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3,4,5,6],ymm9[7]3096; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm19[0,1,1,3]3097; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm13[0,2,2,3,4,6,6,7]3098; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm14[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]3099; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm16 = ymm23[0,1,1,3]3100; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm16[0,2,2,3,4,6,6,7]3101; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm8[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]3102; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]3103; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm9[6,7]3104; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5,6,7]3105; AVX512DQ-FCP-NEXT:    vpermi2d %xmm6, %xmm5, %xmm153106; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]3107; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm15[0,1],xmm0[2,3]3108; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]3109; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm7 = ymm11[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]3110; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,6],ymm1[7]3111; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm14[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]3112; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm8[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]3113; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4],ymm7[5],ymm8[6,7]3114; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5],ymm1[6,7]3115; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm0[0,1,2,3],ymm1[4,5,6,7]3116; AVX512DQ-FCP-NEXT:    vpermi2d %xmm3, %xmm4, %xmm123117; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm5[2],xmm6[2],xmm5[3],xmm6[3]3118; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm12[2,3]3119; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm20[0,1,1,3,4,5,5,7]3120; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]3121; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm10[0,1,1,3,4,5,5,7]3122; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm9[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]3123; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm10[0,1,2,3,4,5,6],ymm8[7]3124; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm13[3,1,2,3,7,5,6,7]3125; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm10[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]3126; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm12 = ymm16[3,1,2,3,7,5,6,7]3127; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm12[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]3128; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm13[0,1,2,3,4],ymm11[5],ymm13[6,7]3129; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm11[0,1,2,3,4,5],ymm8[6,7]3130; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]3131; AVX512DQ-FCP-NEXT:    vpermt2d %xmm6, %xmm18, %xmm53132; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm4[2],xmm3[2],xmm4[3],xmm3[3]3133; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm5[0,1],xmm3[2,3]3134; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]3135; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm9[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]3136; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]3137; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm10[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]3138; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm12[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]3139; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]3140; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]3141; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]3142; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm24, (%rsi)3143; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm25, (%rdx)3144; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm21, (%rcx)3145; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm22, (%r8)3146; AVX512DQ-FCP-NEXT:    vmovdqa %ymm2, (%r9)3147; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3148; AVX512DQ-FCP-NEXT:    vmovdqa %ymm7, (%rax)3149; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3150; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, (%rax)3151; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3152; AVX512DQ-FCP-NEXT:    vmovdqa %ymm1, (%rax)3153; AVX512DQ-FCP-NEXT:    vzeroupper3154; AVX512DQ-FCP-NEXT:    retq3155;3156; AVX512BW-LABEL: load_i16_stride8_vf16:3157; AVX512BW:       # %bb.0:3158; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax3159; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r103160; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r113161; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm03162; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm13163; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm23164; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm33165; AVX512BW-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56]3166; AVX512BW-NEXT:    # ymm4 = mem[0,1,0,1]3167; AVX512BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm43168; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm5 = [0,8,16,24,32,40,48,56]3169; AVX512BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm53170; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]3171; AVX512BW-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57]3172; AVX512BW-NEXT:    # ymm5 = mem[0,1,0,1]3173; AVX512BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm53174; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm6 = [1,9,17,25,33,41,49,57]3175; AVX512BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm63176; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]3177; AVX512BW-NEXT:    vbroadcasti128 {{.*#+}} ymm6 = [2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58]3178; AVX512BW-NEXT:    # ymm6 = mem[0,1,0,1]3179; AVX512BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm63180; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm7 = [2,10,18,26,34,42,50,58]3181; AVX512BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm73182; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3],ymm6[4,5,6,7]3183; AVX512BW-NEXT:    vbroadcasti128 {{.*#+}} ymm7 = [3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59]3184; AVX512BW-NEXT:    # ymm7 = mem[0,1,0,1]3185; AVX512BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm73186; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm8 = [3,11,19,27,35,43,51,59]3187; AVX512BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm83188; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3],ymm7[4,5,6,7]3189; AVX512BW-NEXT:    vbroadcasti128 {{.*#+}} ymm8 = [4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60]3190; AVX512BW-NEXT:    # ymm8 = mem[0,1,0,1]3191; AVX512BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm83192; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm9 = [4,12,20,28,36,44,52,60]3193; AVX512BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm93194; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]3195; AVX512BW-NEXT:    vbroadcasti128 {{.*#+}} ymm9 = [5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61]3196; AVX512BW-NEXT:    # ymm9 = mem[0,1,0,1]3197; AVX512BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm93198; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm10 = [5,13,21,29,37,45,53,61]3199; AVX512BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm103200; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]3201; AVX512BW-NEXT:    vbroadcasti128 {{.*#+}} ymm10 = [6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62]3202; AVX512BW-NEXT:    # ymm10 = mem[0,1,0,1]3203; AVX512BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm103204; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm11 = [6,14,22,30,38,46,54,62]3205; AVX512BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm113206; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]3207; AVX512BW-NEXT:    vbroadcasti128 {{.*#+}} ymm11 = [7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63]3208; AVX512BW-NEXT:    # ymm11 = mem[0,1,0,1]3209; AVX512BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm113210; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} xmm2 = [7,15,23,31,39,47,55,63]3211; AVX512BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm23212; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm11[4,5,6,7]3213; AVX512BW-NEXT:    vmovdqa %ymm4, (%rsi)3214; AVX512BW-NEXT:    vmovdqa %ymm5, (%rdx)3215; AVX512BW-NEXT:    vmovdqa %ymm6, (%rcx)3216; AVX512BW-NEXT:    vmovdqa %ymm7, (%r8)3217; AVX512BW-NEXT:    vmovdqa %ymm8, (%r9)3218; AVX512BW-NEXT:    vmovdqa %ymm9, (%r11)3219; AVX512BW-NEXT:    vmovdqa %ymm10, (%r10)3220; AVX512BW-NEXT:    vmovdqa %ymm0, (%rax)3221; AVX512BW-NEXT:    vzeroupper3222; AVX512BW-NEXT:    retq3223;3224; AVX512BW-FCP-LABEL: load_i16_stride8_vf16:3225; AVX512BW-FCP:       # %bb.0:3226; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3227; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r103228; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r113229; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm03230; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm13231; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm23232; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm33233; AVX512BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56]3234; AVX512BW-FCP-NEXT:    # ymm4 = mem[0,1,0,1]3235; AVX512BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm43236; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm5 = [0,8,16,24,32,40,48,56]3237; AVX512BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm53238; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]3239; AVX512BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57]3240; AVX512BW-FCP-NEXT:    # ymm5 = mem[0,1,0,1]3241; AVX512BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm53242; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm6 = [1,9,17,25,33,41,49,57]3243; AVX512BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm63244; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]3245; AVX512BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm6 = [2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58]3246; AVX512BW-FCP-NEXT:    # ymm6 = mem[0,1,0,1]3247; AVX512BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm63248; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm7 = [2,10,18,26,34,42,50,58]3249; AVX512BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm73250; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3],ymm6[4,5,6,7]3251; AVX512BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm7 = [3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59]3252; AVX512BW-FCP-NEXT:    # ymm7 = mem[0,1,0,1]3253; AVX512BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm73254; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm8 = [3,11,19,27,35,43,51,59]3255; AVX512BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm83256; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3],ymm7[4,5,6,7]3257; AVX512BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm8 = [4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60]3258; AVX512BW-FCP-NEXT:    # ymm8 = mem[0,1,0,1]3259; AVX512BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm83260; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm9 = [4,12,20,28,36,44,52,60]3261; AVX512BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm93262; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]3263; AVX512BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm9 = [5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61]3264; AVX512BW-FCP-NEXT:    # ymm9 = mem[0,1,0,1]3265; AVX512BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm93266; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm10 = [5,13,21,29,37,45,53,61]3267; AVX512BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm103268; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]3269; AVX512BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm10 = [6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62]3270; AVX512BW-FCP-NEXT:    # ymm10 = mem[0,1,0,1]3271; AVX512BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm103272; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm11 = [6,14,22,30,38,46,54,62]3273; AVX512BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm113274; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]3275; AVX512BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm11 = [7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63]3276; AVX512BW-FCP-NEXT:    # ymm11 = mem[0,1,0,1]3277; AVX512BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm113278; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm2 = [7,15,23,31,39,47,55,63]3279; AVX512BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm23280; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm11[4,5,6,7]3281; AVX512BW-FCP-NEXT:    vmovdqa %ymm4, (%rsi)3282; AVX512BW-FCP-NEXT:    vmovdqa %ymm5, (%rdx)3283; AVX512BW-FCP-NEXT:    vmovdqa %ymm6, (%rcx)3284; AVX512BW-FCP-NEXT:    vmovdqa %ymm7, (%r8)3285; AVX512BW-FCP-NEXT:    vmovdqa %ymm8, (%r9)3286; AVX512BW-FCP-NEXT:    vmovdqa %ymm9, (%r11)3287; AVX512BW-FCP-NEXT:    vmovdqa %ymm10, (%r10)3288; AVX512BW-FCP-NEXT:    vmovdqa %ymm0, (%rax)3289; AVX512BW-FCP-NEXT:    vzeroupper3290; AVX512BW-FCP-NEXT:    retq3291;3292; AVX512DQ-BW-LABEL: load_i16_stride8_vf16:3293; AVX512DQ-BW:       # %bb.0:3294; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax3295; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r103296; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r113297; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm03298; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm13299; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm23300; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm33301; AVX512DQ-BW-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56]3302; AVX512DQ-BW-NEXT:    # ymm4 = mem[0,1,0,1]3303; AVX512DQ-BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm43304; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm5 = [0,8,16,24,32,40,48,56]3305; AVX512DQ-BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm53306; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]3307; AVX512DQ-BW-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57]3308; AVX512DQ-BW-NEXT:    # ymm5 = mem[0,1,0,1]3309; AVX512DQ-BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm53310; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm6 = [1,9,17,25,33,41,49,57]3311; AVX512DQ-BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm63312; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]3313; AVX512DQ-BW-NEXT:    vbroadcasti128 {{.*#+}} ymm6 = [2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58]3314; AVX512DQ-BW-NEXT:    # ymm6 = mem[0,1,0,1]3315; AVX512DQ-BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm63316; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm7 = [2,10,18,26,34,42,50,58]3317; AVX512DQ-BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm73318; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3],ymm6[4,5,6,7]3319; AVX512DQ-BW-NEXT:    vbroadcasti128 {{.*#+}} ymm7 = [3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59]3320; AVX512DQ-BW-NEXT:    # ymm7 = mem[0,1,0,1]3321; AVX512DQ-BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm73322; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm8 = [3,11,19,27,35,43,51,59]3323; AVX512DQ-BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm83324; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3],ymm7[4,5,6,7]3325; AVX512DQ-BW-NEXT:    vbroadcasti128 {{.*#+}} ymm8 = [4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60]3326; AVX512DQ-BW-NEXT:    # ymm8 = mem[0,1,0,1]3327; AVX512DQ-BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm83328; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm9 = [4,12,20,28,36,44,52,60]3329; AVX512DQ-BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm93330; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]3331; AVX512DQ-BW-NEXT:    vbroadcasti128 {{.*#+}} ymm9 = [5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61]3332; AVX512DQ-BW-NEXT:    # ymm9 = mem[0,1,0,1]3333; AVX512DQ-BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm93334; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm10 = [5,13,21,29,37,45,53,61]3335; AVX512DQ-BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm103336; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]3337; AVX512DQ-BW-NEXT:    vbroadcasti128 {{.*#+}} ymm10 = [6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62]3338; AVX512DQ-BW-NEXT:    # ymm10 = mem[0,1,0,1]3339; AVX512DQ-BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm103340; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm11 = [6,14,22,30,38,46,54,62]3341; AVX512DQ-BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm113342; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]3343; AVX512DQ-BW-NEXT:    vbroadcasti128 {{.*#+}} ymm11 = [7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63]3344; AVX512DQ-BW-NEXT:    # ymm11 = mem[0,1,0,1]3345; AVX512DQ-BW-NEXT:    vpermi2w %zmm3, %zmm2, %zmm113346; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} xmm2 = [7,15,23,31,39,47,55,63]3347; AVX512DQ-BW-NEXT:    vpermi2w %zmm1, %zmm0, %zmm23348; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm11[4,5,6,7]3349; AVX512DQ-BW-NEXT:    vmovdqa %ymm4, (%rsi)3350; AVX512DQ-BW-NEXT:    vmovdqa %ymm5, (%rdx)3351; AVX512DQ-BW-NEXT:    vmovdqa %ymm6, (%rcx)3352; AVX512DQ-BW-NEXT:    vmovdqa %ymm7, (%r8)3353; AVX512DQ-BW-NEXT:    vmovdqa %ymm8, (%r9)3354; AVX512DQ-BW-NEXT:    vmovdqa %ymm9, (%r11)3355; AVX512DQ-BW-NEXT:    vmovdqa %ymm10, (%r10)3356; AVX512DQ-BW-NEXT:    vmovdqa %ymm0, (%rax)3357; AVX512DQ-BW-NEXT:    vzeroupper3358; AVX512DQ-BW-NEXT:    retq3359;3360; AVX512DQ-BW-FCP-LABEL: load_i16_stride8_vf16:3361; AVX512DQ-BW-FCP:       # %bb.0:3362; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3363; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r103364; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r113365; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm03366; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm13367; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm23368; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm33369; AVX512DQ-BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56]3370; AVX512DQ-BW-FCP-NEXT:    # ymm4 = mem[0,1,0,1]3371; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm43372; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm5 = [0,8,16,24,32,40,48,56]3373; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm53374; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]3375; AVX512DQ-BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57]3376; AVX512DQ-BW-FCP-NEXT:    # ymm5 = mem[0,1,0,1]3377; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm53378; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm6 = [1,9,17,25,33,41,49,57]3379; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm63380; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]3381; AVX512DQ-BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm6 = [2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58]3382; AVX512DQ-BW-FCP-NEXT:    # ymm6 = mem[0,1,0,1]3383; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm63384; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm7 = [2,10,18,26,34,42,50,58]3385; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm73386; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3],ymm6[4,5,6,7]3387; AVX512DQ-BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm7 = [3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59]3388; AVX512DQ-BW-FCP-NEXT:    # ymm7 = mem[0,1,0,1]3389; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm73390; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm8 = [3,11,19,27,35,43,51,59]3391; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm83392; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3],ymm7[4,5,6,7]3393; AVX512DQ-BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm8 = [4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60]3394; AVX512DQ-BW-FCP-NEXT:    # ymm8 = mem[0,1,0,1]3395; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm83396; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm9 = [4,12,20,28,36,44,52,60]3397; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm93398; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]3399; AVX512DQ-BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm9 = [5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61]3400; AVX512DQ-BW-FCP-NEXT:    # ymm9 = mem[0,1,0,1]3401; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm93402; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm10 = [5,13,21,29,37,45,53,61]3403; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm103404; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]3405; AVX512DQ-BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm10 = [6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62]3406; AVX512DQ-BW-FCP-NEXT:    # ymm10 = mem[0,1,0,1]3407; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm103408; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm11 = [6,14,22,30,38,46,54,62]3409; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm113410; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]3411; AVX512DQ-BW-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm11 = [7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63]3412; AVX512DQ-BW-FCP-NEXT:    # ymm11 = mem[0,1,0,1]3413; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm3, %zmm2, %zmm113414; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm2 = [7,15,23,31,39,47,55,63]3415; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm1, %zmm0, %zmm23416; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm11[4,5,6,7]3417; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm4, (%rsi)3418; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm5, (%rdx)3419; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm6, (%rcx)3420; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm7, (%r8)3421; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm8, (%r9)3422; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm9, (%r11)3423; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm10, (%r10)3424; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm0, (%rax)3425; AVX512DQ-BW-FCP-NEXT:    vzeroupper3426; AVX512DQ-BW-FCP-NEXT:    retq3427  %wide.vec = load <128 x i16>, ptr %in.vec, align 643428  %strided.vec0 = shufflevector <128 x i16> %wide.vec, <128 x i16> 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>3429  %strided.vec1 = shufflevector <128 x i16> %wide.vec, <128 x i16> 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>3430  %strided.vec2 = shufflevector <128 x i16> %wide.vec, <128 x i16> 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>3431  %strided.vec3 = shufflevector <128 x i16> %wide.vec, <128 x i16> 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>3432  %strided.vec4 = shufflevector <128 x i16> %wide.vec, <128 x i16> 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>3433  %strided.vec5 = shufflevector <128 x i16> %wide.vec, <128 x i16> 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>3434  %strided.vec6 = shufflevector <128 x i16> %wide.vec, <128 x i16> 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>3435  %strided.vec7 = shufflevector <128 x i16> %wide.vec, <128 x i16> 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>3436  store <16 x i16> %strided.vec0, ptr %out.vec0, align 643437  store <16 x i16> %strided.vec1, ptr %out.vec1, align 643438  store <16 x i16> %strided.vec2, ptr %out.vec2, align 643439  store <16 x i16> %strided.vec3, ptr %out.vec3, align 643440  store <16 x i16> %strided.vec4, ptr %out.vec4, align 643441  store <16 x i16> %strided.vec5, ptr %out.vec5, align 643442  store <16 x i16> %strided.vec6, ptr %out.vec6, align 643443  store <16 x i16> %strided.vec7, ptr %out.vec7, align 643444  ret void3445}3446 3447define void @load_i16_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 {3448; SSE-LABEL: load_i16_stride8_vf32:3449; SSE:       # %bb.0:3450; SSE-NEXT:    subq $696, %rsp # imm = 0x2B83451; SSE-NEXT:    movdqa 496(%rdi), %xmm23452; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3453; SSE-NEXT:    movdqa 480(%rdi), %xmm143454; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3455; SSE-NEXT:    movdqa 208(%rdi), %xmm13456; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3457; SSE-NEXT:    movdqa 192(%rdi), %xmm33458; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3459; SSE-NEXT:    movdqa 240(%rdi), %xmm53460; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3461; SSE-NEXT:    movdqa 224(%rdi), %xmm153462; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3463; SSE-NEXT:    movdqa 144(%rdi), %xmm63464; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3465; SSE-NEXT:    movdqa 128(%rdi), %xmm43466; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3467; SSE-NEXT:    movdqa 176(%rdi), %xmm73468; SSE-NEXT:    movdqa %xmm7, (%rsp) # 16-byte Spill3469; SSE-NEXT:    movdqa 160(%rdi), %xmm03470; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3471; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm7[0],xmm0[1],xmm7[1],xmm0[2],xmm7[2],xmm0[3],xmm7[3]3472; SSE-NEXT:    movdqa %xmm0, %xmm73473; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3474; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm6[0],xmm4[1],xmm6[1],xmm4[2],xmm6[2],xmm4[3],xmm6[3]3475; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3476; SSE-NEXT:    punpcklwd {{.*#+}} xmm15 = xmm15[0],xmm5[0],xmm15[1],xmm5[1],xmm15[2],xmm5[2],xmm15[3],xmm5[3]3477; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3478; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm15[0,0,0,0]3479; SSE-NEXT:    movdqa %xmm3, %xmm153480; SSE-NEXT:    punpcklwd {{.*#+}} xmm15 = xmm15[0],xmm1[0],xmm15[1],xmm1[1],xmm15[2],xmm1[2],xmm15[3],xmm1[3]3481; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm15[0,0,0,0]3482; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]3483; SSE-NEXT:    movdqa %xmm4, %xmm03484; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm7[0],xmm0[1],xmm7[1]3485; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3486; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3487; SSE-NEXT:    punpcklwd {{.*#+}} xmm14 = xmm14[0],xmm2[0],xmm14[1],xmm2[1],xmm14[2],xmm2[2],xmm14[3],xmm2[3]3488; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3489; SSE-NEXT:    movdqa 464(%rdi), %xmm03490; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3491; SSE-NEXT:    movdqa 448(%rdi), %xmm83492; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3493; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm0[0],xmm8[1],xmm0[1],xmm8[2],xmm0[2],xmm8[3],xmm0[3]3494; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm14[0,0,0,0]3495; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm8[0,0,0,0]3496; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]3497; SSE-NEXT:    movdqa 432(%rdi), %xmm03498; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3499; SSE-NEXT:    movdqa 416(%rdi), %xmm113500; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3501; SSE-NEXT:    punpcklwd {{.*#+}} xmm11 = xmm11[0],xmm0[0],xmm11[1],xmm0[1],xmm11[2],xmm0[2],xmm11[3],xmm0[3]3502; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3503; SSE-NEXT:    movdqa 400(%rdi), %xmm03504; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3505; SSE-NEXT:    movdqa 384(%rdi), %xmm103506; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3507; SSE-NEXT:    punpcklwd {{.*#+}} xmm10 = xmm10[0],xmm0[0],xmm10[1],xmm0[1],xmm10[2],xmm0[2],xmm10[3],xmm0[3]3508; SSE-NEXT:    movdqa %xmm10, %xmm03509; SSE-NEXT:    movdqa %xmm10, %xmm143510; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3511; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm11[0],xmm0[1],xmm11[1]3512; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3513; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3514; SSE-NEXT:    movdqa 368(%rdi), %xmm03515; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3516; SSE-NEXT:    movdqa 352(%rdi), %xmm93517; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3518; SSE-NEXT:    punpcklwd {{.*#+}} xmm9 = xmm9[0],xmm0[0],xmm9[1],xmm0[1],xmm9[2],xmm0[2],xmm9[3],xmm0[3]3519; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3520; SSE-NEXT:    movdqa 336(%rdi), %xmm03521; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3522; SSE-NEXT:    movdqa 320(%rdi), %xmm123523; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3524; SSE-NEXT:    punpcklwd {{.*#+}} xmm12 = xmm12[0],xmm0[0],xmm12[1],xmm0[1],xmm12[2],xmm0[2],xmm12[3],xmm0[3]3525; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm9[0,0,0,0]3526; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm12[0,0,0,0]3527; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]3528; SSE-NEXT:    movdqa 304(%rdi), %xmm03529; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3530; SSE-NEXT:    movdqa 288(%rdi), %xmm113531; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3532; SSE-NEXT:    punpcklwd {{.*#+}} xmm11 = xmm11[0],xmm0[0],xmm11[1],xmm0[1],xmm11[2],xmm0[2],xmm11[3],xmm0[3]3533; SSE-NEXT:    movdqa 272(%rdi), %xmm03534; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3535; SSE-NEXT:    movdqa 256(%rdi), %xmm103536; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3537; SSE-NEXT:    punpcklwd {{.*#+}} xmm10 = xmm10[0],xmm0[0],xmm10[1],xmm0[1],xmm10[2],xmm0[2],xmm10[3],xmm0[3]3538; SSE-NEXT:    movdqa %xmm10, %xmm03539; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm11[0],xmm0[1],xmm11[1]3540; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3541; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3542; SSE-NEXT:    movdqa 112(%rdi), %xmm03543; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3544; SSE-NEXT:    movdqa 96(%rdi), %xmm93545; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3546; SSE-NEXT:    punpcklwd {{.*#+}} xmm9 = xmm9[0],xmm0[0],xmm9[1],xmm0[1],xmm9[2],xmm0[2],xmm9[3],xmm0[3]3547; SSE-NEXT:    movdqa 80(%rdi), %xmm03548; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3549; SSE-NEXT:    movdqa 64(%rdi), %xmm133550; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3551; SSE-NEXT:    punpcklwd {{.*#+}} xmm13 = xmm13[0],xmm0[0],xmm13[1],xmm0[1],xmm13[2],xmm0[2],xmm13[3],xmm0[3]3552; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm9[0,0,0,0]3553; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm13[0,0,0,0]3554; SSE-NEXT:    punpckhdq {{.*#+}} xmm3 = xmm3[2],xmm1[2],xmm3[3],xmm1[3]3555; SSE-NEXT:    movdqa 32(%rdi), %xmm73556; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3557; SSE-NEXT:    movdqa 48(%rdi), %xmm03558; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3559; SSE-NEXT:    punpcklwd {{.*#+}} xmm7 = xmm7[0],xmm0[0],xmm7[1],xmm0[1],xmm7[2],xmm0[2],xmm7[3],xmm0[3]3560; SSE-NEXT:    movdqa (%rdi), %xmm63561; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3562; SSE-NEXT:    movdqa 16(%rdi), %xmm03563; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3564; SSE-NEXT:    punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm0[0],xmm6[1],xmm0[1],xmm6[2],xmm0[2],xmm6[3],xmm0[3]3565; SSE-NEXT:    movdqa %xmm6, %xmm13566; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm7[0],xmm1[1],xmm7[1]3567; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm3[2,3]3568; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3569; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload3570; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[1,1,1,1]3571; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload3572; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm5[1,1,1,1]3573; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]3574; SSE-NEXT:    movdqa %xmm15, %xmm03575; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3576; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]3577; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]3578; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3579; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm14[1,1,1,1]3580; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3581; SSE-NEXT:    # xmm0 = mem[1,1,1,1]3582; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]3583; SSE-NEXT:    movdqa %xmm8, %xmm03584; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3585; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]3586; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]3587; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3588; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm10[1,1,1,1]3589; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm11[1,1,1,1]3590; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]3591; SSE-NEXT:    movdqa %xmm12, %xmm03592; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload3593; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1]3594; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]3595; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3596; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm6[1,1,1,1]3597; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm7[1,1,1,1]3598; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]3599; SSE-NEXT:    movdqa %xmm13, %xmm03600; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm9[0],xmm0[1],xmm9[1]3601; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]3602; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3603; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[2,2,2,2]3604; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm15[2,2,2,2]3605; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]3606; SSE-NEXT:    movdqa %xmm4, %xmm03607; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm5[2],xmm0[3],xmm5[3]3608; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3609; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3610; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[2,2,2,2]3611; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm8[2,2,2,2]3612; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]3613; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3614; SSE-NEXT:    movapd %xmm3, %xmm03615; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3616; SSE-NEXT:    unpckhps {{.*#+}} xmm0 = xmm0[2],xmm2[2],xmm0[3],xmm2[3]3617; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3618; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3619; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]3620; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm12[2,2,2,2]3621; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]3622; SSE-NEXT:    movdqa %xmm10, %xmm03623; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm11[2],xmm0[3],xmm11[3]3624; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3625; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3626; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm9[2,2,2,2]3627; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm13[2,2,2,2]3628; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm1[2],xmm0[3],xmm1[3]3629; SSE-NEXT:    movdqa %xmm6, %xmm13630; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm7[2],xmm1[3],xmm7[3]3631; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]3632; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3633; SSE-NEXT:    punpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload3634; SSE-NEXT:    # xmm15 = xmm15[2],mem[2],xmm15[3],mem[3]3635; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[3,3,3,3]3636; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm5[3,3,3,3]3637; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]3638; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm15[2,3]3639; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3640; SSE-NEXT:    punpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload3641; SSE-NEXT:    # xmm8 = xmm8[2],mem[2],xmm8[3],mem[3]3642; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[3,3,3,3]3643; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[3,3,3,3]3644; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]3645; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm8[2,3]3646; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3647; SSE-NEXT:    punpckhdq {{.*#+}} xmm12 = xmm12[2],xmm14[2],xmm12[3],xmm14[3]3648; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm10[3,3,3,3]3649; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm11[3,3,3,3]3650; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]3651; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm12[2,3]3652; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3653; SSE-NEXT:    punpckhdq {{.*#+}} xmm13 = xmm13[2],xmm9[2],xmm13[3],xmm9[3]3654; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm6[3,3,3,3]3655; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm7[3,3,3,3]3656; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]3657; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm13[2,3]3658; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3659; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3660; SSE-NEXT:    punpckhwd (%rsp), %xmm3 # 16-byte Folded Reload3661; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]3662; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload3663; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload3664; SSE-NEXT:    # xmm15 = xmm15[4],mem[4],xmm15[5],mem[5],xmm15[6],mem[6],xmm15[7],mem[7]3665; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3666; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload3667; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]3668; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3669; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload3670; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]3671; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[0,0,0,0]3672; SSE-NEXT:    movdqa %xmm1, %xmm123673; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,0,0,0]3674; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]3675; SSE-NEXT:    movdqa %xmm15, %xmm03676; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]3677; SSE-NEXT:    movdqa %xmm3, %xmm73678; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3679; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3680; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3681; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3682; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload3683; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]3684; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload3685; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload3686; SSE-NEXT:    # xmm4 = xmm4[4],mem[4],xmm4[5],mem[5],xmm4[6],mem[6],xmm4[7],mem[7]3687; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload3688; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload3689; SSE-NEXT:    # xmm8 = xmm8[4],mem[4],xmm8[5],mem[5],xmm8[6],mem[6],xmm8[7],mem[7]3690; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3691; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload3692; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]3693; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3694; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm8[0,0,0,0]3695; SSE-NEXT:    movdqa %xmm8, %xmm113696; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm3[0,0,0,0]3697; SSE-NEXT:    punpckhdq {{.*#+}} xmm5 = xmm5[2],xmm0[2],xmm5[3],xmm0[3]3698; SSE-NEXT:    movdqa %xmm4, %xmm03699; SSE-NEXT:    movdqa %xmm4, %xmm143700; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3701; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]3702; SSE-NEXT:    movdqa %xmm1, %xmm133703; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3704; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm0[0],xmm5[1]3705; SSE-NEXT:    movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3706; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload3707; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Folded Reload3708; SSE-NEXT:    # xmm10 = xmm10[4],mem[4],xmm10[5],mem[5],xmm10[6],mem[6],xmm10[7],mem[7]3709; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload3710; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Folded Reload3711; SSE-NEXT:    # xmm9 = xmm9[4],mem[4],xmm9[5],mem[5],xmm9[6],mem[6],xmm9[7],mem[7]3712; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3713; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3714; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]3715; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3716; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3717; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload3718; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]3719; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3720; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]3721; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm3[0,0,0,0]3722; SSE-NEXT:    punpckhdq {{.*#+}} xmm5 = xmm5[2],xmm0[2],xmm5[3],xmm0[3]3723; SSE-NEXT:    movdqa %xmm9, %xmm03724; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm10[0],xmm0[1],xmm10[1]3725; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm0[0],xmm5[1]3726; SSE-NEXT:    movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3727; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3728; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3729; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]3730; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3731; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload3732; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload3733; SSE-NEXT:    # xmm8 = xmm8[4],mem[4],xmm8[5],mem[5],xmm8[6],mem[6],xmm8[7],mem[7]3734; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]3735; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm8[0,0,0,0]3736; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3737; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]3738; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3739; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3740; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]3741; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3742; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload3743; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload3744; SSE-NEXT:    # xmm4 = xmm4[4],mem[4],xmm4[5],mem[5],xmm4[6],mem[6],xmm4[7],mem[7]3745; SSE-NEXT:    movdqa %xmm4, %xmm33746; SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1]3747; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,1],xmm1[2,3]3748; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3749; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm15[1,1,1,1]3750; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm7[1,1,1,1]3751; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]3752; SSE-NEXT:    movdqa %xmm2, %xmm03753; SSE-NEXT:    movdqa %xmm2, %xmm53754; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3755; SSE-NEXT:    movdqa %xmm12, %xmm33756; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3757; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm12[0],xmm0[1],xmm12[1]3758; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]3759; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3760; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm14[1,1,1,1]3761; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm13[1,1,1,1]3762; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]3763; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3764; SSE-NEXT:    movdqa %xmm1, %xmm03765; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm11[0],xmm0[1],xmm11[1]3766; SSE-NEXT:    movdqa %xmm11, %xmm63767; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3768; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm0[2,3]3769; SSE-NEXT:    movaps %xmm2, (%rsp) # 16-byte Spill3770; SSE-NEXT:    movdqa %xmm9, %xmm143771; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3772; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm9[1,1,1,1]3773; SSE-NEXT:    movdqa %xmm10, %xmm133774; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3775; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm10[1,1,1,1]3776; SSE-NEXT:    punpckldq {{.*#+}} xmm9 = xmm9[0],xmm0[0],xmm9[1],xmm0[1]3777; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload3778; SSE-NEXT:    movaps %xmm7, %xmm03779; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload3780; SSE-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm12[0],xmm0[1],xmm12[1]3781; SSE-NEXT:    shufps {{.*#+}} xmm9 = xmm9[0,1],xmm0[2,3]3782; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm4[1,1,1,1]3783; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3784; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]3785; SSE-NEXT:    punpckldq {{.*#+}} xmm10 = xmm10[0],xmm0[0],xmm10[1],xmm0[1]3786; SSE-NEXT:    movdqa %xmm8, %xmm03787; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload3788; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1]3789; SSE-NEXT:    shufps {{.*#+}} xmm10 = xmm10[0,1],xmm0[2,3]3790; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[2,2,2,2]3791; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm5[2,2,2,2]3792; SSE-NEXT:    punpckhdq {{.*#+}} xmm11 = xmm11[2],xmm0[2],xmm11[3],xmm0[3]3793; SSE-NEXT:    movdqa %xmm15, %xmm03794; SSE-NEXT:    punpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3795; SSE-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]3796; SSE-NEXT:    movsd {{.*#+}} xmm11 = xmm0[0],xmm11[1]3797; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm12[2,2,2,2]3798; SSE-NEXT:    pshufd {{.*#+}} xmm12 = xmm7[2,2,2,2]3799; SSE-NEXT:    punpckhdq {{.*#+}} xmm12 = xmm12[2],xmm0[2],xmm12[3],xmm0[3]3800; SSE-NEXT:    movdqa %xmm14, %xmm03801; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm13[2],xmm0[3],xmm13[3]3802; SSE-NEXT:    movsd {{.*#+}} xmm12 = xmm0[0],xmm12[1]3803; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm6[2,2,2,2]3804; SSE-NEXT:    pshufd {{.*#+}} xmm13 = xmm1[2,2,2,2]3805; SSE-NEXT:    movdqa %xmm1, %xmm33806; SSE-NEXT:    punpckhdq {{.*#+}} xmm13 = xmm13[2],xmm0[2],xmm13[3],xmm0[3]3807; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload3808; SSE-NEXT:    movapd %xmm6, %xmm03809; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload3810; SSE-NEXT:    unpckhps {{.*#+}} xmm0 = xmm0[2],xmm5[2],xmm0[3],xmm5[3]3811; SSE-NEXT:    movsd {{.*#+}} xmm13 = xmm0[0],xmm13[1]3812; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm8[2,2,2,2]3813; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload3814; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[2,2,2,2]3815; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]3816; SSE-NEXT:    movdqa %xmm4, %xmm143817; SSE-NEXT:    punpckhdq {{.*#+}} xmm14 = xmm14[2],xmm2[2],xmm14[3],xmm2[3]3818; SSE-NEXT:    movdqa %xmm2, %xmm83819; SSE-NEXT:    shufps {{.*#+}} xmm14 = xmm14[0,1],xmm1[2,3]3820; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3821; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload3822; SSE-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]3823; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm15[3,3,3,3]3824; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3825; SSE-NEXT:    # xmm0 = mem[3,3,3,3]3826; SSE-NEXT:    punpckldq {{.*#+}} xmm15 = xmm15[0],xmm0[0],xmm15[1],xmm0[1]3827; SSE-NEXT:    shufps {{.*#+}} xmm15 = xmm15[0,1],xmm1[2,3]3828; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3829; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload3830; SSE-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]3831; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload3832; SSE-NEXT:    # xmm2 = mem[3,3,3,3]3833; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3834; SSE-NEXT:    # xmm0 = mem[3,3,3,3]3835; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]3836; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm1[2,3]3837; SSE-NEXT:    punpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload3838; SSE-NEXT:    # xmm3 = xmm3[2],mem[2],xmm3[3],mem[3]3839; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm6[3,3,3,3]3840; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm5[3,3,3,3]3841; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]3842; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm3[2,3]3843; SSE-NEXT:    punpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload3844; SSE-NEXT:    # xmm7 = xmm7[2],mem[2],xmm7[3],mem[3]3845; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm4[3,3,3,3]3846; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[3,3,3,3]3847; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1]3848; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm7[2,3]3849; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3850; SSE-NEXT:    movaps %xmm3, 32(%rsi)3851; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3852; SSE-NEXT:    movaps %xmm3, 48(%rsi)3853; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3854; SSE-NEXT:    movaps %xmm3, (%rsi)3855; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload3856; SSE-NEXT:    movaps %xmm8, 16(%rsi)3857; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3858; SSE-NEXT:    movaps %xmm3, 32(%rdx)3859; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3860; SSE-NEXT:    movaps %xmm3, 48(%rdx)3861; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3862; SSE-NEXT:    movaps %xmm3, (%rdx)3863; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3864; SSE-NEXT:    movaps %xmm3, 16(%rdx)3865; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3866; SSE-NEXT:    movaps %xmm3, 32(%rcx)3867; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3868; SSE-NEXT:    movaps %xmm3, 48(%rcx)3869; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3870; SSE-NEXT:    movaps %xmm3, (%rcx)3871; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3872; SSE-NEXT:    movaps %xmm3, 16(%rcx)3873; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3874; SSE-NEXT:    movaps %xmm3, 32(%r8)3875; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3876; SSE-NEXT:    movaps %xmm3, 48(%r8)3877; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3878; SSE-NEXT:    movaps %xmm3, (%r8)3879; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3880; SSE-NEXT:    movaps %xmm3, 16(%r8)3881; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3882; SSE-NEXT:    movaps %xmm3, 32(%r9)3883; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3884; SSE-NEXT:    movaps %xmm3, 48(%r9)3885; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3886; SSE-NEXT:    movaps %xmm3, (%r9)3887; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3888; SSE-NEXT:    movaps %xmm3, 16(%r9)3889; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax3890; SSE-NEXT:    movaps %xmm9, 32(%rax)3891; SSE-NEXT:    movaps (%rsp), %xmm3 # 16-byte Reload3892; SSE-NEXT:    movaps %xmm3, 48(%rax)3893; SSE-NEXT:    movaps %xmm10, (%rax)3894; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload3895; SSE-NEXT:    movaps %xmm3, 16(%rax)3896; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax3897; SSE-NEXT:    movapd %xmm13, 48(%rax)3898; SSE-NEXT:    movapd %xmm12, 32(%rax)3899; SSE-NEXT:    movapd %xmm11, 16(%rax)3900; SSE-NEXT:    movaps %xmm14, (%rax)3901; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax3902; SSE-NEXT:    movaps %xmm1, 48(%rax)3903; SSE-NEXT:    movaps %xmm2, 32(%rax)3904; SSE-NEXT:    movaps %xmm15, 16(%rax)3905; SSE-NEXT:    movaps %xmm0, (%rax)3906; SSE-NEXT:    addq $696, %rsp # imm = 0x2B83907; SSE-NEXT:    retq3908;3909; AVX-LABEL: load_i16_stride8_vf32:3910; AVX:       # %bb.0:3911; AVX-NEXT:    subq $872, %rsp # imm = 0x3683912; AVX-NEXT:    vmovdqa 304(%rdi), %xmm03913; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3914; AVX-NEXT:    vmovdqa 288(%rdi), %xmm13915; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3916; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]3917; AVX-NEXT:    vmovdqa 272(%rdi), %xmm03918; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3919; AVX-NEXT:    vmovdqa 256(%rdi), %xmm13920; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3921; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]3922; AVX-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm8[0],xmm5[0],xmm8[1],xmm5[1]3923; AVX-NEXT:    vmovdqa 368(%rdi), %xmm13924; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3925; AVX-NEXT:    vmovdqa 352(%rdi), %xmm23926; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3927; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]3928; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm6[0,0,0,0]3929; AVX-NEXT:    vmovdqa 336(%rdi), %xmm23930; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3931; AVX-NEXT:    vmovdqa 320(%rdi), %xmm33932; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3933; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]3934; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm14[0,1,0,1]3935; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]3936; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]3937; AVX-NEXT:    vmovdqa 496(%rdi), %xmm13938; AVX-NEXT:    vmovdqa %xmm1, (%rsp) # 16-byte Spill3939; AVX-NEXT:    vmovdqa 480(%rdi), %xmm23940; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3941; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]3942; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm7[0,0,0,0]3943; AVX-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3944; AVX-NEXT:    vmovdqa 464(%rdi), %xmm23945; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3946; AVX-NEXT:    vmovdqa 448(%rdi), %xmm33947; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3948; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]3949; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm10[0,1,0,1]3950; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]3951; AVX-NEXT:    vmovdqa 432(%rdi), %xmm23952; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3953; AVX-NEXT:    vmovdqa 416(%rdi), %xmm33954; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3955; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]3956; AVX-NEXT:    vmovdqa 400(%rdi), %xmm23957; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3958; AVX-NEXT:    vmovdqa 384(%rdi), %xmm33959; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3960; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]3961; AVX-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm11[0],xmm13[0],xmm11[1],xmm13[1]3962; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm23963; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm13964; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]3965; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]3966; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill3967; AVX-NEXT:    vmovdqa 240(%rdi), %xmm03968; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3969; AVX-NEXT:    vmovdqa 224(%rdi), %xmm13970; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3971; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]3972; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3973; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]3974; AVX-NEXT:    vmovdqa 208(%rdi), %xmm13975; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3976; AVX-NEXT:    vmovdqa 192(%rdi), %xmm23977; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3978; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]3979; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3980; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,1,0,1]3981; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]3982; AVX-NEXT:    vmovdqa 176(%rdi), %xmm13983; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3984; AVX-NEXT:    vmovdqa 160(%rdi), %xmm23985; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3986; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]3987; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3988; AVX-NEXT:    vmovdqa 144(%rdi), %xmm13989; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3990; AVX-NEXT:    vmovdqa 128(%rdi), %xmm23991; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3992; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]3993; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3994; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]3995; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm13996; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm03997; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3,4,5],ymm0[6,7]3998; AVX-NEXT:    vmovdqa 112(%rdi), %xmm03999; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4000; AVX-NEXT:    vmovdqa 96(%rdi), %xmm14001; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4002; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]4003; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4004; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]4005; AVX-NEXT:    vmovdqa 80(%rdi), %xmm14006; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4007; AVX-NEXT:    vmovdqa 64(%rdi), %xmm24008; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4009; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4010; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4011; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,1,0,1]4012; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]4013; AVX-NEXT:    vmovdqa (%rdi), %xmm154014; AVX-NEXT:    vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4015; AVX-NEXT:    vmovdqa 16(%rdi), %xmm14016; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4017; AVX-NEXT:    vmovdqa 32(%rdi), %xmm24018; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4019; AVX-NEXT:    vmovdqa 48(%rdi), %xmm44020; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4021; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]4022; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm15[0],xmm1[0],xmm15[1],xmm1[1],xmm15[2],xmm1[2],xmm15[3],xmm1[3]4023; AVX-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm9[0],xmm12[0],xmm9[1],xmm12[1]4024; AVX-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4025; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm15[0,1,2,3],xmm0[4,5,6,7]4026; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]4027; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4028; AVX-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4029; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm8[1,1,1,1]4030; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm5[2,3],xmm0[4,5,6,7]4031; AVX-NEXT:    vmovdqa %xmm6, %xmm44032; AVX-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4033; AVX-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm14[0],xmm6[0],xmm14[1],xmm6[1]4034; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm3[4,5,6,7]4035; AVX-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm10[0],xmm7[0],xmm10[1],xmm7[1]4036; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34037; AVX-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4038; AVX-NEXT:    vpshufd {{.*#+}} xmm15 = xmm11[1,1,1,1]4039; AVX-NEXT:    vpblendw {{.*#+}} xmm15 = xmm15[0,1],xmm13[2,3],xmm15[4,5,6,7]4040; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm154041; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm15[0,1,2,3,4,5],ymm3[6,7]4042; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]4043; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4044; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4045; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload4046; AVX-NEXT:    vunpcklps {{.*#+}} xmm0 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]4047; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04048; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4049; AVX-NEXT:    vshufps {{.*#+}} xmm3 = xmm2[1,1,1,1]4050; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4051; AVX-NEXT:    vblendps {{.*#+}} xmm3 = xmm3[0],xmm1[1],xmm3[2,3]4052; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34053; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]4054; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm9[1,1,1,1]4055; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1],xmm12[2,3],xmm3[4,5,6,7]4056; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4057; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload4058; AVX-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm15[0],xmm9[0],xmm15[1],xmm9[1]4059; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1,2,3],xmm15[4,5,6,7]4060; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]4061; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4062; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm4[2,2,2,2]4063; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm14[0,1,2,3,4,5],xmm0[6,7]4064; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm8[2],xmm5[2],xmm8[3],xmm5[3]4065; AVX-NEXT:    vmovdqa %xmm5, %xmm44066; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm3[0,1,2,3],xmm0[4,5,6,7]4067; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm11[2],xmm13[2],xmm11[3],xmm13[3]4068; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34069; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload4070; AVX-NEXT:    vpshufd {{.*#+}} xmm15 = xmm11[2,2,2,2]4071; AVX-NEXT:    vpblendw {{.*#+}} xmm15 = xmm10[0,1,2,3,4,5],xmm15[6,7]4072; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm154073; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm15[6,7]4074; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]4075; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4076; AVX-NEXT:    vunpckhps {{.*#+}} xmm0 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]4077; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04078; AVX-NEXT:    vshufps {{.*#+}} xmm3 = xmm6[2,2,2,2]4079; AVX-NEXT:    vmovaps %xmm6, %xmm54080; AVX-NEXT:    vblendps {{.*#+}} xmm3 = xmm7[0,1,2],xmm3[3]4081; AVX-NEXT:    vmovaps %xmm7, %xmm64082; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34083; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]4084; AVX-NEXT:    vmovdqa %xmm9, %xmm74085; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm9[2,2,2,2]4086; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload4087; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm8[0,1,2,3,4,5],xmm3[6,7]4088; AVX-NEXT:    vmovdqa %xmm12, %xmm94089; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload4090; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm15 = xmm12[2],xmm9[2],xmm12[3],xmm9[3]4091; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm15[0,1,2,3],xmm3[4,5,6,7]4092; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]4093; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4094; AVX-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm0 # 16-byte Folded Reload4095; AVX-NEXT:    # xmm0 = xmm14[2],mem[2],xmm14[3],mem[3]4096; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm4[2,3,2,3]4097; AVX-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload4098; AVX-NEXT:    # xmm14 = mem[3,3,3,3]4099; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm14[0,1],xmm3[2,3],xmm14[4,5,6,7]4100; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm3[0,1,2,3],xmm0[4,5,6,7]4101; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm10[2],xmm11[2],xmm10[3],xmm11[3]4102; AVX-NEXT:    vpshufd {{.*#+}} xmm11 = xmm13[2,3,2,3]4103; AVX-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Folded Reload4104; AVX-NEXT:    # xmm10 = mem[3,3,3,3]4105; AVX-NEXT:    vpblendw {{.*#+}} xmm10 = xmm10[0,1],xmm11[2,3],xmm10[4,5,6,7]4106; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34107; AVX-NEXT:    vinsertf128 $1, %xmm10, %ymm0, %ymm104108; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm10[0,1,2,3,4,5],ymm3[6,7]4109; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]4110; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4111; AVX-NEXT:    vunpckhps {{.*#+}} xmm0 = xmm6[2],xmm5[2],xmm6[3],xmm5[3]4112; AVX-NEXT:    vshufps {{.*#+}} xmm3 = xmm1[2,3,2,3]4113; AVX-NEXT:    vshufps {{.*#+}} xmm6 = xmm2[3,3,3,3]4114; AVX-NEXT:    vblendps {{.*#+}} xmm3 = xmm6[0],xmm3[1],xmm6[2,3]4115; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04116; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34117; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]4118; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm8[2],xmm7[2],xmm8[3],xmm7[3]4119; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm9[2,3,2,3]4120; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm12[3,3,3,3]4121; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3],xmm1[4,5,6,7]4122; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3],xmm3[4,5,6,7]4123; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]4124; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4125; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4126; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm6 # 16-byte Folded Reload4127; AVX-NEXT:    # xmm6 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4128; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4129; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm10 # 16-byte Folded Reload4130; AVX-NEXT:    # xmm10 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4131; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4132; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm8 # 16-byte Folded Reload4133; AVX-NEXT:    # xmm8 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4134; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4135; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm7 # 16-byte Folded Reload4136; AVX-NEXT:    # xmm7 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4137; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm8[0,0,0,0]4138; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm7[0,1,0,1]4139; AVX-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4140; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]4141; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm10[0],xmm6[0],xmm10[1],xmm6[1]4142; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]4143; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4144; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm3 # 16-byte Folded Reload4145; AVX-NEXT:    # xmm3 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4146; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4147; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4148; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm4 # 16-byte Folded Reload4149; AVX-NEXT:    # xmm4 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4150; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4151; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4152; AVX-NEXT:    vpunpckhwd (%rsp), %xmm1, %xmm2 # 16-byte Folded Reload4153; AVX-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4154; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4155; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4156; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm5 # 16-byte Folded Reload4157; AVX-NEXT:    # xmm5 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4158; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4159; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm2[0,0,0,0]4160; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm5[0,1,0,1]4161; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]4162; AVX-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]4163; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm24164; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm14165; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]4166; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4167; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4168; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4169; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload4170; AVX-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4171; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4172; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4173; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm11 # 16-byte Folded Reload4174; AVX-NEXT:    # xmm11 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4175; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4176; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm12 # 16-byte Folded Reload4177; AVX-NEXT:    # xmm12 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4178; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4179; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm9 # 16-byte Folded Reload4180; AVX-NEXT:    # xmm9 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4181; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm12[0,0,0,0]4182; AVX-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4183; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm9[0,1,0,1]4184; AVX-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4185; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]4186; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm11[0],xmm2[0],xmm11[1],xmm2[1]4187; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm14188; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04189; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3,4,5],ymm0[6,7]4190; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4191; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload4192; AVX-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4193; AVX-NEXT:    vmovdqa %xmm1, (%rsp) # 16-byte Spill4194; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4195; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload4196; AVX-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4197; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4198; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]4199; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[0,1,0,1]4200; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm2[0,1,2,3,4,5],xmm1[6,7]4201; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4202; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm13 # 16-byte Folded Reload4203; AVX-NEXT:    # xmm13 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4204; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4205; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm14 # 16-byte Folded Reload4206; AVX-NEXT:    # xmm14 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4207; AVX-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm14[0],xmm13[0],xmm14[1],xmm13[1]4208; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm15[0,1,2,3],xmm0[4,5,6,7]4209; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]4210; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4211; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[1,1,1,1]4212; AVX-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4213; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm6[2,3],xmm0[4,5,6,7]4214; AVX-NEXT:    vmovdqa %xmm8, %xmm54215; AVX-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4216; AVX-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm7[0],xmm8[0],xmm7[1],xmm8[1]4217; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm3[4,5,6,7]4218; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload4219; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload4220; AVX-NEXT:    vunpcklps {{.*#+}} xmm3 = xmm7[0],xmm8[0],xmm7[1],xmm8[1]4221; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34222; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4223; AVX-NEXT:    vshufps {{.*#+}} xmm15 = xmm4[1,1,1,1]4224; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4225; AVX-NEXT:    vblendps {{.*#+}} xmm15 = xmm15[0],xmm1[1],xmm15[2,3]4226; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm154227; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm15[0,1,2,3,4,5],ymm3[6,7]4228; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]4229; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4230; AVX-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm9[0],xmm12[0],xmm9[1],xmm12[1]4231; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04232; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm11[1,1,1,1]4233; AVX-NEXT:    vmovdqa %xmm11, %xmm94234; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload4235; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1],xmm11[2,3],xmm3[4,5,6,7]4236; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34237; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]4238; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm14[1,1,1,1]4239; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1],xmm13[2,3],xmm3[4,5,6,7]4240; AVX-NEXT:    vmovdqa (%rsp), %xmm2 # 16-byte Reload4241; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload4242; AVX-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm12[0],xmm2[0],xmm12[1],xmm2[1]4243; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1,2,3],xmm15[4,5,6,7]4244; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]4245; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4246; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm5[2,2,2,2]4247; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4248; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm5[0,1,2,3,4,5],xmm0[6,7]4249; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm10[2],xmm6[2],xmm10[3],xmm6[3]4250; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm3[0,1,2,3],xmm0[4,5,6,7]4251; AVX-NEXT:    vunpckhps {{.*#+}} xmm3 = xmm4[2],xmm1[2],xmm4[3],xmm1[3]4252; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34253; AVX-NEXT:    vmovaps %xmm8, %xmm64254; AVX-NEXT:    vshufps {{.*#+}} xmm15 = xmm8[2,2,2,2]4255; AVX-NEXT:    vblendps {{.*#+}} xmm15 = xmm7[0,1,2],xmm15[3]4256; AVX-NEXT:    vmovaps %xmm7, %xmm84257; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm154258; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm15[6,7]4259; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]4260; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4261; AVX-NEXT:    vmovdqa %xmm9, %xmm44262; AVX-NEXT:    vmovdqa %xmm11, %xmm14263; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm9[2],xmm11[2],xmm9[3],xmm11[3]4264; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04265; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4266; AVX-NEXT:    vshufps {{.*#+}} xmm3 = xmm9[2,2,2,2]4267; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload4268; AVX-NEXT:    vblendps {{.*#+}} xmm3 = xmm11[0,1,2],xmm3[3]4269; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34270; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]4271; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm2[2,2,2,2]4272; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm12[0,1,2,3,4,5],xmm3[6,7]4273; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm15 = xmm14[2],xmm13[2],xmm14[3],xmm13[3]4274; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm15[0,1,2,3],xmm3[4,5,6,7]4275; AVX-NEXT:    vblendps {{.*#+}} ymm15 = ymm3[0,1,2,3],ymm0[4,5,6,7]4276; AVX-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm0 # 16-byte Folded Reload4277; AVX-NEXT:    # xmm0 = xmm5[2],mem[2],xmm5[3],mem[3]4278; AVX-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload4279; AVX-NEXT:    # xmm3 = mem[2,3,2,3]4280; AVX-NEXT:    vpshufd {{.*#+}} xmm7 = xmm10[3,3,3,3]4281; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm7[0,1],xmm3[2,3],xmm7[4,5,6,7]4282; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm3[0,1,2,3],xmm0[4,5,6,7]4283; AVX-NEXT:    vunpckhps {{.*#+}} xmm3 = xmm8[2],xmm6[2],xmm8[3],xmm6[3]4284; AVX-NEXT:    vpermilps $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload4285; AVX-NEXT:    # xmm5 = mem[2,3,2,3]4286; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload4287; AVX-NEXT:    # xmm6 = mem[3,3,3,3]4288; AVX-NEXT:    vblendps {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]4289; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34290; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm54291; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5],ymm3[6,7]4292; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]4293; AVX-NEXT:    vunpckhps {{.*#+}} xmm3 = xmm11[2],xmm9[2],xmm11[3],xmm9[3]4294; AVX-NEXT:    vpshufd {{.*#+}} xmm5 = xmm1[2,3,2,3]4295; AVX-NEXT:    vpshufd {{.*#+}} xmm6 = xmm4[3,3,3,3]4296; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]4297; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34298; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm54299; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5],ymm3[6,7]4300; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm4 = xmm12[2],xmm2[2],xmm12[3],xmm2[3]4301; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm13[2,3,2,3]4302; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm14[3,3,3,3]4303; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3],xmm1[4,5,6,7]4304; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3],xmm4[4,5,6,7]4305; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]4306; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4307; AVX-NEXT:    vmovaps %ymm2, (%rsi)4308; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4309; AVX-NEXT:    vmovaps %ymm2, 32(%rsi)4310; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4311; AVX-NEXT:    vmovaps %ymm2, (%rdx)4312; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4313; AVX-NEXT:    vmovaps %ymm2, 32(%rdx)4314; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4315; AVX-NEXT:    vmovaps %ymm2, (%rcx)4316; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4317; AVX-NEXT:    vmovaps %ymm2, 32(%rcx)4318; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4319; AVX-NEXT:    vmovaps %ymm2, (%r8)4320; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4321; AVX-NEXT:    vmovaps %ymm2, 32(%r8)4322; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4323; AVX-NEXT:    vmovaps %ymm2, (%r9)4324; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4325; AVX-NEXT:    vmovaps %ymm2, 32(%r9)4326; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax4327; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4328; AVX-NEXT:    vmovaps %ymm2, (%rax)4329; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4330; AVX-NEXT:    vmovaps %ymm2, 32(%rax)4331; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax4332; AVX-NEXT:    vmovaps %ymm15, (%rax)4333; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload4334; AVX-NEXT:    vmovaps %ymm2, 32(%rax)4335; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax4336; AVX-NEXT:    vmovaps %ymm1, (%rax)4337; AVX-NEXT:    vmovaps %ymm0, 32(%rax)4338; AVX-NEXT:    addq $872, %rsp # imm = 0x3684339; AVX-NEXT:    vzeroupper4340; AVX-NEXT:    retq4341;4342; AVX2-LABEL: load_i16_stride8_vf32:4343; AVX2:       # %bb.0:4344; AVX2-NEXT:    subq $1000, %rsp # imm = 0x3E84345; AVX2-NEXT:    vmovdqa 448(%rdi), %ymm24346; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4347; AVX2-NEXT:    vmovdqa 480(%rdi), %ymm34348; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4349; AVX2-NEXT:    vmovdqa 272(%rdi), %xmm04350; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4351; AVX2-NEXT:    vmovdqa 256(%rdi), %xmm14352; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4353; AVX2-NEXT:    vmovdqa 304(%rdi), %xmm44354; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4355; AVX2-NEXT:    vmovdqa 288(%rdi), %xmm54356; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4357; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]4358; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4359; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]4360; AVX2-NEXT:    vmovdqa 368(%rdi), %xmm04361; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4362; AVX2-NEXT:    vmovdqa 352(%rdi), %xmm14363; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4364; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]4365; AVX2-NEXT:    vpbroadcastd %xmm9, %xmm04366; AVX2-NEXT:    vmovdqa 336(%rdi), %xmm14367; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4368; AVX2-NEXT:    vmovdqa 320(%rdi), %xmm44369; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4370; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]4371; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4372; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm14373; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]4374; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm8[0],xmm5[0],xmm8[1],xmm5[1]4375; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]4376; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm3[0,1,0,2]4377; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4378; AVX2-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]4379; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4380; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]4381; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]4382; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4383; AVX2-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]4384; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4385; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]4386; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]4387; AVX2-NEXT:    vmovdqa 384(%rdi), %ymm24388; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4389; AVX2-NEXT:    vmovdqa 416(%rdi), %ymm34390; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4391; AVX2-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,1,0,2]4392; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4393; AVX2-NEXT:    vpshufd {{.*#+}} ymm13 = ymm3[0,2,2,3,4,6,6,7]4394; AVX2-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm13[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]4395; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]4396; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4397; AVX2-NEXT:    vpshufd {{.*#+}} ymm7 = ymm2[0,2,2,3,4,6,6,7]4398; AVX2-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm7[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]4399; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]4400; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]4401; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4402; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4403; AVX2-NEXT:    vmovdqa 112(%rdi), %xmm04404; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4405; AVX2-NEXT:    vmovdqa 96(%rdi), %xmm14406; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4407; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]4408; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4409; AVX2-NEXT:    vpbroadcastd %xmm0, %xmm04410; AVX2-NEXT:    vmovdqa 80(%rdi), %xmm14411; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4412; AVX2-NEXT:    vmovdqa 64(%rdi), %xmm24413; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4414; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4415; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4416; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm14417; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]4418; AVX2-NEXT:    vmovdqa (%rdi), %xmm14419; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4420; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm24421; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4422; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm34423; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4424; AVX2-NEXT:    vmovdqa 48(%rdi), %xmm44425; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4426; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]4427; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]4428; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm10[0],xmm15[0],xmm10[1],xmm15[1]4429; AVX2-NEXT:    vpblendd {{.*#+}} xmm6 = xmm1[0,1],xmm0[2,3]4430; AVX2-NEXT:    vmovdqa 192(%rdi), %ymm04431; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4432; AVX2-NEXT:    vmovdqa 224(%rdi), %ymm14433; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4434; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]4435; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4436; AVX2-NEXT:    vpshufd {{.*#+}} ymm12 = ymm1[0,1,2,0,4,5,6,4]4437; AVX2-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]4438; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]4439; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4440; AVX2-NEXT:    vpshufd {{.*#+}} ymm4 = ymm0[0,1,2,0,4,5,6,4]4441; AVX2-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm4[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]4442; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,6],ymm11[7]4443; AVX2-NEXT:    vmovdqa 128(%rdi), %ymm24444; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4445; AVX2-NEXT:    vmovdqa 160(%rdi), %ymm04446; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4447; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]4448; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4449; AVX2-NEXT:    vpshufd {{.*#+}} ymm3 = ymm0[0,2,2,3,4,6,6,7]4450; AVX2-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm3[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]4451; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]4452; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4453; AVX2-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]4454; AVX2-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm2[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]4455; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4],ymm0[5],ymm14[6,7]4456; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4457; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]4458; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4459; AVX2-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4460; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm8[1,1,1,1]4461; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4462; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm5[1],xmm0[2,3]4463; AVX2-NEXT:    vmovdqa %xmm9, %xmm144464; AVX2-NEXT:    vmovdqa %xmm9, (%rsp) # 16-byte Spill4465; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4466; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm9[0],xmm14[0],xmm9[1],xmm14[1]4467; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]4468; AVX2-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload4469; AVX2-NEXT:    # ymm1 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]4470; AVX2-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload4471; AVX2-NEXT:    # ymm6 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]4472; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,6],ymm1[7]4473; AVX2-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm13[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]4474; AVX2-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]4475; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]4476; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5],ymm1[6,7]4477; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4478; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4479; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[1,1,1,1]4480; AVX2-NEXT:    vmovdqa %xmm10, %xmm114481; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm15[1],xmm0[2,3]4482; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload4483; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4484; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm10[0],xmm13[0],xmm10[1],xmm13[1]4485; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]4486; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]4487; AVX2-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]4488; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]4489; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]4490; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]4491; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]4492; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]4493; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4494; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4495; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]4496; AVX2-NEXT:    vmovdqa %xmm9, %xmm34497; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm9[0,1,2],xmm0[3]4498; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm8[2],xmm5[2],xmm8[3],xmm5[3]4499; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1],xmm0[2,3]4500; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload4501; AVX2-NEXT:    # ymm0 = mem[0,1,1,3,4,5,5,7]4502; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload4503; AVX2-NEXT:    # ymm8 = mem[0,1,1,3,4,5,5,7]4504; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]4505; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm8[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]4506; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm2[0,1,2,3,4,5,6],ymm1[7]4507; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload4508; AVX2-NEXT:    # ymm1 = mem[3,1,2,3,7,5,6,7]4509; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload4510; AVX2-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]4511; AVX2-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm1[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]4512; AVX2-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm2[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]4513; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]4514; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]4515; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]4516; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4517; AVX2-NEXT:    vpshufd {{.*#+}} xmm4 = xmm13[2,2,2,2]4518; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm10[0,1,2],xmm4[3]4519; AVX2-NEXT:    vmovdqa %xmm11, %xmm124520; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm5 = xmm11[2],xmm15[2],xmm11[3],xmm15[3]4521; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]4522; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload4523; AVX2-NEXT:    # ymm7 = mem[0,1,1,3,4,5,5,7]4524; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload4525; AVX2-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]4526; AVX2-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]4527; AVX2-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm9[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]4528; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]4529; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload4530; AVX2-NEXT:    # ymm6 = mem[3,1,2,3,7,5,6,7]4531; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload4532; AVX2-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]4533; AVX2-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm6[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]4534; AVX2-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]4535; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4],ymm13[5],ymm14[6,7]4536; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3,4,5],ymm5[6,7]4537; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]4538; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4539; AVX2-NEXT:    vpunpckhdq (%rsp), %xmm3, %xmm4 # 16-byte Folded Reload4540; AVX2-NEXT:    # xmm4 = xmm3[2],mem[2],xmm3[3],mem[3]4541; AVX2-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload4542; AVX2-NEXT:    # xmm5 = mem[2,3,2,3]4543; AVX2-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Folded Reload4544; AVX2-NEXT:    # xmm13 = mem[3,3,3,3]4545; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm13[0],xmm5[1],xmm13[2,3]4546; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]4547; AVX2-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]4548; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm8[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]4549; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6],ymm0[7]4550; AVX2-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]4551; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]4552; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]4553; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4554; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]4555; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4556; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm0 # 16-byte Folded Reload4557; AVX2-NEXT:    # xmm0 = xmm10[2],mem[2],xmm10[3],mem[3]4558; AVX2-NEXT:    vpshufd {{.*#+}} xmm1 = xmm15[2,3,2,3]4559; AVX2-NEXT:    vpshufd {{.*#+}} xmm2 = xmm12[3,3,3,3]4560; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0],xmm1[1],xmm2[2,3]4561; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]4562; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]4563; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm9[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]4564; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]4565; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm6[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]4566; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]4567; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]4568; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]4569; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4570; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4571; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4572; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload4573; AVX2-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4574; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4575; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4576; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload4577; AVX2-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4578; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4579; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4580; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload4581; AVX2-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4582; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4583; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4584; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload4585; AVX2-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4586; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4587; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm04588; AVX2-NEXT:    vpbroadcastd %xmm4, %xmm14589; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]4590; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]4591; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]4592; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload4593; AVX2-NEXT:    # ymm1 = mem[0,1,1,3]4594; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4595; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload4596; AVX2-NEXT:    # ymm2 = mem[0,1,1,3]4597; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4598; AVX2-NEXT:    vpshufd {{.*#+}} ymm12 = ymm1[0,1,2,0,4,5,6,4]4599; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]4600; AVX2-NEXT:    vpshufd {{.*#+}} ymm10 = ymm2[0,1,2,0,4,5,6,4]4601; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]4602; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]4603; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload4604; AVX2-NEXT:    # ymm2 = mem[0,1,1,3]4605; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4606; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload4607; AVX2-NEXT:    # ymm3 = mem[0,1,1,3]4608; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4609; AVX2-NEXT:    vpshufd {{.*#+}} ymm9 = ymm2[0,2,2,3,4,6,6,7]4610; AVX2-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm9[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]4611; AVX2-NEXT:    vpshufd {{.*#+}} ymm8 = ymm3[0,2,2,3,4,6,6,7]4612; AVX2-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm8[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]4613; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]4614; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5],ymm1[6,7]4615; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4616; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4617; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4618; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload4619; AVX2-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4620; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4621; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4622; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm11 # 16-byte Folded Reload4623; AVX2-NEXT:    # xmm11 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4624; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm04625; AVX2-NEXT:    vpbroadcastd %xmm11, %xmm14626; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]4627; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4628; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm2 # 16-byte Folded Reload4629; AVX2-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4630; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4631; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4632; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm14 # 16-byte Folded Reload4633; AVX2-NEXT:    # xmm14 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4634; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm14[0],xmm2[0],xmm14[1],xmm2[1]4635; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm0[2,3]4636; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload4637; AVX2-NEXT:    # ymm0 = mem[0,1,1,3]4638; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4639; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload4640; AVX2-NEXT:    # ymm1 = mem[0,1,1,3]4641; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4642; AVX2-NEXT:    vpshufd {{.*#+}} ymm4 = ymm0[0,1,2,0,4,5,6,4]4643; AVX2-NEXT:    vpshufhw {{.*#+}} ymm15 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]4644; AVX2-NEXT:    vpshufd {{.*#+}} ymm3 = ymm1[0,1,2,0,4,5,6,4]4645; AVX2-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm3[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]4646; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5,6],ymm15[7]4647; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload4648; AVX2-NEXT:    # ymm0 = mem[0,1,1,3]4649; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4650; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload4651; AVX2-NEXT:    # ymm1 = mem[0,1,1,3]4652; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4653; AVX2-NEXT:    vpshufd {{.*#+}} ymm7 = ymm0[0,2,2,3,4,6,6,7]4654; AVX2-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm7[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]4655; AVX2-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,2,2,3,4,6,6,7]4656; AVX2-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm1[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]4657; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]4658; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm13[6,7]4659; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]4660; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4661; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload4662; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm15[1,1,1,1]4663; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4664; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm6[1],xmm0[2,3]4665; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload4666; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4667; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm2[0],xmm13[0],xmm2[1],xmm13[1]4668; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm5[2,3]4669; AVX2-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm12[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]4670; AVX2-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]4671; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]4672; AVX2-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm9[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]4673; AVX2-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm8[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]4674; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4],ymm9[5],ymm8[6,7]4675; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3,4,5],ymm5[6,7]4676; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]4677; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4678; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[1,1,1,1]4679; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload4680; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm12[1],xmm0[2,3]4681; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4682; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm11[0],xmm10[0],xmm11[1],xmm10[1]4683; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm5[2,3]4684; AVX2-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]4685; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]4686; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm4[7]4687; AVX2-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm7[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]4688; AVX2-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]4689; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm4[5],ymm1[6,7]4690; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]4691; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4692; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4693; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm13[2,2,2,2]4694; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]4695; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm15[2],xmm6[2],xmm15[3],xmm6[3]4696; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]4697; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload4698; AVX2-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]4699; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload4700; AVX2-NEXT:    # ymm3 = mem[0,1,1,3,4,5,5,7]4701; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]4702; AVX2-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm3[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]4703; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]4704; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload4705; AVX2-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]4706; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload4707; AVX2-NEXT:    # ymm5 = mem[3,1,2,3,7,5,6,7]4708; AVX2-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]4709; AVX2-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm5[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]4710; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5],ymm9[6,7]4711; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3,4,5],ymm1[6,7]4712; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4713; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4714; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[2,2,2,2]4715; AVX2-NEXT:    vmovdqa %xmm11, %xmm74716; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1,2],xmm0[3]4717; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm14[2],xmm12[2],xmm14[3],xmm12[3]4718; AVX2-NEXT:    vpblendd {{.*#+}} xmm8 = xmm1[0,1],xmm0[2,3]4719; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload4720; AVX2-NEXT:    # ymm0 = mem[0,1,1,3,4,5,5,7]4721; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload4722; AVX2-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]4723; AVX2-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]4724; AVX2-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm1[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]4725; AVX2-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5,6],ymm9[7]4726; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload4727; AVX2-NEXT:    # ymm10 = mem[3,1,2,3,7,5,6,7]4728; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload4729; AVX2-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]4730; AVX2-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm10[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]4731; AVX2-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]4732; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4],ymm13[5],ymm15[6,7]4733; AVX2-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3,4,5],ymm9[6,7]4734; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]4735; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4736; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm9, %xmm9 # 16-byte Folded Reload4737; AVX2-NEXT:    # xmm9 = xmm9[2],mem[2],xmm9[3],mem[3]4738; AVX2-NEXT:    vpshufd {{.*#+}} xmm13 = xmm6[2,3,2,3]4739; AVX2-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload4740; AVX2-NEXT:    # xmm15 = mem[3,3,3,3]4741; AVX2-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0],xmm13[1],xmm15[2,3]4742; AVX2-NEXT:    vpblendd {{.*#+}} xmm9 = xmm13[0,1],xmm9[2,3]4743; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]4744; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]4745; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]4746; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]4747; AVX2-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm5[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]4748; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]4749; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]4750; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]4751; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm3 # 16-byte Folded Reload4752; AVX2-NEXT:    # xmm3 = xmm7[2],mem[2],xmm7[3],mem[3]4753; AVX2-NEXT:    vpshufd {{.*#+}} xmm4 = xmm12[2,3,2,3]4754; AVX2-NEXT:    vpshufd {{.*#+}} xmm5 = xmm14[3,3,3,3]4755; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]4756; AVX2-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]4757; AVX2-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]4758; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]4759; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]4760; AVX2-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm10[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]4761; AVX2-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]4762; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4],ymm1[5],ymm4[6,7]4763; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]4764; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]4765; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4766; AVX2-NEXT:    vmovaps %ymm1, (%rsi)4767; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4768; AVX2-NEXT:    vmovaps %ymm1, 32(%rsi)4769; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4770; AVX2-NEXT:    vmovaps %ymm1, (%rdx)4771; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4772; AVX2-NEXT:    vmovaps %ymm1, 32(%rdx)4773; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4774; AVX2-NEXT:    vmovaps %ymm1, (%rcx)4775; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4776; AVX2-NEXT:    vmovaps %ymm1, 32(%rcx)4777; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4778; AVX2-NEXT:    vmovaps %ymm1, (%r8)4779; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4780; AVX2-NEXT:    vmovaps %ymm1, 32(%r8)4781; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4782; AVX2-NEXT:    vmovaps %ymm1, (%r9)4783; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4784; AVX2-NEXT:    vmovaps %ymm1, 32(%r9)4785; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax4786; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4787; AVX2-NEXT:    vmovaps %ymm1, (%rax)4788; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4789; AVX2-NEXT:    vmovaps %ymm1, 32(%rax)4790; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax4791; AVX2-NEXT:    vmovdqa %ymm8, (%rax)4792; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4793; AVX2-NEXT:    vmovaps %ymm1, 32(%rax)4794; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax4795; AVX2-NEXT:    vmovdqa %ymm0, (%rax)4796; AVX2-NEXT:    vmovdqa %ymm2, 32(%rax)4797; AVX2-NEXT:    addq $1000, %rsp # imm = 0x3E84798; AVX2-NEXT:    vzeroupper4799; AVX2-NEXT:    retq4800;4801; AVX2-FP-LABEL: load_i16_stride8_vf32:4802; AVX2-FP:       # %bb.0:4803; AVX2-FP-NEXT:    subq $1000, %rsp # imm = 0x3E84804; AVX2-FP-NEXT:    vmovdqa 448(%rdi), %ymm24805; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4806; AVX2-FP-NEXT:    vmovdqa 480(%rdi), %ymm34807; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4808; AVX2-FP-NEXT:    vmovdqa 272(%rdi), %xmm04809; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4810; AVX2-FP-NEXT:    vmovdqa 256(%rdi), %xmm14811; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4812; AVX2-FP-NEXT:    vmovdqa 304(%rdi), %xmm44813; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4814; AVX2-FP-NEXT:    vmovdqa 288(%rdi), %xmm54815; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4816; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]4817; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4818; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]4819; AVX2-FP-NEXT:    vmovdqa 368(%rdi), %xmm04820; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4821; AVX2-FP-NEXT:    vmovdqa 352(%rdi), %xmm14822; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4823; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]4824; AVX2-FP-NEXT:    vpbroadcastd %xmm9, %xmm04825; AVX2-FP-NEXT:    vmovdqa 336(%rdi), %xmm14826; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4827; AVX2-FP-NEXT:    vmovdqa 320(%rdi), %xmm44828; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4829; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]4830; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4831; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm14832; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]4833; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm8[0],xmm5[0],xmm8[1],xmm5[1]4834; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]4835; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm3[0,1,0,2]4836; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4837; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]4838; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4839; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]4840; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]4841; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4842; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]4843; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4844; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]4845; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]4846; AVX2-FP-NEXT:    vmovdqa 384(%rdi), %ymm24847; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4848; AVX2-FP-NEXT:    vmovdqa 416(%rdi), %ymm34849; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4850; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,1,0,2]4851; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4852; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm13 = ymm3[0,2,2,3,4,6,6,7]4853; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm13[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]4854; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]4855; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4856; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm2[0,2,2,3,4,6,6,7]4857; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm7[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]4858; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]4859; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]4860; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4861; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4862; AVX2-FP-NEXT:    vmovdqa 112(%rdi), %xmm04863; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4864; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %xmm14865; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4866; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]4867; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4868; AVX2-FP-NEXT:    vpbroadcastd %xmm0, %xmm04869; AVX2-FP-NEXT:    vmovdqa 80(%rdi), %xmm14870; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4871; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %xmm24872; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4873; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4874; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4875; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm14876; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]4877; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm14878; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4879; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm24880; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4881; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm34882; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4883; AVX2-FP-NEXT:    vmovdqa 48(%rdi), %xmm44884; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4885; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]4886; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]4887; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm10[0],xmm15[0],xmm10[1],xmm15[1]4888; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm1[0,1],xmm0[2,3]4889; AVX2-FP-NEXT:    vmovdqa 192(%rdi), %ymm04890; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4891; AVX2-FP-NEXT:    vmovdqa 224(%rdi), %ymm14892; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4893; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]4894; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4895; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm12 = ymm1[0,1,2,0,4,5,6,4]4896; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]4897; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]4898; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4899; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm0[0,1,2,0,4,5,6,4]4900; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm4[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]4901; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,6],ymm11[7]4902; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %ymm24903; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4904; AVX2-FP-NEXT:    vmovdqa 160(%rdi), %ymm04905; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4906; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]4907; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4908; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm0[0,2,2,3,4,6,6,7]4909; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm3[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]4910; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]4911; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4912; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]4913; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm2[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]4914; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4],ymm0[5],ymm14[6,7]4915; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4916; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]4917; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4918; AVX2-FP-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4919; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm8[1,1,1,1]4920; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4921; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm5[1],xmm0[2,3]4922; AVX2-FP-NEXT:    vmovdqa %xmm9, %xmm144923; AVX2-FP-NEXT:    vmovdqa %xmm9, (%rsp) # 16-byte Spill4924; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4925; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm9[0],xmm14[0],xmm9[1],xmm14[1]4926; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]4927; AVX2-FP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload4928; AVX2-FP-NEXT:    # ymm1 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]4929; AVX2-FP-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload4930; AVX2-FP-NEXT:    # ymm6 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]4931; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,6],ymm1[7]4932; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm13[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]4933; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]4934; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]4935; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5],ymm1[6,7]4936; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4937; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4938; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[1,1,1,1]4939; AVX2-FP-NEXT:    vmovdqa %xmm10, %xmm114940; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm15[1],xmm0[2,3]4941; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload4942; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4943; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm10[0],xmm13[0],xmm10[1],xmm13[1]4944; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]4945; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]4946; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]4947; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]4948; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]4949; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]4950; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]4951; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]4952; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4953; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4954; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]4955; AVX2-FP-NEXT:    vmovdqa %xmm9, %xmm34956; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm9[0,1,2],xmm0[3]4957; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm8[2],xmm5[2],xmm8[3],xmm5[3]4958; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1],xmm0[2,3]4959; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload4960; AVX2-FP-NEXT:    # ymm0 = mem[0,1,1,3,4,5,5,7]4961; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload4962; AVX2-FP-NEXT:    # ymm8 = mem[0,1,1,3,4,5,5,7]4963; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]4964; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm8[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]4965; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm2[0,1,2,3,4,5,6],ymm1[7]4966; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload4967; AVX2-FP-NEXT:    # ymm1 = mem[3,1,2,3,7,5,6,7]4968; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload4969; AVX2-FP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]4970; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm1[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]4971; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm2[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]4972; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]4973; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]4974; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]4975; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4976; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm4 = xmm13[2,2,2,2]4977; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm10[0,1,2],xmm4[3]4978; AVX2-FP-NEXT:    vmovdqa %xmm11, %xmm124979; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm5 = xmm11[2],xmm15[2],xmm11[3],xmm15[3]4980; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]4981; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload4982; AVX2-FP-NEXT:    # ymm7 = mem[0,1,1,3,4,5,5,7]4983; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload4984; AVX2-FP-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]4985; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]4986; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm9[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]4987; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]4988; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload4989; AVX2-FP-NEXT:    # ymm6 = mem[3,1,2,3,7,5,6,7]4990; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload4991; AVX2-FP-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]4992; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm6[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]4993; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]4994; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4],ymm13[5],ymm14[6,7]4995; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3,4,5],ymm5[6,7]4996; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]4997; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4998; AVX2-FP-NEXT:    vpunpckhdq (%rsp), %xmm3, %xmm4 # 16-byte Folded Reload4999; AVX2-FP-NEXT:    # xmm4 = xmm3[2],mem[2],xmm3[3],mem[3]5000; AVX2-FP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload5001; AVX2-FP-NEXT:    # xmm5 = mem[2,3,2,3]5002; AVX2-FP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Folded Reload5003; AVX2-FP-NEXT:    # xmm13 = mem[3,3,3,3]5004; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm13[0],xmm5[1],xmm13[2,3]5005; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]5006; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]5007; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm8[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]5008; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6],ymm0[7]5009; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]5010; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]5011; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]5012; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5013; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]5014; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5015; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm0 # 16-byte Folded Reload5016; AVX2-FP-NEXT:    # xmm0 = xmm10[2],mem[2],xmm10[3],mem[3]5017; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm1 = xmm15[2,3,2,3]5018; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm2 = xmm12[3,3,3,3]5019; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0],xmm1[1],xmm2[2,3]5020; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]5021; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]5022; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm9[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]5023; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]5024; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm6[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]5025; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]5026; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5027; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]5028; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5029; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5030; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5031; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload5032; AVX2-FP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5033; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5034; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5035; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload5036; AVX2-FP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5037; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5038; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5039; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload5040; AVX2-FP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5041; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5042; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5043; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload5044; AVX2-FP-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5045; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5046; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm05047; AVX2-FP-NEXT:    vpbroadcastd %xmm4, %xmm15048; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]5049; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]5050; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]5051; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload5052; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3]5053; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5054; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload5055; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3]5056; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5057; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm12 = ymm1[0,1,2,0,4,5,6,4]5058; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]5059; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm2[0,1,2,0,4,5,6,4]5060; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]5061; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]5062; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload5063; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3]5064; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5065; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload5066; AVX2-FP-NEXT:    # ymm3 = mem[0,1,1,3]5067; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5068; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm2[0,2,2,3,4,6,6,7]5069; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm9[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]5070; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm3[0,2,2,3,4,6,6,7]5071; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm8[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]5072; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]5073; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5],ymm1[6,7]5074; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5075; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5076; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5077; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload5078; AVX2-FP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5079; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5080; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5081; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm11 # 16-byte Folded Reload5082; AVX2-FP-NEXT:    # xmm11 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5083; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm05084; AVX2-FP-NEXT:    vpbroadcastd %xmm11, %xmm15085; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]5086; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5087; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm2 # 16-byte Folded Reload5088; AVX2-FP-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]5089; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5090; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5091; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm14 # 16-byte Folded Reload5092; AVX2-FP-NEXT:    # xmm14 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]5093; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm14[0],xmm2[0],xmm14[1],xmm2[1]5094; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm0[2,3]5095; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload5096; AVX2-FP-NEXT:    # ymm0 = mem[0,1,1,3]5097; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5098; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload5099; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3]5100; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5101; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm0[0,1,2,0,4,5,6,4]5102; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm15 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]5103; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm1[0,1,2,0,4,5,6,4]5104; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm3[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]5105; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5,6],ymm15[7]5106; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload5107; AVX2-FP-NEXT:    # ymm0 = mem[0,1,1,3]5108; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5109; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload5110; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3]5111; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5112; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm0[0,2,2,3,4,6,6,7]5113; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm7[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]5114; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,2,2,3,4,6,6,7]5115; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm1[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]5116; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]5117; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm13[6,7]5118; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]5119; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5120; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5121; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm15[1,1,1,1]5122; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5123; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm6[1],xmm0[2,3]5124; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5125; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload5126; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm2[0],xmm13[0],xmm2[1],xmm13[1]5127; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm5[2,3]5128; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm12[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]5129; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]5130; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]5131; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm9[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]5132; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm8[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]5133; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4],ymm9[5],ymm8[6,7]5134; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3,4,5],ymm5[6,7]5135; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]5136; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5137; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[1,1,1,1]5138; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5139; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm12[1],xmm0[2,3]5140; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5141; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm11[0],xmm10[0],xmm11[1],xmm10[1]5142; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm5[2,3]5143; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]5144; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]5145; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm4[7]5146; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm7[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]5147; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]5148; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm4[5],ymm1[6,7]5149; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]5150; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5151; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5152; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm13[2,2,2,2]5153; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]5154; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm15[2],xmm6[2],xmm15[3],xmm6[3]5155; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]5156; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload5157; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]5158; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload5159; AVX2-FP-NEXT:    # ymm3 = mem[0,1,1,3,4,5,5,7]5160; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]5161; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm3[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]5162; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]5163; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload5164; AVX2-FP-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]5165; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload5166; AVX2-FP-NEXT:    # ymm5 = mem[3,1,2,3,7,5,6,7]5167; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]5168; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm5[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]5169; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5],ymm9[6,7]5170; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3,4,5],ymm1[6,7]5171; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5172; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5173; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[2,2,2,2]5174; AVX2-FP-NEXT:    vmovdqa %xmm11, %xmm75175; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1,2],xmm0[3]5176; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm14[2],xmm12[2],xmm14[3],xmm12[3]5177; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm1[0,1],xmm0[2,3]5178; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload5179; AVX2-FP-NEXT:    # ymm0 = mem[0,1,1,3,4,5,5,7]5180; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload5181; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]5182; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]5183; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm1[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]5184; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5,6],ymm9[7]5185; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload5186; AVX2-FP-NEXT:    # ymm10 = mem[3,1,2,3,7,5,6,7]5187; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload5188; AVX2-FP-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]5189; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm10[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]5190; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]5191; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4],ymm13[5],ymm15[6,7]5192; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3,4,5],ymm9[6,7]5193; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]5194; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5195; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm9, %xmm9 # 16-byte Folded Reload5196; AVX2-FP-NEXT:    # xmm9 = xmm9[2],mem[2],xmm9[3],mem[3]5197; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm13 = xmm6[2,3,2,3]5198; AVX2-FP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload5199; AVX2-FP-NEXT:    # xmm15 = mem[3,3,3,3]5200; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0],xmm13[1],xmm15[2,3]5201; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm13[0,1],xmm9[2,3]5202; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]5203; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]5204; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]5205; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]5206; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm5[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]5207; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]5208; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]5209; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]5210; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm3 # 16-byte Folded Reload5211; AVX2-FP-NEXT:    # xmm3 = xmm7[2],mem[2],xmm7[3],mem[3]5212; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm4 = xmm12[2,3,2,3]5213; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm5 = xmm14[3,3,3,3]5214; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]5215; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]5216; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]5217; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]5218; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]5219; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm10[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]5220; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]5221; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4],ymm1[5],ymm4[6,7]5222; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5223; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]5224; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5225; AVX2-FP-NEXT:    vmovaps %ymm1, (%rsi)5226; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5227; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rsi)5228; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5229; AVX2-FP-NEXT:    vmovaps %ymm1, (%rdx)5230; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5231; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rdx)5232; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5233; AVX2-FP-NEXT:    vmovaps %ymm1, (%rcx)5234; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5235; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rcx)5236; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5237; AVX2-FP-NEXT:    vmovaps %ymm1, (%r8)5238; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5239; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%r8)5240; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5241; AVX2-FP-NEXT:    vmovaps %ymm1, (%r9)5242; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5243; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%r9)5244; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5245; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5246; AVX2-FP-NEXT:    vmovaps %ymm1, (%rax)5247; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5248; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rax)5249; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5250; AVX2-FP-NEXT:    vmovdqa %ymm8, (%rax)5251; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5252; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rax)5253; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5254; AVX2-FP-NEXT:    vmovdqa %ymm0, (%rax)5255; AVX2-FP-NEXT:    vmovdqa %ymm2, 32(%rax)5256; AVX2-FP-NEXT:    addq $1000, %rsp # imm = 0x3E85257; AVX2-FP-NEXT:    vzeroupper5258; AVX2-FP-NEXT:    retq5259;5260; AVX2-FCP-LABEL: load_i16_stride8_vf32:5261; AVX2-FCP:       # %bb.0:5262; AVX2-FCP-NEXT:    subq $1000, %rsp # imm = 0x3E85263; AVX2-FCP-NEXT:    vmovdqa 448(%rdi), %ymm25264; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5265; AVX2-FCP-NEXT:    vmovdqa 480(%rdi), %ymm35266; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5267; AVX2-FCP-NEXT:    vmovdqa 272(%rdi), %xmm05268; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5269; AVX2-FCP-NEXT:    vmovdqa 256(%rdi), %xmm15270; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5271; AVX2-FCP-NEXT:    vmovdqa 304(%rdi), %xmm45272; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5273; AVX2-FCP-NEXT:    vmovdqa 288(%rdi), %xmm55274; AVX2-FCP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5275; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5276; AVX2-FCP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5277; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]5278; AVX2-FCP-NEXT:    vmovdqa 368(%rdi), %xmm05279; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5280; AVX2-FCP-NEXT:    vmovdqa 352(%rdi), %xmm15281; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5282; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]5283; AVX2-FCP-NEXT:    vpbroadcastd %xmm9, %xmm05284; AVX2-FCP-NEXT:    vmovdqa 336(%rdi), %xmm15285; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5286; AVX2-FCP-NEXT:    vmovdqa 320(%rdi), %xmm45287; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5288; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]5289; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5290; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm15291; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]5292; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm8[0],xmm5[0],xmm8[1],xmm5[1]5293; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]5294; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm3[0,1,0,2]5295; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5296; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]5297; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5298; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]5299; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]5300; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5301; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]5302; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5303; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]5304; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]5305; AVX2-FCP-NEXT:    vmovdqa 384(%rdi), %ymm25306; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5307; AVX2-FCP-NEXT:    vmovdqa 416(%rdi), %ymm35308; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5309; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,1,0,2]5310; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5311; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm13 = ymm3[0,2,2,3,4,6,6,7]5312; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm13[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]5313; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]5314; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5315; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm2[0,2,2,3,4,6,6,7]5316; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm7[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]5317; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]5318; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]5319; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5320; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5321; AVX2-FCP-NEXT:    vmovdqa 112(%rdi), %xmm05322; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5323; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %xmm15324; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5325; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]5326; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5327; AVX2-FCP-NEXT:    vpbroadcastd %xmm0, %xmm05328; AVX2-FCP-NEXT:    vmovdqa 80(%rdi), %xmm15329; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5330; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %xmm25331; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5332; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5333; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5334; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm15335; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]5336; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm15337; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5338; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm25339; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5340; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %xmm35341; AVX2-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5342; AVX2-FCP-NEXT:    vmovdqa 48(%rdi), %xmm45343; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5344; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]5345; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]5346; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm10[0],xmm15[0],xmm10[1],xmm15[1]5347; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm1[0,1],xmm0[2,3]5348; AVX2-FCP-NEXT:    vmovdqa 192(%rdi), %ymm05349; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5350; AVX2-FCP-NEXT:    vmovdqa 224(%rdi), %ymm15351; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5352; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]5353; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5354; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm12 = ymm1[0,1,2,0,4,5,6,4]5355; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]5356; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]5357; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5358; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm0[0,1,2,0,4,5,6,4]5359; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm4[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]5360; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,6],ymm11[7]5361; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %ymm25362; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5363; AVX2-FCP-NEXT:    vmovdqa 160(%rdi), %ymm05364; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5365; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]5366; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5367; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm0[0,2,2,3,4,6,6,7]5368; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm3[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]5369; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]5370; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5371; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]5372; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm2[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]5373; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4],ymm0[5],ymm14[6,7]5374; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]5375; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]5376; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5377; AVX2-FCP-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5378; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm8[1,1,1,1]5379; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload5380; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm5[1],xmm0[2,3]5381; AVX2-FCP-NEXT:    vmovdqa %xmm9, %xmm145382; AVX2-FCP-NEXT:    vmovdqa %xmm9, (%rsp) # 16-byte Spill5383; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5384; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm9[0],xmm14[0],xmm9[1],xmm14[1]5385; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]5386; AVX2-FCP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload5387; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]5388; AVX2-FCP-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload5389; AVX2-FCP-NEXT:    # ymm6 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]5390; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,6],ymm1[7]5391; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm13[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]5392; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]5393; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]5394; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5],ymm1[6,7]5395; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5396; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5397; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[1,1,1,1]5398; AVX2-FCP-NEXT:    vmovdqa %xmm10, %xmm115399; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm15[1],xmm0[2,3]5400; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5401; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5402; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm10[0],xmm13[0],xmm10[1],xmm13[1]5403; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]5404; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]5405; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]5406; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]5407; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]5408; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]5409; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]5410; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]5411; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5412; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5413; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]5414; AVX2-FCP-NEXT:    vmovdqa %xmm9, %xmm35415; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm9[0,1,2],xmm0[3]5416; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm8[2],xmm5[2],xmm8[3],xmm5[3]5417; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1],xmm0[2,3]5418; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload5419; AVX2-FCP-NEXT:    # ymm0 = mem[0,1,1,3,4,5,5,7]5420; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload5421; AVX2-FCP-NEXT:    # ymm8 = mem[0,1,1,3,4,5,5,7]5422; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]5423; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm8[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]5424; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm2[0,1,2,3,4,5,6],ymm1[7]5425; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload5426; AVX2-FCP-NEXT:    # ymm1 = mem[3,1,2,3,7,5,6,7]5427; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload5428; AVX2-FCP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]5429; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm1[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]5430; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm2[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]5431; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]5432; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]5433; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]5434; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5435; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm4 = xmm13[2,2,2,2]5436; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm10[0,1,2],xmm4[3]5437; AVX2-FCP-NEXT:    vmovdqa %xmm11, %xmm125438; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm5 = xmm11[2],xmm15[2],xmm11[3],xmm15[3]5439; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]5440; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload5441; AVX2-FCP-NEXT:    # ymm7 = mem[0,1,1,3,4,5,5,7]5442; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload5443; AVX2-FCP-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]5444; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]5445; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm9[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]5446; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]5447; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload5448; AVX2-FCP-NEXT:    # ymm6 = mem[3,1,2,3,7,5,6,7]5449; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload5450; AVX2-FCP-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]5451; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm6[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]5452; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]5453; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4],ymm13[5],ymm14[6,7]5454; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3,4,5],ymm5[6,7]5455; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]5456; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5457; AVX2-FCP-NEXT:    vpunpckhdq (%rsp), %xmm3, %xmm4 # 16-byte Folded Reload5458; AVX2-FCP-NEXT:    # xmm4 = xmm3[2],mem[2],xmm3[3],mem[3]5459; AVX2-FCP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload5460; AVX2-FCP-NEXT:    # xmm5 = mem[2,3,2,3]5461; AVX2-FCP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Folded Reload5462; AVX2-FCP-NEXT:    # xmm13 = mem[3,3,3,3]5463; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm13[0],xmm5[1],xmm13[2,3]5464; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]5465; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]5466; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm8[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]5467; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6],ymm0[7]5468; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]5469; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]5470; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]5471; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5472; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]5473; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5474; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm0 # 16-byte Folded Reload5475; AVX2-FCP-NEXT:    # xmm0 = xmm10[2],mem[2],xmm10[3],mem[3]5476; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm1 = xmm15[2,3,2,3]5477; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm2 = xmm12[3,3,3,3]5478; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0],xmm1[1],xmm2[2,3]5479; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]5480; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]5481; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm9[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]5482; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]5483; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm6[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]5484; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]5485; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5486; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]5487; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5488; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5489; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5490; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload5491; AVX2-FCP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5492; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5493; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5494; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload5495; AVX2-FCP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5496; AVX2-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5497; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5498; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload5499; AVX2-FCP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5500; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5501; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5502; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload5503; AVX2-FCP-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5504; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5505; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm05506; AVX2-FCP-NEXT:    vpbroadcastd %xmm4, %xmm15507; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]5508; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]5509; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]5510; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload5511; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3]5512; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5513; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload5514; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3]5515; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5516; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm12 = ymm1[0,1,2,0,4,5,6,4]5517; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]5518; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm2[0,1,2,0,4,5,6,4]5519; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]5520; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]5521; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload5522; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3]5523; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5524; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload5525; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,1,3]5526; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5527; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm2[0,2,2,3,4,6,6,7]5528; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm9[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]5529; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm3[0,2,2,3,4,6,6,7]5530; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm8[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]5531; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]5532; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5],ymm1[6,7]5533; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5534; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5535; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5536; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload5537; AVX2-FCP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5538; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5539; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5540; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm11 # 16-byte Folded Reload5541; AVX2-FCP-NEXT:    # xmm11 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5542; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm05543; AVX2-FCP-NEXT:    vpbroadcastd %xmm11, %xmm15544; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]5545; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5546; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm2 # 16-byte Folded Reload5547; AVX2-FCP-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]5548; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5549; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5550; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm14 # 16-byte Folded Reload5551; AVX2-FCP-NEXT:    # xmm14 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]5552; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm14[0],xmm2[0],xmm14[1],xmm2[1]5553; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm0[2,3]5554; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload5555; AVX2-FCP-NEXT:    # ymm0 = mem[0,1,1,3]5556; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5557; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload5558; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3]5559; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5560; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm0[0,1,2,0,4,5,6,4]5561; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm15 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]5562; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm1[0,1,2,0,4,5,6,4]5563; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm3[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]5564; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5,6],ymm15[7]5565; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload5566; AVX2-FCP-NEXT:    # ymm0 = mem[0,1,1,3]5567; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5568; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload5569; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3]5570; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5571; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm0[0,2,2,3,4,6,6,7]5572; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm7[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]5573; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,2,2,3,4,6,6,7]5574; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm1[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]5575; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]5576; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm13[6,7]5577; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]5578; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5579; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5580; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm15[1,1,1,1]5581; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5582; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm6[1],xmm0[2,3]5583; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5584; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload5585; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm2[0],xmm13[0],xmm2[1],xmm13[1]5586; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm5[2,3]5587; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm12[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]5588; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]5589; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]5590; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm9[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]5591; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm8[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]5592; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4],ymm9[5],ymm8[6,7]5593; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3,4,5],ymm5[6,7]5594; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm5[4,5,6,7]5595; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5596; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[1,1,1,1]5597; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5598; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm12[1],xmm0[2,3]5599; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5600; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm11[0],xmm10[0],xmm11[1],xmm10[1]5601; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm5[2,3]5602; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]5603; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]5604; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm4[7]5605; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm7[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]5606; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]5607; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm4[5],ymm1[6,7]5608; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]5609; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5610; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5611; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm13[2,2,2,2]5612; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]5613; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm15[2],xmm6[2],xmm15[3],xmm6[3]5614; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]5615; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload5616; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]5617; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload5618; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,1,3,4,5,5,7]5619; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]5620; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm3[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]5621; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]5622; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload5623; AVX2-FCP-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]5624; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload5625; AVX2-FCP-NEXT:    # ymm5 = mem[3,1,2,3,7,5,6,7]5626; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]5627; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm5[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]5628; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5],ymm9[6,7]5629; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3,4,5],ymm1[6,7]5630; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5631; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5632; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[2,2,2,2]5633; AVX2-FCP-NEXT:    vmovdqa %xmm11, %xmm75634; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1,2],xmm0[3]5635; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm14[2],xmm12[2],xmm14[3],xmm12[3]5636; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm1[0,1],xmm0[2,3]5637; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload5638; AVX2-FCP-NEXT:    # ymm0 = mem[0,1,1,3,4,5,5,7]5639; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload5640; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]5641; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]5642; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm1[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]5643; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4,5,6],ymm9[7]5644; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload5645; AVX2-FCP-NEXT:    # ymm10 = mem[3,1,2,3,7,5,6,7]5646; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload5647; AVX2-FCP-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]5648; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm10[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]5649; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]5650; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4],ymm13[5],ymm15[6,7]5651; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3,4,5],ymm9[6,7]5652; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]5653; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5654; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm9, %xmm9 # 16-byte Folded Reload5655; AVX2-FCP-NEXT:    # xmm9 = xmm9[2],mem[2],xmm9[3],mem[3]5656; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm13 = xmm6[2,3,2,3]5657; AVX2-FCP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload5658; AVX2-FCP-NEXT:    # xmm15 = mem[3,3,3,3]5659; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0],xmm13[1],xmm15[2,3]5660; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm13[0,1],xmm9[2,3]5661; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]5662; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]5663; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]5664; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]5665; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm5[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]5666; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]5667; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]5668; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3],ymm2[4,5,6,7]5669; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm7, %xmm3 # 16-byte Folded Reload5670; AVX2-FCP-NEXT:    # xmm3 = xmm7[2],mem[2],xmm7[3],mem[3]5671; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm4 = xmm12[2,3,2,3]5672; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm5 = xmm14[3,3,3,3]5673; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]5674; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]5675; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]5676; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]5677; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]5678; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm10[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]5679; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]5680; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4],ymm1[5],ymm4[6,7]5681; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5682; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]5683; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5684; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rsi)5685; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5686; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rsi)5687; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5688; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rdx)5689; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5690; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rdx)5691; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5692; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rcx)5693; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5694; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rcx)5695; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5696; AVX2-FCP-NEXT:    vmovaps %ymm1, (%r8)5697; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5698; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%r8)5699; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5700; AVX2-FCP-NEXT:    vmovaps %ymm1, (%r9)5701; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5702; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%r9)5703; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5704; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5705; AVX2-FCP-NEXT:    vmovaps %ymm1, (%rax)5706; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5707; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rax)5708; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5709; AVX2-FCP-NEXT:    vmovdqa %ymm8, (%rax)5710; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5711; AVX2-FCP-NEXT:    vmovaps %ymm1, 32(%rax)5712; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5713; AVX2-FCP-NEXT:    vmovdqa %ymm0, (%rax)5714; AVX2-FCP-NEXT:    vmovdqa %ymm2, 32(%rax)5715; AVX2-FCP-NEXT:    addq $1000, %rsp # imm = 0x3E85716; AVX2-FCP-NEXT:    vzeroupper5717; AVX2-FCP-NEXT:    retq5718;5719; AVX512-LABEL: load_i16_stride8_vf32:5720; AVX512:       # %bb.0:5721; AVX512-NEXT:    subq $616, %rsp # imm = 0x2685722; AVX512-NEXT:    vmovdqa 368(%rdi), %xmm05723; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5724; AVX512-NEXT:    vmovdqa 352(%rdi), %xmm15725; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5726; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]5727; AVX512-NEXT:    vmovdqa 336(%rdi), %xmm05728; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5729; AVX512-NEXT:    vmovdqa 320(%rdi), %xmm15730; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5731; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]5732; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm1 = [0,0,0,4]5733; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm27 = xmm5[0],xmm3[0],xmm5[1],xmm3[1]5734; AVX512-NEXT:    vpshufd {{.*#+}} xmm0 = xmm3[2,2,2,2]5735; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1,2],xmm0[3]5736; AVX512-NEXT:    vmovdqa64 %xmm0, %xmm265737; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm25 = xmm5[2],xmm3[2],xmm5[3],xmm3[3]5738; AVX512-NEXT:    vmovdqa %xmm5, %xmm05739; AVX512-NEXT:    vpermt2d %xmm3, %xmm1, %xmm05740; AVX512-NEXT:    vmovdqa 304(%rdi), %xmm25741; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5742; AVX512-NEXT:    vmovdqa 288(%rdi), %xmm35743; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5744; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5745; AVX512-NEXT:    vmovdqa 272(%rdi), %xmm25746; AVX512-NEXT:    vmovdqa %xmm2, (%rsp) # 16-byte Spill5747; AVX512-NEXT:    vmovdqa 256(%rdi), %xmm35748; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5749; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5750; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm7[0],xmm11[0],xmm7[1],xmm11[1]5751; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]5752; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm165753; AVX512-NEXT:    vmovdqa 480(%rdi), %ymm05754; AVX512-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5755; AVX512-NEXT:    vpermq {{.*#+}} ymm18 = ymm0[0,1,0,2]5756; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm18[0,1,2,0,4,5,6,4]5757; AVX512-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]5758; AVX512-NEXT:    vmovdqa64 %ymm2, %ymm215759; AVX512-NEXT:    vmovdqa 448(%rdi), %ymm25760; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5761; AVX512-NEXT:    vpermq {{.*#+}} ymm20 = ymm2[0,1,0,2]5762; AVX512-NEXT:    vpshufd {{.*#+}} ymm12 = ymm20[0,1,2,0,4,5,6,4]5763; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm12[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]5764; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5765; AVX512-NEXT:    vmovdqa 416(%rdi), %ymm25766; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5767; AVX512-NEXT:    vpermq {{.*#+}} ymm22 = ymm2[0,1,0,2]5768; AVX512-NEXT:    vmovdqa 384(%rdi), %ymm25769; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5770; AVX512-NEXT:    vpermq {{.*#+}} ymm29 = ymm2[0,1,0,2]5771; AVX512-NEXT:    vpshufd {{.*#+}} ymm10 = ymm22[0,2,2,3,4,6,6,7]5772; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm10[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]5773; AVX512-NEXT:    vpshufd {{.*#+}} ymm9 = ymm29[0,2,2,3,4,6,6,7]5774; AVX512-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm9[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]5775; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3,4],ymm2[5],ymm8[6,7]5776; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5777; AVX512-NEXT:    movb $-64, %al5778; AVX512-NEXT:    kmovw %eax, %k15779; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm16 {%k1}5780; AVX512-NEXT:    vmovdqa 112(%rdi), %xmm25781; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5782; AVX512-NEXT:    vmovdqa 96(%rdi), %xmm05783; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5784; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]5785; AVX512-NEXT:    vmovdqa 80(%rdi), %xmm35786; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5787; AVX512-NEXT:    vmovdqa 64(%rdi), %xmm25788; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5789; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]5790; AVX512-NEXT:    vpshufd {{.*#+}} xmm8 = xmm0[2,2,2,2]5791; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm2[0,1,2],xmm8[3]5792; AVX512-NEXT:    vmovdqa64 %xmm3, %xmm235793; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm19 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]5794; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm24 = xmm2[2],xmm0[2],xmm2[3],xmm0[3]5795; AVX512-NEXT:    vpermt2d %xmm0, %xmm1, %xmm25796; AVX512-NEXT:    vmovdqa (%rdi), %xmm05797; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5798; AVX512-NEXT:    vmovdqa 16(%rdi), %xmm15799; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5800; AVX512-NEXT:    vmovdqa 32(%rdi), %xmm35801; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5802; AVX512-NEXT:    vmovdqa 48(%rdi), %xmm45803; AVX512-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5804; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]5805; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]5806; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm3[0],xmm8[0],xmm3[1],xmm8[1]5807; AVX512-NEXT:    vpblendd {{.*#+}} xmm6 = xmm15[0,1],xmm2[2,3]5808; AVX512-NEXT:    vmovdqa 224(%rdi), %ymm05809; AVX512-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5810; AVX512-NEXT:    vpermq {{.*#+}} ymm31 = ymm0[0,1,0,2]5811; AVX512-NEXT:    vmovdqa 192(%rdi), %ymm05812; AVX512-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5813; AVX512-NEXT:    vpermq {{.*#+}} ymm30 = ymm0[0,1,0,2]5814; AVX512-NEXT:    vpshufd {{.*#+}} ymm15 = ymm31[0,1,2,0,4,5,6,4]5815; AVX512-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm15[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]5816; AVX512-NEXT:    vpshufd {{.*#+}} ymm5 = ymm30[0,1,2,0,4,5,6,4]5817; AVX512-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm5[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]5818; AVX512-NEXT:    vpblendd {{.*#+}} ymm4 = ymm14[0,1,2,3,4,5,6],ymm0[7]5819; AVX512-NEXT:    vmovdqa 160(%rdi), %ymm05820; AVX512-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5821; AVX512-NEXT:    vpermq {{.*#+}} ymm14 = ymm0[0,1,0,2]5822; AVX512-NEXT:    vmovdqa64 128(%rdi), %ymm285823; AVX512-NEXT:    vpermq {{.*#+}} ymm17 = ymm28[0,1,0,2]5824; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm14[0,2,2,3,4,6,6,7]5825; AVX512-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]5826; AVX512-NEXT:    vpshufd {{.*#+}} ymm1 = ymm17[0,2,2,3,4,6,6,7]5827; AVX512-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm1[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]5828; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4],ymm0[5],ymm13[6,7]5829; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm4[6,7]5830; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]5831; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm16, %zmm05832; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5833; AVX512-NEXT:    vpshufd {{.*#+}} xmm0 = xmm7[1,1,1,1]5834; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm11[1],xmm0[2,3]5835; AVX512-NEXT:    vmovdqa64 %xmm27, %xmm45836; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm4[2,3]5837; AVX512-NEXT:    vmovdqa64 %ymm21, %ymm45838; AVX512-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]5839; AVX512-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm12[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]5840; AVX512-NEXT:    vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3,4,5,6],ymm4[7]5841; AVX512-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm10[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]5842; AVX512-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm9[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]5843; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3,4],ymm6[5],ymm9[6,7]5844; AVX512-NEXT:    vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3,4,5],ymm4[6,7]5845; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm05846; AVX512-NEXT:    vinserti64x4 $1, %ymm4, %zmm0, %zmm0 {%k1}5847; AVX512-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm15[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]5848; AVX512-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]5849; AVX512-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]5850; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]5851; AVX512-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]5852; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm2[5],ymm1[6,7]5853; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm4[6,7]5854; AVX512-NEXT:    vpshufd {{.*#+}} xmm2 = xmm3[1,1,1,1]5855; AVX512-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm8[1],xmm2[2,3]5856; AVX512-NEXT:    vmovdqa64 %xmm19, %xmm45857; AVX512-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm4[2,3]5858; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]5859; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm05860; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5861; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm7[2],xmm11[2],xmm7[3],xmm11[3]5862; AVX512-NEXT:    vmovdqa64 %xmm26, %xmm15863; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]5864; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm05865; AVX512-NEXT:    vpshufd {{.*#+}} ymm1 = ymm18[0,1,1,3,4,5,5,7]5866; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]5867; AVX512-NEXT:    vpshufd {{.*#+}} ymm4 = ymm20[0,1,1,3,4,5,5,7]5868; AVX512-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm4[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]5869; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3,4,5,6],ymm2[7]5870; AVX512-NEXT:    vpshufd {{.*#+}} ymm5 = ymm22[3,1,2,3,7,5,6,7]5871; AVX512-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm5[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]5872; AVX512-NEXT:    vpshufd {{.*#+}} ymm9 = ymm29[3,1,2,3,7,5,6,7]5873; AVX512-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm9[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]5874; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4],ymm6[5],ymm10[6,7]5875; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5],ymm2[6,7]5876; AVX512-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm0 {%k1}5877; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm31[0,1,1,3,4,5,5,7]5878; AVX512-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]5879; AVX512-NEXT:    vpshufd {{.*#+}} ymm10 = ymm30[0,1,1,3,4,5,5,7]5880; AVX512-NEXT:    vpshufhw {{.*#+}} ymm12 = ymm10[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]5881; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm12[0,1,2,3,4,5,6],ymm6[7]5882; AVX512-NEXT:    vpshufd {{.*#+}} ymm12 = ymm14[3,1,2,3,7,5,6,7]5883; AVX512-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm12[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]5884; AVX512-NEXT:    vpshufd {{.*#+}} ymm14 = ymm17[3,1,2,3,7,5,6,7]5885; AVX512-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm14[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]5886; AVX512-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4],ymm13[5],ymm15[6,7]5887; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm13[0,1,2,3,4,5],ymm6[6,7]5888; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm13 = xmm3[2],xmm8[2],xmm3[3],xmm8[3]5889; AVX512-NEXT:    vmovdqa64 %xmm23, %xmm155890; AVX512-NEXT:    vpblendd {{.*#+}} xmm13 = xmm13[0,1],xmm15[2,3]5891; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm13[0,1,2,3],ymm6[4,5,6,7]5892; AVX512-NEXT:    vinserti64x4 $0, %ymm6, %zmm0, %zmm05893; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5894; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm6 = [3,7,0,0]5895; AVX512-NEXT:    vpermt2d %xmm11, %xmm6, %xmm75896; AVX512-NEXT:    vmovdqa64 %xmm25, %xmm05897; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm7[0,1],xmm0[2,3]5898; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm05899; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]5900; AVX512-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]5901; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]5902; AVX512-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm5[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]5903; AVX512-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm9[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]5904; AVX512-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]5905; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]5906; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}5907; AVX512-NEXT:    vpermt2d %xmm8, %xmm6, %xmm35908; AVX512-NEXT:    vmovdqa64 %xmm24, %xmm15909; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1],xmm1[2,3]5910; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]5911; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm10[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]5912; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]5913; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm12[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]5914; AVX512-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm14[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]5915; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]5916; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]5917; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]5918; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm05919; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill5920; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5921; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload5922; AVX512-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5923; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5924; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload5925; AVX512-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]5926; AVX512-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,2,2,2]5927; AVX512-NEXT:    vpblendd {{.*#+}} xmm2 = xmm1[0,1,2],xmm2[3]5928; AVX512-NEXT:    vmovdqa64 %xmm2, %xmm305929; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm22 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]5930; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm31 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]5931; AVX512-NEXT:    vmovdqa %xmm1, %xmm25932; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm1 = [0,0,0,4]5933; AVX512-NEXT:    vpermt2d %xmm0, %xmm1, %xmm25934; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5935; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm5 # 16-byte Folded Reload5936; AVX512-NEXT:    # xmm5 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5937; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5938; AVX512-NEXT:    vpunpckhwd (%rsp), %xmm0, %xmm4 # 16-byte Folded Reload5939; AVX512-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5940; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm4[0],xmm5[0],xmm4[1],xmm5[1]5941; AVX512-NEXT:    vmovdqa64 %xmm5, %xmm205942; AVX512-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]5943; AVX512-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm125944; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm19 # 32-byte Folded Reload5945; AVX512-NEXT:    # ymm19 = mem[0,1,1,3]5946; AVX512-NEXT:    vpshufd {{.*#+}} ymm7 = ymm19[0,1,2,0,4,5,6,4]5947; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]5948; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm21 # 32-byte Folded Reload5949; AVX512-NEXT:    # ymm21 = mem[0,1,1,3]5950; AVX512-NEXT:    vpshufd {{.*#+}} ymm11 = ymm21[0,1,2,0,4,5,6,4]5951; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm11[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]5952; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]5953; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm29 # 32-byte Folded Reload5954; AVX512-NEXT:    # ymm29 = mem[0,1,1,3]5955; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm23 # 32-byte Folded Reload5956; AVX512-NEXT:    # ymm23 = mem[0,1,1,3]5957; AVX512-NEXT:    vpshufd {{.*#+}} ymm10 = ymm29[0,2,2,3,4,6,6,7]5958; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm10[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]5959; AVX512-NEXT:    vpshufd {{.*#+}} ymm13 = ymm23[0,2,2,3,4,6,6,7]5960; AVX512-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm13[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]5961; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4],ymm3[5],ymm5[6,7]5962; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]5963; AVX512-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm12 {%k1}5964; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5965; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload5966; AVX512-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5967; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5968; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload5969; AVX512-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]5970; AVX512-NEXT:    vmovdqa %xmm1, %xmm05971; AVX512-NEXT:    vpermi2d %xmm2, %xmm3, %xmm05972; AVX512-NEXT:    vmovdqa64 %xmm3, %xmm165973; AVX512-NEXT:    vmovdqa64 %xmm2, %xmm185974; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5975; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm8 # 16-byte Folded Reload5976; AVX512-NEXT:    # xmm8 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]5977; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5978; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm5 # 16-byte Folded Reload5979; AVX512-NEXT:    # xmm5 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]5980; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm5[0],xmm8[0],xmm5[1],xmm8[1]5981; AVX512-NEXT:    vpblendd {{.*#+}} xmm15 = xmm15[0,1],xmm0[2,3]5982; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm17 # 32-byte Folded Reload5983; AVX512-NEXT:    # ymm17 = mem[0,1,1,3]5984; AVX512-NEXT:    vpshufd {{.*#+}} ymm14 = ymm17[0,1,2,0,4,5,6,4]5985; AVX512-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]5986; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm24 # 32-byte Folded Reload5987; AVX512-NEXT:    # ymm24 = mem[0,1,1,3]5988; AVX512-NEXT:    vpshufd {{.*#+}} ymm3 = ymm24[0,1,2,0,4,5,6,4]5989; AVX512-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm3[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]5990; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3,4,5,6],ymm0[7]5991; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm25 # 32-byte Folded Reload5992; AVX512-NEXT:    # ymm25 = mem[0,1,1,3]5993; AVX512-NEXT:    vpermq {{.*#+}} ymm26 = ymm28[0,1,1,3]5994; AVX512-NEXT:    vpshufd {{.*#+}} ymm9 = ymm25[0,2,2,3,4,6,6,7]5995; AVX512-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm9[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]5996; AVX512-NEXT:    vpshufd {{.*#+}} ymm1 = ymm26[0,2,2,3,4,6,6,7]5997; AVX512-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm1[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]5998; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3,4],ymm0[5],ymm6[6,7]5999; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]6000; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]6001; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm12, %zmm276002; AVX512-NEXT:    vpshufd {{.*#+}} xmm0 = xmm4[1,1,1,1]6003; AVX512-NEXT:    vmovdqa64 %xmm20, %xmm126004; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm12[1],xmm0[2,3]6005; AVX512-NEXT:    vmovdqa64 %xmm22, %xmm26006; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3]6007; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6008; AVX512-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm11[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6009; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5,6],ymm2[7]6010; AVX512-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm10[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6011; AVX512-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm13[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6012; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]6013; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5],ymm2[6,7]6014; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm06015; AVX512-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm0 {%k1}6016; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm14[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6017; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6018; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]6019; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm9[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6020; AVX512-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6021; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm3[5],ymm1[6,7]6022; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]6023; AVX512-NEXT:    vmovdqa64 %xmm16, %xmm96024; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm16[0],xmm18[0],xmm16[1],xmm18[1]6025; AVX512-NEXT:    vpshufd {{.*#+}} xmm3 = xmm5[1,1,1,1]6026; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0],xmm8[1],xmm3[2,3]6027; AVX512-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]6028; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6029; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm206030; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm4[2],xmm12[2],xmm4[3],xmm12[3]6031; AVX512-NEXT:    vmovdqa64 %xmm12, %xmm166032; AVX512-NEXT:    vmovdqa64 %xmm30, %xmm16033; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]6034; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm16035; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm19[0,1,1,3,4,5,5,7]6036; AVX512-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]6037; AVX512-NEXT:    vpshufd {{.*#+}} ymm3 = ymm21[0,1,1,3,4,5,5,7]6038; AVX512-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm3[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]6039; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5,6],ymm0[7]6040; AVX512-NEXT:    vpshufd {{.*#+}} ymm6 = ymm29[3,1,2,3,7,5,6,7]6041; AVX512-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm6[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]6042; AVX512-NEXT:    vpshufd {{.*#+}} ymm10 = ymm23[3,1,2,3,7,5,6,7]6043; AVX512-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm10[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]6044; AVX512-NEXT:    vpblendd {{.*#+}} ymm7 = ymm11[0,1,2,3,4],ymm7[5],ymm11[6,7]6045; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],ymm0[6,7]6046; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm1 {%k1}6047; AVX512-NEXT:    vpshufd {{.*#+}} ymm0 = ymm17[0,1,1,3,4,5,5,7]6048; AVX512-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]6049; AVX512-NEXT:    vpshufd {{.*#+}} ymm7 = ymm24[0,1,1,3,4,5,5,7]6050; AVX512-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm7[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]6051; AVX512-NEXT:    vpblendd {{.*#+}} ymm11 = ymm13[0,1,2,3,4,5,6],ymm11[7]6052; AVX512-NEXT:    vpshufd {{.*#+}} ymm13 = ymm25[3,1,2,3,7,5,6,7]6053; AVX512-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm13[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]6054; AVX512-NEXT:    vpshufd {{.*#+}} ymm15 = ymm26[3,1,2,3,7,5,6,7]6055; AVX512-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm15[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]6056; AVX512-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3,4],ymm14[5],ymm12[6,7]6057; AVX512-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]6058; AVX512-NEXT:    vpshufd {{.*#+}} xmm12 = xmm18[2,2,2,2]6059; AVX512-NEXT:    vpblendd {{.*#+}} xmm12 = xmm9[0,1,2],xmm12[3]6060; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm14 = xmm5[2],xmm8[2],xmm5[3],xmm8[3]6061; AVX512-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1],xmm12[2,3]6062; AVX512-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3],ymm11[4,5,6,7]6063; AVX512-NEXT:    vinserti64x4 $0, %ymm11, %zmm1, %zmm16064; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm12 = [3,7,0,0]6065; AVX512-NEXT:    vpermt2d %xmm16, %xmm12, %xmm46066; AVX512-NEXT:    vmovdqa64 %xmm31, %xmm116067; AVX512-NEXT:    vpblendd {{.*#+}} xmm4 = xmm4[0,1],xmm11[2,3]6068; AVX512-NEXT:    vinserti32x4 $2, %xmm4, %zmm0, %zmm46069; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]6070; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]6071; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]6072; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm6[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]6073; AVX512-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm10[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]6074; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4],ymm3[5],ymm6[6,7]6075; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]6076; AVX512-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm4 {%k1}6077; AVX512-NEXT:    vpermt2d %xmm8, %xmm12, %xmm56078; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm9[2],xmm18[2],xmm9[3],xmm18[3]6079; AVX512-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1],xmm2[2,3]6080; AVX512-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]6081; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm7[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]6082; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6],ymm0[7]6083; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm13[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]6084; AVX512-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm15[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]6085; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4],ymm3[5],ymm5[6,7]6086; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]6087; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]6088; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm4, %zmm06089; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6090; AVX512-NEXT:    vmovaps %zmm2, (%rsi)6091; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6092; AVX512-NEXT:    vmovaps %zmm2, (%rdx)6093; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6094; AVX512-NEXT:    vmovaps %zmm2, (%rcx)6095; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6096; AVX512-NEXT:    vmovaps %zmm2, (%r8)6097; AVX512-NEXT:    vmovdqa64 %zmm27, (%r9)6098; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax6099; AVX512-NEXT:    vmovdqa64 %zmm20, (%rax)6100; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax6101; AVX512-NEXT:    vmovdqa64 %zmm1, (%rax)6102; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax6103; AVX512-NEXT:    vmovdqa64 %zmm0, (%rax)6104; AVX512-NEXT:    addq $616, %rsp # imm = 0x2686105; AVX512-NEXT:    vzeroupper6106; AVX512-NEXT:    retq6107;6108; AVX512-FCP-LABEL: load_i16_stride8_vf32:6109; AVX512-FCP:       # %bb.0:6110; AVX512-FCP-NEXT:    subq $552, %rsp # imm = 0x2286111; AVX512-FCP-NEXT:    vmovdqa 368(%rdi), %xmm06112; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6113; AVX512-FCP-NEXT:    vmovdqa 352(%rdi), %xmm16114; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6115; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]6116; AVX512-FCP-NEXT:    vmovdqa 336(%rdi), %xmm06117; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6118; AVX512-FCP-NEXT:    vmovdqa 320(%rdi), %xmm16119; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6120; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]6121; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm1 = [0,0,0,4]6122; AVX512-FCP-NEXT:    vmovdqa %xmm3, %xmm06123; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm166124; AVX512-FCP-NEXT:    vpermt2d %xmm2, %xmm1, %xmm06125; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm226126; AVX512-FCP-NEXT:    vmovdqa %xmm1, %xmm26127; AVX512-FCP-NEXT:    vmovdqa 304(%rdi), %xmm16128; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6129; AVX512-FCP-NEXT:    vmovdqa 288(%rdi), %xmm36130; AVX512-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6131; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]6132; AVX512-FCP-NEXT:    vmovdqa 272(%rdi), %xmm16133; AVX512-FCP-NEXT:    vmovdqa %xmm1, (%rsp) # 16-byte Spill6134; AVX512-FCP-NEXT:    vmovdqa 256(%rdi), %xmm36135; AVX512-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6136; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]6137; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm9[0],xmm4[0],xmm9[1],xmm4[1]6138; AVX512-FCP-NEXT:    vmovdqa64 %xmm4, %xmm206139; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]6140; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm116141; AVX512-FCP-NEXT:    vmovdqa 480(%rdi), %ymm06142; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6143; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm21 = ymm0[0,1,0,2]6144; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm12 = ymm21[0,1,2,0,4,5,6,4]6145; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm12[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]6146; AVX512-FCP-NEXT:    vmovdqa 448(%rdi), %ymm16147; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6148; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm27 = ymm1[0,1,0,2]6149; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm27[0,1,2,0,4,5,6,4]6150; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]6151; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]6152; AVX512-FCP-NEXT:    vmovdqa 416(%rdi), %ymm16153; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6154; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm28 = ymm1[0,1,0,2]6155; AVX512-FCP-NEXT:    vmovdqa 384(%rdi), %ymm16156; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6157; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm29 = ymm1[0,1,0,2]6158; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm28[0,2,2,3,4,6,6,7]6159; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm8[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]6160; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm29[0,2,2,3,4,6,6,7]6161; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm7[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]6162; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4],ymm1[5],ymm3[6,7]6163; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6164; AVX512-FCP-NEXT:    movb $-64, %al6165; AVX512-FCP-NEXT:    kmovw %eax, %k16166; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm11 {%k1}6167; AVX512-FCP-NEXT:    vmovdqa 112(%rdi), %xmm06168; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6169; AVX512-FCP-NEXT:    vmovdqa 96(%rdi), %xmm16170; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6171; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]6172; AVX512-FCP-NEXT:    vmovdqa 80(%rdi), %xmm06173; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6174; AVX512-FCP-NEXT:    vmovdqa 64(%rdi), %xmm16175; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6176; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]6177; AVX512-FCP-NEXT:    vmovdqa %xmm13, %xmm06178; AVX512-FCP-NEXT:    vpermt2d %xmm3, %xmm2, %xmm06179; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm256180; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm16181; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6182; AVX512-FCP-NEXT:    vmovdqa 16(%rdi), %xmm26183; AVX512-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6184; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %xmm36185; AVX512-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6186; AVX512-FCP-NEXT:    vmovdqa 48(%rdi), %xmm46187; AVX512-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6188; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]6189; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]6190; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm6[0],xmm3[0],xmm6[1],xmm3[1]6191; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm176192; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm0[2,3]6193; AVX512-FCP-NEXT:    vmovdqa 224(%rdi), %ymm06194; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6195; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm30 = ymm0[0,1,0,2]6196; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm236197; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm31 = ymm23[0,1,0,2]6198; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm30[0,1,2,0,4,5,6,4]6199; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]6200; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm31[0,1,2,0,4,5,6,4]6201; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm3[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]6202; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,6],ymm0[7]6203; AVX512-FCP-NEXT:    vmovdqa 160(%rdi), %ymm06204; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6205; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm19 = ymm0[0,1,0,2]6206; AVX512-FCP-NEXT:    vmovdqa 128(%rdi), %ymm06207; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6208; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm18 = ymm0[0,1,0,2]6209; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm19[0,2,2,3,4,6,6,7]6210; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm14[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]6211; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm18[0,2,2,3,4,6,6,7]6212; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm2[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]6213; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]6214; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6215; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]6216; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm11, %zmm06217; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6218; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm11 = [1,5,0,0]6219; AVX512-FCP-NEXT:    vmovdqa %xmm9, %xmm06220; AVX512-FCP-NEXT:    vpermt2d %xmm20, %xmm11, %xmm06221; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm16[0],xmm22[0],xmm16[1],xmm22[1]6222; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]6223; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6224; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6225; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5,6],ymm1[7]6226; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm8[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6227; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6228; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm7[0,1,2,3,4],ymm5[5],ymm7[6,7]6229; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm06230; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5],ymm1[6,7]6231; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}6232; AVX512-FCP-NEXT:    vmovdqa %xmm6, %xmm16233; AVX512-FCP-NEXT:    vpermt2d %xmm17, %xmm11, %xmm16234; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm13[0],xmm25[0],xmm13[1],xmm25[1]6235; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm5[2,3]6236; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6237; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6238; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm4[7]6239; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm14[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6240; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6241; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm4[5],ymm2[6,7]6242; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]6243; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]6244; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm06245; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6246; AVX512-FCP-NEXT:    vmovdqa64 %xmm16, %xmm26247; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm16 = xmm16[2],xmm22[2],xmm16[3],xmm22[3]6248; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm0 = [0,0,2,6]6249; AVX512-FCP-NEXT:    vpermt2d %xmm22, %xmm0, %xmm26250; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm9[2],xmm20[2],xmm9[3],xmm20[3]6251; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]6252; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm36253; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm21[0,1,1,3,4,5,5,7]6254; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]6255; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm27[0,1,1,3,4,5,5,7]6256; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm7 = ymm4[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]6257; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5,6],ymm5[7]6258; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm5 = ymm28[3,1,2,3,7,5,6,7]6259; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm5[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]6260; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm29[3,1,2,3,7,5,6,7]6261; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm8[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]6262; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3,4],ymm10[5],ymm12[6,7]6263; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm10[0,1,2,3,4,5],ymm7[6,7]6264; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm0, %zmm3 {%k1}6265; AVX512-FCP-NEXT:    vmovdqa %xmm13, %xmm76266; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm13[2],xmm25[2],xmm13[3],xmm25[3]6267; AVX512-FCP-NEXT:    vpermt2d %xmm25, %xmm0, %xmm76268; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm12 = xmm6[2],xmm17[2],xmm6[3],xmm17[3]6269; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm12[0,1],xmm7[2,3]6270; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm12 = ymm30[0,1,1,3,4,5,5,7]6271; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm12[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]6272; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm31[0,1,1,3,4,5,5,7]6273; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm15 = ymm14[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]6274; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5,6],ymm13[7]6275; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm15 = ymm19[3,1,2,3,7,5,6,7]6276; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm15[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]6277; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm18[3,1,2,3,7,5,6,7]6278; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm1[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]6279; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3,4],ymm0[5],ymm11[6,7]6280; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm13[6,7]6281; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm0[4,5,6,7]6282; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm06283; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6284; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm27 = [3,7,0,0]6285; AVX512-FCP-NEXT:    vpermt2d %xmm20, %xmm27, %xmm96286; AVX512-FCP-NEXT:    vmovdqa64 %xmm16, %xmm06287; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm9[0,1],xmm0[2,3]6288; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm06289; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]6290; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm4[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]6291; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]6292; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm5[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]6293; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm8[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]6294; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]6295; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]6296; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm0 {%k1}6297; AVX512-FCP-NEXT:    vpermt2d %xmm17, %xmm27, %xmm66298; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm6[0,1],xmm10[2,3]6299; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm12[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]6300; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm14[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]6301; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]6302; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm15[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]6303; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]6304; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm4[5],ymm1[6,7]6305; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]6306; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6307; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm286308; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6309; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload6310; AVX512-FCP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]6311; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6312; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm12 # 16-byte Folded Reload6313; AVX512-FCP-NEXT:    # xmm12 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]6314; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6315; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload6316; AVX512-FCP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]6317; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6318; AVX512-FCP-NEXT:    vpunpckhwd (%rsp), %xmm0, %xmm5 # 16-byte Folded Reload6319; AVX512-FCP-NEXT:    # xmm5 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]6320; AVX512-FCP-NEXT:    vmovdqa %xmm12, %xmm16321; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm0 = [0,0,0,4]6322; AVX512-FCP-NEXT:    vpermt2d %xmm3, %xmm0, %xmm16323; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm246324; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]6325; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm186326; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1],xmm1[2,3]6327; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm1, %zmm0, %zmm316328; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm29 # 32-byte Folded Reload6329; AVX512-FCP-NEXT:    # ymm29 = mem[0,1,1,3]6330; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm29[0,1,2,0,4,5,6,4]6331; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm26 # 32-byte Folded Reload6332; AVX512-FCP-NEXT:    # ymm26 = mem[0,1,1,3]6333; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm9[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]6334; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm26[0,1,2,0,4,5,6,4]6335; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm6[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]6336; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]6337; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm30 # 32-byte Folded Reload6338; AVX512-FCP-NEXT:    # ymm30 = mem[0,1,1,3]6339; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm25 # 32-byte Folded Reload6340; AVX512-FCP-NEXT:    # ymm25 = mem[0,1,1,3]6341; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm30[0,2,2,3,4,6,6,7]6342; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm8[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]6343; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm13 = ymm25[0,2,2,3,4,6,6,7]6344; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm13[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]6345; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3,4],ymm4[5],ymm7[6,7]6346; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]6347; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm31 {%k1}6348; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6349; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm2 # 16-byte Folded Reload6350; AVX512-FCP-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]6351; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6352; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm3 # 16-byte Folded Reload6353; AVX512-FCP-NEXT:    # xmm3 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]6354; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6355; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm4 # 16-byte Folded Reload6356; AVX512-FCP-NEXT:    # xmm4 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]6357; AVX512-FCP-NEXT:    vpermi2d %xmm2, %xmm3, %xmm06358; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm176359; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm226360; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6361; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm7 # 16-byte Folded Reload6362; AVX512-FCP-NEXT:    # xmm7 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]6363; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm10 = xmm7[0],xmm4[0],xmm7[1],xmm4[1]6364; AVX512-FCP-NEXT:    vmovdqa64 %xmm4, %xmm166365; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm10[0,1],xmm0[2,3]6366; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm20 # 32-byte Folded Reload6367; AVX512-FCP-NEXT:    # ymm20 = mem[0,1,1,3]6368; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm20[0,1,2,0,4,5,6,4]6369; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm23 = ymm23[0,1,1,3]6370; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]6371; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm23[0,1,2,0,4,5,6,4]6372; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm15 = ymm14[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]6373; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4,5,6],ymm0[7]6374; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm19 # 32-byte Folded Reload6375; AVX512-FCP-NEXT:    # ymm19 = mem[0,1,1,3]6376; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm21 # 32-byte Folded Reload6377; AVX512-FCP-NEXT:    # ymm21 = mem[0,1,1,3]6378; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm15 = ymm19[0,2,2,3,4,6,6,7]6379; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm15[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]6380; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm21[0,2,2,3,4,6,6,7]6381; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm2[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]6382; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4],ymm1[5],ymm3[6,7]6383; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6384; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]6385; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm31, %zmm316386; AVX512-FCP-NEXT:    vmovdqa %xmm5, %xmm06387; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm4 = [1,5,0,0]6388; AVX512-FCP-NEXT:    vpermt2d %xmm18, %xmm4, %xmm06389; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm12[0],xmm24[0],xmm12[1],xmm24[1]6390; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]6391; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6392; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm6[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6393; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]6394; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm8[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6395; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm13[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6396; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4],ymm3[5],ymm6[6,7]6397; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]6398; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm06399; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}6400; AVX512-FCP-NEXT:    vmovdqa %xmm4, %xmm36401; AVX512-FCP-NEXT:    vpermi2d %xmm16, %xmm7, %xmm36402; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm17[0],xmm22[0],xmm17[1],xmm22[1]6403; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm3[0,1],xmm1[2,3]6404; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm10[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6405; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm14[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6406; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]6407; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm15[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6408; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6409; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]6410; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm2[0,1,2,3,4,5],ymm1[6,7]6411; AVX512-FCP-NEXT:    vmovdqa %xmm12, %xmm86412; AVX512-FCP-NEXT:    vmovdqa64 %xmm24, %xmm26413; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm12[2],xmm24[2],xmm12[3],xmm24[3]6414; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm9[4,5,6,7]6415; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm246416; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm0 = [0,0,2,6]6417; AVX512-FCP-NEXT:    vpermt2d %xmm2, %xmm0, %xmm86418; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm5[2],xmm18[2],xmm5[3],xmm18[3]6419; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm8[2,3]6420; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm1, %zmm0, %zmm16421; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm29[0,1,1,3,4,5,5,7]6422; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]6423; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm26[0,1,1,3,4,5,5,7]6424; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm6[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]6425; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5,6],ymm3[7]6426; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm30[3,1,2,3,7,5,6,7]6427; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm8[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]6428; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm11 = ymm25[3,1,2,3,7,5,6,7]6429; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]6430; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm12[0,1,2,3,4],ymm9[5],ymm12[6,7]6431; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm9[0,1,2,3,4,5],ymm3[6,7]6432; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm1 {%k1}6433; AVX512-FCP-NEXT:    vpermi2d %xmm22, %xmm17, %xmm06434; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm7[2],xmm16[2],xmm7[3],xmm16[3]6435; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm0[2,3]6436; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm20[0,1,1,3,4,5,5,7]6437; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm12 = ymm9[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]6438; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm13 = ymm23[0,1,1,3,4,5,5,7]6439; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm13[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]6440; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm14[0,1,2,3,4,5,6],ymm12[7]6441; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm19[3,1,2,3,7,5,6,7]6442; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm14[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]6443; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm0 = ymm21[3,1,2,3,7,5,6,7]6444; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm0[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]6445; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4],ymm15[5],ymm4[6,7]6446; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm12[6,7]6447; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]6448; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm3, %zmm1, %zmm16449; AVX512-FCP-NEXT:    vpermt2d %xmm18, %xmm27, %xmm56450; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm5[0,1],xmm10[2,3]6451; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm3, %zmm0, %zmm36452; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]6453; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm6[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]6454; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5,6],ymm2[7]6455; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm8[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]6456; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]6457; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]6458; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5],ymm2[6,7]6459; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm3 {%k1}6460; AVX512-FCP-NEXT:    vpermt2d %xmm16, %xmm27, %xmm76461; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm17[2],xmm22[2],xmm17[3],xmm22[3]6462; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm7[0,1],xmm2[2,3]6463; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm9[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]6464; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm13[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]6465; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]6466; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm14[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]6467; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]6468; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm5[5],ymm0[6,7]6469; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm4[6,7]6470; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]6471; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm06472; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6473; AVX512-FCP-NEXT:    vmovaps %zmm2, (%rsi)6474; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6475; AVX512-FCP-NEXT:    vmovaps %zmm2, (%rdx)6476; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6477; AVX512-FCP-NEXT:    vmovaps %zmm2, (%rcx)6478; AVX512-FCP-NEXT:    vmovdqa64 %zmm28, (%r8)6479; AVX512-FCP-NEXT:    vmovdqa64 %zmm31, (%r9)6480; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6481; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, (%rax)6482; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6483; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, (%rax)6484; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6485; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, (%rax)6486; AVX512-FCP-NEXT:    addq $552, %rsp # imm = 0x2286487; AVX512-FCP-NEXT:    vzeroupper6488; AVX512-FCP-NEXT:    retq6489;6490; AVX512DQ-LABEL: load_i16_stride8_vf32:6491; AVX512DQ:       # %bb.0:6492; AVX512DQ-NEXT:    subq $616, %rsp # imm = 0x2686493; AVX512DQ-NEXT:    vmovdqa 368(%rdi), %xmm06494; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6495; AVX512DQ-NEXT:    vmovdqa 352(%rdi), %xmm16496; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6497; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]6498; AVX512DQ-NEXT:    vmovdqa 336(%rdi), %xmm06499; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6500; AVX512DQ-NEXT:    vmovdqa 320(%rdi), %xmm16501; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6502; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]6503; AVX512DQ-NEXT:    vpmovsxbd {{.*#+}} xmm1 = [0,0,0,4]6504; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm27 = xmm5[0],xmm3[0],xmm5[1],xmm3[1]6505; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm0 = xmm3[2,2,2,2]6506; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1,2],xmm0[3]6507; AVX512DQ-NEXT:    vmovdqa64 %xmm0, %xmm266508; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm25 = xmm5[2],xmm3[2],xmm5[3],xmm3[3]6509; AVX512DQ-NEXT:    vmovdqa %xmm5, %xmm06510; AVX512DQ-NEXT:    vpermt2d %xmm3, %xmm1, %xmm06511; AVX512DQ-NEXT:    vmovdqa 304(%rdi), %xmm26512; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6513; AVX512DQ-NEXT:    vmovdqa 288(%rdi), %xmm36514; AVX512DQ-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6515; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]6516; AVX512DQ-NEXT:    vmovdqa 272(%rdi), %xmm26517; AVX512DQ-NEXT:    vmovdqa %xmm2, (%rsp) # 16-byte Spill6518; AVX512DQ-NEXT:    vmovdqa 256(%rdi), %xmm36519; AVX512DQ-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6520; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]6521; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm7[0],xmm11[0],xmm7[1],xmm11[1]6522; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]6523; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm166524; AVX512DQ-NEXT:    vmovdqa 480(%rdi), %ymm06525; AVX512DQ-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6526; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm18 = ymm0[0,1,0,2]6527; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm2 = ymm18[0,1,2,0,4,5,6,4]6528; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]6529; AVX512DQ-NEXT:    vmovdqa64 %ymm2, %ymm216530; AVX512DQ-NEXT:    vmovdqa 448(%rdi), %ymm26531; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6532; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm20 = ymm2[0,1,0,2]6533; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm12 = ymm20[0,1,2,0,4,5,6,4]6534; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm12[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]6535; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]6536; AVX512DQ-NEXT:    vmovdqa 416(%rdi), %ymm26537; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6538; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm22 = ymm2[0,1,0,2]6539; AVX512DQ-NEXT:    vmovdqa 384(%rdi), %ymm26540; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6541; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm29 = ymm2[0,1,0,2]6542; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm10 = ymm22[0,2,2,3,4,6,6,7]6543; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm10[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]6544; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm9 = ymm29[0,2,2,3,4,6,6,7]6545; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm9[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]6546; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3,4],ymm2[5],ymm8[6,7]6547; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]6548; AVX512DQ-NEXT:    movb $-64, %al6549; AVX512DQ-NEXT:    kmovw %eax, %k16550; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm16 {%k1}6551; AVX512DQ-NEXT:    vmovdqa 112(%rdi), %xmm26552; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6553; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %xmm06554; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6555; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]6556; AVX512DQ-NEXT:    vmovdqa 80(%rdi), %xmm36557; AVX512DQ-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6558; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %xmm26559; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6560; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]6561; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm8 = xmm0[2,2,2,2]6562; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm3 = xmm2[0,1,2],xmm8[3]6563; AVX512DQ-NEXT:    vmovdqa64 %xmm3, %xmm236564; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm19 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]6565; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm24 = xmm2[2],xmm0[2],xmm2[3],xmm0[3]6566; AVX512DQ-NEXT:    vpermt2d %xmm0, %xmm1, %xmm26567; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm06568; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6569; AVX512DQ-NEXT:    vmovdqa 16(%rdi), %xmm16570; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6571; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %xmm36572; AVX512DQ-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6573; AVX512DQ-NEXT:    vmovdqa 48(%rdi), %xmm46574; AVX512DQ-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6575; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]6576; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]6577; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm3[0],xmm8[0],xmm3[1],xmm8[1]6578; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm6 = xmm15[0,1],xmm2[2,3]6579; AVX512DQ-NEXT:    vmovdqa 224(%rdi), %ymm06580; AVX512DQ-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6581; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm31 = ymm0[0,1,0,2]6582; AVX512DQ-NEXT:    vmovdqa 192(%rdi), %ymm06583; AVX512DQ-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6584; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm30 = ymm0[0,1,0,2]6585; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm15 = ymm31[0,1,2,0,4,5,6,4]6586; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm15[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]6587; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm5 = ymm30[0,1,2,0,4,5,6,4]6588; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm5[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]6589; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm4 = ymm14[0,1,2,3,4,5,6],ymm0[7]6590; AVX512DQ-NEXT:    vmovdqa 160(%rdi), %ymm06591; AVX512DQ-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6592; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm14 = ymm0[0,1,0,2]6593; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %ymm286594; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm17 = ymm28[0,1,0,2]6595; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm2 = ymm14[0,2,2,3,4,6,6,7]6596; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]6597; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm1 = ymm17[0,2,2,3,4,6,6,7]6598; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm1[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]6599; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4],ymm0[5],ymm13[6,7]6600; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm4[6,7]6601; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]6602; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm16, %zmm06603; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6604; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm0 = xmm7[1,1,1,1]6605; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm11[1],xmm0[2,3]6606; AVX512DQ-NEXT:    vmovdqa64 %xmm27, %xmm46607; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm4[2,3]6608; AVX512DQ-NEXT:    vmovdqa64 %ymm21, %ymm46609; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6610; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm12[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6611; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3,4,5,6],ymm4[7]6612; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm10[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6613; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm9[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6614; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3,4],ymm6[5],ymm9[6,7]6615; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3,4,5],ymm4[6,7]6616; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm06617; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm4, %zmm0, %zmm0 {%k1}6618; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm15[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6619; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6620; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]6621; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6622; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6623; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm2[5],ymm1[6,7]6624; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm4[6,7]6625; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm2 = xmm3[1,1,1,1]6626; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm8[1],xmm2[2,3]6627; AVX512DQ-NEXT:    vmovdqa64 %xmm19, %xmm46628; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm4[2,3]6629; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6630; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm06631; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6632; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm7[2],xmm11[2],xmm7[3],xmm11[3]6633; AVX512DQ-NEXT:    vmovdqa64 %xmm26, %xmm16634; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]6635; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm06636; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm1 = ymm18[0,1,1,3,4,5,5,7]6637; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]6638; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm4 = ymm20[0,1,1,3,4,5,5,7]6639; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm4[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]6640; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3,4,5,6],ymm2[7]6641; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm5 = ymm22[3,1,2,3,7,5,6,7]6642; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm5[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]6643; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm9 = ymm29[3,1,2,3,7,5,6,7]6644; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm9[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]6645; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4],ymm6[5],ymm10[6,7]6646; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5],ymm2[6,7]6647; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm0 {%k1}6648; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm2 = ymm31[0,1,1,3,4,5,5,7]6649; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]6650; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm10 = ymm30[0,1,1,3,4,5,5,7]6651; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm12 = ymm10[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]6652; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm6 = ymm12[0,1,2,3,4,5,6],ymm6[7]6653; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm12 = ymm14[3,1,2,3,7,5,6,7]6654; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm12[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]6655; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm14 = ymm17[3,1,2,3,7,5,6,7]6656; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm14[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]6657; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4],ymm13[5],ymm15[6,7]6658; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm6 = ymm13[0,1,2,3,4,5],ymm6[6,7]6659; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm13 = xmm3[2],xmm8[2],xmm3[3],xmm8[3]6660; AVX512DQ-NEXT:    vmovdqa64 %xmm23, %xmm156661; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm13 = xmm13[0,1],xmm15[2,3]6662; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm6 = ymm13[0,1,2,3],ymm6[4,5,6,7]6663; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm6, %zmm0, %zmm06664; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6665; AVX512DQ-NEXT:    vpmovsxbd {{.*#+}} xmm6 = [3,7,0,0]6666; AVX512DQ-NEXT:    vpermt2d %xmm11, %xmm6, %xmm76667; AVX512DQ-NEXT:    vmovdqa64 %xmm25, %xmm06668; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm7[0,1],xmm0[2,3]6669; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm06670; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]6671; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]6672; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]6673; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm5[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]6674; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm9[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]6675; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]6676; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]6677; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}6678; AVX512DQ-NEXT:    vpermt2d %xmm8, %xmm6, %xmm36679; AVX512DQ-NEXT:    vmovdqa64 %xmm24, %xmm16680; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1],xmm1[2,3]6681; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]6682; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm10[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]6683; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]6684; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm12[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]6685; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm14[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]6686; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]6687; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]6688; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]6689; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm06690; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6691; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6692; AVX512DQ-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload6693; AVX512DQ-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]6694; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6695; AVX512DQ-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload6696; AVX512DQ-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]6697; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,2,2,2]6698; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm2 = xmm1[0,1,2],xmm2[3]6699; AVX512DQ-NEXT:    vmovdqa64 %xmm2, %xmm306700; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm22 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]6701; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm31 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]6702; AVX512DQ-NEXT:    vmovdqa %xmm1, %xmm26703; AVX512DQ-NEXT:    vpmovsxbd {{.*#+}} xmm1 = [0,0,0,4]6704; AVX512DQ-NEXT:    vpermt2d %xmm0, %xmm1, %xmm26705; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6706; AVX512DQ-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm5 # 16-byte Folded Reload6707; AVX512DQ-NEXT:    # xmm5 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]6708; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6709; AVX512DQ-NEXT:    vpunpckhwd (%rsp), %xmm0, %xmm4 # 16-byte Folded Reload6710; AVX512DQ-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]6711; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm4[0],xmm5[0],xmm4[1],xmm5[1]6712; AVX512DQ-NEXT:    vmovdqa64 %xmm5, %xmm206713; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]6714; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm126715; AVX512DQ-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm19 # 32-byte Folded Reload6716; AVX512DQ-NEXT:    # ymm19 = mem[0,1,1,3]6717; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm7 = ymm19[0,1,2,0,4,5,6,4]6718; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]6719; AVX512DQ-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm21 # 32-byte Folded Reload6720; AVX512DQ-NEXT:    # ymm21 = mem[0,1,1,3]6721; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm11 = ymm21[0,1,2,0,4,5,6,4]6722; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm11[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]6723; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]6724; AVX512DQ-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm29 # 32-byte Folded Reload6725; AVX512DQ-NEXT:    # ymm29 = mem[0,1,1,3]6726; AVX512DQ-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm23 # 32-byte Folded Reload6727; AVX512DQ-NEXT:    # ymm23 = mem[0,1,1,3]6728; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm10 = ymm29[0,2,2,3,4,6,6,7]6729; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm10[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]6730; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm13 = ymm23[0,2,2,3,4,6,6,7]6731; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm13[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]6732; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4],ymm3[5],ymm5[6,7]6733; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]6734; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm12 {%k1}6735; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6736; AVX512DQ-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload6737; AVX512DQ-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]6738; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload6739; AVX512DQ-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload6740; AVX512DQ-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]6741; AVX512DQ-NEXT:    vmovdqa %xmm1, %xmm06742; AVX512DQ-NEXT:    vpermi2d %xmm2, %xmm3, %xmm06743; AVX512DQ-NEXT:    vmovdqa64 %xmm3, %xmm166744; AVX512DQ-NEXT:    vmovdqa64 %xmm2, %xmm186745; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6746; AVX512DQ-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm8 # 16-byte Folded Reload6747; AVX512DQ-NEXT:    # xmm8 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]6748; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload6749; AVX512DQ-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm5 # 16-byte Folded Reload6750; AVX512DQ-NEXT:    # xmm5 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]6751; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm5[0],xmm8[0],xmm5[1],xmm8[1]6752; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm15 = xmm15[0,1],xmm0[2,3]6753; AVX512DQ-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm17 # 32-byte Folded Reload6754; AVX512DQ-NEXT:    # ymm17 = mem[0,1,1,3]6755; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm14 = ymm17[0,1,2,0,4,5,6,4]6756; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]6757; AVX512DQ-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm24 # 32-byte Folded Reload6758; AVX512DQ-NEXT:    # ymm24 = mem[0,1,1,3]6759; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm3 = ymm24[0,1,2,0,4,5,6,4]6760; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm3[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]6761; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3,4,5,6],ymm0[7]6762; AVX512DQ-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm25 # 32-byte Folded Reload6763; AVX512DQ-NEXT:    # ymm25 = mem[0,1,1,3]6764; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm26 = ymm28[0,1,1,3]6765; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm9 = ymm25[0,2,2,3,4,6,6,7]6766; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm9[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]6767; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm1 = ymm26[0,2,2,3,4,6,6,7]6768; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm1[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]6769; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3,4],ymm0[5],ymm6[6,7]6770; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]6771; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm0[4,5,6,7]6772; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm12, %zmm276773; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm0 = xmm4[1,1,1,1]6774; AVX512DQ-NEXT:    vmovdqa64 %xmm20, %xmm126775; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm12[1],xmm0[2,3]6776; AVX512DQ-NEXT:    vmovdqa64 %xmm22, %xmm26777; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3]6778; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6779; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm11[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6780; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5,6],ymm2[7]6781; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm10[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6782; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm13[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6783; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]6784; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5],ymm2[6,7]6785; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm06786; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm0 {%k1}6787; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm14[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6788; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6789; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]6790; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm9[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6791; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6792; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm3[5],ymm1[6,7]6793; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]6794; AVX512DQ-NEXT:    vmovdqa64 %xmm16, %xmm96795; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm16[0],xmm18[0],xmm16[1],xmm18[1]6796; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm3 = xmm5[1,1,1,1]6797; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0],xmm8[1],xmm3[2,3]6798; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]6799; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6800; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm206801; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm4[2],xmm12[2],xmm4[3],xmm12[3]6802; AVX512DQ-NEXT:    vmovdqa64 %xmm12, %xmm166803; AVX512DQ-NEXT:    vmovdqa64 %xmm30, %xmm16804; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]6805; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm16806; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm2 = ymm19[0,1,1,3,4,5,5,7]6807; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]6808; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm3 = ymm21[0,1,1,3,4,5,5,7]6809; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm3[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]6810; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5,6],ymm0[7]6811; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm6 = ymm29[3,1,2,3,7,5,6,7]6812; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm6[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]6813; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm10 = ymm23[3,1,2,3,7,5,6,7]6814; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm10[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]6815; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm7 = ymm11[0,1,2,3,4],ymm7[5],ymm11[6,7]6816; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5],ymm0[6,7]6817; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm1 {%k1}6818; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm0 = ymm17[0,1,1,3,4,5,5,7]6819; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]6820; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm7 = ymm24[0,1,1,3,4,5,5,7]6821; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm7[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]6822; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm11 = ymm13[0,1,2,3,4,5,6],ymm11[7]6823; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm13 = ymm25[3,1,2,3,7,5,6,7]6824; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm13[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]6825; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm15 = ymm26[3,1,2,3,7,5,6,7]6826; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm15[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]6827; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3,4],ymm14[5],ymm12[6,7]6828; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4,5],ymm11[6,7]6829; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm12 = xmm18[2,2,2,2]6830; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm12 = xmm9[0,1,2],xmm12[3]6831; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm14 = xmm5[2],xmm8[2],xmm5[3],xmm8[3]6832; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1],xmm12[2,3]6833; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3],ymm11[4,5,6,7]6834; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm11, %zmm1, %zmm16835; AVX512DQ-NEXT:    vpmovsxbd {{.*#+}} xmm12 = [3,7,0,0]6836; AVX512DQ-NEXT:    vpermt2d %xmm16, %xmm12, %xmm46837; AVX512DQ-NEXT:    vmovdqa64 %xmm31, %xmm116838; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm4 = xmm4[0,1],xmm11[2,3]6839; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm4, %zmm0, %zmm46840; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]6841; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]6842; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]6843; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm6[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]6844; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm10[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]6845; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4],ymm3[5],ymm6[6,7]6846; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]6847; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm4 {%k1}6848; AVX512DQ-NEXT:    vpermt2d %xmm8, %xmm12, %xmm56849; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm9[2],xmm18[2],xmm9[3],xmm18[3]6850; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1],xmm2[2,3]6851; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]6852; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm7[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]6853; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6],ymm0[7]6854; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm13[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]6855; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm15[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]6856; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4],ymm3[5],ymm5[6,7]6857; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]6858; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]6859; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm4, %zmm06860; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6861; AVX512DQ-NEXT:    vmovaps %zmm2, (%rsi)6862; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6863; AVX512DQ-NEXT:    vmovaps %zmm2, (%rdx)6864; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6865; AVX512DQ-NEXT:    vmovaps %zmm2, (%rcx)6866; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload6867; AVX512DQ-NEXT:    vmovaps %zmm2, (%r8)6868; AVX512DQ-NEXT:    vmovdqa64 %zmm27, (%r9)6869; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax6870; AVX512DQ-NEXT:    vmovdqa64 %zmm20, (%rax)6871; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax6872; AVX512DQ-NEXT:    vmovdqa64 %zmm1, (%rax)6873; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax6874; AVX512DQ-NEXT:    vmovdqa64 %zmm0, (%rax)6875; AVX512DQ-NEXT:    addq $616, %rsp # imm = 0x2686876; AVX512DQ-NEXT:    vzeroupper6877; AVX512DQ-NEXT:    retq6878;6879; AVX512DQ-FCP-LABEL: load_i16_stride8_vf32:6880; AVX512DQ-FCP:       # %bb.0:6881; AVX512DQ-FCP-NEXT:    subq $552, %rsp # imm = 0x2286882; AVX512DQ-FCP-NEXT:    vmovdqa 368(%rdi), %xmm06883; AVX512DQ-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6884; AVX512DQ-FCP-NEXT:    vmovdqa 352(%rdi), %xmm16885; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6886; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]6887; AVX512DQ-FCP-NEXT:    vmovdqa 336(%rdi), %xmm06888; AVX512DQ-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6889; AVX512DQ-FCP-NEXT:    vmovdqa 320(%rdi), %xmm16890; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6891; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]6892; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm1 = [0,0,0,4]6893; AVX512DQ-FCP-NEXT:    vmovdqa %xmm3, %xmm06894; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm3, %xmm166895; AVX512DQ-FCP-NEXT:    vpermt2d %xmm2, %xmm1, %xmm06896; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm2, %xmm226897; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, %xmm26898; AVX512DQ-FCP-NEXT:    vmovdqa 304(%rdi), %xmm16899; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6900; AVX512DQ-FCP-NEXT:    vmovdqa 288(%rdi), %xmm36901; AVX512DQ-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6902; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]6903; AVX512DQ-FCP-NEXT:    vmovdqa 272(%rdi), %xmm16904; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, (%rsp) # 16-byte Spill6905; AVX512DQ-FCP-NEXT:    vmovdqa 256(%rdi), %xmm36906; AVX512DQ-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6907; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]6908; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm9[0],xmm4[0],xmm9[1],xmm4[1]6909; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm4, %xmm206910; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]6911; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm116912; AVX512DQ-FCP-NEXT:    vmovdqa 480(%rdi), %ymm06913; AVX512DQ-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6914; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm21 = ymm0[0,1,0,2]6915; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm12 = ymm21[0,1,2,0,4,5,6,4]6916; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm12[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]6917; AVX512DQ-FCP-NEXT:    vmovdqa 448(%rdi), %ymm16918; AVX512DQ-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6919; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm27 = ymm1[0,1,0,2]6920; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm27[0,1,2,0,4,5,6,4]6921; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]6922; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]6923; AVX512DQ-FCP-NEXT:    vmovdqa 416(%rdi), %ymm16924; AVX512DQ-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6925; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm28 = ymm1[0,1,0,2]6926; AVX512DQ-FCP-NEXT:    vmovdqa 384(%rdi), %ymm16927; AVX512DQ-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6928; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm29 = ymm1[0,1,0,2]6929; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm28[0,2,2,3,4,6,6,7]6930; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm8[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]6931; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm29[0,2,2,3,4,6,6,7]6932; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm7[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]6933; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4],ymm1[5],ymm3[6,7]6934; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6935; AVX512DQ-FCP-NEXT:    movb $-64, %al6936; AVX512DQ-FCP-NEXT:    kmovw %eax, %k16937; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm11 {%k1}6938; AVX512DQ-FCP-NEXT:    vmovdqa 112(%rdi), %xmm06939; AVX512DQ-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6940; AVX512DQ-FCP-NEXT:    vmovdqa 96(%rdi), %xmm16941; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6942; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]6943; AVX512DQ-FCP-NEXT:    vmovdqa 80(%rdi), %xmm06944; AVX512DQ-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6945; AVX512DQ-FCP-NEXT:    vmovdqa 64(%rdi), %xmm16946; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6947; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]6948; AVX512DQ-FCP-NEXT:    vmovdqa %xmm13, %xmm06949; AVX512DQ-FCP-NEXT:    vpermt2d %xmm3, %xmm2, %xmm06950; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm3, %xmm256951; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm16952; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6953; AVX512DQ-FCP-NEXT:    vmovdqa 16(%rdi), %xmm26954; AVX512DQ-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6955; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %xmm36956; AVX512DQ-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6957; AVX512DQ-FCP-NEXT:    vmovdqa 48(%rdi), %xmm46958; AVX512DQ-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill6959; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]6960; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]6961; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm6[0],xmm3[0],xmm6[1],xmm3[1]6962; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm3, %xmm176963; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm1[0,1],xmm0[2,3]6964; AVX512DQ-FCP-NEXT:    vmovdqa 224(%rdi), %ymm06965; AVX512DQ-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6966; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm30 = ymm0[0,1,0,2]6967; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm236968; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm31 = ymm23[0,1,0,2]6969; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm30[0,1,2,0,4,5,6,4]6970; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]6971; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm31[0,1,2,0,4,5,6,4]6972; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm3[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]6973; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,6],ymm0[7]6974; AVX512DQ-FCP-NEXT:    vmovdqa 160(%rdi), %ymm06975; AVX512DQ-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6976; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm19 = ymm0[0,1,0,2]6977; AVX512DQ-FCP-NEXT:    vmovdqa 128(%rdi), %ymm06978; AVX512DQ-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6979; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm18 = ymm0[0,1,0,2]6980; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm19[0,2,2,3,4,6,6,7]6981; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm14[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]6982; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm18[0,2,2,3,4,6,6,7]6983; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm2[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]6984; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]6985; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]6986; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]6987; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm11, %zmm06988; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill6989; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm11 = [1,5,0,0]6990; AVX512DQ-FCP-NEXT:    vmovdqa %xmm9, %xmm06991; AVX512DQ-FCP-NEXT:    vpermt2d %xmm20, %xmm11, %xmm06992; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm16[0],xmm22[0],xmm16[1],xmm22[1]6993; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]6994; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]6995; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]6996; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5,6],ymm1[7]6997; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm8[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]6998; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]6999; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm7[0,1,2,3,4],ymm5[5],ymm7[6,7]7000; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm07001; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5],ymm1[6,7]7002; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}7003; AVX512DQ-FCP-NEXT:    vmovdqa %xmm6, %xmm17004; AVX512DQ-FCP-NEXT:    vpermt2d %xmm17, %xmm11, %xmm17005; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm13[0],xmm25[0],xmm13[1],xmm25[1]7006; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm5[2,3]7007; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]7008; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]7009; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm4[7]7010; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm14[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]7011; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]7012; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm4[5],ymm2[6,7]7013; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]7014; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]7015; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm07016; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7017; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm16, %xmm27018; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm16 = xmm16[2],xmm22[2],xmm16[3],xmm22[3]7019; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm0 = [0,0,2,6]7020; AVX512DQ-FCP-NEXT:    vpermt2d %xmm22, %xmm0, %xmm27021; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm9[2],xmm20[2],xmm9[3],xmm20[3]7022; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]7023; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm37024; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm21[0,1,1,3,4,5,5,7]7025; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]7026; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm27[0,1,1,3,4,5,5,7]7027; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm7 = ymm4[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]7028; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5,6],ymm5[7]7029; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm5 = ymm28[3,1,2,3,7,5,6,7]7030; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm5[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]7031; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm29[3,1,2,3,7,5,6,7]7032; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm8[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]7033; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3,4],ymm10[5],ymm12[6,7]7034; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm10[0,1,2,3,4,5],ymm7[6,7]7035; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm0, %zmm3 {%k1}7036; AVX512DQ-FCP-NEXT:    vmovdqa %xmm13, %xmm77037; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm13[2],xmm25[2],xmm13[3],xmm25[3]7038; AVX512DQ-FCP-NEXT:    vpermt2d %xmm25, %xmm0, %xmm77039; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm12 = xmm6[2],xmm17[2],xmm6[3],xmm17[3]7040; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm12[0,1],xmm7[2,3]7041; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm12 = ymm30[0,1,1,3,4,5,5,7]7042; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm12[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]7043; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm31[0,1,1,3,4,5,5,7]7044; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm15 = ymm14[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]7045; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5,6],ymm13[7]7046; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm15 = ymm19[3,1,2,3,7,5,6,7]7047; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm15[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]7048; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm18[3,1,2,3,7,5,6,7]7049; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm1[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]7050; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3,4],ymm0[5],ymm11[6,7]7051; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm13[6,7]7052; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm7[0,1,2,3],ymm0[4,5,6,7]7053; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm07054; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill7055; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm27 = [3,7,0,0]7056; AVX512DQ-FCP-NEXT:    vpermt2d %xmm20, %xmm27, %xmm97057; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm16, %xmm07058; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm9[0,1],xmm0[2,3]7059; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm07060; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]7061; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm4[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]7062; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]7063; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm5[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]7064; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm8[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]7065; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]7066; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]7067; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm0 {%k1}7068; AVX512DQ-FCP-NEXT:    vpermt2d %xmm17, %xmm27, %xmm67069; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm6[0,1],xmm10[2,3]7070; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm12[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]7071; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm14[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]7072; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]7073; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm15[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]7074; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]7075; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm4[5],ymm1[6,7]7076; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm3[6,7]7077; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]7078; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm287079; AVX512DQ-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7080; AVX512DQ-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload7081; AVX512DQ-FCP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]7082; AVX512DQ-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7083; AVX512DQ-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm12 # 16-byte Folded Reload7084; AVX512DQ-FCP-NEXT:    # xmm12 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]7085; AVX512DQ-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7086; AVX512DQ-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload7087; AVX512DQ-FCP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]7088; AVX512DQ-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7089; AVX512DQ-FCP-NEXT:    vpunpckhwd (%rsp), %xmm0, %xmm5 # 16-byte Folded Reload7090; AVX512DQ-FCP-NEXT:    # xmm5 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]7091; AVX512DQ-FCP-NEXT:    vmovdqa %xmm12, %xmm17092; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm0 = [0,0,0,4]7093; AVX512DQ-FCP-NEXT:    vpermt2d %xmm3, %xmm0, %xmm17094; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm3, %xmm247095; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]7096; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm2, %xmm187097; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1],xmm1[2,3]7098; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm1, %zmm0, %zmm317099; AVX512DQ-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm29 # 32-byte Folded Reload7100; AVX512DQ-FCP-NEXT:    # ymm29 = mem[0,1,1,3]7101; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm29[0,1,2,0,4,5,6,4]7102; AVX512DQ-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm26 # 32-byte Folded Reload7103; AVX512DQ-FCP-NEXT:    # ymm26 = mem[0,1,1,3]7104; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm9[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]7105; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm26[0,1,2,0,4,5,6,4]7106; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm6[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]7107; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]7108; AVX512DQ-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm30 # 32-byte Folded Reload7109; AVX512DQ-FCP-NEXT:    # ymm30 = mem[0,1,1,3]7110; AVX512DQ-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm25 # 32-byte Folded Reload7111; AVX512DQ-FCP-NEXT:    # ymm25 = mem[0,1,1,3]7112; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm30[0,2,2,3,4,6,6,7]7113; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm8[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]7114; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm13 = ymm25[0,2,2,3,4,6,6,7]7115; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm13[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]7116; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3,4],ymm4[5],ymm7[6,7]7117; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]7118; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm31 {%k1}7119; AVX512DQ-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7120; AVX512DQ-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm2 # 16-byte Folded Reload7121; AVX512DQ-FCP-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]7122; AVX512DQ-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7123; AVX512DQ-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm3 # 16-byte Folded Reload7124; AVX512DQ-FCP-NEXT:    # xmm3 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]7125; AVX512DQ-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7126; AVX512DQ-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm4 # 16-byte Folded Reload7127; AVX512DQ-FCP-NEXT:    # xmm4 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]7128; AVX512DQ-FCP-NEXT:    vpermi2d %xmm2, %xmm3, %xmm07129; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm3, %xmm177130; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm2, %xmm227131; AVX512DQ-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7132; AVX512DQ-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm7 # 16-byte Folded Reload7133; AVX512DQ-FCP-NEXT:    # xmm7 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]7134; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm10 = xmm7[0],xmm4[0],xmm7[1],xmm4[1]7135; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm4, %xmm167136; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm10[0,1],xmm0[2,3]7137; AVX512DQ-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm20 # 32-byte Folded Reload7138; AVX512DQ-FCP-NEXT:    # ymm20 = mem[0,1,1,3]7139; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm20[0,1,2,0,4,5,6,4]7140; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm23 = ymm23[0,1,1,3]7141; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]7142; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm23[0,1,2,0,4,5,6,4]7143; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm15 = ymm14[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]7144; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4,5,6],ymm0[7]7145; AVX512DQ-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm19 # 32-byte Folded Reload7146; AVX512DQ-FCP-NEXT:    # ymm19 = mem[0,1,1,3]7147; AVX512DQ-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm21 # 32-byte Folded Reload7148; AVX512DQ-FCP-NEXT:    # ymm21 = mem[0,1,1,3]7149; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm15 = ymm19[0,2,2,3,4,6,6,7]7150; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm15[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]7151; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm21[0,2,2,3,4,6,6,7]7152; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm2[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]7153; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4],ymm1[5],ymm3[6,7]7154; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]7155; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3],ymm0[4,5,6,7]7156; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm31, %zmm317157; AVX512DQ-FCP-NEXT:    vmovdqa %xmm5, %xmm07158; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm4 = [1,5,0,0]7159; AVX512DQ-FCP-NEXT:    vpermt2d %xmm18, %xmm4, %xmm07160; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm12[0],xmm24[0],xmm12[1],xmm24[1]7161; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]7162; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]7163; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm6[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]7164; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]7165; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm8[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]7166; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm13[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]7167; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4],ymm3[5],ymm6[6,7]7168; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]7169; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm07170; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}7171; AVX512DQ-FCP-NEXT:    vmovdqa %xmm4, %xmm37172; AVX512DQ-FCP-NEXT:    vpermi2d %xmm16, %xmm7, %xmm37173; AVX512DQ-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm17[0],xmm22[0],xmm17[1],xmm22[1]7174; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm3[0,1],xmm1[2,3]7175; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm10[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]7176; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm14[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]7177; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]7178; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm15[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]7179; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]7180; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]7181; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm2[0,1,2,3,4,5],ymm1[6,7]7182; AVX512DQ-FCP-NEXT:    vmovdqa %xmm12, %xmm87183; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm24, %xmm27184; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm10 = xmm12[2],xmm24[2],xmm12[3],xmm24[3]7185; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3],ymm9[4,5,6,7]7186; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm247187; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm0 = [0,0,2,6]7188; AVX512DQ-FCP-NEXT:    vpermt2d %xmm2, %xmm0, %xmm87189; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm5[2],xmm18[2],xmm5[3],xmm18[3]7190; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm8[2,3]7191; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm1, %zmm0, %zmm17192; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm29[0,1,1,3,4,5,5,7]7193; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]7194; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm26[0,1,1,3,4,5,5,7]7195; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm6[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]7196; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm8[0,1,2,3,4,5,6],ymm3[7]7197; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm30[3,1,2,3,7,5,6,7]7198; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm8[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]7199; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm11 = ymm25[3,1,2,3,7,5,6,7]7200; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]7201; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm12[0,1,2,3,4],ymm9[5],ymm12[6,7]7202; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm9[0,1,2,3,4,5],ymm3[6,7]7203; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm1 {%k1}7204; AVX512DQ-FCP-NEXT:    vpermi2d %xmm22, %xmm17, %xmm07205; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm7[2],xmm16[2],xmm7[3],xmm16[3]7206; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm0[2,3]7207; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm20[0,1,1,3,4,5,5,7]7208; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm12 = ymm9[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]7209; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm13 = ymm23[0,1,1,3,4,5,5,7]7210; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm13[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]7211; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm14[0,1,2,3,4,5,6],ymm12[7]7212; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm19[3,1,2,3,7,5,6,7]7213; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm14[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]7214; AVX512DQ-FCP-NEXT:    vpshufd {{.*#+}} ymm0 = ymm21[3,1,2,3,7,5,6,7]7215; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm0[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]7216; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4],ymm15[5],ymm4[6,7]7217; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm12[6,7]7218; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]7219; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm3, %zmm1, %zmm17220; AVX512DQ-FCP-NEXT:    vpermt2d %xmm18, %xmm27, %xmm57221; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm5[0,1],xmm10[2,3]7222; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm3, %zmm0, %zmm37223; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]7224; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm6[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]7225; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5,6],ymm2[7]7226; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm8[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]7227; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]7228; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]7229; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5],ymm2[6,7]7230; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm3 {%k1}7231; AVX512DQ-FCP-NEXT:    vpermt2d %xmm16, %xmm27, %xmm77232; AVX512DQ-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm17[2],xmm22[2],xmm17[3],xmm22[3]7233; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm7[0,1],xmm2[2,3]7234; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm9[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]7235; AVX512DQ-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm13[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]7236; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]7237; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm14[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]7238; AVX512DQ-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]7239; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm5[5],ymm0[6,7]7240; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm4[6,7]7241; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]7242; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm07243; AVX512DQ-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload7244; AVX512DQ-FCP-NEXT:    vmovaps %zmm2, (%rsi)7245; AVX512DQ-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload7246; AVX512DQ-FCP-NEXT:    vmovaps %zmm2, (%rdx)7247; AVX512DQ-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload7248; AVX512DQ-FCP-NEXT:    vmovaps %zmm2, (%rcx)7249; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm28, (%r8)7250; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm31, (%r9)7251; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7252; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, (%rax)7253; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7254; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, (%rax)7255; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7256; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, (%rax)7257; AVX512DQ-FCP-NEXT:    addq $552, %rsp # imm = 0x2287258; AVX512DQ-FCP-NEXT:    vzeroupper7259; AVX512DQ-FCP-NEXT:    retq7260;7261; AVX512BW-LABEL: load_i16_stride8_vf32:7262; AVX512BW:       # %bb.0:7263; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax7264; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r107265; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r117266; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm07267; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm27268; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm17269; AVX512BW-NEXT:    vmovdqa64 192(%rdi), %zmm47270; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %zmm57271; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm37272; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %zmm77273; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm67274; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56]7275; AVX512BW-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7276; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm97277; AVX512BW-NEXT:    vpermt2w %zmm7, %zmm8, %zmm97278; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm107279; AVX512BW-NEXT:    vpermt2w %zmm5, %zmm8, %zmm107280; AVX512BW-NEXT:    movb $-64, %dil7281; AVX512BW-NEXT:    kmovd %edi, %k17282; AVX512BW-NEXT:    vmovdqa64 %zmm9, %zmm10 {%k1}7283; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm97284; AVX512BW-NEXT:    vpermt2w %zmm4, %zmm8, %zmm97285; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm87286; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]7287; AVX512BW-NEXT:    vinserti64x4 $0, %ymm8, %zmm10, %zmm87288; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm9 = [1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57]7289; AVX512BW-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7290; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm107291; AVX512BW-NEXT:    vpermt2w %zmm7, %zmm9, %zmm107292; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm117293; AVX512BW-NEXT:    vpermt2w %zmm5, %zmm9, %zmm117294; AVX512BW-NEXT:    vmovdqa64 %zmm10, %zmm11 {%k1}7295; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm107296; AVX512BW-NEXT:    vpermt2w %zmm4, %zmm9, %zmm107297; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm97298; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm10[4,5,6,7]7299; AVX512BW-NEXT:    vinserti64x4 $0, %ymm9, %zmm11, %zmm97300; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58]7301; AVX512BW-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7302; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm117303; AVX512BW-NEXT:    vpermt2w %zmm7, %zmm10, %zmm117304; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm127305; AVX512BW-NEXT:    vpermt2w %zmm5, %zmm10, %zmm127306; AVX512BW-NEXT:    vmovdqa64 %zmm11, %zmm12 {%k1}7307; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm117308; AVX512BW-NEXT:    vpermt2w %zmm4, %zmm10, %zmm117309; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm107310; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]7311; AVX512BW-NEXT:    vinserti64x4 $0, %ymm10, %zmm12, %zmm107312; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm11 = [3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59]7313; AVX512BW-NEXT:    # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7314; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm127315; AVX512BW-NEXT:    vpermt2w %zmm7, %zmm11, %zmm127316; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm137317; AVX512BW-NEXT:    vpermt2w %zmm5, %zmm11, %zmm137318; AVX512BW-NEXT:    vmovdqa64 %zmm12, %zmm13 {%k1}7319; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm127320; AVX512BW-NEXT:    vpermt2w %zmm4, %zmm11, %zmm127321; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm117322; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]7323; AVX512BW-NEXT:    vinserti64x4 $0, %ymm11, %zmm13, %zmm117324; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm12 = [4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60]7325; AVX512BW-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7326; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm137327; AVX512BW-NEXT:    vpermt2w %zmm7, %zmm12, %zmm137328; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm147329; AVX512BW-NEXT:    vpermt2w %zmm5, %zmm12, %zmm147330; AVX512BW-NEXT:    vmovdqa64 %zmm13, %zmm14 {%k1}7331; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm137332; AVX512BW-NEXT:    vpermt2w %zmm4, %zmm12, %zmm137333; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm127334; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]7335; AVX512BW-NEXT:    vinserti64x4 $0, %ymm12, %zmm14, %zmm127336; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm13 = [5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61]7337; AVX512BW-NEXT:    # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7338; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm147339; AVX512BW-NEXT:    vpermt2w %zmm7, %zmm13, %zmm147340; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm157341; AVX512BW-NEXT:    vpermt2w %zmm5, %zmm13, %zmm157342; AVX512BW-NEXT:    vmovdqa64 %zmm14, %zmm15 {%k1}7343; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm147344; AVX512BW-NEXT:    vpermt2w %zmm4, %zmm13, %zmm147345; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm137346; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm14[4,5,6,7]7347; AVX512BW-NEXT:    vinserti64x4 $0, %ymm13, %zmm15, %zmm137348; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm14 = [6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62]7349; AVX512BW-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7350; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm157351; AVX512BW-NEXT:    vpermt2w %zmm7, %zmm14, %zmm157352; AVX512BW-NEXT:    vmovdqa64 %zmm3, %zmm167353; AVX512BW-NEXT:    vpermt2w %zmm5, %zmm14, %zmm167354; AVX512BW-NEXT:    vmovdqa64 %zmm15, %zmm16 {%k1}7355; AVX512BW-NEXT:    vmovdqa64 %zmm1, %zmm157356; AVX512BW-NEXT:    vpermt2w %zmm4, %zmm14, %zmm157357; AVX512BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm147358; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm15[4,5,6,7]7359; AVX512BW-NEXT:    vinserti64x4 $0, %ymm14, %zmm16, %zmm147360; AVX512BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm15 = [7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63]7361; AVX512BW-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7362; AVX512BW-NEXT:    vpermt2w %zmm7, %zmm15, %zmm67363; AVX512BW-NEXT:    vpermt2w %zmm5, %zmm15, %zmm37364; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm3 {%k1}7365; AVX512BW-NEXT:    vpermt2w %zmm4, %zmm15, %zmm17366; AVX512BW-NEXT:    vpermt2w %zmm2, %zmm15, %zmm07367; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7368; AVX512BW-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm07369; AVX512BW-NEXT:    vmovdqa64 %zmm8, (%rsi)7370; AVX512BW-NEXT:    vmovdqa64 %zmm9, (%rdx)7371; AVX512BW-NEXT:    vmovdqa64 %zmm10, (%rcx)7372; AVX512BW-NEXT:    vmovdqa64 %zmm11, (%r8)7373; AVX512BW-NEXT:    vmovdqa64 %zmm12, (%r9)7374; AVX512BW-NEXT:    vmovdqa64 %zmm13, (%r11)7375; AVX512BW-NEXT:    vmovdqa64 %zmm14, (%r10)7376; AVX512BW-NEXT:    vmovdqa64 %zmm0, (%rax)7377; AVX512BW-NEXT:    vzeroupper7378; AVX512BW-NEXT:    retq7379;7380; AVX512BW-FCP-LABEL: load_i16_stride8_vf32:7381; AVX512BW-FCP:       # %bb.0:7382; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7383; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r107384; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r117385; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm07386; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm27387; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm17388; AVX512BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm47389; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm57390; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm37391; AVX512BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm77392; AVX512BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm67393; AVX512BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56]7394; AVX512BW-FCP-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7395; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm97396; AVX512BW-FCP-NEXT:    vpermt2w %zmm7, %zmm8, %zmm97397; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm107398; AVX512BW-FCP-NEXT:    vpermt2w %zmm5, %zmm8, %zmm107399; AVX512BW-FCP-NEXT:    movb $-64, %dil7400; AVX512BW-FCP-NEXT:    kmovd %edi, %k17401; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, %zmm10 {%k1}7402; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm97403; AVX512BW-FCP-NEXT:    vpermt2w %zmm4, %zmm8, %zmm97404; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm87405; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]7406; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm8, %zmm10, %zmm87407; AVX512BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm9 = [1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57]7408; AVX512BW-FCP-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7409; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm107410; AVX512BW-FCP-NEXT:    vpermt2w %zmm7, %zmm9, %zmm107411; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm117412; AVX512BW-FCP-NEXT:    vpermt2w %zmm5, %zmm9, %zmm117413; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm10, %zmm11 {%k1}7414; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm107415; AVX512BW-FCP-NEXT:    vpermt2w %zmm4, %zmm9, %zmm107416; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm97417; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm10[4,5,6,7]7418; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm9, %zmm11, %zmm97419; AVX512BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58]7420; AVX512BW-FCP-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7421; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm117422; AVX512BW-FCP-NEXT:    vpermt2w %zmm7, %zmm10, %zmm117423; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm127424; AVX512BW-FCP-NEXT:    vpermt2w %zmm5, %zmm10, %zmm127425; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm12 {%k1}7426; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm117427; AVX512BW-FCP-NEXT:    vpermt2w %zmm4, %zmm10, %zmm117428; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm107429; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]7430; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm10, %zmm12, %zmm107431; AVX512BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm11 = [3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59]7432; AVX512BW-FCP-NEXT:    # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7433; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm127434; AVX512BW-FCP-NEXT:    vpermt2w %zmm7, %zmm11, %zmm127435; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm137436; AVX512BW-FCP-NEXT:    vpermt2w %zmm5, %zmm11, %zmm137437; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm12, %zmm13 {%k1}7438; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm127439; AVX512BW-FCP-NEXT:    vpermt2w %zmm4, %zmm11, %zmm127440; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm117441; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]7442; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm11, %zmm13, %zmm117443; AVX512BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm12 = [4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60]7444; AVX512BW-FCP-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7445; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm137446; AVX512BW-FCP-NEXT:    vpermt2w %zmm7, %zmm12, %zmm137447; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm147448; AVX512BW-FCP-NEXT:    vpermt2w %zmm5, %zmm12, %zmm147449; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm14 {%k1}7450; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm137451; AVX512BW-FCP-NEXT:    vpermt2w %zmm4, %zmm12, %zmm137452; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm127453; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]7454; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm12, %zmm14, %zmm127455; AVX512BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm13 = [5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61]7456; AVX512BW-FCP-NEXT:    # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7457; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm147458; AVX512BW-FCP-NEXT:    vpermt2w %zmm7, %zmm13, %zmm147459; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm157460; AVX512BW-FCP-NEXT:    vpermt2w %zmm5, %zmm13, %zmm157461; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm14, %zmm15 {%k1}7462; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm147463; AVX512BW-FCP-NEXT:    vpermt2w %zmm4, %zmm13, %zmm147464; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm137465; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm14[4,5,6,7]7466; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm13, %zmm15, %zmm137467; AVX512BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm14 = [6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62]7468; AVX512BW-FCP-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7469; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm157470; AVX512BW-FCP-NEXT:    vpermt2w %zmm7, %zmm14, %zmm157471; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm167472; AVX512BW-FCP-NEXT:    vpermt2w %zmm5, %zmm14, %zmm167473; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm15, %zmm16 {%k1}7474; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm157475; AVX512BW-FCP-NEXT:    vpermt2w %zmm4, %zmm14, %zmm157476; AVX512BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm147477; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm15[4,5,6,7]7478; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm14, %zmm16, %zmm147479; AVX512BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm15 = [7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63]7480; AVX512BW-FCP-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7481; AVX512BW-FCP-NEXT:    vpermt2w %zmm7, %zmm15, %zmm67482; AVX512BW-FCP-NEXT:    vpermt2w %zmm5, %zmm15, %zmm37483; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm3 {%k1}7484; AVX512BW-FCP-NEXT:    vpermt2w %zmm4, %zmm15, %zmm17485; AVX512BW-FCP-NEXT:    vpermt2w %zmm2, %zmm15, %zmm07486; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7487; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm07488; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm8, (%rsi)7489; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm9, (%rdx)7490; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm10, (%rcx)7491; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm11, (%r8)7492; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm12, (%r9)7493; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, (%r11)7494; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm14, (%r10)7495; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, (%rax)7496; AVX512BW-FCP-NEXT:    vzeroupper7497; AVX512BW-FCP-NEXT:    retq7498;7499; AVX512DQ-BW-LABEL: load_i16_stride8_vf32:7500; AVX512DQ-BW:       # %bb.0:7501; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax7502; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r107503; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r117504; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm07505; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm27506; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm17507; AVX512DQ-BW-NEXT:    vmovdqa64 192(%rdi), %zmm47508; AVX512DQ-BW-NEXT:    vmovdqa64 320(%rdi), %zmm57509; AVX512DQ-BW-NEXT:    vmovdqa64 256(%rdi), %zmm37510; AVX512DQ-BW-NEXT:    vmovdqa64 448(%rdi), %zmm77511; AVX512DQ-BW-NEXT:    vmovdqa64 384(%rdi), %zmm67512; AVX512DQ-BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56]7513; AVX512DQ-BW-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7514; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm97515; AVX512DQ-BW-NEXT:    vpermt2w %zmm7, %zmm8, %zmm97516; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm107517; AVX512DQ-BW-NEXT:    vpermt2w %zmm5, %zmm8, %zmm107518; AVX512DQ-BW-NEXT:    movb $-64, %dil7519; AVX512DQ-BW-NEXT:    kmovd %edi, %k17520; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, %zmm10 {%k1}7521; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm97522; AVX512DQ-BW-NEXT:    vpermt2w %zmm4, %zmm8, %zmm97523; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm87524; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]7525; AVX512DQ-BW-NEXT:    vinserti64x4 $0, %ymm8, %zmm10, %zmm87526; AVX512DQ-BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm9 = [1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57]7527; AVX512DQ-BW-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7528; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm107529; AVX512DQ-BW-NEXT:    vpermt2w %zmm7, %zmm9, %zmm107530; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm117531; AVX512DQ-BW-NEXT:    vpermt2w %zmm5, %zmm9, %zmm117532; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm10, %zmm11 {%k1}7533; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm107534; AVX512DQ-BW-NEXT:    vpermt2w %zmm4, %zmm9, %zmm107535; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm97536; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm10[4,5,6,7]7537; AVX512DQ-BW-NEXT:    vinserti64x4 $0, %ymm9, %zmm11, %zmm97538; AVX512DQ-BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58]7539; AVX512DQ-BW-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7540; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm117541; AVX512DQ-BW-NEXT:    vpermt2w %zmm7, %zmm10, %zmm117542; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm127543; AVX512DQ-BW-NEXT:    vpermt2w %zmm5, %zmm10, %zmm127544; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, %zmm12 {%k1}7545; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm117546; AVX512DQ-BW-NEXT:    vpermt2w %zmm4, %zmm10, %zmm117547; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm107548; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]7549; AVX512DQ-BW-NEXT:    vinserti64x4 $0, %ymm10, %zmm12, %zmm107550; AVX512DQ-BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm11 = [3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59]7551; AVX512DQ-BW-NEXT:    # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7552; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm127553; AVX512DQ-BW-NEXT:    vpermt2w %zmm7, %zmm11, %zmm127554; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm137555; AVX512DQ-BW-NEXT:    vpermt2w %zmm5, %zmm11, %zmm137556; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm12, %zmm13 {%k1}7557; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm127558; AVX512DQ-BW-NEXT:    vpermt2w %zmm4, %zmm11, %zmm127559; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm117560; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]7561; AVX512DQ-BW-NEXT:    vinserti64x4 $0, %ymm11, %zmm13, %zmm117562; AVX512DQ-BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm12 = [4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60]7563; AVX512DQ-BW-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7564; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm137565; AVX512DQ-BW-NEXT:    vpermt2w %zmm7, %zmm12, %zmm137566; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm147567; AVX512DQ-BW-NEXT:    vpermt2w %zmm5, %zmm12, %zmm147568; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, %zmm14 {%k1}7569; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm137570; AVX512DQ-BW-NEXT:    vpermt2w %zmm4, %zmm12, %zmm137571; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm127572; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]7573; AVX512DQ-BW-NEXT:    vinserti64x4 $0, %ymm12, %zmm14, %zmm127574; AVX512DQ-BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm13 = [5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61]7575; AVX512DQ-BW-NEXT:    # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7576; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm147577; AVX512DQ-BW-NEXT:    vpermt2w %zmm7, %zmm13, %zmm147578; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm157579; AVX512DQ-BW-NEXT:    vpermt2w %zmm5, %zmm13, %zmm157580; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm14, %zmm15 {%k1}7581; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm147582; AVX512DQ-BW-NEXT:    vpermt2w %zmm4, %zmm13, %zmm147583; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm137584; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm14[4,5,6,7]7585; AVX512DQ-BW-NEXT:    vinserti64x4 $0, %ymm13, %zmm15, %zmm137586; AVX512DQ-BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm14 = [6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62]7587; AVX512DQ-BW-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7588; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm157589; AVX512DQ-BW-NEXT:    vpermt2w %zmm7, %zmm14, %zmm157590; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm3, %zmm167591; AVX512DQ-BW-NEXT:    vpermt2w %zmm5, %zmm14, %zmm167592; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm15, %zmm16 {%k1}7593; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, %zmm157594; AVX512DQ-BW-NEXT:    vpermt2w %zmm4, %zmm14, %zmm157595; AVX512DQ-BW-NEXT:    vpermi2w %zmm2, %zmm0, %zmm147596; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm15[4,5,6,7]7597; AVX512DQ-BW-NEXT:    vinserti64x4 $0, %ymm14, %zmm16, %zmm147598; AVX512DQ-BW-NEXT:    vbroadcasti32x4 {{.*#+}} zmm15 = [7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63]7599; AVX512DQ-BW-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7600; AVX512DQ-BW-NEXT:    vpermt2w %zmm7, %zmm15, %zmm67601; AVX512DQ-BW-NEXT:    vpermt2w %zmm5, %zmm15, %zmm37602; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm6, %zmm3 {%k1}7603; AVX512DQ-BW-NEXT:    vpermt2w %zmm4, %zmm15, %zmm17604; AVX512DQ-BW-NEXT:    vpermt2w %zmm2, %zmm15, %zmm07605; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7606; AVX512DQ-BW-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm07607; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm8, (%rsi)7608; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, (%rdx)7609; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm10, (%rcx)7610; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm11, (%r8)7611; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm12, (%r9)7612; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm13, (%r11)7613; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm14, (%r10)7614; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, (%rax)7615; AVX512DQ-BW-NEXT:    vzeroupper7616; AVX512DQ-BW-NEXT:    retq7617;7618; AVX512DQ-BW-FCP-LABEL: load_i16_stride8_vf32:7619; AVX512DQ-BW-FCP:       # %bb.0:7620; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7621; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r107622; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r117623; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm07624; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm27625; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 128(%rdi), %zmm17626; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %zmm47627; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm57628; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm37629; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 448(%rdi), %zmm77630; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 384(%rdi), %zmm67631; AVX512DQ-BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm8 = [0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56,0,8,16,24,32,40,48,56]7632; AVX512DQ-BW-FCP-NEXT:    # zmm8 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7633; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm97634; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm7, %zmm8, %zmm97635; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm107636; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm5, %zmm8, %zmm107637; AVX512DQ-BW-FCP-NEXT:    movb $-64, %dil7638; AVX512DQ-BW-FCP-NEXT:    kmovd %edi, %k17639; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, %zmm10 {%k1}7640; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm97641; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm4, %zmm8, %zmm97642; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm87643; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3],ymm9[4,5,6,7]7644; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $0, %ymm8, %zmm10, %zmm87645; AVX512DQ-BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm9 = [1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57,1,9,17,25,33,41,49,57]7646; AVX512DQ-BW-FCP-NEXT:    # zmm9 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7647; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm107648; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm7, %zmm9, %zmm107649; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm117650; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm5, %zmm9, %zmm117651; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm10, %zmm11 {%k1}7652; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm107653; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm4, %zmm9, %zmm107654; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm97655; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3],ymm10[4,5,6,7]7656; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $0, %ymm9, %zmm11, %zmm97657; AVX512DQ-BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm10 = [2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58,2,10,18,26,34,42,50,58]7658; AVX512DQ-BW-FCP-NEXT:    # zmm10 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7659; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm117660; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm7, %zmm10, %zmm117661; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm127662; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm5, %zmm10, %zmm127663; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, %zmm12 {%k1}7664; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm117665; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm4, %zmm10, %zmm117666; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm107667; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]7668; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $0, %ymm10, %zmm12, %zmm107669; AVX512DQ-BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm11 = [3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59,3,11,19,27,35,43,51,59]7670; AVX512DQ-BW-FCP-NEXT:    # zmm11 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7671; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm127672; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm7, %zmm11, %zmm127673; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm137674; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm5, %zmm11, %zmm137675; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm12, %zmm13 {%k1}7676; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm127677; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm4, %zmm11, %zmm127678; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm117679; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3],ymm12[4,5,6,7]7680; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $0, %ymm11, %zmm13, %zmm117681; AVX512DQ-BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm12 = [4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60,4,12,20,28,36,44,52,60]7682; AVX512DQ-BW-FCP-NEXT:    # zmm12 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7683; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm137684; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm7, %zmm12, %zmm137685; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm147686; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm5, %zmm12, %zmm147687; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, %zmm14 {%k1}7688; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm137689; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm4, %zmm12, %zmm137690; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm127691; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]7692; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $0, %ymm12, %zmm14, %zmm127693; AVX512DQ-BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm13 = [5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61,5,13,21,29,37,45,53,61]7694; AVX512DQ-BW-FCP-NEXT:    # zmm13 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7695; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm147696; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm7, %zmm13, %zmm147697; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm157698; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm5, %zmm13, %zmm157699; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm14, %zmm15 {%k1}7700; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm147701; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm4, %zmm13, %zmm147702; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm137703; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3],ymm14[4,5,6,7]7704; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $0, %ymm13, %zmm15, %zmm137705; AVX512DQ-BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm14 = [6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62,6,14,22,30,38,46,54,62]7706; AVX512DQ-BW-FCP-NEXT:    # zmm14 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7707; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm157708; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm7, %zmm14, %zmm157709; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm3, %zmm167710; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm5, %zmm14, %zmm167711; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm15, %zmm16 {%k1}7712; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, %zmm157713; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm4, %zmm14, %zmm157714; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm2, %zmm0, %zmm147715; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm15[4,5,6,7]7716; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $0, %ymm14, %zmm16, %zmm147717; AVX512DQ-BW-FCP-NEXT:    vbroadcasti32x4 {{.*#+}} zmm15 = [7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63,7,15,23,31,39,47,55,63]7718; AVX512DQ-BW-FCP-NEXT:    # zmm15 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]7719; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm7, %zmm15, %zmm67720; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm5, %zmm15, %zmm37721; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm6, %zmm3 {%k1}7722; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm4, %zmm15, %zmm17723; AVX512DQ-BW-FCP-NEXT:    vpermt2w %zmm2, %zmm15, %zmm07724; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7725; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm07726; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm8, (%rsi)7727; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm9, (%rdx)7728; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm10, (%rcx)7729; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm11, (%r8)7730; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm12, (%r9)7731; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, (%r11)7732; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm14, (%r10)7733; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, (%rax)7734; AVX512DQ-BW-FCP-NEXT:    vzeroupper7735; AVX512DQ-BW-FCP-NEXT:    retq7736  %wide.vec = load <256 x i16>, ptr %in.vec, align 647737  %strided.vec0 = shufflevector <256 x i16> %wide.vec, <256 x i16> 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>7738  %strided.vec1 = shufflevector <256 x i16> %wide.vec, <256 x i16> 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>7739  %strided.vec2 = shufflevector <256 x i16> %wide.vec, <256 x i16> 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>7740  %strided.vec3 = shufflevector <256 x i16> %wide.vec, <256 x i16> 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>7741  %strided.vec4 = shufflevector <256 x i16> %wide.vec, <256 x i16> 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>7742  %strided.vec5 = shufflevector <256 x i16> %wide.vec, <256 x i16> 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>7743  %strided.vec6 = shufflevector <256 x i16> %wide.vec, <256 x i16> 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>7744  %strided.vec7 = shufflevector <256 x i16> %wide.vec, <256 x i16> 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>7745  store <32 x i16> %strided.vec0, ptr %out.vec0, align 647746  store <32 x i16> %strided.vec1, ptr %out.vec1, align 647747  store <32 x i16> %strided.vec2, ptr %out.vec2, align 647748  store <32 x i16> %strided.vec3, ptr %out.vec3, align 647749  store <32 x i16> %strided.vec4, ptr %out.vec4, align 647750  store <32 x i16> %strided.vec5, ptr %out.vec5, align 647751  store <32 x i16> %strided.vec6, ptr %out.vec6, align 647752  store <32 x i16> %strided.vec7, ptr %out.vec7, align 647753  ret void7754}7755 7756define void @load_i16_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 {7757; SSE-LABEL: load_i16_stride8_vf64:7758; SSE:       # %bb.0:7759; SSE-NEXT:    subq $1800, %rsp # imm = 0x7087760; SSE-NEXT:    movdqa 752(%rdi), %xmm27761; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7762; SSE-NEXT:    movdqa 736(%rdi), %xmm37763; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7764; SSE-NEXT:    movdqa 208(%rdi), %xmm17765; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7766; SSE-NEXT:    movdqa 192(%rdi), %xmm47767; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7768; SSE-NEXT:    movdqa 240(%rdi), %xmm57769; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7770; SSE-NEXT:    movdqa 224(%rdi), %xmm67771; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7772; SSE-NEXT:    movdqa 144(%rdi), %xmm77773; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7774; SSE-NEXT:    movdqa 128(%rdi), %xmm87775; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7776; SSE-NEXT:    movdqa 176(%rdi), %xmm97777; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7778; SSE-NEXT:    movdqa 160(%rdi), %xmm07779; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7780; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm9[0],xmm0[1],xmm9[1],xmm0[2],xmm9[2],xmm0[3],xmm9[3]7781; SSE-NEXT:    movdqa %xmm0, %xmm97782; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm7[0],xmm8[1],xmm7[1],xmm8[2],xmm7[2],xmm8[3],xmm7[3]7783; SSE-NEXT:    punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]7784; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm6[0,0,0,0]7785; SSE-NEXT:    movdqa %xmm6, %xmm127786; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]7787; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7788; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[0,0,0,0]7789; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]7790; SSE-NEXT:    movdqa %xmm8, %xmm07791; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7792; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm9[0],xmm0[1],xmm9[1]7793; SSE-NEXT:    movdqa %xmm9, %xmm77794; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]7795; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7796; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]7797; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7798; SSE-NEXT:    movdqa 720(%rdi), %xmm07799; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7800; SSE-NEXT:    movdqa 704(%rdi), %xmm17801; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7802; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]7803; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7804; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[0,0,0,0]7805; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]7806; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]7807; SSE-NEXT:    movdqa 688(%rdi), %xmm27808; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7809; SSE-NEXT:    movdqa 672(%rdi), %xmm37810; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7811; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]7812; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7813; SSE-NEXT:    movdqa 656(%rdi), %xmm27814; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7815; SSE-NEXT:    movdqa 640(%rdi), %xmm07816; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7817; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]7818; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7819; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]7820; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]7821; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7822; SSE-NEXT:    movdqa 624(%rdi), %xmm07823; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7824; SSE-NEXT:    movdqa 608(%rdi), %xmm27825; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7826; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]7827; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7828; SSE-NEXT:    movdqa 592(%rdi), %xmm07829; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7830; SSE-NEXT:    movdqa 576(%rdi), %xmm17831; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7832; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]7833; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7834; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,0,0,0]7835; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]7836; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]7837; SSE-NEXT:    movdqa 560(%rdi), %xmm27838; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7839; SSE-NEXT:    movdqa 544(%rdi), %xmm37840; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7841; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]7842; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7843; SSE-NEXT:    movdqa 528(%rdi), %xmm27844; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7845; SSE-NEXT:    movdqa 512(%rdi), %xmm07846; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7847; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]7848; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7849; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]7850; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]7851; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7852; SSE-NEXT:    movdqa 496(%rdi), %xmm07853; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7854; SSE-NEXT:    movdqa 480(%rdi), %xmm17855; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7856; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]7857; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7858; SSE-NEXT:    movdqa 464(%rdi), %xmm07859; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7860; SSE-NEXT:    movdqa 448(%rdi), %xmm107861; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7862; SSE-NEXT:    punpcklwd {{.*#+}} xmm10 = xmm10[0],xmm0[0],xmm10[1],xmm0[1],xmm10[2],xmm0[2],xmm10[3],xmm0[3]7863; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7864; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[0,0,0,0]7865; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm10[0,0,0,0]7866; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]7867; SSE-NEXT:    movdqa 432(%rdi), %xmm27868; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7869; SSE-NEXT:    movdqa 416(%rdi), %xmm37870; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7871; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]7872; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7873; SSE-NEXT:    movdqa 400(%rdi), %xmm27874; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7875; SSE-NEXT:    movdqa 384(%rdi), %xmm07876; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7877; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]7878; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7879; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]7880; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]7881; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7882; SSE-NEXT:    movdqa 1008(%rdi), %xmm07883; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7884; SSE-NEXT:    movdqa 992(%rdi), %xmm17885; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7886; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]7887; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7888; SSE-NEXT:    movdqa 976(%rdi), %xmm07889; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7890; SSE-NEXT:    movdqa 960(%rdi), %xmm137891; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7892; SSE-NEXT:    punpcklwd {{.*#+}} xmm13 = xmm13[0],xmm0[0],xmm13[1],xmm0[1],xmm13[2],xmm0[2],xmm13[3],xmm0[3]7893; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7894; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[0,0,0,0]7895; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm13[0,0,0,0]7896; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]7897; SSE-NEXT:    movdqa 944(%rdi), %xmm27898; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7899; SSE-NEXT:    movdqa 928(%rdi), %xmm37900; SSE-NEXT:    movdqa %xmm3, (%rsp) # 16-byte Spill7901; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]7902; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7903; SSE-NEXT:    movdqa 912(%rdi), %xmm27904; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7905; SSE-NEXT:    movdqa 896(%rdi), %xmm07906; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7907; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]7908; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7909; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]7910; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]7911; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7912; SSE-NEXT:    movdqa 368(%rdi), %xmm07913; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7914; SSE-NEXT:    movdqa 352(%rdi), %xmm17915; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7916; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]7917; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7918; SSE-NEXT:    movdqa 336(%rdi), %xmm07919; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7920; SSE-NEXT:    movdqa 320(%rdi), %xmm107921; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7922; SSE-NEXT:    punpcklwd {{.*#+}} xmm10 = xmm10[0],xmm0[0],xmm10[1],xmm0[1],xmm10[2],xmm0[2],xmm10[3],xmm0[3]7923; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7924; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[0,0,0,0]7925; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm10[0,0,0,0]7926; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]7927; SSE-NEXT:    movdqa 304(%rdi), %xmm27928; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7929; SSE-NEXT:    movdqa 288(%rdi), %xmm37930; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7931; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]7932; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7933; SSE-NEXT:    movdqa 272(%rdi), %xmm07934; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7935; SSE-NEXT:    movdqa 256(%rdi), %xmm147936; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7937; SSE-NEXT:    punpcklwd {{.*#+}} xmm14 = xmm14[0],xmm0[0],xmm14[1],xmm0[1],xmm14[2],xmm0[2],xmm14[3],xmm0[3]7938; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7939; SSE-NEXT:    movdqa %xmm14, %xmm07940; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]7941; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]7942; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7943; SSE-NEXT:    movdqa 880(%rdi), %xmm07944; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7945; SSE-NEXT:    movdqa 864(%rdi), %xmm17946; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7947; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]7948; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7949; SSE-NEXT:    movdqa 848(%rdi), %xmm07950; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7951; SSE-NEXT:    movdqa 832(%rdi), %xmm97952; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7953; SSE-NEXT:    punpcklwd {{.*#+}} xmm9 = xmm9[0],xmm0[0],xmm9[1],xmm0[1],xmm9[2],xmm0[2],xmm9[3],xmm0[3]7954; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7955; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[0,0,0,0]7956; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm9[0,0,0,0]7957; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]7958; SSE-NEXT:    movdqa 816(%rdi), %xmm27959; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7960; SSE-NEXT:    movdqa 800(%rdi), %xmm37961; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7962; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]7963; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7964; SSE-NEXT:    movdqa 784(%rdi), %xmm07965; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7966; SSE-NEXT:    movdqa 768(%rdi), %xmm157967; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7968; SSE-NEXT:    punpcklwd {{.*#+}} xmm15 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]7969; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7970; SSE-NEXT:    movdqa %xmm15, %xmm07971; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]7972; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]7973; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7974; SSE-NEXT:    movdqa 112(%rdi), %xmm07975; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7976; SSE-NEXT:    movdqa 96(%rdi), %xmm137977; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7978; SSE-NEXT:    punpcklwd {{.*#+}} xmm13 = xmm13[0],xmm0[0],xmm13[1],xmm0[1],xmm13[2],xmm0[2],xmm13[3],xmm0[3]7979; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7980; SSE-NEXT:    movdqa 80(%rdi), %xmm07981; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7982; SSE-NEXT:    movdqa 64(%rdi), %xmm57983; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7984; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm0[0],xmm5[1],xmm0[1],xmm5[2],xmm0[2],xmm5[3],xmm0[3]7985; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7986; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm13[0,0,0,0]7987; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm5[0,0,0,0]7988; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm3[2],xmm0[3],xmm3[3]7989; SSE-NEXT:    movdqa 32(%rdi), %xmm27990; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7991; SSE-NEXT:    movdqa 48(%rdi), %xmm17992; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7993; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]7994; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7995; SSE-NEXT:    movdqa (%rdi), %xmm67996; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7997; SSE-NEXT:    movdqa 16(%rdi), %xmm17998; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7999; SSE-NEXT:    punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm1[0],xmm6[1],xmm1[1],xmm6[2],xmm1[2],xmm6[3],xmm1[3]8000; SSE-NEXT:    movdqa %xmm6, %xmm18001; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8002; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]8003; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8004; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8005; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm8[1,1,1,1]8006; SSE-NEXT:    movdqa %xmm7, %xmm148007; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm7[1,1,1,1]8008; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8009; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8010; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload8011; SSE-NEXT:    movdqa %xmm7, %xmm08012; SSE-NEXT:    movdqa %xmm12, %xmm48013; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8014; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm12[0],xmm0[1],xmm12[1]8015; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8016; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8017; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8018; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm12[1,1,1,1]8019; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload8020; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm13[1,1,1,1]8021; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8022; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8023; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8024; SSE-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]8025; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8026; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8027; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload8028; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm10[1,1,1,1]8029; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload8030; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm11[1,1,1,1]8031; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8032; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8033; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8034; SSE-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm15[0],xmm0[1],xmm15[1]8035; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8036; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8037; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8038; SSE-NEXT:    # xmm1 = mem[1,1,1,1]8039; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8040; SSE-NEXT:    # xmm0 = mem[1,1,1,1]8041; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8042; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8043; SSE-NEXT:    unpcklps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8044; SSE-NEXT:    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]8045; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8046; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8047; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload8048; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm9[1,1,1,1]8049; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload8050; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm8[1,1,1,1]8051; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8052; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8053; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8054; SSE-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]8055; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8056; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8057; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8058; SSE-NEXT:    # xmm1 = mem[1,1,1,1]8059; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8060; SSE-NEXT:    # xmm0 = mem[1,1,1,1]8061; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8062; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8063; SSE-NEXT:    unpcklps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8064; SSE-NEXT:    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]8065; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8066; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8067; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8068; SSE-NEXT:    # xmm1 = mem[1,1,1,1]8069; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8070; SSE-NEXT:    # xmm0 = mem[1,1,1,1]8071; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8072; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload8073; SSE-NEXT:    movaps %xmm5, %xmm08074; SSE-NEXT:    unpcklps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8075; SSE-NEXT:    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]8076; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8077; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8078; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm6[1,1,1,1]8079; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload8080; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm6[1,1,1,1]8081; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8082; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8083; SSE-NEXT:    unpcklps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8084; SSE-NEXT:    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]8085; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8086; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8087; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm4[2,2,2,2]8088; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[2,2,2,2]8089; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8090; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8091; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm14[2],xmm0[3],xmm14[3]8092; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8093; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8094; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[2,2,2,2]8095; SSE-NEXT:    pshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8096; SSE-NEXT:    # xmm1 = mem[2,2,2,2]8097; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8098; SSE-NEXT:    punpckhdq {{.*#+}} xmm12 = xmm12[2],xmm13[2],xmm12[3],xmm13[3]8099; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm12[0],xmm1[1]8100; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8101; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm15[2,2,2,2]8102; SSE-NEXT:    pshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8103; SSE-NEXT:    # xmm1 = mem[2,2,2,2]8104; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8105; SSE-NEXT:    punpckhdq {{.*#+}} xmm10 = xmm10[2],xmm11[2],xmm10[3],xmm11[3]8106; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm10[0],xmm1[1]8107; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8108; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload8109; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm10[2,2,2,2]8110; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8111; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm14[2,2,2,2]8112; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8113; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8114; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8115; SSE-NEXT:    unpckhps {{.*#+}} xmm0 = xmm0[2],xmm12[2],xmm0[3],xmm12[3]8116; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8117; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8118; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[2,2,2,2]8119; SSE-NEXT:    pshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8120; SSE-NEXT:    # xmm1 = mem[2,2,2,2]8121; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8122; SSE-NEXT:    punpckhdq {{.*#+}} xmm9 = xmm9[2],xmm8[2],xmm9[3],xmm8[3]8123; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm9[0],xmm1[1]8124; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8125; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload8126; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm13[2,2,2,2]8127; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8128; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm15[2,2,2,2]8129; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8130; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8131; SSE-NEXT:    movapd %xmm4, %xmm08132; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8133; SSE-NEXT:    unpckhps {{.*#+}} xmm0 = xmm0[2],xmm3[2],xmm0[3],xmm3[3]8134; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8135; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8136; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload8137; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm11[2,2,2,2]8138; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm5[2,2,2,2]8139; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8140; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload8141; SSE-NEXT:    movapd %xmm7, %xmm08142; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload8143; SSE-NEXT:    unpckhps {{.*#+}} xmm0 = xmm0[2],xmm8[2],xmm0[3],xmm8[3]8144; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8145; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8146; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload8147; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm9[2,2,2,2]8148; SSE-NEXT:    pshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8149; SSE-NEXT:    # xmm0 = mem[2,2,2,2]8150; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm1[2],xmm0[3],xmm1[3]8151; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload8152; SSE-NEXT:    movdqa %xmm5, %xmm18153; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm6[2],xmm1[3],xmm6[3]8154; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8155; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8156; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8157; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8158; SSE-NEXT:    # xmm2 = xmm2[2],mem[2],xmm2[3],mem[3]8159; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8160; SSE-NEXT:    # xmm1 = mem[3,3,3,3]8161; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8162; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8163; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8164; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]8165; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8166; SSE-NEXT:    movdqa %xmm15, %xmm28167; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm13[2],xmm2[3],xmm13[3]8168; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[3,3,3,3]8169; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[3,3,3,3]8170; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8171; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]8172; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8173; SSE-NEXT:    punpckhdq {{.*#+}} xmm14 = xmm14[2],xmm10[2],xmm14[3],xmm10[3]8174; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8175; SSE-NEXT:    # xmm1 = mem[3,3,3,3]8176; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm12[3,3,3,3]8177; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8178; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm14[2,3]8179; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8180; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8181; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8182; SSE-NEXT:    # xmm2 = xmm2[2],mem[2],xmm2[3],mem[3]8183; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8184; SSE-NEXT:    # xmm1 = mem[3,3,3,3]8185; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8186; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8187; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8188; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]8189; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8190; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8191; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload8192; SSE-NEXT:    # xmm4 = xmm4[2],mem[2],xmm4[3],mem[3]8193; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8194; SSE-NEXT:    # xmm1 = mem[3,3,3,3]8195; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8196; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8197; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8198; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm4[2,3]8199; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8200; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8201; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm11[2],xmm2[3],xmm11[3]8202; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[3,3,3,3]8203; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm8[3,3,3,3]8204; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8205; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]8206; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8207; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8208; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8209; SSE-NEXT:    # xmm2 = xmm2[2],mem[2],xmm2[3],mem[3]8210; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8211; SSE-NEXT:    # xmm1 = mem[3,3,3,3]8212; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8213; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8214; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8215; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]8216; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8217; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8218; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm9[2],xmm2[3],xmm9[3]8219; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm5[3,3,3,3]8220; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm6[3,3,3,3]8221; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8222; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]8223; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8224; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload8225; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload8226; SSE-NEXT:    # xmm6 = xmm6[4],mem[4],xmm6[5],mem[5],xmm6[6],mem[6],xmm6[7],mem[7]8227; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload8228; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Folded Reload8229; SSE-NEXT:    # xmm11 = xmm11[4],mem[4],xmm11[5],mem[5],xmm11[6],mem[6],xmm11[7],mem[7]8230; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8231; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8232; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]8233; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8234; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8235; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8236; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]8237; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8238; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8239; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]8240; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8241; SSE-NEXT:    movdqa %xmm11, %xmm08242; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1]8243; SSE-NEXT:    movdqa %xmm6, %xmm138244; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8245; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8246; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8247; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload8248; SSE-NEXT:    # xmm14 = xmm14[4],mem[4],xmm14[5],mem[5],xmm14[6],mem[6],xmm14[7],mem[7]8249; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8250; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8251; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]8252; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8253; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8254; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8255; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]8256; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8257; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8258; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8259; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]8260; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8261; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8262; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,0,0,0]8263; SSE-NEXT:    punpckhdq {{.*#+}} xmm3 = xmm3[2],xmm0[2],xmm3[3],xmm0[3]8264; SSE-NEXT:    movdqa %xmm2, %xmm08265; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1]8266; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm0[0],xmm3[1]8267; SSE-NEXT:    movapd %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8268; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload8269; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Folded Reload8270; SSE-NEXT:    # xmm10 = xmm10[4],mem[4],xmm10[5],mem[5],xmm10[6],mem[6],xmm10[7],mem[7]8271; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload8272; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload8273; SSE-NEXT:    # xmm6 = xmm6[4],mem[4],xmm6[5],mem[5],xmm6[6],mem[6],xmm6[7],mem[7]8274; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8275; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8276; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]8277; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8278; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8279; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8280; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]8281; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8282; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8283; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]8284; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8285; SSE-NEXT:    movdqa %xmm6, %xmm08286; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm10[0],xmm0[1],xmm10[1]8287; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8288; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8289; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload8290; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload8291; SSE-NEXT:    # xmm8 = xmm8[4],mem[4],xmm8[5],mem[5],xmm8[6],mem[6],xmm8[7],mem[7]8292; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8293; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8294; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]8295; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8296; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8297; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8298; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]8299; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8300; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8301; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8302; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]8303; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8304; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8305; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm3[0,0,0,0]8306; SSE-NEXT:    punpckhdq {{.*#+}} xmm7 = xmm7[2],xmm0[2],xmm7[3],xmm0[3]8307; SSE-NEXT:    movdqa %xmm2, %xmm08308; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1]8309; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm0[0],xmm7[1]8310; SSE-NEXT:    movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8311; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8312; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload8313; SSE-NEXT:    # xmm4 = xmm4[4],mem[4],xmm4[5],mem[5],xmm4[6],mem[6],xmm4[7],mem[7]8314; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload8315; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload8316; SSE-NEXT:    # xmm5 = xmm5[4],mem[4],xmm5[5],mem[5],xmm5[6],mem[6],xmm5[7],mem[7]8317; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8318; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8319; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]8320; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8321; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8322; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8323; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]8324; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8325; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8326; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm2[0,0,0,0]8327; SSE-NEXT:    punpckhdq {{.*#+}} xmm9 = xmm9[2],xmm0[2],xmm9[3],xmm0[3]8328; SSE-NEXT:    movdqa %xmm5, %xmm08329; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8330; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1]8331; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8332; SSE-NEXT:    movsd {{.*#+}} xmm9 = xmm0[0],xmm9[1]8333; SSE-NEXT:    movapd %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8334; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload8335; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload8336; SSE-NEXT:    # xmm7 = xmm7[4],mem[4],xmm7[5],mem[5],xmm7[6],mem[6],xmm7[7],mem[7]8337; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8338; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8339; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8340; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]8341; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8342; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8343; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload8344; SSE-NEXT:    # xmm12 = xmm12[4],mem[4],xmm12[5],mem[5],xmm12[6],mem[6],xmm12[7],mem[7]8345; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8346; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8347; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]8348; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8349; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm12[0,0,0,0]8350; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8351; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,0,0,0]8352; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8353; SSE-NEXT:    movdqa %xmm2, %xmm08354; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm7[0],xmm0[1],xmm7[1]8355; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8356; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8357; SSE-NEXT:    movdqa (%rsp), %xmm2 # 16-byte Reload8358; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8359; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]8360; SSE-NEXT:    movdqa %xmm2, (%rsp) # 16-byte Spill8361; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8362; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8363; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]8364; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8365; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8366; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8367; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]8368; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8369; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8370; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8371; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]8372; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8373; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8374; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]8375; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8376; SSE-NEXT:    movdqa %xmm3, %xmm08377; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]8378; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8379; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8380; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8381; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8382; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]8383; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8384; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8385; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8386; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]8387; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8388; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8389; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]8390; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8391; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8392; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8393; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]8394; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8395; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload8396; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload8397; SSE-NEXT:    # xmm7 = xmm7[4],mem[4],xmm7[5],mem[5],xmm7[6],mem[6],xmm7[7],mem[7]8398; SSE-NEXT:    movdqa %xmm7, %xmm28399; SSE-NEXT:    movdqa %xmm7, %xmm38400; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8401; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]8402; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm1[2,3]8403; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8404; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8405; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm11[1,1,1,1]8406; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8407; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm13[1,1,1,1]8408; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8409; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload8410; SSE-NEXT:    movaps %xmm13, %xmm08411; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload8412; SSE-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm11[0],xmm0[1],xmm11[1]8413; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8414; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8415; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8416; SSE-NEXT:    # xmm2 = mem[1,1,1,1]8417; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8418; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm14[1,1,1,1]8419; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]8420; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload8421; SSE-NEXT:    movaps %xmm7, %xmm08422; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8423; SSE-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1]8424; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm0[2,3]8425; SSE-NEXT:    movaps %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8426; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8427; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm6[1,1,1,1]8428; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8429; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm10[1,1,1,1]8430; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8431; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload8432; SSE-NEXT:    movaps %xmm10, %xmm08433; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload8434; SSE-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm9[0],xmm0[1],xmm9[1]8435; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8436; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8437; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8438; SSE-NEXT:    # xmm1 = mem[1,1,1,1]8439; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8440; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm8[1,1,1,1]8441; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8442; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload8443; SSE-NEXT:    movaps %xmm8, %xmm08444; SSE-NEXT:    unpcklps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8445; SSE-NEXT:    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]8446; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8447; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8448; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm5[1,1,1,1]8449; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm4[1,1,1,1]8450; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8451; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8452; SSE-NEXT:    unpcklps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8453; SSE-NEXT:    # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]8454; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8455; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8456; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8457; SSE-NEXT:    # xmm1 = mem[1,1,1,1]8458; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8459; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm15[1,1,1,1]8460; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8461; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload8462; SSE-NEXT:    movdqa %xmm6, %xmm08463; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm12[0],xmm0[1],xmm12[1]8464; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8465; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8466; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8467; SSE-NEXT:    # xmm1 = mem[1,1,1,1]8468; SSE-NEXT:    pshufd $85, (%rsp), %xmm0 # 16-byte Folded Reload8469; SSE-NEXT:    # xmm0 = mem[1,1,1,1]8470; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8471; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload8472; SSE-NEXT:    movaps %xmm5, %xmm08473; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8474; SSE-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1]8475; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8476; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8477; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[1,1,1,1]8478; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8479; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm12[1,1,1,1]8480; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8481; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8482; SSE-NEXT:    movaps %xmm3, %xmm08483; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8484; SSE-NEXT:    unpcklps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]8485; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm0[2,3]8486; SSE-NEXT:    movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8487; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm11[2,2,2,2]8488; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm13[2,2,2,2]8489; SSE-NEXT:    punpckhdq {{.*#+}} xmm11 = xmm11[2],xmm0[2],xmm11[3],xmm0[3]8490; SSE-NEXT:    movdqa %xmm11, %xmm18491; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8492; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8493; SSE-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]8494; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8495; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8496; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]8497; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[2,2,2,2]8498; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8499; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8500; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8501; SSE-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]8502; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8503; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8504; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm9[2,2,2,2]8505; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm10[2,2,2,2]8506; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8507; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8508; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8509; SSE-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]8510; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8511; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8512; SSE-NEXT:    pshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8513; SSE-NEXT:    # xmm0 = mem[2,2,2,2]8514; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm8[2,2,2,2]8515; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8516; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8517; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8518; SSE-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]8519; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8520; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8521; SSE-NEXT:    pshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8522; SSE-NEXT:    # xmm0 = mem[2,2,2,2]8523; SSE-NEXT:    pshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Folded Reload8524; SSE-NEXT:    # xmm11 = mem[2,2,2,2]8525; SSE-NEXT:    punpckhdq {{.*#+}} xmm11 = xmm11[2],xmm0[2],xmm11[3],xmm0[3]8526; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8527; SSE-NEXT:    movapd %xmm14, %xmm08528; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8529; SSE-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]8530; SSE-NEXT:    movsd {{.*#+}} xmm11 = xmm0[0],xmm11[1]8531; SSE-NEXT:    pshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8532; SSE-NEXT:    # xmm0 = mem[2,2,2,2]8533; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm6[2,2,2,2]8534; SSE-NEXT:    punpckhdq {{.*#+}} xmm10 = xmm10[2],xmm0[2],xmm10[3],xmm0[3]8535; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8536; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm15[2],xmm0[3],xmm15[3]8537; SSE-NEXT:    movsd {{.*#+}} xmm10 = xmm0[0],xmm10[1]8538; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm4[2,2,2,2]8539; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm5[2,2,2,2]8540; SSE-NEXT:    punpckhdq {{.*#+}} xmm9 = xmm9[2],xmm0[2],xmm9[3],xmm0[3]8541; SSE-NEXT:    movapd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8542; SSE-NEXT:    unpckhps (%rsp), %xmm0 # 16-byte Folded Reload8543; SSE-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]8544; SSE-NEXT:    movsd {{.*#+}} xmm9 = xmm0[0],xmm9[1]8545; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[2,2,2,2]8546; SSE-NEXT:    movaps %xmm2, %xmm158547; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[2,2,2,2]8548; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]8549; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload8550; SSE-NEXT:    movdqa %xmm13, %xmm78551; SSE-NEXT:    punpckhdq {{.*#+}} xmm7 = xmm7[2],xmm12[2],xmm7[3],xmm12[3]8552; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,1],xmm1[2,3]8553; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8554; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8555; SSE-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]8556; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload8557; SSE-NEXT:    # xmm8 = mem[3,3,3,3]8558; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8559; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8560; SSE-NEXT:    punpckldq {{.*#+}} xmm8 = xmm8[0],xmm0[0],xmm8[1],xmm0[1]8561; SSE-NEXT:    shufps {{.*#+}} xmm8 = xmm8[0,1],xmm1[2,3]8562; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8563; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8564; SSE-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]8565; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload8566; SSE-NEXT:    # xmm6 = mem[3,3,3,3]8567; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8568; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8569; SSE-NEXT:    punpckldq {{.*#+}} xmm6 = xmm6[0],xmm0[0],xmm6[1],xmm0[1]8570; SSE-NEXT:    shufps {{.*#+}} xmm6 = xmm6[0,1],xmm1[2,3]8571; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8572; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8573; SSE-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]8574; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload8575; SSE-NEXT:    # xmm5 = mem[3,3,3,3]8576; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8577; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8578; SSE-NEXT:    punpckldq {{.*#+}} xmm5 = xmm5[0],xmm0[0],xmm5[1],xmm0[1]8579; SSE-NEXT:    shufps {{.*#+}} xmm5 = xmm5[0,1],xmm1[2,3]8580; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8581; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8582; SSE-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]8583; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload8584; SSE-NEXT:    # xmm4 = mem[3,3,3,3]8585; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8586; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8587; SSE-NEXT:    punpckldq {{.*#+}} xmm4 = xmm4[0],xmm0[0],xmm4[1],xmm0[1]8588; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,1],xmm1[2,3]8589; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8590; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8591; SSE-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]8592; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm14[3,3,3,3]8593; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8594; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8595; SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1]8596; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,1],xmm1[2,3]8597; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8598; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8599; SSE-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]8600; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8601; SSE-NEXT:    # xmm2 = mem[3,3,3,3]8602; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8603; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8604; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]8605; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm1[2,3]8606; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8607; SSE-NEXT:    unpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload8608; SSE-NEXT:    # xmm12 = xmm12[2],mem[2],xmm12[3],mem[3]8609; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8610; SSE-NEXT:    # xmm1 = mem[3,3,3,3]8611; SSE-NEXT:    pshufd $255, (%rsp), %xmm0 # 16-byte Folded Reload8612; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8613; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8614; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm12[2,3]8615; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8616; SSE-NEXT:    unpckhps {{.*#+}} xmm12 = xmm12[2],xmm15[2],xmm12[3],xmm15[3]8617; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm13[3,3,3,3]8618; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload8619; SSE-NEXT:    # xmm15 = mem[3,3,3,3]8620; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm15[0],xmm0[1],xmm15[1]8621; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm12[2,3]8622; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8623; SSE-NEXT:    movaps %xmm15, 96(%rsi)8624; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8625; SSE-NEXT:    movaps %xmm15, 32(%rsi)8626; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8627; SSE-NEXT:    movaps %xmm15, 112(%rsi)8628; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8629; SSE-NEXT:    movaps %xmm15, 48(%rsi)8630; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8631; SSE-NEXT:    movaps %xmm15, 64(%rsi)8632; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8633; SSE-NEXT:    movaps %xmm15, (%rsi)8634; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8635; SSE-NEXT:    movaps %xmm15, 80(%rsi)8636; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8637; SSE-NEXT:    movaps %xmm15, 16(%rsi)8638; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8639; SSE-NEXT:    movaps %xmm15, 96(%rdx)8640; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8641; SSE-NEXT:    movaps %xmm15, 32(%rdx)8642; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8643; SSE-NEXT:    movaps %xmm15, 112(%rdx)8644; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8645; SSE-NEXT:    movaps %xmm15, 48(%rdx)8646; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8647; SSE-NEXT:    movaps %xmm15, 64(%rdx)8648; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8649; SSE-NEXT:    movaps %xmm15, (%rdx)8650; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8651; SSE-NEXT:    movaps %xmm15, 80(%rdx)8652; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8653; SSE-NEXT:    movaps %xmm15, 16(%rdx)8654; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8655; SSE-NEXT:    movaps %xmm15, 96(%rcx)8656; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8657; SSE-NEXT:    movaps %xmm15, 32(%rcx)8658; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8659; SSE-NEXT:    movaps %xmm15, 112(%rcx)8660; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8661; SSE-NEXT:    movaps %xmm15, 48(%rcx)8662; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8663; SSE-NEXT:    movaps %xmm15, 64(%rcx)8664; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8665; SSE-NEXT:    movaps %xmm15, (%rcx)8666; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8667; SSE-NEXT:    movaps %xmm15, 80(%rcx)8668; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8669; SSE-NEXT:    movaps %xmm15, 16(%rcx)8670; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8671; SSE-NEXT:    movaps %xmm15, 112(%r8)8672; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8673; SSE-NEXT:    movaps %xmm15, 96(%r8)8674; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8675; SSE-NEXT:    movaps %xmm15, 80(%r8)8676; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8677; SSE-NEXT:    movaps %xmm15, 64(%r8)8678; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8679; SSE-NEXT:    movaps %xmm15, 48(%r8)8680; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8681; SSE-NEXT:    movaps %xmm15, 32(%r8)8682; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8683; SSE-NEXT:    movaps %xmm15, 16(%r8)8684; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8685; SSE-NEXT:    movaps %xmm15, (%r8)8686; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8687; SSE-NEXT:    movaps %xmm15, 112(%r9)8688; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8689; SSE-NEXT:    movaps %xmm15, 96(%r9)8690; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8691; SSE-NEXT:    movaps %xmm15, 80(%r9)8692; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8693; SSE-NEXT:    movaps %xmm15, 64(%r9)8694; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8695; SSE-NEXT:    movaps %xmm15, 48(%r9)8696; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8697; SSE-NEXT:    movaps %xmm15, 32(%r9)8698; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8699; SSE-NEXT:    movaps %xmm15, 16(%r9)8700; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8701; SSE-NEXT:    movaps %xmm15, (%r9)8702; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax8703; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8704; SSE-NEXT:    movaps %xmm12, 112(%rax)8705; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8706; SSE-NEXT:    movaps %xmm12, 96(%rax)8707; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8708; SSE-NEXT:    movaps %xmm12, 80(%rax)8709; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8710; SSE-NEXT:    movaps %xmm12, 64(%rax)8711; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8712; SSE-NEXT:    movaps %xmm12, 48(%rax)8713; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8714; SSE-NEXT:    movaps %xmm12, 32(%rax)8715; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8716; SSE-NEXT:    movaps %xmm15, 16(%rax)8717; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload8718; SSE-NEXT:    movaps %xmm12, (%rax)8719; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax8720; SSE-NEXT:    movapd %xmm9, 112(%rax)8721; SSE-NEXT:    movapd %xmm10, 96(%rax)8722; SSE-NEXT:    movapd %xmm11, 80(%rax)8723; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload8724; SSE-NEXT:    movaps %xmm9, 64(%rax)8725; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload8726; SSE-NEXT:    movaps %xmm9, 48(%rax)8727; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload8728; SSE-NEXT:    movaps %xmm9, 32(%rax)8729; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload8730; SSE-NEXT:    movaps %xmm9, 16(%rax)8731; SSE-NEXT:    movaps %xmm7, (%rax)8732; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax8733; SSE-NEXT:    movaps %xmm1, 112(%rax)8734; SSE-NEXT:    movaps %xmm2, 96(%rax)8735; SSE-NEXT:    movaps %xmm3, 80(%rax)8736; SSE-NEXT:    movaps %xmm4, 64(%rax)8737; SSE-NEXT:    movaps %xmm5, 48(%rax)8738; SSE-NEXT:    movaps %xmm6, 32(%rax)8739; SSE-NEXT:    movaps %xmm8, 16(%rax)8740; SSE-NEXT:    movaps %xmm0, (%rax)8741; SSE-NEXT:    addq $1800, %rsp # imm = 0x7088742; SSE-NEXT:    retq8743;8744; AVX-LABEL: load_i16_stride8_vf64:8745; AVX:       # %bb.0:8746; AVX-NEXT:    subq $2056, %rsp # imm = 0x8088747; AVX-NEXT:    vmovdqa 304(%rdi), %xmm08748; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8749; AVX-NEXT:    vmovdqa 288(%rdi), %xmm18750; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8751; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]8752; AVX-NEXT:    vmovdqa 272(%rdi), %xmm08753; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8754; AVX-NEXT:    vmovdqa 256(%rdi), %xmm18755; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8756; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]8757; AVX-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm11[0],xmm14[0],xmm11[1],xmm14[1]8758; AVX-NEXT:    vmovdqa 368(%rdi), %xmm18759; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8760; AVX-NEXT:    vmovdqa 352(%rdi), %xmm28761; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8762; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8763; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8764; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]8765; AVX-NEXT:    vmovdqa 336(%rdi), %xmm28766; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8767; AVX-NEXT:    vmovdqa 320(%rdi), %xmm38768; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8769; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]8770; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm13[0,1,0,1]8771; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]8772; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]8773; AVX-NEXT:    vmovdqa 496(%rdi), %xmm18774; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8775; AVX-NEXT:    vmovdqa 480(%rdi), %xmm28776; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8777; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8778; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm10[0,0,0,0]8779; AVX-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8780; AVX-NEXT:    vmovdqa 464(%rdi), %xmm28781; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8782; AVX-NEXT:    vmovdqa 448(%rdi), %xmm38783; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8784; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]8785; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm9[0,1,0,1]8786; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]8787; AVX-NEXT:    vmovdqa 432(%rdi), %xmm28788; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8789; AVX-NEXT:    vmovdqa 416(%rdi), %xmm38790; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8791; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]8792; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8793; AVX-NEXT:    vmovdqa 400(%rdi), %xmm28794; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8795; AVX-NEXT:    vmovdqa 384(%rdi), %xmm38796; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8797; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]8798; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8799; AVX-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]8800; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm28801; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm18802; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]8803; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8804; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8805; AVX-NEXT:    vmovdqa 880(%rdi), %xmm08806; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8807; AVX-NEXT:    vmovdqa 864(%rdi), %xmm18808; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8809; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]8810; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8811; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8812; AVX-NEXT:    vmovdqa 848(%rdi), %xmm18813; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8814; AVX-NEXT:    vmovdqa 832(%rdi), %xmm28815; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8816; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8817; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8818; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,1,0,1]8819; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]8820; AVX-NEXT:    vmovdqa 816(%rdi), %xmm18821; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8822; AVX-NEXT:    vmovdqa 800(%rdi), %xmm28823; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8824; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8825; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8826; AVX-NEXT:    vmovdqa 784(%rdi), %xmm18827; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8828; AVX-NEXT:    vmovdqa 768(%rdi), %xmm28829; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8830; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8831; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm8[0],xmm3[0],xmm8[1],xmm3[1]8832; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]8833; AVX-NEXT:    vmovdqa 1008(%rdi), %xmm18834; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8835; AVX-NEXT:    vmovdqa 992(%rdi), %xmm28836; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8837; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8838; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm12[0,0,0,0]8839; AVX-NEXT:    vmovdqa 976(%rdi), %xmm28840; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8841; AVX-NEXT:    vmovdqa 960(%rdi), %xmm38842; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8843; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]8844; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8845; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[0,1,0,1]8846; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]8847; AVX-NEXT:    vmovdqa 944(%rdi), %xmm28848; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8849; AVX-NEXT:    vmovdqa 928(%rdi), %xmm38850; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8851; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]8852; AVX-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8853; AVX-NEXT:    vmovdqa 912(%rdi), %xmm28854; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8855; AVX-NEXT:    vmovdqa 896(%rdi), %xmm38856; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8857; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]8858; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8859; AVX-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1]8860; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm28861; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm18862; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]8863; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8864; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8865; AVX-NEXT:    vmovdqa 624(%rdi), %xmm08866; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8867; AVX-NEXT:    vmovdqa 608(%rdi), %xmm18868; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8869; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]8870; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8871; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8872; AVX-NEXT:    vmovdqa 592(%rdi), %xmm18873; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8874; AVX-NEXT:    vmovdqa 576(%rdi), %xmm28875; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8876; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8877; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8878; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,1,0,1]8879; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]8880; AVX-NEXT:    vmovdqa 560(%rdi), %xmm18881; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8882; AVX-NEXT:    vmovdqa 544(%rdi), %xmm28883; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8884; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8885; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8886; AVX-NEXT:    vmovdqa 528(%rdi), %xmm18887; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8888; AVX-NEXT:    vmovdqa 512(%rdi), %xmm28889; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8890; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8891; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8892; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]8893; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]8894; AVX-NEXT:    vmovdqa 752(%rdi), %xmm18895; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8896; AVX-NEXT:    vmovdqa 736(%rdi), %xmm28897; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8898; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8899; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8900; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]8901; AVX-NEXT:    vmovdqa 720(%rdi), %xmm28902; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8903; AVX-NEXT:    vmovdqa 704(%rdi), %xmm38904; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8905; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]8906; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8907; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[0,1,0,1]8908; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]8909; AVX-NEXT:    vmovdqa 688(%rdi), %xmm28910; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8911; AVX-NEXT:    vmovdqa 672(%rdi), %xmm38912; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8913; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]8914; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8915; AVX-NEXT:    vmovdqa 656(%rdi), %xmm28916; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8917; AVX-NEXT:    vmovdqa 640(%rdi), %xmm38918; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8919; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]8920; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8921; AVX-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1]8922; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm28923; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm18924; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]8925; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]8926; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8927; AVX-NEXT:    vmovdqa 240(%rdi), %xmm08928; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8929; AVX-NEXT:    vmovdqa 224(%rdi), %xmm18930; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8931; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]8932; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8933; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8934; AVX-NEXT:    vmovdqa 208(%rdi), %xmm18935; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8936; AVX-NEXT:    vmovdqa 192(%rdi), %xmm28937; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8938; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8939; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm4[0,1,0,1]8940; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8941; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]8942; AVX-NEXT:    vmovdqa 176(%rdi), %xmm18943; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8944; AVX-NEXT:    vmovdqa 160(%rdi), %xmm28945; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8946; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8947; AVX-NEXT:    vmovdqa %xmm3, (%rsp) # 16-byte Spill8948; AVX-NEXT:    vmovdqa 144(%rdi), %xmm18949; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8950; AVX-NEXT:    vmovdqa 128(%rdi), %xmm28951; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8952; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8953; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8954; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]8955; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm18956; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm08957; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm1[0,1,2,3,4,5],ymm0[6,7]8958; AVX-NEXT:    vmovdqa 112(%rdi), %xmm08959; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8960; AVX-NEXT:    vmovdqa 96(%rdi), %xmm18961; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8962; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]8963; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8964; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm0[0,0,0,0]8965; AVX-NEXT:    vmovdqa 80(%rdi), %xmm08966; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8967; AVX-NEXT:    vmovdqa 64(%rdi), %xmm28968; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8969; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]8970; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8971; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[0,1,0,1]8972; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm2[0,1,2,3,4,5],xmm1[6,7]8973; AVX-NEXT:    vmovdqa (%rdi), %xmm18974; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8975; AVX-NEXT:    vmovdqa 16(%rdi), %xmm28976; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8977; AVX-NEXT:    vmovdqa 32(%rdi), %xmm68978; AVX-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8979; AVX-NEXT:    vmovdqa 48(%rdi), %xmm78980; AVX-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8981; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]8982; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8983; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]8984; AVX-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm2[0],xmm5[0],xmm2[1],xmm5[1]8985; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8986; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm15[0,1,2,3],xmm0[4,5,6,7]8987; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]8988; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill8989; AVX-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8990; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm11[1,1,1,1]8991; AVX-NEXT:    vmovdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8992; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm14[2,3],xmm0[4,5,6,7]8993; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload8994; AVX-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8995; AVX-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm13[0],xmm5[0],xmm13[1],xmm5[1]8996; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm3[4,5,6,7]8997; AVX-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8998; AVX-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm9[0],xmm10[0],xmm9[1],xmm10[1]8999; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39000; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9001; AVX-NEXT:    vshufps {{.*#+}} xmm15 = xmm10[1,1,1,1]9002; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload9003; AVX-NEXT:    vblendps {{.*#+}} xmm15 = xmm15[0],xmm9[1],xmm15[2,3]9004; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm159005; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm15[0,1,2,3,4,5],ymm3[6,7]9006; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]9007; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9008; AVX-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9009; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm8[1,1,1,1]9010; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9011; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm8[2,3],xmm0[4,5,6,7]9012; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload9013; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload9014; AVX-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]9015; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm3[4,5,6,7]9016; AVX-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9017; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9018; AVX-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm1[0],xmm12[0],xmm1[1],xmm12[1]9019; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39020; AVX-NEXT:    vpermilps $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload9021; AVX-NEXT:    # xmm15 = mem[1,1,1,1]9022; AVX-NEXT:    vblendps $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload9023; AVX-NEXT:    # xmm15 = xmm15[0],mem[1],xmm15[2,3]9024; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm159025; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm15[0,1,2,3,4,5],ymm3[6,7]9026; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]9027; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9028; AVX-NEXT:    vpermilps $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9029; AVX-NEXT:    # xmm0 = mem[1,1,1,1]9030; AVX-NEXT:    vblendps $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9031; AVX-NEXT:    # xmm0 = xmm0[0],mem[1],xmm0[2,3]9032; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9033; AVX-NEXT:    vunpcklps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm3 # 16-byte Folded Reload9034; AVX-NEXT:    # xmm3 = xmm1[0],mem[0],xmm1[1],mem[1]9035; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],xmm3[2,3]9036; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9037; AVX-NEXT:    vunpcklps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm3 # 16-byte Folded Reload9038; AVX-NEXT:    # xmm3 = xmm1[0],mem[0],xmm1[1],mem[1]9039; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39040; AVX-NEXT:    vpermilps $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload9041; AVX-NEXT:    # xmm15 = mem[1,1,1,1]9042; AVX-NEXT:    vblendps $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload9043; AVX-NEXT:    # xmm15 = xmm15[0],mem[1],xmm15[2,3]9044; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm159045; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm15[0,1,2,3,4,5],ymm3[6,7]9046; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]9047; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9048; AVX-NEXT:    vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm0 # 16-byte Folded Reload9049; AVX-NEXT:    # xmm0 = xmm4[0],mem[0],xmm4[1],mem[1]9050; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm09051; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9052; AVX-NEXT:    vshufps {{.*#+}} xmm3 = xmm4[1,1,1,1]9053; AVX-NEXT:    vmovaps (%rsp), %xmm1 # 16-byte Reload9054; AVX-NEXT:    vblendps {{.*#+}} xmm3 = xmm3[0],xmm1[1],xmm3[2,3]9055; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39056; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]9057; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm2[1,1,1,1]9058; AVX-NEXT:    vpblendw $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload9059; AVX-NEXT:    # xmm3 = xmm3[0,1],mem[2,3],xmm3[4,5,6,7]9060; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9061; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload9062; AVX-NEXT:    vpunpckldq {{.*#+}} xmm15 = xmm15[0],xmm2[0],xmm15[1],xmm2[1]9063; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1,2,3],xmm15[4,5,6,7]9064; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]9065; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9066; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm5[2,2,2,2]9067; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm13[0,1,2,3,4,5],xmm0[6,7]9068; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm11[2],xmm14[2],xmm11[3],xmm14[3]9069; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm3[0,1,2,3],xmm0[4,5,6,7]9070; AVX-NEXT:    vunpckhps {{.*#+}} xmm3 = xmm10[2],xmm9[2],xmm10[3],xmm9[3]9071; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39072; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload9073; AVX-NEXT:    vshufps {{.*#+}} xmm15 = xmm9[2,2,2,2]9074; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload9075; AVX-NEXT:    vblendps {{.*#+}} xmm15 = xmm14[0,1,2],xmm15[3]9076; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm159077; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm15[6,7]9078; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]9079; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9080; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm6[2,2,2,2]9081; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm7[0,1,2,3,4,5],xmm0[6,7]9082; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9083; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm3[2],xmm8[2],xmm3[3],xmm8[3]9084; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm3[0,1,2,3],xmm0[4,5,6,7]9085; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload9086; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload9087; AVX-NEXT:    vunpckhps {{.*#+}} xmm3 = xmm13[2],xmm11[2],xmm13[3],xmm11[3]9088; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39089; AVX-NEXT:    vpshufd {{.*#+}} xmm15 = xmm12[2,2,2,2]9090; AVX-NEXT:    vpblendw $63, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload9091; AVX-NEXT:    # xmm15 = mem[0,1,2,3,4,5],xmm15[6,7]9092; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm159093; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm15[6,7]9094; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]9095; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9096; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload9097; AVX-NEXT:    vshufps {{.*#+}} xmm0 = xmm7[2,2,2,2]9098; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload9099; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm6[0,1,2],xmm0[3]9100; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9101; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9102; AVX-NEXT:    vunpckhps {{.*#+}} xmm3 = xmm10[2],xmm5[2],xmm10[3],xmm5[3]9103; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]9104; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9105; AVX-NEXT:    vunpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload9106; AVX-NEXT:    # xmm3 = xmm3[2],mem[2],xmm3[3],mem[3]9107; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39108; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload9109; AVX-NEXT:    vshufps {{.*#+}} xmm15 = xmm12[2,2,2,2]9110; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9111; AVX-NEXT:    vblendps {{.*#+}} xmm15 = xmm8[0,1,2],xmm15[3]9112; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm159113; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm15[6,7]9114; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]9115; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9116; AVX-NEXT:    vunpckhps {{.*#+}} xmm0 = xmm4[2],xmm1[2],xmm4[3],xmm1[3]9117; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm09118; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9119; AVX-NEXT:    vshufps {{.*#+}} xmm3 = xmm4[2,2,2,2]9120; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9121; AVX-NEXT:    vblendps {{.*#+}} xmm3 = xmm1[0,1,2],xmm3[3]9122; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39123; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm3[6,7]9124; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm2[2,2,2,2]9125; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9126; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm2[0,1,2,3,4,5],xmm3[6,7]9127; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload9128; AVX-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm15 # 16-byte Folded Reload9129; AVX-NEXT:    # xmm15 = xmm15[2],mem[2],xmm15[3],mem[3]9130; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm15[0,1,2,3],xmm3[4,5,6,7]9131; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]9132; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9133; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9134; AVX-NEXT:    vunpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9135; AVX-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]9136; AVX-NEXT:    vpermilps $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload9137; AVX-NEXT:    # xmm3 = mem[2,3,2,3]9138; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload9139; AVX-NEXT:    # xmm15 = mem[3,3,3,3]9140; AVX-NEXT:    vblendps {{.*#+}} xmm3 = xmm15[0],xmm3[1],xmm15[2,3]9141; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]9142; AVX-NEXT:    vunpckhps {{.*#+}} xmm3 = xmm14[2],xmm9[2],xmm14[3],xmm9[3]9143; AVX-NEXT:    vpermilps $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload9144; AVX-NEXT:    # xmm15 = mem[2,3,2,3]9145; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload9146; AVX-NEXT:    # xmm14 = mem[3,3,3,3]9147; AVX-NEXT:    vblendps {{.*#+}} xmm14 = xmm14[0],xmm15[1],xmm14[2,3]9148; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39149; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm0, %ymm149150; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm14[0,1,2,3,4,5],ymm3[6,7]9151; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]9152; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9153; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9154; AVX-NEXT:    vunpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9155; AVX-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]9156; AVX-NEXT:    vpermilps $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload9157; AVX-NEXT:    # xmm3 = mem[2,3,2,3]9158; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload9159; AVX-NEXT:    # xmm14 = mem[3,3,3,3]9160; AVX-NEXT:    vblendps {{.*#+}} xmm3 = xmm14[0],xmm3[1],xmm14[2,3]9161; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]9162; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9163; AVX-NEXT:    vunpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload9164; AVX-NEXT:    # xmm3 = xmm3[2],mem[2],xmm3[3],mem[3]9165; AVX-NEXT:    vshufps {{.*#+}} xmm14 = xmm11[2,3,2,3]9166; AVX-NEXT:    vshufps {{.*#+}} xmm15 = xmm13[3,3,3,3]9167; AVX-NEXT:    vblendps {{.*#+}} xmm14 = xmm15[0],xmm14[1],xmm15[2,3]9168; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39169; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm0, %ymm149170; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm14[0,1,2,3,4,5],ymm3[6,7]9171; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]9172; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9173; AVX-NEXT:    vunpckhps {{.*#+}} xmm0 = xmm6[2],xmm7[2],xmm6[3],xmm7[3]9174; AVX-NEXT:    vshufps {{.*#+}} xmm3 = xmm5[2,3,2,3]9175; AVX-NEXT:    vshufps {{.*#+}} xmm14 = xmm10[3,3,3,3]9176; AVX-NEXT:    vblendps {{.*#+}} xmm3 = xmm14[0],xmm3[1],xmm14[2,3]9177; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]9178; AVX-NEXT:    vunpckhps {{.*#+}} xmm3 = xmm8[2],xmm12[2],xmm8[3],xmm12[3]9179; AVX-NEXT:    vpermilps $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Folded Reload9180; AVX-NEXT:    # xmm11 = mem[2,3,2,3]9181; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Folded Reload9182; AVX-NEXT:    # xmm10 = mem[3,3,3,3]9183; AVX-NEXT:    vblendps {{.*#+}} xmm10 = xmm10[0],xmm11[1],xmm10[2,3]9184; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39185; AVX-NEXT:    vinsertf128 $1, %xmm10, %ymm0, %ymm109186; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm10[0,1,2,3,4,5],ymm3[6,7]9187; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]9188; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9189; AVX-NEXT:    vunpckhps {{.*#+}} xmm0 = xmm1[2],xmm4[2],xmm1[3],xmm4[3]9190; AVX-NEXT:    vpermilps $238, (%rsp), %xmm3 # 16-byte Folded Reload9191; AVX-NEXT:    # xmm3 = mem[2,3,2,3]9192; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload9193; AVX-NEXT:    # xmm6 = mem[3,3,3,3]9194; AVX-NEXT:    vblendps {{.*#+}} xmm3 = xmm6[0],xmm3[1],xmm6[2,3]9195; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm09196; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39197; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5],ymm0[6,7]9198; AVX-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm3 # 16-byte Folded Reload9199; AVX-NEXT:    # xmm3 = xmm2[2],mem[2],xmm2[3],mem[3]9200; AVX-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9201; AVX-NEXT:    # xmm2 = mem[2,3,2,3]9202; AVX-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9203; AVX-NEXT:    # xmm1 = mem[3,3,3,3]9204; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3],xmm1[4,5,6,7]9205; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3],xmm3[4,5,6,7]9206; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]9207; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9208; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9209; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm8 # 16-byte Folded Reload9210; AVX-NEXT:    # xmm8 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9211; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9212; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm10 # 16-byte Folded Reload9213; AVX-NEXT:    # xmm10 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9214; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9215; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm9 # 16-byte Folded Reload9216; AVX-NEXT:    # xmm9 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9217; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9218; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm7 # 16-byte Folded Reload9219; AVX-NEXT:    # xmm7 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9220; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm9[0,0,0,0]9221; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm7[0,1,0,1]9222; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]9223; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm10[0],xmm8[0],xmm10[1],xmm8[1]9224; AVX-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9225; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]9226; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9227; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm3 # 16-byte Folded Reload9228; AVX-NEXT:    # xmm3 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9229; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9230; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9231; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm15 # 16-byte Folded Reload9232; AVX-NEXT:    # xmm15 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9233; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9234; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm11 # 16-byte Folded Reload9235; AVX-NEXT:    # xmm11 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9236; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9237; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm5 # 16-byte Folded Reload9238; AVX-NEXT:    # xmm5 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9239; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9240; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm11[0,0,0,0]9241; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm5[0,1,0,1]9242; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]9243; AVX-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm15[0],xmm3[0],xmm15[1],xmm3[1]9244; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm29245; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19246; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]9247; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9248; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9249; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9250; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload9251; AVX-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9252; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9253; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9254; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm6 # 16-byte Folded Reload9255; AVX-NEXT:    # xmm6 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9256; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9257; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload9258; AVX-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9259; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9260; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9261; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload9262; AVX-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9263; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9264; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm1[0,0,0,0]9265; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm4[0,1,0,1]9266; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]9267; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm6[0],xmm2[0],xmm6[1],xmm2[1]9268; AVX-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9269; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]9270; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9271; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm3 # 16-byte Folded Reload9272; AVX-NEXT:    # xmm3 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9273; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9274; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9275; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm4 # 16-byte Folded Reload9276; AVX-NEXT:    # xmm4 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9277; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9278; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9279; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm2 # 16-byte Folded Reload9280; AVX-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9281; AVX-NEXT:    vmovdqa %xmm2, (%rsp) # 16-byte Spill9282; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9283; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm5 # 16-byte Folded Reload9284; AVX-NEXT:    # xmm5 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9285; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9286; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm2[0,0,0,0]9287; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm5[0,1,0,1]9288; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]9289; AVX-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]9290; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm29291; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19292; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]9293; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9294; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9295; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9296; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload9297; AVX-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9298; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9299; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9300; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload9301; AVX-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9302; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9303; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9304; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload9305; AVX-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9306; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9307; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9308; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload9309; AVX-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9310; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9311; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm1[0,0,0,0]9312; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm4[0,1,0,1]9313; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]9314; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]9315; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm1[0,1,2,3],xmm0[4,5,6,7]9316; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9317; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload9318; AVX-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9319; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9320; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9321; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload9322; AVX-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9323; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9324; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9325; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm13 # 16-byte Folded Reload9326; AVX-NEXT:    # xmm13 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9327; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9328; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9329; AVX-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9330; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9331; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm13[0,0,0,0]9332; AVX-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9333; AVX-NEXT:    vpshufd {{.*#+}} xmm5 = xmm0[0,1,0,1]9334; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm5[0,1,2,3,4,5],xmm3[6,7]9335; AVX-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm4[0],xmm1[0],xmm4[1],xmm1[1]9336; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm59337; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39338; AVX-NEXT:    vblendps {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5],ymm3[6,7]9339; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm3[4,5,6,7]9340; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9341; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9342; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload9343; AVX-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9344; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9345; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9346; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm12 # 16-byte Folded Reload9347; AVX-NEXT:    # xmm12 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9348; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9349; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload9350; AVX-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9351; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9352; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9353; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9354; AVX-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9355; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9356; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[0,0,0,0]9357; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm0[0,1,0,1]9358; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1,2,3,4,5],xmm2[6,7]9359; AVX-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm12[0],xmm1[0],xmm12[1],xmm1[1]9360; AVX-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9361; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39362; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm29363; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm2[6,7]9364; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9365; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload9366; AVX-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9367; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9368; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9369; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9370; AVX-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9371; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9372; AVX-NEXT:    vpshufd {{.*#+}} xmm2 = xmm2[0,0,0,0]9373; AVX-NEXT:    vpshufd {{.*#+}} xmm3 = xmm0[0,1,0,1]9374; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm3[0,1,2,3,4,5],xmm2[6,7]9375; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9376; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload9377; AVX-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]9378; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9379; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9380; AVX-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload9381; AVX-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]9382; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9383; AVX-NEXT:    vpunpckldq {{.*#+}} xmm14 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]9384; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm14[0,1,2,3],xmm0[4,5,6,7]9385; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9386; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9387; AVX-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9388; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[1,1,1,1]9389; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm8[2,3],xmm0[4,5,6,7]9390; AVX-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9391; AVX-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9392; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm7[0],xmm9[0],xmm7[1],xmm9[1]9393; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]9394; AVX-NEXT:    vmovdqa %xmm11, %xmm89395; AVX-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9396; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload9397; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm11[0],xmm8[0],xmm11[1],xmm8[1]9398; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19399; AVX-NEXT:    vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9400; AVX-NEXT:    vpshufd {{.*#+}} xmm14 = xmm15[1,1,1,1]9401; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9402; AVX-NEXT:    vpblendw {{.*#+}} xmm14 = xmm14[0,1],xmm3[2,3],xmm14[4,5,6,7]9403; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm0, %ymm149404; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5],ymm1[6,7]9405; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9406; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9407; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm6[1,1,1,1]9408; AVX-NEXT:    vpblendw $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9409; AVX-NEXT:    # xmm0 = xmm0[0,1],mem[2,3],xmm0[4,5,6,7]9410; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9411; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9412; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm4[0],xmm5[0],xmm4[1],xmm5[1]9413; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]9414; AVX-NEXT:    vmovaps (%rsp), %xmm6 # 16-byte Reload9415; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9416; AVX-NEXT:    vunpcklps {{.*#+}} xmm1 = xmm1[0],xmm6[0],xmm1[1],xmm6[1]9417; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19418; AVX-NEXT:    vpermilps $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload9419; AVX-NEXT:    # xmm14 = mem[1,1,1,1]9420; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9421; AVX-NEXT:    vblendps {{.*#+}} xmm14 = xmm14[0],xmm2[1],xmm14[2,3]9422; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm0, %ymm149423; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5],ymm1[6,7]9424; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9425; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9426; AVX-NEXT:    vpermilps $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9427; AVX-NEXT:    # xmm0 = mem[1,1,1,1]9428; AVX-NEXT:    vblendps $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9429; AVX-NEXT:    # xmm0 = xmm0[0],mem[1],xmm0[2,3]9430; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9431; AVX-NEXT:    vunpcklps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload9432; AVX-NEXT:    # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]9433; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]9434; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9435; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm13[0],xmm1[1],xmm13[1]9436; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19437; AVX-NEXT:    vpermilps $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload9438; AVX-NEXT:    # xmm14 = mem[1,1,1,1]9439; AVX-NEXT:    vblendps $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload9440; AVX-NEXT:    # xmm14 = xmm14[0],mem[1],xmm14[2,3]9441; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm0, %ymm149442; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5],ymm1[6,7]9443; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9444; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9445; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload9446; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9447; AVX-NEXT:    vunpcklps {{.*#+}} xmm0 = xmm0[0],xmm13[0],xmm0[1],xmm13[1]9448; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm09449; AVX-NEXT:    vpshufd {{.*#+}} xmm1 = xmm12[1,1,1,1]9450; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload9451; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1],xmm12[2,3],xmm1[4,5,6,7]9452; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19453; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]9454; AVX-NEXT:    vpermilps $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9455; AVX-NEXT:    # xmm1 = mem[1,1,1,1]9456; AVX-NEXT:    vblendps $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload9457; AVX-NEXT:    # xmm1 = xmm1[0],mem[1],xmm1[2,3]9458; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload9459; AVX-NEXT:    vunpcklps {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload9460; AVX-NEXT:    # xmm14 = xmm14[0],mem[0],xmm14[1],mem[1]9461; AVX-NEXT:    vblendps {{.*#+}} xmm1 = xmm1[0,1],xmm14[2,3]9462; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]9463; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9464; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm9[2,2,2,2]9465; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm7[0,1,2,3,4,5],xmm0[6,7]9466; AVX-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm10, %xmm1 # 16-byte Folded Reload9467; AVX-NEXT:    # xmm1 = xmm10[2],mem[2],xmm10[3],mem[3]9468; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]9469; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm15[2],xmm3[2],xmm15[3],xmm3[3]9470; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19471; AVX-NEXT:    vpshufd {{.*#+}} xmm14 = xmm8[2,2,2,2]9472; AVX-NEXT:    vpblendw {{.*#+}} xmm14 = xmm11[0,1,2,3,4,5],xmm14[6,7]9473; AVX-NEXT:    vmovdqa %xmm11, %xmm159474; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm0, %ymm149475; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm14[6,7]9476; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9477; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9478; AVX-NEXT:    vpshufd {{.*#+}} xmm0 = xmm5[2,2,2,2]9479; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm4[0,1,2,3,4,5],xmm0[6,7]9480; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9481; AVX-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload9482; AVX-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]9483; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]9484; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9485; AVX-NEXT:    vunpckhps {{.*#+}} xmm1 = xmm1[2],xmm2[2],xmm1[3],xmm2[3]9486; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19487; AVX-NEXT:    vshufps {{.*#+}} xmm14 = xmm6[2,2,2,2]9488; AVX-NEXT:    vblendps $7, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm14 # 16-byte Folded Reload9489; AVX-NEXT:    # xmm14 = mem[0,1,2],xmm14[3]9490; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm0, %ymm149491; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm14[6,7]9492; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9493; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9494; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload9495; AVX-NEXT:    vshufps {{.*#+}} xmm0 = xmm7[2,2,2,2]9496; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9497; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm5[0,1,2],xmm0[3]9498; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9499; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9500; AVX-NEXT:    vunpckhps {{.*#+}} xmm1 = xmm8[2],xmm4[2],xmm8[3],xmm4[3]9501; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]9502; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9503; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload9504; AVX-NEXT:    vunpckhps {{.*#+}} xmm1 = xmm10[2],xmm9[2],xmm10[3],xmm9[3]9505; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19506; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload9507; AVX-NEXT:    vshufps {{.*#+}} xmm14 = xmm6[2,2,2,2]9508; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9509; AVX-NEXT:    vblendps {{.*#+}} xmm14 = xmm3[0,1,2],xmm14[3]9510; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm0, %ymm149511; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm14[6,7]9512; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9513; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9514; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9515; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm0[2],xmm12[2],xmm0[3],xmm12[3]9516; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm09517; AVX-NEXT:    vshufps {{.*#+}} xmm1 = xmm13[2,2,2,2]9518; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload9519; AVX-NEXT:    vblendps {{.*#+}} xmm1 = xmm11[0,1,2],xmm1[3]9520; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19521; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],ymm1[6,7]9522; AVX-NEXT:    vpermilps $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9523; AVX-NEXT:    # xmm1 = mem[2,2,2,2]9524; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload9525; AVX-NEXT:    vblendps {{.*#+}} xmm1 = xmm13[0,1,2],xmm1[3]9526; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload9527; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9528; AVX-NEXT:    vunpckhps {{.*#+}} xmm14 = xmm0[2],xmm12[2],xmm0[3],xmm12[3]9529; AVX-NEXT:    vblendps {{.*#+}} xmm1 = xmm14[0,1],xmm1[2,3]9530; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm2[4,5,6,7]9531; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9532; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9533; AVX-NEXT:    vunpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9534; AVX-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]9535; AVX-NEXT:    vpermilps $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9536; AVX-NEXT:    # xmm1 = mem[2,3,2,3]9537; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload9538; AVX-NEXT:    # xmm14 = mem[3,3,3,3]9539; AVX-NEXT:    vblendps {{.*#+}} xmm1 = xmm14[0],xmm1[1],xmm14[2,3]9540; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]9541; AVX-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm1 # 16-byte Folded Reload9542; AVX-NEXT:    # xmm1 = xmm15[2],mem[2],xmm15[3],mem[3]9543; AVX-NEXT:    vpermilps $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload9544; AVX-NEXT:    # xmm14 = mem[2,3,2,3]9545; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload9546; AVX-NEXT:    # xmm15 = mem[3,3,3,3]9547; AVX-NEXT:    vblendps {{.*#+}} xmm14 = xmm15[0],xmm14[1],xmm15[2,3]9548; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19549; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm0, %ymm149550; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5],ymm1[6,7]9551; AVX-NEXT:    vblendps {{.*#+}} ymm14 = ymm0[0,1,2,3],ymm1[4,5,6,7]9552; AVX-NEXT:    vunpckhps {{.*#+}} xmm0 = xmm5[2],xmm7[2],xmm5[3],xmm7[3]9553; AVX-NEXT:    vshufps {{.*#+}} xmm1 = xmm4[2,3,2,3]9554; AVX-NEXT:    vshufps {{.*#+}} xmm7 = xmm8[3,3,3,3]9555; AVX-NEXT:    vblendps {{.*#+}} xmm1 = xmm7[0],xmm1[1],xmm7[2,3]9556; AVX-NEXT:    vblendps {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]9557; AVX-NEXT:    vunpckhps {{.*#+}} xmm1 = xmm3[2],xmm6[2],xmm3[3],xmm6[3]9558; AVX-NEXT:    vshufps {{.*#+}} xmm4 = xmm9[2,3,2,3]9559; AVX-NEXT:    vshufps {{.*#+}} xmm6 = xmm10[3,3,3,3]9560; AVX-NEXT:    vblendps {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]9561; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19562; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm49563; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]9564; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9565; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9566; AVX-NEXT:    vunpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload9567; AVX-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]9568; AVX-NEXT:    vpermilps $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload9569; AVX-NEXT:    # xmm4 = mem[2,3,2,3]9570; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload9571; AVX-NEXT:    # xmm6 = mem[3,3,3,3]9572; AVX-NEXT:    vblendps {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]9573; AVX-NEXT:    vblendps {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]9574; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9575; AVX-NEXT:    vunpckhps (%rsp), %xmm2, %xmm4 # 16-byte Folded Reload9576; AVX-NEXT:    # xmm4 = xmm2[2],mem[2],xmm2[3],mem[3]9577; AVX-NEXT:    vpermilps $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload9578; AVX-NEXT:    # xmm6 = mem[2,3,2,3]9579; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload9580; AVX-NEXT:    # xmm7 = mem[3,3,3,3]9581; AVX-NEXT:    vblendps {{.*#+}} xmm6 = xmm7[0],xmm6[1],xmm7[2,3]9582; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm49583; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm69584; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm6[0,1,2,3,4,5],ymm4[6,7]9585; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm4[4,5,6,7]9586; AVX-NEXT:    vunpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm4 # 16-byte Folded Reload9587; AVX-NEXT:    # xmm4 = xmm11[2],mem[2],xmm11[3],mem[3]9588; AVX-NEXT:    vpermilps $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload9589; AVX-NEXT:    # xmm6 = mem[2,3,2,3]9590; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload9591; AVX-NEXT:    # xmm7 = mem[3,3,3,3]9592; AVX-NEXT:    vblendps {{.*#+}} xmm6 = xmm7[0],xmm6[1],xmm7[2,3]9593; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm49594; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm69595; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm6[0,1,2,3,4,5],ymm4[6,7]9596; AVX-NEXT:    vunpckhps {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm5 # 16-byte Folded Reload9597; AVX-NEXT:    # xmm5 = xmm13[2],mem[2],xmm13[3],mem[3]9598; AVX-NEXT:    vshufps {{.*#+}} xmm2 = xmm12[2,3,2,3]9599; AVX-NEXT:    vpermilps $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload9600; AVX-NEXT:    # xmm3 = mem[3,3,3,3]9601; AVX-NEXT:    vblendps {{.*#+}} xmm2 = xmm3[0],xmm2[1],xmm3[2,3]9602; AVX-NEXT:    vblendps {{.*#+}} xmm2 = xmm2[0,1],xmm5[2,3]9603; AVX-NEXT:    vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm4[4,5,6,7]9604; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9605; AVX-NEXT:    vmovaps %ymm3, 64(%rsi)9606; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9607; AVX-NEXT:    vmovaps %ymm3, (%rsi)9608; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9609; AVX-NEXT:    vmovaps %ymm3, 96(%rsi)9610; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9611; AVX-NEXT:    vmovaps %ymm3, 32(%rsi)9612; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9613; AVX-NEXT:    vmovaps %ymm3, 64(%rdx)9614; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9615; AVX-NEXT:    vmovaps %ymm3, (%rdx)9616; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9617; AVX-NEXT:    vmovaps %ymm3, 96(%rdx)9618; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9619; AVX-NEXT:    vmovaps %ymm3, 32(%rdx)9620; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9621; AVX-NEXT:    vmovaps %ymm3, 64(%rcx)9622; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9623; AVX-NEXT:    vmovaps %ymm3, (%rcx)9624; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9625; AVX-NEXT:    vmovaps %ymm3, 96(%rcx)9626; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9627; AVX-NEXT:    vmovaps %ymm3, 32(%rcx)9628; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9629; AVX-NEXT:    vmovaps %ymm3, 64(%r8)9630; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9631; AVX-NEXT:    vmovaps %ymm3, (%r8)9632; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9633; AVX-NEXT:    vmovaps %ymm3, 96(%r8)9634; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9635; AVX-NEXT:    vmovaps %ymm3, 32(%r8)9636; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9637; AVX-NEXT:    vmovaps %ymm3, 64(%r9)9638; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9639; AVX-NEXT:    vmovaps %ymm3, (%r9)9640; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9641; AVX-NEXT:    vmovaps %ymm3, 96(%r9)9642; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9643; AVX-NEXT:    vmovaps %ymm3, 32(%r9)9644; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax9645; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9646; AVX-NEXT:    vmovaps %ymm3, 64(%rax)9647; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9648; AVX-NEXT:    vmovaps %ymm3, (%rax)9649; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9650; AVX-NEXT:    vmovaps %ymm3, 96(%rax)9651; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9652; AVX-NEXT:    vmovaps %ymm3, 32(%rax)9653; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax9654; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9655; AVX-NEXT:    vmovaps %ymm3, 64(%rax)9656; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9657; AVX-NEXT:    vmovaps %ymm3, (%rax)9658; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9659; AVX-NEXT:    vmovaps %ymm3, 96(%rax)9660; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload9661; AVX-NEXT:    vmovaps %ymm3, 32(%rax)9662; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax9663; AVX-NEXT:    vmovaps %ymm1, 96(%rax)9664; AVX-NEXT:    vmovaps %ymm0, 64(%rax)9665; AVX-NEXT:    vmovaps %ymm14, 32(%rax)9666; AVX-NEXT:    vmovaps %ymm2, (%rax)9667; AVX-NEXT:    addq $2056, %rsp # imm = 0x8089668; AVX-NEXT:    vzeroupper9669; AVX-NEXT:    retq9670;9671; AVX2-LABEL: load_i16_stride8_vf64:9672; AVX2:       # %bb.0:9673; AVX2-NEXT:    subq $2408, %rsp # imm = 0x9689674; AVX2-NEXT:    vmovdqa 448(%rdi), %ymm29675; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9676; AVX2-NEXT:    vmovdqa 480(%rdi), %ymm39677; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9678; AVX2-NEXT:    vmovdqa 272(%rdi), %xmm09679; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9680; AVX2-NEXT:    vmovdqa 256(%rdi), %xmm19681; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9682; AVX2-NEXT:    vmovdqa 304(%rdi), %xmm49683; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9684; AVX2-NEXT:    vmovdqa 288(%rdi), %xmm59685; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9686; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]9687; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9688; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]9689; AVX2-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9690; AVX2-NEXT:    vmovdqa 368(%rdi), %xmm09691; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9692; AVX2-NEXT:    vmovdqa 352(%rdi), %xmm19693; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9694; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]9695; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9696; AVX2-NEXT:    vpbroadcastd %xmm0, %xmm09697; AVX2-NEXT:    vmovdqa 336(%rdi), %xmm19698; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9699; AVX2-NEXT:    vmovdqa 320(%rdi), %xmm49700; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9701; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]9702; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9703; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm19704; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]9705; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]9706; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]9707; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm3[0,1,0,2]9708; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9709; AVX2-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]9710; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9711; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]9712; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]9713; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9714; AVX2-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]9715; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9716; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]9717; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]9718; AVX2-NEXT:    vmovdqa 384(%rdi), %ymm39719; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9720; AVX2-NEXT:    vmovdqa 416(%rdi), %ymm29721; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9722; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]9723; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9724; AVX2-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]9725; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9726; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]9727; AVX2-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,1,0,2]9728; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9729; AVX2-NEXT:    vpshufd {{.*#+}} ymm3 = ymm3[0,2,2,3,4,6,6,7]9730; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9731; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]9732; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]9733; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]9734; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9735; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9736; AVX2-NEXT:    vmovdqa 880(%rdi), %xmm09737; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9738; AVX2-NEXT:    vmovdqa 864(%rdi), %xmm19739; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9740; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]9741; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9742; AVX2-NEXT:    vpbroadcastd %xmm0, %xmm09743; AVX2-NEXT:    vmovdqa 848(%rdi), %xmm19744; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9745; AVX2-NEXT:    vmovdqa 832(%rdi), %xmm29746; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9747; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]9748; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9749; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm19750; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]9751; AVX2-NEXT:    vmovdqa 784(%rdi), %xmm19752; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9753; AVX2-NEXT:    vmovdqa 768(%rdi), %xmm29754; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9755; AVX2-NEXT:    vmovdqa 816(%rdi), %xmm39756; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9757; AVX2-NEXT:    vmovdqa 800(%rdi), %xmm49758; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9759; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]9760; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9761; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]9762; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9763; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]9764; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]9765; AVX2-NEXT:    vmovdqa 960(%rdi), %ymm29766; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9767; AVX2-NEXT:    vmovdqa 992(%rdi), %ymm19768; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9769; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]9770; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9771; AVX2-NEXT:    vpshufd {{.*#+}} ymm11 = ymm1[0,1,2,0,4,5,6,4]9772; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]9773; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]9774; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9775; AVX2-NEXT:    vpshufd {{.*#+}} ymm10 = ymm2[0,1,2,0,4,5,6,4]9776; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]9777; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]9778; AVX2-NEXT:    vmovdqa 896(%rdi), %ymm39779; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9780; AVX2-NEXT:    vmovdqa 928(%rdi), %ymm29781; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9782; AVX2-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]9783; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9784; AVX2-NEXT:    vpshufd {{.*#+}} ymm7 = ymm2[0,2,2,3,4,6,6,7]9785; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm7[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]9786; AVX2-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,1,0,2]9787; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9788; AVX2-NEXT:    vpshufd {{.*#+}} ymm6 = ymm3[0,2,2,3,4,6,6,7]9789; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm6[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]9790; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]9791; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]9792; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9793; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9794; AVX2-NEXT:    vmovdqa 112(%rdi), %xmm09795; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9796; AVX2-NEXT:    vmovdqa 96(%rdi), %xmm19797; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9798; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]9799; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9800; AVX2-NEXT:    vpbroadcastd %xmm0, %xmm09801; AVX2-NEXT:    vmovdqa 80(%rdi), %xmm19802; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9803; AVX2-NEXT:    vmovdqa 64(%rdi), %xmm29804; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9805; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]9806; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9807; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm19808; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]9809; AVX2-NEXT:    vmovdqa (%rdi), %xmm19810; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9811; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm29812; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9813; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm39814; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9815; AVX2-NEXT:    vmovdqa 48(%rdi), %xmm49816; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9817; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]9818; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9819; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]9820; AVX2-NEXT:    vmovdqa %xmm1, (%rsp) # 16-byte Spill9821; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]9822; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1],xmm0[2,3]9823; AVX2-NEXT:    vmovdqa 192(%rdi), %ymm19824; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9825; AVX2-NEXT:    vmovdqa 224(%rdi), %ymm09826; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9827; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]9828; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9829; AVX2-NEXT:    vpshufd {{.*#+}} ymm3 = ymm0[0,1,2,0,4,5,6,4]9830; AVX2-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]9831; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]9832; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9833; AVX2-NEXT:    vpshufd {{.*#+}} ymm2 = ymm1[0,1,2,0,4,5,6,4]9834; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]9835; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm1[0,1,2,3,4,5,6],ymm0[7]9836; AVX2-NEXT:    vmovdqa 128(%rdi), %ymm09837; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9838; AVX2-NEXT:    vmovdqa 160(%rdi), %ymm19839; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9840; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]9841; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9842; AVX2-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,2,2,3,4,6,6,7]9843; AVX2-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm1[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]9844; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]9845; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9846; AVX2-NEXT:    vpshufd {{.*#+}} ymm0 = ymm0[0,2,2,3,4,6,6,7]9847; AVX2-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]9848; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5],ymm9[6,7]9849; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3,4,5],ymm5[6,7]9850; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]9851; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9852; AVX2-NEXT:    vmovdqa 624(%rdi), %xmm49853; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9854; AVX2-NEXT:    vmovdqa 608(%rdi), %xmm59855; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9856; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]9857; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9858; AVX2-NEXT:    vpbroadcastd %xmm4, %xmm49859; AVX2-NEXT:    vmovdqa 592(%rdi), %xmm59860; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9861; AVX2-NEXT:    vmovdqa 576(%rdi), %xmm89862; AVX2-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9863; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm8[0],xmm5[0],xmm8[1],xmm5[1],xmm8[2],xmm5[2],xmm8[3],xmm5[3]9864; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9865; AVX2-NEXT:    vpbroadcastd %xmm5, %xmm59866; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]9867; AVX2-NEXT:    vmovdqa 528(%rdi), %xmm59868; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9869; AVX2-NEXT:    vmovdqa 512(%rdi), %xmm89870; AVX2-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9871; AVX2-NEXT:    vmovdqa 560(%rdi), %xmm99872; AVX2-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9873; AVX2-NEXT:    vmovdqa 544(%rdi), %xmm129874; AVX2-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9875; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm12[0],xmm9[0],xmm12[1],xmm9[1],xmm12[2],xmm9[2],xmm12[3],xmm9[3]9876; AVX2-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9877; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm8[0],xmm5[0],xmm8[1],xmm5[1],xmm8[2],xmm5[2],xmm8[3],xmm5[3]9878; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9879; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm5[0],xmm9[0],xmm5[1],xmm9[1]9880; AVX2-NEXT:    vpblendd {{.*#+}} xmm12 = xmm5[0,1],xmm4[2,3]9881; AVX2-NEXT:    vmovdqa 704(%rdi), %ymm59882; AVX2-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9883; AVX2-NEXT:    vmovdqa 736(%rdi), %ymm49884; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9885; AVX2-NEXT:    vpermq {{.*#+}} ymm4 = ymm4[0,1,0,2]9886; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9887; AVX2-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,1,2,0,4,5,6,4]9888; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9889; AVX2-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]9890; AVX2-NEXT:    vpermq {{.*#+}} ymm4 = ymm5[0,1,0,2]9891; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9892; AVX2-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,1,2,0,4,5,6,4]9893; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9894; AVX2-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm4[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]9895; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm9[0,1,2,3,4,5,6],ymm8[7]9896; AVX2-NEXT:    vmovdqa 640(%rdi), %ymm99897; AVX2-NEXT:    vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9898; AVX2-NEXT:    vmovdqa 672(%rdi), %ymm89899; AVX2-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9900; AVX2-NEXT:    vpermq {{.*#+}} ymm4 = ymm8[0,1,0,2]9901; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9902; AVX2-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,2,2,3,4,6,6,7]9903; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9904; AVX2-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm4[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]9905; AVX2-NEXT:    vpermq {{.*#+}} ymm4 = ymm9[0,1,0,2]9906; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9907; AVX2-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,2,2,3,4,6,6,7]9908; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9909; AVX2-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm4[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]9910; AVX2-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]9911; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]9912; AVX2-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]9913; AVX2-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9914; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload9915; AVX2-NEXT:    vpshufd {{.*#+}} xmm12 = xmm9[1,1,1,1]9916; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9917; AVX2-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0],xmm8[1],xmm12[2,3]9918; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9919; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9920; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]9921; AVX2-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]9922; AVX2-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload9923; AVX2-NEXT:    # ymm13 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]9924; AVX2-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload9925; AVX2-NEXT:    # ymm14 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]9926; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5,6],ymm13[7]9927; AVX2-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload9928; AVX2-NEXT:    # ymm14 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]9929; AVX2-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload9930; AVX2-NEXT:    # ymm15 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]9931; AVX2-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]9932; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]9933; AVX2-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]9934; AVX2-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9935; AVX2-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload9936; AVX2-NEXT:    # xmm12 = mem[1,1,1,1]9937; AVX2-NEXT:    vpblendd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm12 # 16-byte Folded Reload9938; AVX2-NEXT:    # xmm12 = xmm12[0],mem[1],xmm12[2,3]9939; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload9940; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload9941; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm15[0],xmm14[0],xmm15[1],xmm14[1]9942; AVX2-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]9943; AVX2-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]9944; AVX2-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]9945; AVX2-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm11[7]9946; AVX2-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]9947; AVX2-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm6[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]9948; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4],ymm7[5],ymm6[6,7]9949; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm10[6,7]9950; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm12[0,1,2,3],ymm6[4,5,6,7]9951; AVX2-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9952; AVX2-NEXT:    vmovdqa (%rsp), %xmm13 # 16-byte Reload9953; AVX2-NEXT:    vpshufd {{.*#+}} xmm6 = xmm13[1,1,1,1]9954; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload9955; AVX2-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0],xmm12[1],xmm6[2,3]9956; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9957; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload9958; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm7 = xmm11[0],xmm10[0],xmm11[1],xmm10[1]9959; AVX2-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0,1],xmm7[2,3]9960; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]9961; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]9962; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]9963; AVX2-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]9964; AVX2-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]9965; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]9966; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]9967; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]9968; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9969; AVX2-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9970; AVX2-NEXT:    # xmm0 = mem[1,1,1,1]9971; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload9972; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm7[1],xmm0[2,3]9973; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload9974; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9975; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm6[0],xmm1[1],xmm6[1]9976; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]9977; AVX2-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload9978; AVX2-NEXT:    # ymm1 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]9979; AVX2-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload9980; AVX2-NEXT:    # ymm2 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]9981; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]9982; AVX2-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload9983; AVX2-NEXT:    # ymm2 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]9984; AVX2-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload9985; AVX2-NEXT:    # ymm3 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]9986; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]9987; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]9988; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9989; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9990; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm4[2,2,2,2]9991; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1,2],xmm0[3]9992; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm9[2],xmm8[2],xmm9[3],xmm8[3]9993; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]9994; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload9995; AVX2-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]9996; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9997; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload9998; AVX2-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]9999; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10000; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]10001; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]10002; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10003; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10004; AVX2-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]10005; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10006; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10007; AVX2-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]10008; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10009; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]10010; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]10011; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10012; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10013; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10014; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10015; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]10016; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm15[0,1,2],xmm0[3]10017; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10018; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload10019; AVX2-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]10020; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10021; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10022; AVX2-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]10023; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10024; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10025; AVX2-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]10026; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10027; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]10028; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]10029; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10030; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10031; AVX2-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]10032; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10033; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10034; AVX2-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]10035; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10036; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]10037; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]10038; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10039; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10040; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10041; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10042; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[2,2,2,2]10043; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1,2],xmm0[3]10044; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm13[2],xmm12[2],xmm13[3],xmm12[3]10045; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10046; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload10047; AVX2-NEXT:    # ymm14 = mem[0,1,1,3,4,5,5,7]10048; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload10049; AVX2-NEXT:    # ymm13 = mem[0,1,1,3,4,5,5,7]10050; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]10051; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm13[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]10052; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10053; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload10054; AVX2-NEXT:    # ymm12 = mem[3,1,2,3,7,5,6,7]10055; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload10056; AVX2-NEXT:    # ymm10 = mem[3,1,2,3,7,5,6,7]10057; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm12[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]10058; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm10[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]10059; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10060; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10061; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10062; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10063; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm6[2,2,2,2]10064; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10065; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1,2],xmm0[3]10066; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10067; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm6[2],xmm7[2],xmm6[3],xmm7[3]10068; AVX2-NEXT:    vpblendd {{.*#+}} xmm3 = xmm1[0,1],xmm0[2,3]10069; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload10070; AVX2-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]10071; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload10072; AVX2-NEXT:    # ymm8 = mem[0,1,1,3,4,5,5,7]10073; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]10074; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm8[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]10075; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10076; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload10077; AVX2-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]10078; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10079; AVX2-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]10080; AVX2-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]10081; AVX2-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm2[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]10082; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]10083; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10084; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]10085; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10086; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10087; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10088; AVX2-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]10089; AVX2-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload10090; AVX2-NEXT:    # xmm1 = mem[2,3,2,3]10091; AVX2-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload10092; AVX2-NEXT:    # xmm3 = mem[3,3,3,3]10093; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]10094; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10095; AVX2-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10096; AVX2-NEXT:    # ymm1 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]10097; AVX2-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10098; AVX2-NEXT:    # ymm3 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]10099; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]10100; AVX2-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10101; AVX2-NEXT:    # ymm3 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]10102; AVX2-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload10103; AVX2-NEXT:    # ymm15 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]10104; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm15[0,1,2,3,4],ymm3[5],ymm15[6,7]10105; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]10106; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10107; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10108; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10109; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10110; AVX2-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]10111; AVX2-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload10112; AVX2-NEXT:    # xmm1 = mem[2,3,2,3]10113; AVX2-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload10114; AVX2-NEXT:    # xmm3 = mem[3,3,3,3]10115; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]10116; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10117; AVX2-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10118; AVX2-NEXT:    # ymm1 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]10119; AVX2-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10120; AVX2-NEXT:    # ymm3 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]10121; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]10122; AVX2-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10123; AVX2-NEXT:    # ymm3 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]10124; AVX2-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload10125; AVX2-NEXT:    # ymm11 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]10126; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm11[0,1,2,3,4],ymm3[5],ymm11[6,7]10127; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]10128; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10129; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10130; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10131; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10132; AVX2-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]10133; AVX2-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload10134; AVX2-NEXT:    # xmm1 = mem[2,3,2,3]10135; AVX2-NEXT:    vpshufd $255, (%rsp), %xmm3 # 16-byte Folded Reload10136; AVX2-NEXT:    # xmm3 = mem[3,3,3,3]10137; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]10138; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10139; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]10140; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm13[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]10141; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]10142; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm12[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]10143; AVX2-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm10[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]10144; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3,4],ymm3[5],ymm7[6,7]10145; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]10146; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10147; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10148; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm0 # 16-byte Folded Reload10149; AVX2-NEXT:    # xmm0 = xmm5[2],mem[2],xmm5[3],mem[3]10150; AVX2-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload10151; AVX2-NEXT:    # xmm1 = mem[2,3,2,3]10152; AVX2-NEXT:    vpshufd {{.*#+}} xmm3 = xmm6[3,3,3,3]10153; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]10154; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10155; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]10156; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm8[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]10157; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]10158; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]10159; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]10160; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]10161; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10162; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10163; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10164; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10165; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload10166; AVX2-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10167; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10168; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10169; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload10170; AVX2-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10171; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10172; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10173; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload10174; AVX2-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10175; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10176; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10177; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload10178; AVX2-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10179; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10180; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm010181; AVX2-NEXT:    vpbroadcastd %xmm4, %xmm110182; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]10183; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]10184; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10185; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10186; AVX2-NEXT:    # ymm1 = mem[0,1,1,3]10187; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10188; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10189; AVX2-NEXT:    # ymm2 = mem[0,1,1,3]10190; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10191; AVX2-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]10192; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10193; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]10194; AVX2-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]10195; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10196; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]10197; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10198; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10199; AVX2-NEXT:    # ymm2 = mem[0,1,1,3]10200; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10201; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10202; AVX2-NEXT:    # ymm3 = mem[0,1,1,3]10203; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10204; AVX2-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]10205; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10206; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]10207; AVX2-NEXT:    vpshufd {{.*#+}} ymm3 = ymm3[0,2,2,3,4,6,6,7]10208; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10209; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]10210; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10211; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10212; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10213; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10214; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10215; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload10216; AVX2-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10217; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10218; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10219; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload10220; AVX2-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10221; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10222; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10223; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload10224; AVX2-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10225; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10226; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10227; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload10228; AVX2-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10229; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10230; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm010231; AVX2-NEXT:    vpbroadcastd %xmm4, %xmm110232; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]10233; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]10234; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10235; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10236; AVX2-NEXT:    # ymm1 = mem[0,1,1,3]10237; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10238; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10239; AVX2-NEXT:    # ymm2 = mem[0,1,1,3]10240; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10241; AVX2-NEXT:    vpshufd {{.*#+}} ymm11 = ymm1[0,1,2,0,4,5,6,4]10242; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]10243; AVX2-NEXT:    vpshufd {{.*#+}} ymm10 = ymm2[0,1,2,0,4,5,6,4]10244; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]10245; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10246; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10247; AVX2-NEXT:    # ymm2 = mem[0,1,1,3]10248; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10249; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10250; AVX2-NEXT:    # ymm3 = mem[0,1,1,3]10251; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10252; AVX2-NEXT:    vpshufd {{.*#+}} ymm9 = ymm2[0,2,2,3,4,6,6,7]10253; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm9[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]10254; AVX2-NEXT:    vpshufd {{.*#+}} ymm8 = ymm3[0,2,2,3,4,6,6,7]10255; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm8[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]10256; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10257; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10258; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10259; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10260; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10261; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload10262; AVX2-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10263; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10264; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10265; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload10266; AVX2-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10267; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10268; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm010269; AVX2-NEXT:    vpbroadcastd %xmm2, %xmm110270; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]10271; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10272; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm2 # 16-byte Folded Reload10273; AVX2-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]10274; AVX2-NEXT:    vmovdqa %xmm2, (%rsp) # 16-byte Spill10275; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10276; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload10277; AVX2-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]10278; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10279; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]10280; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10281; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10282; AVX2-NEXT:    # ymm1 = mem[0,1,1,3]10283; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10284; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10285; AVX2-NEXT:    # ymm2 = mem[0,1,1,3]10286; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10287; AVX2-NEXT:    vpshufd {{.*#+}} ymm7 = ymm1[0,1,2,0,4,5,6,4]10288; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]10289; AVX2-NEXT:    vpshufd {{.*#+}} ymm6 = ymm2[0,1,2,0,4,5,6,4]10290; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm6[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]10291; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10292; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10293; AVX2-NEXT:    # ymm2 = mem[0,1,1,3]10294; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10295; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10296; AVX2-NEXT:    # ymm3 = mem[0,1,1,3]10297; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10298; AVX2-NEXT:    vpshufd {{.*#+}} ymm5 = ymm2[0,2,2,3,4,6,6,7]10299; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm5[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]10300; AVX2-NEXT:    vpshufd {{.*#+}} ymm4 = ymm3[0,2,2,3,4,6,6,7]10301; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]10302; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10303; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10304; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10305; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10306; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10307; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload10308; AVX2-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10309; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10310; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10311; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload10312; AVX2-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10313; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10314; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10315; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload10316; AVX2-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10317; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10318; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10319; AVX2-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm12 # 16-byte Folded Reload10320; AVX2-NEXT:    # xmm12 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]10321; AVX2-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10322; AVX2-NEXT:    vpbroadcastd %xmm1, %xmm010323; AVX2-NEXT:    vpbroadcastd %xmm12, %xmm110324; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]10325; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]10326; AVX2-NEXT:    vpblendd {{.*#+}} xmm12 = xmm1[0,1],xmm0[2,3]10327; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload10328; AVX2-NEXT:    # ymm0 = mem[0,1,1,3]10329; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10330; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10331; AVX2-NEXT:    # ymm1 = mem[0,1,1,3]10332; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10333; AVX2-NEXT:    vpshufd {{.*#+}} ymm3 = ymm0[0,1,2,0,4,5,6,4]10334; AVX2-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]10335; AVX2-NEXT:    vpshufd {{.*#+}} ymm2 = ymm1[0,1,2,0,4,5,6,4]10336; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]10337; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm1[0,1,2,3,4,5,6],ymm0[7]10338; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload10339; AVX2-NEXT:    # ymm0 = mem[0,1,1,3]10340; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10341; AVX2-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload10342; AVX2-NEXT:    # ymm15 = mem[0,1,1,3]10343; AVX2-NEXT:    vmovdqu %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10344; AVX2-NEXT:    vpshufd {{.*#+}} ymm1 = ymm0[0,2,2,3,4,6,6,7]10345; AVX2-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm1[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]10346; AVX2-NEXT:    vpshufd {{.*#+}} ymm0 = ymm15[0,2,2,3,4,6,6,7]10347; AVX2-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]10348; AVX2-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]10349; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]10350; AVX2-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]10351; AVX2-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10352; AVX2-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload10353; AVX2-NEXT:    # xmm12 = mem[1,1,1,1]10354; AVX2-NEXT:    vpblendd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm12 # 16-byte Folded Reload10355; AVX2-NEXT:    # xmm12 = xmm12[0],mem[1],xmm12[2,3]10356; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10357; AVX2-NEXT:    vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload10358; AVX2-NEXT:    # xmm13 = xmm13[0],mem[0],xmm13[1],mem[1]10359; AVX2-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]10360; AVX2-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload10361; AVX2-NEXT:    # ymm13 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]10362; AVX2-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload10363; AVX2-NEXT:    # ymm14 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]10364; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5,6],ymm13[7]10365; AVX2-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload10366; AVX2-NEXT:    # ymm14 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]10367; AVX2-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload10368; AVX2-NEXT:    # ymm15 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]10369; AVX2-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]10370; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]10371; AVX2-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]10372; AVX2-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10373; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10374; AVX2-NEXT:    vpshufd {{.*#+}} xmm12 = xmm14[1,1,1,1]10375; AVX2-NEXT:    vpblendd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm12 # 16-byte Folded Reload10376; AVX2-NEXT:    # xmm12 = xmm12[0],mem[1],xmm12[2,3]10377; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload10378; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10379; AVX2-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1]10380; AVX2-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]10381; AVX2-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]10382; AVX2-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]10383; AVX2-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm11[7]10384; AVX2-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm9[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]10385; AVX2-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm8[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]10386; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4],ymm9[5],ymm8[6,7]10387; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm10[6,7]10388; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm12[0,1,2,3],ymm8[4,5,6,7]10389; AVX2-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10390; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10391; AVX2-NEXT:    vpshufd {{.*#+}} xmm8 = xmm12[1,1,1,1]10392; AVX2-NEXT:    vmovdqa (%rsp), %xmm10 # 16-byte Reload10393; AVX2-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0],xmm10[1],xmm8[2,3]10394; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10395; AVX2-NEXT:    vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm9 # 16-byte Folded Reload10396; AVX2-NEXT:    # xmm9 = xmm11[0],mem[0],xmm11[1],mem[1]10397; AVX2-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0,1],xmm9[2,3]10398; AVX2-NEXT:    vpshufhw {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]10399; AVX2-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm6[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]10400; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5,6],ymm7[7]10401; AVX2-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm5[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]10402; AVX2-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]10403; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4],ymm5[5],ymm4[6,7]10404; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm6[6,7]10405; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]10406; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10407; AVX2-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload10408; AVX2-NEXT:    # xmm4 = mem[1,1,1,1]10409; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10410; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm4[0],xmm13[1],xmm4[2,3]10411; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10412; AVX2-NEXT:    vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm5 # 16-byte Folded Reload10413; AVX2-NEXT:    # xmm5 = xmm5[0],mem[0],xmm5[1],mem[1]10414; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm4[0,1],xmm5[2,3]10415; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]10416; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]10417; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]10418; AVX2-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]10419; AVX2-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]10420; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]10421; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]10422; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]10423; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10424; AVX2-NEXT:    vpshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload10425; AVX2-NEXT:    # xmm0 = mem[2,2,2,2]10426; AVX2-NEXT:    vpblendd $7, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10427; AVX2-NEXT:    # xmm0 = mem[0,1,2],xmm0[3]10428; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10429; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload10430; AVX2-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]10431; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10432; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10433; AVX2-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]10434; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10435; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10436; AVX2-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]10437; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10438; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]10439; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]10440; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10441; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10442; AVX2-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]10443; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10444; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10445; AVX2-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]10446; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10447; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]10448; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]10449; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10450; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10451; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10452; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10453; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm15[2,2,2,2]10454; AVX2-NEXT:    vpblendd $7, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10455; AVX2-NEXT:    # xmm0 = mem[0,1,2],xmm0[3]10456; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm1 # 16-byte Folded Reload10457; AVX2-NEXT:    # xmm1 = xmm14[2],mem[2],xmm14[3],mem[3]10458; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10459; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10460; AVX2-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]10461; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10462; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10463; AVX2-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]10464; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10465; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]10466; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]10467; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10468; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10469; AVX2-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]10470; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10471; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10472; AVX2-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]10473; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10474; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]10475; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]10476; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10477; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10478; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10479; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10480; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10481; AVX2-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]10482; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1,2],xmm0[3]10483; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm12[2],xmm10[2],xmm12[3],xmm10[3]10484; AVX2-NEXT:    vpblendd {{.*#+}} xmm6 = xmm1[0,1],xmm0[2,3]10485; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload10486; AVX2-NEXT:    # ymm7 = mem[0,1,1,3,4,5,5,7]10487; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload10488; AVX2-NEXT:    # ymm5 = mem[0,1,1,3,4,5,5,7]10489; AVX2-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]10490; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm5[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]10491; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm1[0,1,2,3,4,5,6],ymm0[7]10492; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload10493; AVX2-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]10494; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10495; AVX2-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]10496; AVX2-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]10497; AVX2-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]10498; AVX2-NEXT:    vpblendd {{.*#+}} ymm9 = ymm11[0,1,2,3,4],ymm9[5],ymm11[6,7]10499; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4,5],ymm8[6,7]10500; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm8[4,5,6,7]10501; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10502; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10503; AVX2-NEXT:    vpshufd {{.*#+}} xmm6 = xmm12[2,2,2,2]10504; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10505; AVX2-NEXT:    vpblendd {{.*#+}} xmm6 = xmm9[0,1,2],xmm6[3]10506; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload10507; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm8 = xmm10[2],xmm13[2],xmm10[3],xmm13[3]10508; AVX2-NEXT:    vpblendd {{.*#+}} xmm2 = xmm8[0,1],xmm6[2,3]10509; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload10510; AVX2-NEXT:    # ymm13 = mem[0,1,1,3,4,5,5,7]10511; AVX2-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload10512; AVX2-NEXT:    # ymm8 = mem[0,1,1,3,4,5,5,7]10513; AVX2-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm13[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]10514; AVX2-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm8[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]10515; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5,6],ymm6[7]10516; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload10517; AVX2-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]10518; AVX2-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload10519; AVX2-NEXT:    # ymm6 = mem[3,1,2,3,7,5,6,7]10520; AVX2-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm11[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]10521; AVX2-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm6[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]10522; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]10523; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10524; AVX2-NEXT:    vpblendd {{.*#+}} ymm15 = ymm2[0,1,2,3],ymm0[4,5,6,7]10525; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10526; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm0[2],xmm14[2],xmm0[3],xmm14[3]10527; AVX2-NEXT:    vpshufd $238, (%rsp), %xmm1 # 16-byte Folded Reload10528; AVX2-NEXT:    # xmm1 = mem[2,3,2,3]10529; AVX2-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload10530; AVX2-NEXT:    # xmm2 = mem[3,3,3,3]10531; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0],xmm1[1],xmm2[2,3]10532; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10533; AVX2-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]10534; AVX2-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm5[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]10535; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10536; AVX2-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]10537; AVX2-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]10538; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10539; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10540; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]10541; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10542; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload10543; AVX2-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]10544; AVX2-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload10545; AVX2-NEXT:    # xmm2 = mem[2,3,2,3]10546; AVX2-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload10547; AVX2-NEXT:    # xmm3 = mem[3,3,3,3]10548; AVX2-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0],xmm2[1],xmm3[2,3]10549; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]10550; AVX2-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10551; AVX2-NEXT:    # ymm2 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]10552; AVX2-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10553; AVX2-NEXT:    # ymm3 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]10554; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]10555; AVX2-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10556; AVX2-NEXT:    # ymm3 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]10557; AVX2-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload10558; AVX2-NEXT:    # ymm4 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]10559; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]10560; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]10561; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]10562; AVX2-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm9[2],xmm12[2],xmm9[3],xmm12[3]10563; AVX2-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload10564; AVX2-NEXT:    # xmm3 = mem[2,3,2,3]10565; AVX2-NEXT:    vpshufd {{.*#+}} xmm4 = xmm10[3,3,3,3]10566; AVX2-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0],xmm3[1],xmm4[2,3]10567; AVX2-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]10568; AVX2-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm13[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]10569; AVX2-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm8[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]10570; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]10571; AVX2-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm11[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]10572; AVX2-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm6[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]10573; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]10574; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]10575; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]10576; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10577; AVX2-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload10578; AVX2-NEXT:    # xmm3 = xmm3[2],mem[2],xmm3[3],mem[3]10579; AVX2-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload10580; AVX2-NEXT:    # xmm4 = mem[2,3,2,3]10581; AVX2-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload10582; AVX2-NEXT:    # xmm5 = mem[3,3,3,3]10583; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]10584; AVX2-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]10585; AVX2-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload10586; AVX2-NEXT:    # ymm4 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]10587; AVX2-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload10588; AVX2-NEXT:    # ymm5 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]10589; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]10590; AVX2-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload10591; AVX2-NEXT:    # ymm5 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]10592; AVX2-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload10593; AVX2-NEXT:    # ymm6 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]10594; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4],ymm5[5],ymm6[6,7]10595; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]10596; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]10597; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10598; AVX2-NEXT:    vmovaps %ymm4, 64(%rsi)10599; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10600; AVX2-NEXT:    vmovaps %ymm4, (%rsi)10601; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10602; AVX2-NEXT:    vmovaps %ymm4, 96(%rsi)10603; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10604; AVX2-NEXT:    vmovaps %ymm4, 32(%rsi)10605; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10606; AVX2-NEXT:    vmovaps %ymm4, 64(%rdx)10607; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10608; AVX2-NEXT:    vmovaps %ymm4, (%rdx)10609; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10610; AVX2-NEXT:    vmovaps %ymm4, 96(%rdx)10611; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10612; AVX2-NEXT:    vmovaps %ymm4, 32(%rdx)10613; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10614; AVX2-NEXT:    vmovaps %ymm4, 64(%rcx)10615; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10616; AVX2-NEXT:    vmovaps %ymm4, (%rcx)10617; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10618; AVX2-NEXT:    vmovaps %ymm4, 96(%rcx)10619; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10620; AVX2-NEXT:    vmovaps %ymm4, 32(%rcx)10621; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10622; AVX2-NEXT:    vmovaps %ymm4, 64(%r8)10623; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10624; AVX2-NEXT:    vmovaps %ymm4, (%r8)10625; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10626; AVX2-NEXT:    vmovaps %ymm4, 96(%r8)10627; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10628; AVX2-NEXT:    vmovaps %ymm4, 32(%r8)10629; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10630; AVX2-NEXT:    vmovaps %ymm4, 64(%r9)10631; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10632; AVX2-NEXT:    vmovaps %ymm4, (%r9)10633; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10634; AVX2-NEXT:    vmovaps %ymm4, 96(%r9)10635; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10636; AVX2-NEXT:    vmovaps %ymm4, 32(%r9)10637; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax10638; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10639; AVX2-NEXT:    vmovaps %ymm4, 64(%rax)10640; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10641; AVX2-NEXT:    vmovaps %ymm4, (%rax)10642; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10643; AVX2-NEXT:    vmovaps %ymm4, 96(%rax)10644; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10645; AVX2-NEXT:    vmovaps %ymm4, 32(%rax)10646; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax10647; AVX2-NEXT:    vmovdqa %ymm15, 64(%rax)10648; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10649; AVX2-NEXT:    vmovaps %ymm4, (%rax)10650; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10651; AVX2-NEXT:    vmovaps %ymm4, 96(%rax)10652; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10653; AVX2-NEXT:    vmovaps %ymm4, 32(%rax)10654; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax10655; AVX2-NEXT:    vmovdqa %ymm3, 96(%rax)10656; AVX2-NEXT:    vmovdqa %ymm2, 64(%rax)10657; AVX2-NEXT:    vmovdqa %ymm0, 32(%rax)10658; AVX2-NEXT:    vmovdqa %ymm1, (%rax)10659; AVX2-NEXT:    addq $2408, %rsp # imm = 0x96810660; AVX2-NEXT:    vzeroupper10661; AVX2-NEXT:    retq10662;10663; AVX2-FP-LABEL: load_i16_stride8_vf64:10664; AVX2-FP:       # %bb.0:10665; AVX2-FP-NEXT:    subq $2408, %rsp # imm = 0x96810666; AVX2-FP-NEXT:    vmovdqa 448(%rdi), %ymm210667; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10668; AVX2-FP-NEXT:    vmovdqa 480(%rdi), %ymm310669; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10670; AVX2-FP-NEXT:    vmovdqa 272(%rdi), %xmm010671; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10672; AVX2-FP-NEXT:    vmovdqa 256(%rdi), %xmm110673; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10674; AVX2-FP-NEXT:    vmovdqa 304(%rdi), %xmm410675; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10676; AVX2-FP-NEXT:    vmovdqa 288(%rdi), %xmm510677; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10678; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10679; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10680; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]10681; AVX2-FP-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10682; AVX2-FP-NEXT:    vmovdqa 368(%rdi), %xmm010683; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10684; AVX2-FP-NEXT:    vmovdqa 352(%rdi), %xmm110685; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10686; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]10687; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10688; AVX2-FP-NEXT:    vpbroadcastd %xmm0, %xmm010689; AVX2-FP-NEXT:    vmovdqa 336(%rdi), %xmm110690; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10691; AVX2-FP-NEXT:    vmovdqa 320(%rdi), %xmm410692; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10693; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]10694; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10695; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm110696; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]10697; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]10698; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10699; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm3[0,1,0,2]10700; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10701; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]10702; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10703; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]10704; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]10705; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10706; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]10707; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10708; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]10709; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10710; AVX2-FP-NEXT:    vmovdqa 384(%rdi), %ymm310711; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10712; AVX2-FP-NEXT:    vmovdqa 416(%rdi), %ymm210713; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10714; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]10715; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10716; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]10717; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10718; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]10719; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,1,0,2]10720; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10721; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm3[0,2,2,3,4,6,6,7]10722; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10723; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]10724; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10725; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10726; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10727; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10728; AVX2-FP-NEXT:    vmovdqa 880(%rdi), %xmm010729; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10730; AVX2-FP-NEXT:    vmovdqa 864(%rdi), %xmm110731; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10732; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]10733; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10734; AVX2-FP-NEXT:    vpbroadcastd %xmm0, %xmm010735; AVX2-FP-NEXT:    vmovdqa 848(%rdi), %xmm110736; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10737; AVX2-FP-NEXT:    vmovdqa 832(%rdi), %xmm210738; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10739; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10740; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10741; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm110742; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]10743; AVX2-FP-NEXT:    vmovdqa 784(%rdi), %xmm110744; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10745; AVX2-FP-NEXT:    vmovdqa 768(%rdi), %xmm210746; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10747; AVX2-FP-NEXT:    vmovdqa 816(%rdi), %xmm310748; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10749; AVX2-FP-NEXT:    vmovdqa 800(%rdi), %xmm410750; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10751; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]10752; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10753; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10754; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10755; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]10756; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10757; AVX2-FP-NEXT:    vmovdqa 960(%rdi), %ymm210758; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10759; AVX2-FP-NEXT:    vmovdqa 992(%rdi), %ymm110760; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10761; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]10762; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10763; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm11 = ymm1[0,1,2,0,4,5,6,4]10764; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]10765; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]10766; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10767; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm2[0,1,2,0,4,5,6,4]10768; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]10769; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10770; AVX2-FP-NEXT:    vmovdqa 896(%rdi), %ymm310771; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10772; AVX2-FP-NEXT:    vmovdqa 928(%rdi), %ymm210773; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10774; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]10775; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10776; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm2[0,2,2,3,4,6,6,7]10777; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm7[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]10778; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,1,0,2]10779; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10780; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm3[0,2,2,3,4,6,6,7]10781; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm6[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]10782; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10783; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10784; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10785; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10786; AVX2-FP-NEXT:    vmovdqa 112(%rdi), %xmm010787; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10788; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %xmm110789; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10790; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]10791; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10792; AVX2-FP-NEXT:    vpbroadcastd %xmm0, %xmm010793; AVX2-FP-NEXT:    vmovdqa 80(%rdi), %xmm110794; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10795; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %xmm210796; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10797; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10798; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10799; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm110800; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]10801; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm110802; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10803; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm210804; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10805; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm310806; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10807; AVX2-FP-NEXT:    vmovdqa 48(%rdi), %xmm410808; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10809; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]10810; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10811; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]10812; AVX2-FP-NEXT:    vmovdqa %xmm1, (%rsp) # 16-byte Spill10813; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]10814; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1],xmm0[2,3]10815; AVX2-FP-NEXT:    vmovdqa 192(%rdi), %ymm110816; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10817; AVX2-FP-NEXT:    vmovdqa 224(%rdi), %ymm010818; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10819; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]10820; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10821; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm0[0,1,2,0,4,5,6,4]10822; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]10823; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]10824; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10825; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm1[0,1,2,0,4,5,6,4]10826; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]10827; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm1[0,1,2,3,4,5,6],ymm0[7]10828; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %ymm010829; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10830; AVX2-FP-NEXT:    vmovdqa 160(%rdi), %ymm110831; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10832; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]10833; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10834; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,2,2,3,4,6,6,7]10835; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm1[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]10836; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]10837; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10838; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm0 = ymm0[0,2,2,3,4,6,6,7]10839; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]10840; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5],ymm9[6,7]10841; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3,4,5],ymm5[6,7]10842; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]10843; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10844; AVX2-FP-NEXT:    vmovdqa 624(%rdi), %xmm410845; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10846; AVX2-FP-NEXT:    vmovdqa 608(%rdi), %xmm510847; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10848; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10849; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10850; AVX2-FP-NEXT:    vpbroadcastd %xmm4, %xmm410851; AVX2-FP-NEXT:    vmovdqa 592(%rdi), %xmm510852; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10853; AVX2-FP-NEXT:    vmovdqa 576(%rdi), %xmm810854; AVX2-FP-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10855; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm8[0],xmm5[0],xmm8[1],xmm5[1],xmm8[2],xmm5[2],xmm8[3],xmm5[3]10856; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10857; AVX2-FP-NEXT:    vpbroadcastd %xmm5, %xmm510858; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]10859; AVX2-FP-NEXT:    vmovdqa 528(%rdi), %xmm510860; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10861; AVX2-FP-NEXT:    vmovdqa 512(%rdi), %xmm810862; AVX2-FP-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10863; AVX2-FP-NEXT:    vmovdqa 560(%rdi), %xmm910864; AVX2-FP-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10865; AVX2-FP-NEXT:    vmovdqa 544(%rdi), %xmm1210866; AVX2-FP-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10867; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm12[0],xmm9[0],xmm12[1],xmm9[1],xmm12[2],xmm9[2],xmm12[3],xmm9[3]10868; AVX2-FP-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10869; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm8[0],xmm5[0],xmm8[1],xmm5[1],xmm8[2],xmm5[2],xmm8[3],xmm5[3]10870; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10871; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm5[0],xmm9[0],xmm5[1],xmm9[1]10872; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm5[0,1],xmm4[2,3]10873; AVX2-FP-NEXT:    vmovdqa 704(%rdi), %ymm510874; AVX2-FP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10875; AVX2-FP-NEXT:    vmovdqa 736(%rdi), %ymm410876; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10877; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm4 = ymm4[0,1,0,2]10878; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10879; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,1,2,0,4,5,6,4]10880; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10881; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]10882; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm4 = ymm5[0,1,0,2]10883; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10884; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,1,2,0,4,5,6,4]10885; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10886; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm4[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]10887; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm9[0,1,2,3,4,5,6],ymm8[7]10888; AVX2-FP-NEXT:    vmovdqa 640(%rdi), %ymm910889; AVX2-FP-NEXT:    vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10890; AVX2-FP-NEXT:    vmovdqa 672(%rdi), %ymm810891; AVX2-FP-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10892; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm4 = ymm8[0,1,0,2]10893; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10894; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,2,2,3,4,6,6,7]10895; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10896; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm4[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]10897; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm4 = ymm9[0,1,0,2]10898; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10899; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,2,2,3,4,6,6,7]10900; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10901; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm4[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]10902; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]10903; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]10904; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]10905; AVX2-FP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10906; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10907; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm12 = xmm9[1,1,1,1]10908; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload10909; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0],xmm8[1],xmm12[2,3]10910; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10911; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10912; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]10913; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]10914; AVX2-FP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload10915; AVX2-FP-NEXT:    # ymm13 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]10916; AVX2-FP-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload10917; AVX2-FP-NEXT:    # ymm14 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]10918; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5,6],ymm13[7]10919; AVX2-FP-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload10920; AVX2-FP-NEXT:    # ymm14 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]10921; AVX2-FP-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload10922; AVX2-FP-NEXT:    # ymm15 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]10923; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]10924; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]10925; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]10926; AVX2-FP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10927; AVX2-FP-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload10928; AVX2-FP-NEXT:    # xmm12 = mem[1,1,1,1]10929; AVX2-FP-NEXT:    vpblendd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm12 # 16-byte Folded Reload10930; AVX2-FP-NEXT:    # xmm12 = xmm12[0],mem[1],xmm12[2,3]10931; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10932; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload10933; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm15[0],xmm14[0],xmm15[1],xmm14[1]10934; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]10935; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]10936; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]10937; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm11[7]10938; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]10939; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm6[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]10940; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4],ymm7[5],ymm6[6,7]10941; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm10[6,7]10942; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm12[0,1,2,3],ymm6[4,5,6,7]10943; AVX2-FP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10944; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm13 # 16-byte Reload10945; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm6 = xmm13[1,1,1,1]10946; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10947; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0],xmm12[1],xmm6[2,3]10948; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload10949; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10950; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm7 = xmm11[0],xmm10[0],xmm11[1],xmm10[1]10951; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0,1],xmm7[2,3]10952; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]10953; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]10954; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]10955; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]10956; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]10957; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]10958; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]10959; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]10960; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10961; AVX2-FP-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload10962; AVX2-FP-NEXT:    # xmm0 = mem[1,1,1,1]10963; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10964; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm7[1],xmm0[2,3]10965; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10966; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10967; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm6[0],xmm1[1],xmm6[1]10968; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]10969; AVX2-FP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10970; AVX2-FP-NEXT:    # ymm1 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]10971; AVX2-FP-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10972; AVX2-FP-NEXT:    # ymm2 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]10973; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10974; AVX2-FP-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10975; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]10976; AVX2-FP-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10977; AVX2-FP-NEXT:    # ymm3 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]10978; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]10979; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]10980; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10981; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10982; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm4[2,2,2,2]10983; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1,2],xmm0[3]10984; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm9[2],xmm8[2],xmm9[3],xmm8[3]10985; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]10986; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload10987; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]10988; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10989; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10990; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]10991; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10992; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]10993; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]10994; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]10995; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload10996; AVX2-FP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]10997; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10998; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload10999; AVX2-FP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]11000; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11001; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]11002; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]11003; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11004; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11005; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11006; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11007; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]11008; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm15[0,1,2],xmm0[3]11009; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11010; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload11011; AVX2-FP-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]11012; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11013; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11014; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]11015; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11016; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11017; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]11018; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11019; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]11020; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]11021; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11022; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11023; AVX2-FP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]11024; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11025; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11026; AVX2-FP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]11027; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11028; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]11029; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]11030; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11031; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11032; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11033; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11034; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[2,2,2,2]11035; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1,2],xmm0[3]11036; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm13[2],xmm12[2],xmm13[3],xmm12[3]11037; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11038; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload11039; AVX2-FP-NEXT:    # ymm14 = mem[0,1,1,3,4,5,5,7]11040; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload11041; AVX2-FP-NEXT:    # ymm13 = mem[0,1,1,3,4,5,5,7]11042; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]11043; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm13[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]11044; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11045; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload11046; AVX2-FP-NEXT:    # ymm12 = mem[3,1,2,3,7,5,6,7]11047; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload11048; AVX2-FP-NEXT:    # ymm10 = mem[3,1,2,3,7,5,6,7]11049; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm12[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]11050; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm10[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]11051; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11052; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11053; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11054; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11055; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm6[2,2,2,2]11056; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11057; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1,2],xmm0[3]11058; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11059; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm6[2],xmm7[2],xmm6[3],xmm7[3]11060; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm1[0,1],xmm0[2,3]11061; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload11062; AVX2-FP-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]11063; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload11064; AVX2-FP-NEXT:    # ymm8 = mem[0,1,1,3,4,5,5,7]11065; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]11066; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm8[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]11067; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11068; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload11069; AVX2-FP-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]11070; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11071; AVX2-FP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]11072; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]11073; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm2[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]11074; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]11075; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11076; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]11077; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11078; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11079; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload11080; AVX2-FP-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]11081; AVX2-FP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload11082; AVX2-FP-NEXT:    # xmm1 = mem[2,3,2,3]11083; AVX2-FP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload11084; AVX2-FP-NEXT:    # xmm3 = mem[3,3,3,3]11085; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]11086; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11087; AVX2-FP-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11088; AVX2-FP-NEXT:    # ymm1 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]11089; AVX2-FP-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11090; AVX2-FP-NEXT:    # ymm3 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]11091; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]11092; AVX2-FP-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11093; AVX2-FP-NEXT:    # ymm3 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]11094; AVX2-FP-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload11095; AVX2-FP-NEXT:    # ymm15 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]11096; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm15[0,1,2,3,4],ymm3[5],ymm15[6,7]11097; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]11098; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11099; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11100; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11101; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload11102; AVX2-FP-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]11103; AVX2-FP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload11104; AVX2-FP-NEXT:    # xmm1 = mem[2,3,2,3]11105; AVX2-FP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload11106; AVX2-FP-NEXT:    # xmm3 = mem[3,3,3,3]11107; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]11108; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11109; AVX2-FP-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11110; AVX2-FP-NEXT:    # ymm1 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]11111; AVX2-FP-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11112; AVX2-FP-NEXT:    # ymm3 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]11113; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]11114; AVX2-FP-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11115; AVX2-FP-NEXT:    # ymm3 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]11116; AVX2-FP-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload11117; AVX2-FP-NEXT:    # ymm11 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]11118; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm11[0,1,2,3,4],ymm3[5],ymm11[6,7]11119; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]11120; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11121; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11122; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11123; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload11124; AVX2-FP-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]11125; AVX2-FP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload11126; AVX2-FP-NEXT:    # xmm1 = mem[2,3,2,3]11127; AVX2-FP-NEXT:    vpshufd $255, (%rsp), %xmm3 # 16-byte Folded Reload11128; AVX2-FP-NEXT:    # xmm3 = mem[3,3,3,3]11129; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]11130; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11131; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]11132; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm13[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]11133; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]11134; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm12[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]11135; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm10[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]11136; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3,4],ymm3[5],ymm7[6,7]11137; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]11138; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11139; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11140; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm0 # 16-byte Folded Reload11141; AVX2-FP-NEXT:    # xmm0 = xmm5[2],mem[2],xmm5[3],mem[3]11142; AVX2-FP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload11143; AVX2-FP-NEXT:    # xmm1 = mem[2,3,2,3]11144; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm3 = xmm6[3,3,3,3]11145; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]11146; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11147; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]11148; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm8[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]11149; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]11150; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]11151; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]11152; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]11153; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11154; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11155; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11156; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11157; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload11158; AVX2-FP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11159; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11160; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11161; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload11162; AVX2-FP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11163; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11164; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11165; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload11166; AVX2-FP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11167; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11168; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11169; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload11170; AVX2-FP-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11171; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11172; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm011173; AVX2-FP-NEXT:    vpbroadcastd %xmm4, %xmm111174; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]11175; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]11176; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11177; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11178; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3]11179; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11180; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11181; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3]11182; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11183; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]11184; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11185; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]11186; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]11187; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11188; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]11189; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11190; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11191; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3]11192; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11193; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11194; AVX2-FP-NEXT:    # ymm3 = mem[0,1,1,3]11195; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11196; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]11197; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11198; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]11199; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm3[0,2,2,3,4,6,6,7]11200; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11201; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]11202; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11203; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11204; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11205; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11206; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11207; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload11208; AVX2-FP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11209; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11210; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11211; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload11212; AVX2-FP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11213; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11214; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11215; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload11216; AVX2-FP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11217; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11218; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11219; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload11220; AVX2-FP-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11221; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11222; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm011223; AVX2-FP-NEXT:    vpbroadcastd %xmm4, %xmm111224; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]11225; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]11226; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11227; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11228; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3]11229; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11230; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11231; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3]11232; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11233; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm11 = ymm1[0,1,2,0,4,5,6,4]11234; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]11235; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm2[0,1,2,0,4,5,6,4]11236; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]11237; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11238; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11239; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3]11240; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11241; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11242; AVX2-FP-NEXT:    # ymm3 = mem[0,1,1,3]11243; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11244; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm2[0,2,2,3,4,6,6,7]11245; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm9[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]11246; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm3[0,2,2,3,4,6,6,7]11247; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm8[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]11248; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11249; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11250; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11251; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11252; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11253; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload11254; AVX2-FP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11255; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11256; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11257; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload11258; AVX2-FP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11259; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11260; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm011261; AVX2-FP-NEXT:    vpbroadcastd %xmm2, %xmm111262; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]11263; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11264; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm2 # 16-byte Folded Reload11265; AVX2-FP-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]11266; AVX2-FP-NEXT:    vmovdqa %xmm2, (%rsp) # 16-byte Spill11267; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11268; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload11269; AVX2-FP-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]11270; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11271; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]11272; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11273; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11274; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3]11275; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11276; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11277; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3]11278; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11279; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm1[0,1,2,0,4,5,6,4]11280; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]11281; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm2[0,1,2,0,4,5,6,4]11282; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm6[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]11283; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11284; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11285; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3]11286; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11287; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11288; AVX2-FP-NEXT:    # ymm3 = mem[0,1,1,3]11289; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11290; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm5 = ymm2[0,2,2,3,4,6,6,7]11291; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm5[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]11292; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm3[0,2,2,3,4,6,6,7]11293; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]11294; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11295; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11296; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11297; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11298; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11299; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload11300; AVX2-FP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11301; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11302; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11303; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload11304; AVX2-FP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11305; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11306; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11307; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload11308; AVX2-FP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11309; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11310; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11311; AVX2-FP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm12 # 16-byte Folded Reload11312; AVX2-FP-NEXT:    # xmm12 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]11313; AVX2-FP-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11314; AVX2-FP-NEXT:    vpbroadcastd %xmm1, %xmm011315; AVX2-FP-NEXT:    vpbroadcastd %xmm12, %xmm111316; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]11317; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]11318; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm1[0,1],xmm0[2,3]11319; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload11320; AVX2-FP-NEXT:    # ymm0 = mem[0,1,1,3]11321; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11322; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11323; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3]11324; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11325; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm0[0,1,2,0,4,5,6,4]11326; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]11327; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm1[0,1,2,0,4,5,6,4]11328; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]11329; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm1[0,1,2,3,4,5,6],ymm0[7]11330; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload11331; AVX2-FP-NEXT:    # ymm0 = mem[0,1,1,3]11332; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11333; AVX2-FP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload11334; AVX2-FP-NEXT:    # ymm15 = mem[0,1,1,3]11335; AVX2-FP-NEXT:    vmovdqu %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11336; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm0[0,2,2,3,4,6,6,7]11337; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm1[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]11338; AVX2-FP-NEXT:    vpshufd {{.*#+}} ymm0 = ymm15[0,2,2,3,4,6,6,7]11339; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]11340; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]11341; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]11342; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]11343; AVX2-FP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11344; AVX2-FP-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload11345; AVX2-FP-NEXT:    # xmm12 = mem[1,1,1,1]11346; AVX2-FP-NEXT:    vpblendd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm12 # 16-byte Folded Reload11347; AVX2-FP-NEXT:    # xmm12 = xmm12[0],mem[1],xmm12[2,3]11348; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload11349; AVX2-FP-NEXT:    vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload11350; AVX2-FP-NEXT:    # xmm13 = xmm13[0],mem[0],xmm13[1],mem[1]11351; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]11352; AVX2-FP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload11353; AVX2-FP-NEXT:    # ymm13 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]11354; AVX2-FP-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload11355; AVX2-FP-NEXT:    # ymm14 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]11356; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5,6],ymm13[7]11357; AVX2-FP-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload11358; AVX2-FP-NEXT:    # ymm14 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]11359; AVX2-FP-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload11360; AVX2-FP-NEXT:    # ymm15 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]11361; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]11362; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]11363; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]11364; AVX2-FP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11365; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11366; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm12 = xmm14[1,1,1,1]11367; AVX2-FP-NEXT:    vpblendd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm12 # 16-byte Folded Reload11368; AVX2-FP-NEXT:    # xmm12 = xmm12[0],mem[1],xmm12[2,3]11369; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload11370; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload11371; AVX2-FP-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1]11372; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]11373; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]11374; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]11375; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm11[7]11376; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm9[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]11377; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm8[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]11378; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4],ymm9[5],ymm8[6,7]11379; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm10[6,7]11380; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm12[0,1,2,3],ymm8[4,5,6,7]11381; AVX2-FP-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11382; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload11383; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm8 = xmm12[1,1,1,1]11384; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm10 # 16-byte Reload11385; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0],xmm10[1],xmm8[2,3]11386; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11387; AVX2-FP-NEXT:    vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm9 # 16-byte Folded Reload11388; AVX2-FP-NEXT:    # xmm9 = xmm11[0],mem[0],xmm11[1],mem[1]11389; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0,1],xmm9[2,3]11390; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]11391; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm6[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]11392; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5,6],ymm7[7]11393; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm5[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]11394; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]11395; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4],ymm5[5],ymm4[6,7]11396; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm6[6,7]11397; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]11398; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11399; AVX2-FP-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload11400; AVX2-FP-NEXT:    # xmm4 = mem[1,1,1,1]11401; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload11402; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm4[0],xmm13[1],xmm4[2,3]11403; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11404; AVX2-FP-NEXT:    vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm5 # 16-byte Folded Reload11405; AVX2-FP-NEXT:    # xmm5 = xmm5[0],mem[0],xmm5[1],mem[1]11406; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm4[0,1],xmm5[2,3]11407; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]11408; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]11409; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]11410; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]11411; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]11412; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]11413; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]11414; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]11415; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11416; AVX2-FP-NEXT:    vpshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload11417; AVX2-FP-NEXT:    # xmm0 = mem[2,2,2,2]11418; AVX2-FP-NEXT:    vpblendd $7, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload11419; AVX2-FP-NEXT:    # xmm0 = mem[0,1,2],xmm0[3]11420; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11421; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload11422; AVX2-FP-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]11423; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11424; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11425; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]11426; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11427; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11428; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]11429; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11430; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]11431; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]11432; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11433; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11434; AVX2-FP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]11435; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11436; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11437; AVX2-FP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]11438; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11439; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]11440; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]11441; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11442; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11443; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11444; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11445; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm15[2,2,2,2]11446; AVX2-FP-NEXT:    vpblendd $7, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload11447; AVX2-FP-NEXT:    # xmm0 = mem[0,1,2],xmm0[3]11448; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm1 # 16-byte Folded Reload11449; AVX2-FP-NEXT:    # xmm1 = xmm14[2],mem[2],xmm14[3],mem[3]11450; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11451; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11452; AVX2-FP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]11453; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11454; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11455; AVX2-FP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]11456; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11457; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]11458; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]11459; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11460; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11461; AVX2-FP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]11462; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11463; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11464; AVX2-FP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]11465; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11466; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]11467; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]11468; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11469; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11470; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11471; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11472; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11473; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]11474; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1,2],xmm0[3]11475; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm12[2],xmm10[2],xmm12[3],xmm10[3]11476; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm1[0,1],xmm0[2,3]11477; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload11478; AVX2-FP-NEXT:    # ymm7 = mem[0,1,1,3,4,5,5,7]11479; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload11480; AVX2-FP-NEXT:    # ymm5 = mem[0,1,1,3,4,5,5,7]11481; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]11482; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm5[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]11483; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm1[0,1,2,3,4,5,6],ymm0[7]11484; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload11485; AVX2-FP-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]11486; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11487; AVX2-FP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]11488; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]11489; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]11490; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm11[0,1,2,3,4],ymm9[5],ymm11[6,7]11491; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4,5],ymm8[6,7]11492; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm8[4,5,6,7]11493; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11494; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload11495; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm6 = xmm12[2,2,2,2]11496; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload11497; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm9[0,1,2],xmm6[3]11498; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11499; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm8 = xmm10[2],xmm13[2],xmm10[3],xmm13[3]11500; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm8[0,1],xmm6[2,3]11501; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload11502; AVX2-FP-NEXT:    # ymm13 = mem[0,1,1,3,4,5,5,7]11503; AVX2-FP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload11504; AVX2-FP-NEXT:    # ymm8 = mem[0,1,1,3,4,5,5,7]11505; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm13[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]11506; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm8[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]11507; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5,6],ymm6[7]11508; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload11509; AVX2-FP-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]11510; AVX2-FP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload11511; AVX2-FP-NEXT:    # ymm6 = mem[3,1,2,3,7,5,6,7]11512; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm11[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]11513; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm6[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]11514; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]11515; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]11516; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm15 = ymm2[0,1,2,3],ymm0[4,5,6,7]11517; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11518; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm0[2],xmm14[2],xmm0[3],xmm14[3]11519; AVX2-FP-NEXT:    vpshufd $238, (%rsp), %xmm1 # 16-byte Folded Reload11520; AVX2-FP-NEXT:    # xmm1 = mem[2,3,2,3]11521; AVX2-FP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload11522; AVX2-FP-NEXT:    # xmm2 = mem[3,3,3,3]11523; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0],xmm1[1],xmm2[2,3]11524; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11525; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]11526; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm5[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]11527; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11528; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]11529; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]11530; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11531; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11532; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]11533; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11534; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload11535; AVX2-FP-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]11536; AVX2-FP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload11537; AVX2-FP-NEXT:    # xmm2 = mem[2,3,2,3]11538; AVX2-FP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload11539; AVX2-FP-NEXT:    # xmm3 = mem[3,3,3,3]11540; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0],xmm2[1],xmm3[2,3]11541; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]11542; AVX2-FP-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11543; AVX2-FP-NEXT:    # ymm2 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]11544; AVX2-FP-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11545; AVX2-FP-NEXT:    # ymm3 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]11546; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]11547; AVX2-FP-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11548; AVX2-FP-NEXT:    # ymm3 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]11549; AVX2-FP-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload11550; AVX2-FP-NEXT:    # ymm4 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]11551; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]11552; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]11553; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]11554; AVX2-FP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm9[2],xmm12[2],xmm9[3],xmm12[3]11555; AVX2-FP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload11556; AVX2-FP-NEXT:    # xmm3 = mem[2,3,2,3]11557; AVX2-FP-NEXT:    vpshufd {{.*#+}} xmm4 = xmm10[3,3,3,3]11558; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0],xmm3[1],xmm4[2,3]11559; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]11560; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm13[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]11561; AVX2-FP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm8[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]11562; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]11563; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm11[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]11564; AVX2-FP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm6[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]11565; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]11566; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]11567; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]11568; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload11569; AVX2-FP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload11570; AVX2-FP-NEXT:    # xmm3 = xmm3[2],mem[2],xmm3[3],mem[3]11571; AVX2-FP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload11572; AVX2-FP-NEXT:    # xmm4 = mem[2,3,2,3]11573; AVX2-FP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload11574; AVX2-FP-NEXT:    # xmm5 = mem[3,3,3,3]11575; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]11576; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]11577; AVX2-FP-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload11578; AVX2-FP-NEXT:    # ymm4 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]11579; AVX2-FP-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload11580; AVX2-FP-NEXT:    # ymm5 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]11581; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]11582; AVX2-FP-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload11583; AVX2-FP-NEXT:    # ymm5 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]11584; AVX2-FP-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload11585; AVX2-FP-NEXT:    # ymm6 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]11586; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4],ymm5[5],ymm6[6,7]11587; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]11588; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]11589; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11590; AVX2-FP-NEXT:    vmovaps %ymm4, 64(%rsi)11591; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11592; AVX2-FP-NEXT:    vmovaps %ymm4, (%rsi)11593; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11594; AVX2-FP-NEXT:    vmovaps %ymm4, 96(%rsi)11595; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11596; AVX2-FP-NEXT:    vmovaps %ymm4, 32(%rsi)11597; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11598; AVX2-FP-NEXT:    vmovaps %ymm4, 64(%rdx)11599; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11600; AVX2-FP-NEXT:    vmovaps %ymm4, (%rdx)11601; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11602; AVX2-FP-NEXT:    vmovaps %ymm4, 96(%rdx)11603; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11604; AVX2-FP-NEXT:    vmovaps %ymm4, 32(%rdx)11605; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11606; AVX2-FP-NEXT:    vmovaps %ymm4, 64(%rcx)11607; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11608; AVX2-FP-NEXT:    vmovaps %ymm4, (%rcx)11609; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11610; AVX2-FP-NEXT:    vmovaps %ymm4, 96(%rcx)11611; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11612; AVX2-FP-NEXT:    vmovaps %ymm4, 32(%rcx)11613; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11614; AVX2-FP-NEXT:    vmovaps %ymm4, 64(%r8)11615; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11616; AVX2-FP-NEXT:    vmovaps %ymm4, (%r8)11617; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11618; AVX2-FP-NEXT:    vmovaps %ymm4, 96(%r8)11619; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11620; AVX2-FP-NEXT:    vmovaps %ymm4, 32(%r8)11621; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11622; AVX2-FP-NEXT:    vmovaps %ymm4, 64(%r9)11623; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11624; AVX2-FP-NEXT:    vmovaps %ymm4, (%r9)11625; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11626; AVX2-FP-NEXT:    vmovaps %ymm4, 96(%r9)11627; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11628; AVX2-FP-NEXT:    vmovaps %ymm4, 32(%r9)11629; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax11630; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11631; AVX2-FP-NEXT:    vmovaps %ymm4, 64(%rax)11632; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11633; AVX2-FP-NEXT:    vmovaps %ymm4, (%rax)11634; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11635; AVX2-FP-NEXT:    vmovaps %ymm4, 96(%rax)11636; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11637; AVX2-FP-NEXT:    vmovaps %ymm4, 32(%rax)11638; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax11639; AVX2-FP-NEXT:    vmovdqa %ymm15, 64(%rax)11640; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11641; AVX2-FP-NEXT:    vmovaps %ymm4, (%rax)11642; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11643; AVX2-FP-NEXT:    vmovaps %ymm4, 96(%rax)11644; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11645; AVX2-FP-NEXT:    vmovaps %ymm4, 32(%rax)11646; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax11647; AVX2-FP-NEXT:    vmovdqa %ymm3, 96(%rax)11648; AVX2-FP-NEXT:    vmovdqa %ymm2, 64(%rax)11649; AVX2-FP-NEXT:    vmovdqa %ymm0, 32(%rax)11650; AVX2-FP-NEXT:    vmovdqa %ymm1, (%rax)11651; AVX2-FP-NEXT:    addq $2408, %rsp # imm = 0x96811652; AVX2-FP-NEXT:    vzeroupper11653; AVX2-FP-NEXT:    retq11654;11655; AVX2-FCP-LABEL: load_i16_stride8_vf64:11656; AVX2-FCP:       # %bb.0:11657; AVX2-FCP-NEXT:    subq $2408, %rsp # imm = 0x96811658; AVX2-FCP-NEXT:    vmovdqa 448(%rdi), %ymm211659; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11660; AVX2-FCP-NEXT:    vmovdqa 480(%rdi), %ymm311661; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11662; AVX2-FCP-NEXT:    vmovdqa 272(%rdi), %xmm011663; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11664; AVX2-FCP-NEXT:    vmovdqa 256(%rdi), %xmm111665; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11666; AVX2-FCP-NEXT:    vmovdqa 304(%rdi), %xmm411667; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11668; AVX2-FCP-NEXT:    vmovdqa 288(%rdi), %xmm511669; AVX2-FCP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11670; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11671; AVX2-FCP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11672; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11673; AVX2-FCP-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11674; AVX2-FCP-NEXT:    vmovdqa 368(%rdi), %xmm011675; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11676; AVX2-FCP-NEXT:    vmovdqa 352(%rdi), %xmm111677; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11678; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11679; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11680; AVX2-FCP-NEXT:    vpbroadcastd %xmm0, %xmm011681; AVX2-FCP-NEXT:    vmovdqa 336(%rdi), %xmm111682; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11683; AVX2-FCP-NEXT:    vmovdqa 320(%rdi), %xmm411684; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11685; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]11686; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11687; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm111688; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]11689; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]11690; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11691; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm3[0,1,0,2]11692; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11693; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]11694; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11695; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]11696; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]11697; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11698; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]11699; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11700; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]11701; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11702; AVX2-FCP-NEXT:    vmovdqa 384(%rdi), %ymm311703; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11704; AVX2-FCP-NEXT:    vmovdqa 416(%rdi), %ymm211705; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11706; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]11707; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11708; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]11709; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11710; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]11711; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,1,0,2]11712; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11713; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm3[0,2,2,3,4,6,6,7]11714; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11715; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]11716; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11717; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11718; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11719; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11720; AVX2-FCP-NEXT:    vmovdqa 880(%rdi), %xmm011721; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11722; AVX2-FCP-NEXT:    vmovdqa 864(%rdi), %xmm111723; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11724; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11725; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11726; AVX2-FCP-NEXT:    vpbroadcastd %xmm0, %xmm011727; AVX2-FCP-NEXT:    vmovdqa 848(%rdi), %xmm111728; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11729; AVX2-FCP-NEXT:    vmovdqa 832(%rdi), %xmm211730; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11731; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]11732; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11733; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm111734; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]11735; AVX2-FCP-NEXT:    vmovdqa 784(%rdi), %xmm111736; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11737; AVX2-FCP-NEXT:    vmovdqa 768(%rdi), %xmm211738; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11739; AVX2-FCP-NEXT:    vmovdqa 816(%rdi), %xmm311740; AVX2-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11741; AVX2-FCP-NEXT:    vmovdqa 800(%rdi), %xmm411742; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11743; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]11744; AVX2-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11745; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]11746; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11747; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]11748; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11749; AVX2-FCP-NEXT:    vmovdqa 960(%rdi), %ymm211750; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11751; AVX2-FCP-NEXT:    vmovdqa 992(%rdi), %ymm111752; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11753; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]11754; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11755; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm11 = ymm1[0,1,2,0,4,5,6,4]11756; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]11757; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]11758; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11759; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm2[0,1,2,0,4,5,6,4]11760; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]11761; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11762; AVX2-FCP-NEXT:    vmovdqa 896(%rdi), %ymm311763; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11764; AVX2-FCP-NEXT:    vmovdqa 928(%rdi), %ymm211765; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11766; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]11767; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11768; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm2[0,2,2,3,4,6,6,7]11769; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm7[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]11770; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm3[0,1,0,2]11771; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11772; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm3[0,2,2,3,4,6,6,7]11773; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm6[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]11774; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11775; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11776; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11777; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11778; AVX2-FCP-NEXT:    vmovdqa 112(%rdi), %xmm011779; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11780; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %xmm111781; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11782; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11783; AVX2-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11784; AVX2-FCP-NEXT:    vpbroadcastd %xmm0, %xmm011785; AVX2-FCP-NEXT:    vmovdqa 80(%rdi), %xmm111786; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11787; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %xmm211788; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11789; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]11790; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11791; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm111792; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]11793; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm111794; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11795; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm211796; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11797; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %xmm311798; AVX2-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11799; AVX2-FCP-NEXT:    vmovdqa 48(%rdi), %xmm411800; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11801; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]11802; AVX2-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11803; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]11804; AVX2-FCP-NEXT:    vmovdqa %xmm1, (%rsp) # 16-byte Spill11805; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]11806; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1],xmm0[2,3]11807; AVX2-FCP-NEXT:    vmovdqa 192(%rdi), %ymm111808; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11809; AVX2-FCP-NEXT:    vmovdqa 224(%rdi), %ymm011810; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11811; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]11812; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11813; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm0[0,1,2,0,4,5,6,4]11814; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]11815; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]11816; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11817; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm1[0,1,2,0,4,5,6,4]11818; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]11819; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm1[0,1,2,3,4,5,6],ymm0[7]11820; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %ymm011821; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11822; AVX2-FCP-NEXT:    vmovdqa 160(%rdi), %ymm111823; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11824; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]11825; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11826; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,2,2,3,4,6,6,7]11827; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm1[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]11828; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm0 = ymm0[0,1,0,2]11829; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11830; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm0 = ymm0[0,2,2,3,4,6,6,7]11831; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]11832; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5],ymm9[6,7]11833; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3,4,5],ymm5[6,7]11834; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]11835; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11836; AVX2-FCP-NEXT:    vmovdqa 624(%rdi), %xmm411837; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11838; AVX2-FCP-NEXT:    vmovdqa 608(%rdi), %xmm511839; AVX2-FCP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11840; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11841; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11842; AVX2-FCP-NEXT:    vpbroadcastd %xmm4, %xmm411843; AVX2-FCP-NEXT:    vmovdqa 592(%rdi), %xmm511844; AVX2-FCP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11845; AVX2-FCP-NEXT:    vmovdqa 576(%rdi), %xmm811846; AVX2-FCP-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11847; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm8[0],xmm5[0],xmm8[1],xmm5[1],xmm8[2],xmm5[2],xmm8[3],xmm5[3]11848; AVX2-FCP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11849; AVX2-FCP-NEXT:    vpbroadcastd %xmm5, %xmm511850; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]11851; AVX2-FCP-NEXT:    vmovdqa 528(%rdi), %xmm511852; AVX2-FCP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11853; AVX2-FCP-NEXT:    vmovdqa 512(%rdi), %xmm811854; AVX2-FCP-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11855; AVX2-FCP-NEXT:    vmovdqa 560(%rdi), %xmm911856; AVX2-FCP-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11857; AVX2-FCP-NEXT:    vmovdqa 544(%rdi), %xmm1211858; AVX2-FCP-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11859; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm12[0],xmm9[0],xmm12[1],xmm9[1],xmm12[2],xmm9[2],xmm12[3],xmm9[3]11860; AVX2-FCP-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11861; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm8[0],xmm5[0],xmm8[1],xmm5[1],xmm8[2],xmm5[2],xmm8[3],xmm5[3]11862; AVX2-FCP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11863; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm5 = xmm5[0],xmm9[0],xmm5[1],xmm9[1]11864; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm5[0,1],xmm4[2,3]11865; AVX2-FCP-NEXT:    vmovdqa 704(%rdi), %ymm511866; AVX2-FCP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11867; AVX2-FCP-NEXT:    vmovdqa 736(%rdi), %ymm411868; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11869; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm4[0,1,0,2]11870; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11871; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,1,2,0,4,5,6,4]11872; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11873; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm4[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]11874; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm5[0,1,0,2]11875; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11876; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,1,2,0,4,5,6,4]11877; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11878; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm4[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]11879; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm9[0,1,2,3,4,5,6],ymm8[7]11880; AVX2-FCP-NEXT:    vmovdqa 640(%rdi), %ymm911881; AVX2-FCP-NEXT:    vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11882; AVX2-FCP-NEXT:    vmovdqa 672(%rdi), %ymm811883; AVX2-FCP-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11884; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm8[0,1,0,2]11885; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11886; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,2,2,3,4,6,6,7]11887; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11888; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm4[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]11889; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm9[0,1,0,2]11890; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11891; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm4[0,2,2,3,4,6,6,7]11892; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11893; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm4[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]11894; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]11895; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]11896; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]11897; AVX2-FCP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11898; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload11899; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm12 = xmm9[1,1,1,1]11900; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload11901; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0],xmm8[1],xmm12[2,3]11902; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11903; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11904; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]11905; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]11906; AVX2-FCP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload11907; AVX2-FCP-NEXT:    # ymm13 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]11908; AVX2-FCP-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload11909; AVX2-FCP-NEXT:    # ymm14 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]11910; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5,6],ymm13[7]11911; AVX2-FCP-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload11912; AVX2-FCP-NEXT:    # ymm14 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]11913; AVX2-FCP-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload11914; AVX2-FCP-NEXT:    # ymm15 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]11915; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]11916; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]11917; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]11918; AVX2-FCP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11919; AVX2-FCP-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload11920; AVX2-FCP-NEXT:    # xmm12 = mem[1,1,1,1]11921; AVX2-FCP-NEXT:    vpblendd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm12 # 16-byte Folded Reload11922; AVX2-FCP-NEXT:    # xmm12 = xmm12[0],mem[1],xmm12[2,3]11923; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11924; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload11925; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm15[0],xmm14[0],xmm15[1],xmm14[1]11926; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]11927; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]11928; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]11929; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm11[7]11930; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]11931; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm6[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]11932; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4],ymm7[5],ymm6[6,7]11933; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm10[6,7]11934; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm12[0,1,2,3],ymm6[4,5,6,7]11935; AVX2-FCP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11936; AVX2-FCP-NEXT:    vmovdqa (%rsp), %xmm13 # 16-byte Reload11937; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm6 = xmm13[1,1,1,1]11938; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload11939; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0],xmm12[1],xmm6[2,3]11940; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11941; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11942; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm7 = xmm11[0],xmm10[0],xmm11[1],xmm10[1]11943; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0,1],xmm7[2,3]11944; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]11945; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]11946; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]11947; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]11948; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]11949; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]11950; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]11951; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]11952; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11953; AVX2-FCP-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload11954; AVX2-FCP-NEXT:    # xmm0 = mem[1,1,1,1]11955; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11956; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm7[1],xmm0[2,3]11957; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11958; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11959; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm6[0],xmm1[1],xmm6[1]11960; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]11961; AVX2-FCP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11962; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]11963; AVX2-FCP-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11964; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]11965; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11966; AVX2-FCP-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11967; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]11968; AVX2-FCP-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11969; AVX2-FCP-NEXT:    # ymm3 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]11970; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11971; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11972; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11973; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11974; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm4[2,2,2,2]11975; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1,2],xmm0[3]11976; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm9[2],xmm8[2],xmm9[3],xmm8[3]11977; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]11978; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload11979; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]11980; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11981; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11982; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]11983; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11984; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]11985; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]11986; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]11987; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload11988; AVX2-FCP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]11989; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11990; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload11991; AVX2-FCP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]11992; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11993; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]11994; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]11995; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]11996; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]11997; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11998; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11999; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]12000; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm15[0,1,2],xmm0[3]12001; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload12002; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload12003; AVX2-FCP-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]12004; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12005; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload12006; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]12007; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12008; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12009; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]12010; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12011; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]12012; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]12013; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12014; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12015; AVX2-FCP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]12016; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12017; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12018; AVX2-FCP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]12019; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12020; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]12021; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]12022; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12023; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12024; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12025; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12026; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm10[2,2,2,2]12027; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1,2],xmm0[3]12028; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm13[2],xmm12[2],xmm13[3],xmm12[3]12029; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12030; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload12031; AVX2-FCP-NEXT:    # ymm14 = mem[0,1,1,3,4,5,5,7]12032; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload12033; AVX2-FCP-NEXT:    # ymm13 = mem[0,1,1,3,4,5,5,7]12034; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]12035; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm13[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]12036; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12037; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload12038; AVX2-FCP-NEXT:    # ymm12 = mem[3,1,2,3,7,5,6,7]12039; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload12040; AVX2-FCP-NEXT:    # ymm10 = mem[3,1,2,3,7,5,6,7]12041; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm12[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]12042; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm10[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]12043; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12044; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12045; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12046; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12047; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm6[2,2,2,2]12048; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12049; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1,2],xmm0[3]12050; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12051; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm6[2],xmm7[2],xmm6[3],xmm7[3]12052; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm1[0,1],xmm0[2,3]12053; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload12054; AVX2-FCP-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]12055; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload12056; AVX2-FCP-NEXT:    # ymm8 = mem[0,1,1,3,4,5,5,7]12057; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]12058; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm8[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]12059; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12060; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload12061; AVX2-FCP-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]12062; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12063; AVX2-FCP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]12064; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]12065; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm2[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]12066; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]12067; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12068; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]12069; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12070; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12071; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload12072; AVX2-FCP-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]12073; AVX2-FCP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload12074; AVX2-FCP-NEXT:    # xmm1 = mem[2,3,2,3]12075; AVX2-FCP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload12076; AVX2-FCP-NEXT:    # xmm3 = mem[3,3,3,3]12077; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]12078; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12079; AVX2-FCP-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload12080; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]12081; AVX2-FCP-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12082; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]12083; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]12084; AVX2-FCP-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12085; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]12086; AVX2-FCP-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload12087; AVX2-FCP-NEXT:    # ymm15 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]12088; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm15[0,1,2,3,4],ymm3[5],ymm15[6,7]12089; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]12090; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12091; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12092; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12093; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload12094; AVX2-FCP-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]12095; AVX2-FCP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload12096; AVX2-FCP-NEXT:    # xmm1 = mem[2,3,2,3]12097; AVX2-FCP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload12098; AVX2-FCP-NEXT:    # xmm3 = mem[3,3,3,3]12099; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]12100; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12101; AVX2-FCP-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload12102; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]12103; AVX2-FCP-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12104; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]12105; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]12106; AVX2-FCP-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12107; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]12108; AVX2-FCP-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload12109; AVX2-FCP-NEXT:    # ymm11 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]12110; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm11[0,1,2,3,4],ymm3[5],ymm11[6,7]12111; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]12112; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12113; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12114; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12115; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload12116; AVX2-FCP-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]12117; AVX2-FCP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload12118; AVX2-FCP-NEXT:    # xmm1 = mem[2,3,2,3]12119; AVX2-FCP-NEXT:    vpshufd $255, (%rsp), %xmm3 # 16-byte Folded Reload12120; AVX2-FCP-NEXT:    # xmm3 = mem[3,3,3,3]12121; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]12122; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12123; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]12124; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm13[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]12125; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]12126; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm12[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]12127; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm10[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]12128; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3,4],ymm3[5],ymm7[6,7]12129; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]12130; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12131; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12132; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm0 # 16-byte Folded Reload12133; AVX2-FCP-NEXT:    # xmm0 = xmm5[2],mem[2],xmm5[3],mem[3]12134; AVX2-FCP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload12135; AVX2-FCP-NEXT:    # xmm1 = mem[2,3,2,3]12136; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm3 = xmm6[3,3,3,3]12137; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0],xmm1[1],xmm3[2,3]12138; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12139; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]12140; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm8[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]12141; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]12142; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]12143; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]12144; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]12145; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12146; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12147; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12148; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12149; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload12150; AVX2-FCP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12151; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12152; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12153; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload12154; AVX2-FCP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12155; AVX2-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12156; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12157; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload12158; AVX2-FCP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12159; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12160; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12161; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload12162; AVX2-FCP-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12163; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12164; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm012165; AVX2-FCP-NEXT:    vpbroadcastd %xmm4, %xmm112166; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]12167; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]12168; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12169; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload12170; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3]12171; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12172; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12173; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3]12174; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12175; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]12176; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12177; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]12178; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]12179; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12180; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]12181; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12182; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12183; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3]12184; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12185; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12186; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,1,3]12187; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12188; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]12189; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12190; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]12191; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm3[0,2,2,3,4,6,6,7]12192; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12193; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]12194; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12195; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12196; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12197; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12198; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12199; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload12200; AVX2-FCP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12201; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12202; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12203; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload12204; AVX2-FCP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12205; AVX2-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12206; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12207; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload12208; AVX2-FCP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12209; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12210; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12211; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload12212; AVX2-FCP-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12213; AVX2-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12214; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm012215; AVX2-FCP-NEXT:    vpbroadcastd %xmm4, %xmm112216; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]12217; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]12218; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12219; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload12220; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3]12221; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12222; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12223; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3]12224; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12225; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm11 = ymm1[0,1,2,0,4,5,6,4]12226; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]12227; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm2[0,1,2,0,4,5,6,4]12228; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]12229; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12230; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12231; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3]12232; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12233; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12234; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,1,3]12235; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12236; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm9 = ymm2[0,2,2,3,4,6,6,7]12237; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm9[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]12238; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm3[0,2,2,3,4,6,6,7]12239; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm8[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]12240; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12241; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12242; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12243; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12244; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12245; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload12246; AVX2-FCP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12247; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12248; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12249; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload12250; AVX2-FCP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12251; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12252; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm012253; AVX2-FCP-NEXT:    vpbroadcastd %xmm2, %xmm112254; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]12255; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload12256; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm2 # 16-byte Folded Reload12257; AVX2-FCP-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]12258; AVX2-FCP-NEXT:    vmovdqa %xmm2, (%rsp) # 16-byte Spill12259; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload12260; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload12261; AVX2-FCP-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]12262; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12263; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]12264; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12265; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload12266; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3]12267; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12268; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12269; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3]12270; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12271; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm1[0,1,2,0,4,5,6,4]12272; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]12273; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm2[0,1,2,0,4,5,6,4]12274; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm6[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]12275; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12276; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12277; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3]12278; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12279; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12280; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,1,3]12281; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12282; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm5 = ymm2[0,2,2,3,4,6,6,7]12283; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm5[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]12284; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm3[0,2,2,3,4,6,6,7]12285; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]12286; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12287; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12288; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12289; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12290; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12291; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload12292; AVX2-FCP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12293; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12294; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12295; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload12296; AVX2-FCP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12297; AVX2-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12298; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12299; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload12300; AVX2-FCP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12301; AVX2-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12302; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12303; AVX2-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm12 # 16-byte Folded Reload12304; AVX2-FCP-NEXT:    # xmm12 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]12305; AVX2-FCP-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12306; AVX2-FCP-NEXT:    vpbroadcastd %xmm1, %xmm012307; AVX2-FCP-NEXT:    vpbroadcastd %xmm12, %xmm112308; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]12309; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]12310; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm1[0,1],xmm0[2,3]12311; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload12312; AVX2-FCP-NEXT:    # ymm0 = mem[0,1,1,3]12313; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12314; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload12315; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3]12316; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12317; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm0[0,1,2,0,4,5,6,4]12318; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]12319; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm1[0,1,2,0,4,5,6,4]12320; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]12321; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm1[0,1,2,3,4,5,6],ymm0[7]12322; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload12323; AVX2-FCP-NEXT:    # ymm0 = mem[0,1,1,3]12324; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12325; AVX2-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload12326; AVX2-FCP-NEXT:    # ymm15 = mem[0,1,1,3]12327; AVX2-FCP-NEXT:    vmovdqu %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12328; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm0[0,2,2,3,4,6,6,7]12329; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm1[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]12330; AVX2-FCP-NEXT:    vpshufd {{.*#+}} ymm0 = ymm15[0,2,2,3,4,6,6,7]12331; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm0[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]12332; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]12333; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]12334; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]12335; AVX2-FCP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12336; AVX2-FCP-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload12337; AVX2-FCP-NEXT:    # xmm12 = mem[1,1,1,1]12338; AVX2-FCP-NEXT:    vpblendd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm12 # 16-byte Folded Reload12339; AVX2-FCP-NEXT:    # xmm12 = xmm12[0],mem[1],xmm12[2,3]12340; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload12341; AVX2-FCP-NEXT:    vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm13, %xmm13 # 16-byte Folded Reload12342; AVX2-FCP-NEXT:    # xmm13 = xmm13[0],mem[0],xmm13[1],mem[1]12343; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]12344; AVX2-FCP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload12345; AVX2-FCP-NEXT:    # ymm13 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]12346; AVX2-FCP-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload12347; AVX2-FCP-NEXT:    # ymm14 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]12348; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5,6],ymm13[7]12349; AVX2-FCP-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload12350; AVX2-FCP-NEXT:    # ymm14 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]12351; AVX2-FCP-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload12352; AVX2-FCP-NEXT:    # ymm15 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]12353; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]12354; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5],ymm13[6,7]12355; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm13[4,5,6,7]12356; AVX2-FCP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12357; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12358; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm12 = xmm14[1,1,1,1]12359; AVX2-FCP-NEXT:    vpblendd $2, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12, %xmm12 # 16-byte Folded Reload12360; AVX2-FCP-NEXT:    # xmm12 = xmm12[0],mem[1],xmm12[2,3]12361; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload12362; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload12363; AVX2-FCP-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1]12364; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm12[0,1],xmm13[2,3]12365; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]12366; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]12367; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm11[7]12368; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm9[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]12369; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm8[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]12370; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4],ymm9[5],ymm8[6,7]12371; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5],ymm10[6,7]12372; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm12[0,1,2,3],ymm8[4,5,6,7]12373; AVX2-FCP-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12374; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload12375; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm8 = xmm12[1,1,1,1]12376; AVX2-FCP-NEXT:    vmovdqa (%rsp), %xmm10 # 16-byte Reload12377; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0],xmm10[1],xmm8[2,3]12378; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload12379; AVX2-FCP-NEXT:    vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm9 # 16-byte Folded Reload12380; AVX2-FCP-NEXT:    # xmm9 = xmm11[0],mem[0],xmm11[1],mem[1]12381; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0,1],xmm9[2,3]12382; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]12383; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm6[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]12384; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5,6],ymm7[7]12385; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm5[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]12386; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]12387; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4],ymm5[5],ymm4[6,7]12388; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5],ymm6[6,7]12389; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]12390; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12391; AVX2-FCP-NEXT:    vpshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload12392; AVX2-FCP-NEXT:    # xmm4 = mem[1,1,1,1]12393; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload12394; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm4[0],xmm13[1],xmm4[2,3]12395; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12396; AVX2-FCP-NEXT:    vpunpckldq {{[-0-9]+}}(%r{{[sb]}}p), %xmm5, %xmm5 # 16-byte Folded Reload12397; AVX2-FCP-NEXT:    # xmm5 = xmm5[0],mem[0],xmm5[1],mem[1]12398; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm4[0,1],xmm5[2,3]12399; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]12400; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]12401; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]12402; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]12403; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]12404; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]12405; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]12406; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]12407; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12408; AVX2-FCP-NEXT:    vpshufd $170, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload12409; AVX2-FCP-NEXT:    # xmm0 = mem[2,2,2,2]12410; AVX2-FCP-NEXT:    vpblendd $7, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload12411; AVX2-FCP-NEXT:    # xmm0 = mem[0,1,2],xmm0[3]12412; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload12413; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload12414; AVX2-FCP-NEXT:    # xmm1 = xmm1[2],mem[2],xmm1[3],mem[3]12415; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12416; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload12417; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]12418; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12419; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12420; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]12421; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12422; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]12423; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]12424; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12425; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12426; AVX2-FCP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]12427; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12428; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12429; AVX2-FCP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]12430; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12431; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]12432; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]12433; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12434; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12435; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12436; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12437; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm15[2,2,2,2]12438; AVX2-FCP-NEXT:    vpblendd $7, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload12439; AVX2-FCP-NEXT:    # xmm0 = mem[0,1,2],xmm0[3]12440; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm14, %xmm1 # 16-byte Folded Reload12441; AVX2-FCP-NEXT:    # xmm1 = xmm14[2],mem[2],xmm14[3],mem[3]12442; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12443; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload12444; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]12445; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12446; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12447; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]12448; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12449; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]12450; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]12451; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12452; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12453; AVX2-FCP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]12454; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12455; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12456; AVX2-FCP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]12457; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12458; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]12459; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]12460; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12461; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12462; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12463; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12464; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12465; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm0 = xmm14[2,2,2,2]12466; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm11[0,1,2],xmm0[3]12467; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm12[2],xmm10[2],xmm12[3],xmm10[3]12468; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm1[0,1],xmm0[2,3]12469; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload12470; AVX2-FCP-NEXT:    # ymm7 = mem[0,1,1,3,4,5,5,7]12471; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload12472; AVX2-FCP-NEXT:    # ymm5 = mem[0,1,1,3,4,5,5,7]12473; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm7[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]12474; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm5[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]12475; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm1[0,1,2,3,4,5,6],ymm0[7]12476; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload12477; AVX2-FCP-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]12478; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12479; AVX2-FCP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]12480; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]12481; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]12482; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm11[0,1,2,3,4],ymm9[5],ymm11[6,7]12483; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4,5],ymm8[6,7]12484; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm8[4,5,6,7]12485; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12486; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload12487; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm6 = xmm12[2,2,2,2]12488; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload12489; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm9[0,1,2],xmm6[3]12490; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12491; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm8 = xmm10[2],xmm13[2],xmm10[3],xmm13[3]12492; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm8[0,1],xmm6[2,3]12493; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload12494; AVX2-FCP-NEXT:    # ymm13 = mem[0,1,1,3,4,5,5,7]12495; AVX2-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload12496; AVX2-FCP-NEXT:    # ymm8 = mem[0,1,1,3,4,5,5,7]12497; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm13[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]12498; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm8[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]12499; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm11[0,1,2,3,4,5,6],ymm6[7]12500; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload12501; AVX2-FCP-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]12502; AVX2-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload12503; AVX2-FCP-NEXT:    # ymm6 = mem[3,1,2,3,7,5,6,7]12504; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm11[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]12505; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm6[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]12506; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]12507; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]12508; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm15 = ymm2[0,1,2,3],ymm0[4,5,6,7]12509; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12510; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm0[2],xmm14[2],xmm0[3],xmm14[3]12511; AVX2-FCP-NEXT:    vpshufd $238, (%rsp), %xmm1 # 16-byte Folded Reload12512; AVX2-FCP-NEXT:    # xmm1 = mem[2,3,2,3]12513; AVX2-FCP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload12514; AVX2-FCP-NEXT:    # xmm2 = mem[3,3,3,3]12515; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0],xmm1[1],xmm2[2,3]12516; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12517; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]12518; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm5[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]12519; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12520; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]12521; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]12522; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12523; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12524; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm0[0,1,2,3],ymm1[4,5,6,7]12525; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12526; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload12527; AVX2-FCP-NEXT:    # xmm0 = xmm0[2],mem[2],xmm0[3],mem[3]12528; AVX2-FCP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload12529; AVX2-FCP-NEXT:    # xmm2 = mem[2,3,2,3]12530; AVX2-FCP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload12531; AVX2-FCP-NEXT:    # xmm3 = mem[3,3,3,3]12532; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0],xmm2[1],xmm3[2,3]12533; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]12534; AVX2-FCP-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12535; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]12536; AVX2-FCP-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12537; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]12538; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]12539; AVX2-FCP-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12540; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]12541; AVX2-FCP-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload12542; AVX2-FCP-NEXT:    # ymm4 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]12543; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]12544; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]12545; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12546; AVX2-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm9[2],xmm12[2],xmm9[3],xmm12[3]12547; AVX2-FCP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload12548; AVX2-FCP-NEXT:    # xmm3 = mem[2,3,2,3]12549; AVX2-FCP-NEXT:    vpshufd {{.*#+}} xmm4 = xmm10[3,3,3,3]12550; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0],xmm3[1],xmm4[2,3]12551; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]12552; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm13[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]12553; AVX2-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm8[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]12554; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]12555; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm11[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]12556; AVX2-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm6[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]12557; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]12558; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]12559; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]12560; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload12561; AVX2-FCP-NEXT:    vpunpckhdq {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload12562; AVX2-FCP-NEXT:    # xmm3 = xmm3[2],mem[2],xmm3[3],mem[3]12563; AVX2-FCP-NEXT:    vpshufd $238, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload12564; AVX2-FCP-NEXT:    # xmm4 = mem[2,3,2,3]12565; AVX2-FCP-NEXT:    vpshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload12566; AVX2-FCP-NEXT:    # xmm5 = mem[3,3,3,3]12567; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]12568; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]12569; AVX2-FCP-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload12570; AVX2-FCP-NEXT:    # ymm4 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]12571; AVX2-FCP-NEXT:    vpshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload12572; AVX2-FCP-NEXT:    # ymm5 = mem[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]12573; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]12574; AVX2-FCP-NEXT:    vpshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload12575; AVX2-FCP-NEXT:    # ymm5 = mem[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]12576; AVX2-FCP-NEXT:    vpshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload12577; AVX2-FCP-NEXT:    # ymm6 = mem[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]12578; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4],ymm5[5],ymm6[6,7]12579; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]12580; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]12581; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12582; AVX2-FCP-NEXT:    vmovaps %ymm4, 64(%rsi)12583; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12584; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rsi)12585; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12586; AVX2-FCP-NEXT:    vmovaps %ymm4, 96(%rsi)12587; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12588; AVX2-FCP-NEXT:    vmovaps %ymm4, 32(%rsi)12589; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12590; AVX2-FCP-NEXT:    vmovaps %ymm4, 64(%rdx)12591; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12592; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rdx)12593; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12594; AVX2-FCP-NEXT:    vmovaps %ymm4, 96(%rdx)12595; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12596; AVX2-FCP-NEXT:    vmovaps %ymm4, 32(%rdx)12597; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12598; AVX2-FCP-NEXT:    vmovaps %ymm4, 64(%rcx)12599; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12600; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rcx)12601; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12602; AVX2-FCP-NEXT:    vmovaps %ymm4, 96(%rcx)12603; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12604; AVX2-FCP-NEXT:    vmovaps %ymm4, 32(%rcx)12605; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12606; AVX2-FCP-NEXT:    vmovaps %ymm4, 64(%r8)12607; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12608; AVX2-FCP-NEXT:    vmovaps %ymm4, (%r8)12609; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12610; AVX2-FCP-NEXT:    vmovaps %ymm4, 96(%r8)12611; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12612; AVX2-FCP-NEXT:    vmovaps %ymm4, 32(%r8)12613; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12614; AVX2-FCP-NEXT:    vmovaps %ymm4, 64(%r9)12615; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12616; AVX2-FCP-NEXT:    vmovaps %ymm4, (%r9)12617; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12618; AVX2-FCP-NEXT:    vmovaps %ymm4, 96(%r9)12619; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12620; AVX2-FCP-NEXT:    vmovaps %ymm4, 32(%r9)12621; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12622; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12623; AVX2-FCP-NEXT:    vmovaps %ymm4, 64(%rax)12624; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12625; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rax)12626; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12627; AVX2-FCP-NEXT:    vmovaps %ymm4, 96(%rax)12628; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12629; AVX2-FCP-NEXT:    vmovaps %ymm4, 32(%rax)12630; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12631; AVX2-FCP-NEXT:    vmovdqa %ymm15, 64(%rax)12632; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12633; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rax)12634; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12635; AVX2-FCP-NEXT:    vmovaps %ymm4, 96(%rax)12636; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12637; AVX2-FCP-NEXT:    vmovaps %ymm4, 32(%rax)12638; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12639; AVX2-FCP-NEXT:    vmovdqa %ymm3, 96(%rax)12640; AVX2-FCP-NEXT:    vmovdqa %ymm2, 64(%rax)12641; AVX2-FCP-NEXT:    vmovdqa %ymm0, 32(%rax)12642; AVX2-FCP-NEXT:    vmovdqa %ymm1, (%rax)12643; AVX2-FCP-NEXT:    addq $2408, %rsp # imm = 0x96812644; AVX2-FCP-NEXT:    vzeroupper12645; AVX2-FCP-NEXT:    retq12646;12647; AVX512-LABEL: load_i16_stride8_vf64:12648; AVX512:       # %bb.0:12649; AVX512-NEXT:    subq $2408, %rsp # imm = 0x96812650; AVX512-NEXT:    vmovdqa 368(%rdi), %xmm112651; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12652; AVX512-NEXT:    vmovdqa 352(%rdi), %xmm012653; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12654; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]12655; AVX512-NEXT:    vmovdqa 336(%rdi), %xmm212656; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12657; AVX512-NEXT:    vmovdqa 320(%rdi), %xmm112658; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12659; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]12660; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm6 = [0,0,0,4]12661; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]12662; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12663; AVX512-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,2,2,2]12664; AVX512-NEXT:    vpblendd {{.*#+}} xmm2 = xmm1[0,1,2],xmm2[3]12665; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12666; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]12667; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12668; AVX512-NEXT:    vpermt2d %xmm0, %xmm6, %xmm112669; AVX512-NEXT:    vmovdqa 304(%rdi), %xmm012670; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12671; AVX512-NEXT:    vmovdqa 288(%rdi), %xmm212672; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12673; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]12674; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12675; AVX512-NEXT:    vmovdqa 272(%rdi), %xmm012676; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12677; AVX512-NEXT:    vmovdqa 256(%rdi), %xmm212678; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12679; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]12680; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]12681; AVX512-NEXT:    vmovdqa64 %xmm2, %xmm3112682; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]12683; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm012684; AVX512-NEXT:    vmovdqa 480(%rdi), %ymm112685; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12686; AVX512-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]12687; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12688; AVX512-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]12689; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12690; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]12691; AVX512-NEXT:    vmovdqa 448(%rdi), %ymm212692; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12693; AVX512-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]12694; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12695; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]12696; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12697; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]12698; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12699; AVX512-NEXT:    vmovdqa 416(%rdi), %ymm212700; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12701; AVX512-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[0,1,0,2]12702; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12703; AVX512-NEXT:    vmovdqa 384(%rdi), %ymm212704; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12705; AVX512-NEXT:    vpermq {{.*#+}} ymm5 = ymm2[0,1,0,2]12706; AVX512-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12707; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm3[0,2,2,3,4,6,6,7]12708; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12709; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]12710; AVX512-NEXT:    vpshufd {{.*#+}} ymm3 = ymm5[0,2,2,3,4,6,6,7]12711; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12712; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]12713; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12714; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12715; AVX512-NEXT:    movb $-64, %al12716; AVX512-NEXT:    kmovw %eax, %k112717; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}12718; AVX512-NEXT:    vmovdqa 112(%rdi), %xmm212719; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12720; AVX512-NEXT:    vmovdqa 96(%rdi), %xmm112721; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12722; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]12723; AVX512-NEXT:    vmovdqa 80(%rdi), %xmm312724; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12725; AVX512-NEXT:    vmovdqa 64(%rdi), %xmm212726; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12727; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]12728; AVX512-NEXT:    vpshufd {{.*#+}} xmm3 = xmm1[2,2,2,2]12729; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm2[0,1,2],xmm3[3]12730; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12731; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]12732; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12733; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]12734; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12735; AVX512-NEXT:    vpermt2d %xmm1, %xmm6, %xmm212736; AVX512-NEXT:    vmovdqa (%rdi), %xmm112737; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12738; AVX512-NEXT:    vmovdqa 16(%rdi), %xmm312739; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12740; AVX512-NEXT:    vmovdqa 32(%rdi), %xmm412741; AVX512-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12742; AVX512-NEXT:    vmovdqa 48(%rdi), %xmm512743; AVX512-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12744; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]12745; AVX512-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12746; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]12747; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]12748; AVX512-NEXT:    vmovdqa64 %xmm3, %xmm1712749; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]12750; AVX512-NEXT:    vmovdqa 224(%rdi), %ymm212751; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12752; AVX512-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[0,1,0,2]12753; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12754; AVX512-NEXT:    vmovdqa 192(%rdi), %ymm212755; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12756; AVX512-NEXT:    vpermq {{.*#+}} ymm4 = ymm2[0,1,0,2]12757; AVX512-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12758; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm3[0,1,2,0,4,5,6,4]12759; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12760; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]12761; AVX512-NEXT:    vpshufd {{.*#+}} ymm3 = ymm4[0,1,2,0,4,5,6,4]12762; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12763; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]12764; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]12765; AVX512-NEXT:    vmovdqa 160(%rdi), %ymm312766; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12767; AVX512-NEXT:    vpermq {{.*#+}} ymm24 = ymm3[0,1,0,2]12768; AVX512-NEXT:    vmovdqa 128(%rdi), %ymm312769; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12770; AVX512-NEXT:    vpermq {{.*#+}} ymm22 = ymm3[0,1,0,2]12771; AVX512-NEXT:    vpshufd {{.*#+}} ymm3 = ymm24[0,2,2,3,4,6,6,7]12772; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12773; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]12774; AVX512-NEXT:    vpshufd {{.*#+}} ymm12 = ymm22[0,2,2,3,4,6,6,7]12775; AVX512-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm12[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]12776; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]12777; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]12778; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]12779; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm012780; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12781; AVX512-NEXT:    vmovdqa 880(%rdi), %xmm112782; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12783; AVX512-NEXT:    vmovdqa 864(%rdi), %xmm012784; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12785; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]12786; AVX512-NEXT:    vmovdqa 848(%rdi), %xmm212787; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12788; AVX512-NEXT:    vmovdqa 832(%rdi), %xmm112789; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12790; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]12791; AVX512-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,2,2,2]12792; AVX512-NEXT:    vpblendd {{.*#+}} xmm2 = xmm1[0,1,2],xmm2[3]12793; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12794; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]12795; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12796; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]12797; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12798; AVX512-NEXT:    vpermt2d %xmm0, %xmm6, %xmm112799; AVX512-NEXT:    vmovdqa %xmm6, %xmm1012800; AVX512-NEXT:    vmovdqa 816(%rdi), %xmm012801; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12802; AVX512-NEXT:    vmovdqa 800(%rdi), %xmm212803; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12804; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]12805; AVX512-NEXT:    vmovdqa 784(%rdi), %xmm012806; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12807; AVX512-NEXT:    vmovdqa 768(%rdi), %xmm212808; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12809; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]12810; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]12811; AVX512-NEXT:    vmovdqa64 %xmm2, %xmm1912812; AVX512-NEXT:    vmovdqa64 %xmm3, %xmm2012813; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]12814; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm012815; AVX512-NEXT:    vmovdqa 992(%rdi), %ymm112816; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12817; AVX512-NEXT:    vpermq {{.*#+}} ymm3 = ymm1[0,1,0,2]12818; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12819; AVX512-NEXT:    vmovdqa 960(%rdi), %ymm112820; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12821; AVX512-NEXT:    vpermq {{.*#+}} ymm2 = ymm1[0,1,0,2]12822; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12823; AVX512-NEXT:    vpshufd {{.*#+}} ymm7 = ymm3[0,1,2,0,4,5,6,4]12824; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]12825; AVX512-NEXT:    vpshufd {{.*#+}} ymm6 = ymm2[0,1,2,0,4,5,6,4]12826; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm6[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]12827; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12828; AVX512-NEXT:    vmovdqa 928(%rdi), %ymm212829; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12830; AVX512-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[0,1,0,2]12831; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12832; AVX512-NEXT:    vmovdqa 896(%rdi), %ymm212833; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12834; AVX512-NEXT:    vpermq {{.*#+}} ymm18 = ymm2[0,1,0,2]12835; AVX512-NEXT:    vpshufd {{.*#+}} ymm4 = ymm3[0,2,2,3,4,6,6,7]12836; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm4[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]12837; AVX512-NEXT:    vpshufd {{.*#+}} ymm3 = ymm18[0,2,2,3,4,6,6,7]12838; AVX512-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]12839; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3,4],ymm2[5],ymm9[6,7]12840; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12841; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}12842; AVX512-NEXT:    vmovdqa 624(%rdi), %xmm212843; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12844; AVX512-NEXT:    vmovdqa 608(%rdi), %xmm112845; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12846; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]12847; AVX512-NEXT:    vmovdqa 592(%rdi), %xmm512848; AVX512-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12849; AVX512-NEXT:    vmovdqa 576(%rdi), %xmm212850; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12851; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]12852; AVX512-NEXT:    vpshufd {{.*#+}} xmm9 = xmm1[2,2,2,2]12853; AVX512-NEXT:    vpblendd {{.*#+}} xmm5 = xmm2[0,1,2],xmm9[3]12854; AVX512-NEXT:    vmovdqa %xmm5, (%rsp) # 16-byte Spill12855; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm16 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]12856; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm5 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]12857; AVX512-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12858; AVX512-NEXT:    vpermt2d %xmm1, %xmm10, %xmm212859; AVX512-NEXT:    vmovdqa 560(%rdi), %xmm112860; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12861; AVX512-NEXT:    vmovdqa 544(%rdi), %xmm512862; AVX512-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12863; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]12864; AVX512-NEXT:    vmovdqa 528(%rdi), %xmm112865; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12866; AVX512-NEXT:    vmovdqa 512(%rdi), %xmm512867; AVX512-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12868; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]12869; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm15[0],xmm8[0],xmm15[1],xmm8[1]12870; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm1[0,1],xmm2[2,3]12871; AVX512-NEXT:    vmovdqa 736(%rdi), %ymm112872; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12873; AVX512-NEXT:    vpermq {{.*#+}} ymm29 = ymm1[0,1,0,2]12874; AVX512-NEXT:    vmovdqa 704(%rdi), %ymm112875; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12876; AVX512-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]12877; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12878; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm29[0,1,2,0,4,5,6,4]12879; AVX512-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm2[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]12880; AVX512-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]12881; AVX512-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm1[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]12882; AVX512-NEXT:    vpblendd {{.*#+}} ymm13 = ymm11[0,1,2,3,4,5,6],ymm10[7]12883; AVX512-NEXT:    vmovdqa 672(%rdi), %ymm512884; AVX512-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12885; AVX512-NEXT:    vpermq {{.*#+}} ymm28 = ymm5[0,1,0,2]12886; AVX512-NEXT:    vmovdqa 640(%rdi), %ymm512887; AVX512-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12888; AVX512-NEXT:    vpermq {{.*#+}} ymm30 = ymm5[0,1,0,2]12889; AVX512-NEXT:    vpshufd {{.*#+}} ymm10 = ymm28[0,2,2,3,4,6,6,7]12890; AVX512-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm10[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]12891; AVX512-NEXT:    vpshufd {{.*#+}} ymm11 = ymm30[0,2,2,3,4,6,6,7]12892; AVX512-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm11[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]12893; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4],ymm14[5],ymm5[6,7]12894; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm13[6,7]12895; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]12896; AVX512-NEXT:    vinserti64x4 $0, %ymm5, %zmm0, %zmm012897; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12898; AVX512-NEXT:    vpshufd {{.*#+}} xmm0 = xmm31[1,1,1,1]12899; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12900; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm14[1],xmm0[2,3]12901; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload12902; AVX512-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]12903; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm012904; AVX512-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload12905; AVX512-NEXT:    # ymm5 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]12906; AVX512-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload12907; AVX512-NEXT:    # ymm9 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]12908; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5,6],ymm5[7]12909; AVX512-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload12910; AVX512-NEXT:    # ymm9 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]12911; AVX512-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload12912; AVX512-NEXT:    # ymm13 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]12913; AVX512-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3,4],ymm9[5],ymm13[6,7]12914; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]12915; AVX512-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm0 {%k1}12916; AVX512-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload12917; AVX512-NEXT:    # ymm5 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]12918; AVX512-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload12919; AVX512-NEXT:    # ymm9 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]12920; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5,6],ymm5[7]12921; AVX512-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload12922; AVX512-NEXT:    # ymm9 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]12923; AVX512-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm12[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]12924; AVX512-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3,4],ymm9[5],ymm13[6,7]12925; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]12926; AVX512-NEXT:    vpshufd {{.*#+}} xmm9 = xmm17[1,1,1,1]12927; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload12928; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm9[0],xmm13[1],xmm9[2,3]12929; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm9, %xmm9 # 16-byte Folded Reload12930; AVX512-NEXT:    # xmm9 = xmm9[0,1],mem[2,3]12931; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]12932; AVX512-NEXT:    vinserti64x4 $0, %ymm5, %zmm0, %zmm012933; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12934; AVX512-NEXT:    vpshufd {{.*#+}} xmm0 = xmm19[1,1,1,1]12935; AVX512-NEXT:    vmovdqa64 %xmm20, %xmm912936; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm9[1],xmm0[2,3]12937; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload12938; AVX512-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]12939; AVX512-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]12940; AVX512-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm6[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]12941; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]12942; AVX512-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]12943; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]12944; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4],ymm4[5],ymm3[6,7]12945; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm5[6,7]12946; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm012947; AVX512-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm0 {%k1}12948; AVX512-NEXT:    vpshufd {{.*#+}} xmm3 = xmm15[1,1,1,1]12949; AVX512-NEXT:    vmovdqa %xmm8, %xmm512950; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0],xmm8[1],xmm3[2,3]12951; AVX512-NEXT:    vmovdqa64 %xmm16, %xmm412952; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm4[2,3]12953; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]12954; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]12955; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm2[7]12956; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm10[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]12957; AVX512-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm11[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]12958; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4],ymm2[5],ymm4[6,7]12959; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12960; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]12961; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm012962; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12963; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm31[2],xmm14[2],xmm31[3],xmm14[3]12964; AVX512-NEXT:    vmovdqa64 %xmm14, %xmm1612965; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload12966; AVX512-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]12967; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm012968; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12969; AVX512-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]12970; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]12971; AVX512-NEXT:    vmovdqa64 %ymm2, %ymm2712972; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12973; AVX512-NEXT:    # ymm3 = mem[0,1,1,3,4,5,5,7]12974; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm3[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]12975; AVX512-NEXT:    vmovdqa64 %ymm3, %ymm2612976; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12977; AVX512-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload12978; AVX512-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]12979; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm3[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]12980; AVX512-NEXT:    vmovdqa64 %ymm3, %ymm2312981; AVX512-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload12982; AVX512-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]12983; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]12984; AVX512-NEXT:    vmovdqa64 %ymm4, %ymm2112985; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12986; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]12987; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}12988; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload12989; AVX512-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]12990; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]12991; AVX512-NEXT:    vmovdqa64 %ymm2, %ymm2512992; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload12993; AVX512-NEXT:    # ymm14 = mem[0,1,1,3,4,5,5,7]12994; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm14[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]12995; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]12996; AVX512-NEXT:    vpshufd {{.*#+}} ymm12 = ymm24[3,1,2,3,7,5,6,7]12997; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm12[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]12998; AVX512-NEXT:    vpshufd {{.*#+}} ymm11 = ymm22[3,1,2,3,7,5,6,7]12999; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13000; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]13001; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]13002; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm17[2],xmm13[2],xmm17[3],xmm13[3]13003; AVX512-NEXT:    vmovdqa64 %xmm13, %xmm2213004; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload13005; AVX512-NEXT:    # xmm2 = xmm2[0,1],mem[2,3]13006; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]13007; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm013008; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13009; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm19[2],xmm20[2],xmm19[3],xmm20[3]13010; AVX512-NEXT:    vmovdqa64 %xmm20, %xmm2413011; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13012; AVX512-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]13013; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm2013014; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload13015; AVX512-NEXT:    # ymm10 = mem[0,1,1,3,4,5,5,7]13016; AVX512-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]13017; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload13018; AVX512-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]13019; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]13020; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]13021; AVX512-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload13022; AVX512-NEXT:    # ymm8 = mem[3,1,2,3,7,5,6,7]13023; AVX512-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm8[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]13024; AVX512-NEXT:    vpshufd {{.*#+}} ymm6 = ymm18[3,1,2,3,7,5,6,7]13025; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm6[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13026; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]13027; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13028; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm20 {%k1}13029; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm15[2],xmm5[2],xmm15[3],xmm5[3]13030; AVX512-NEXT:    vmovdqa64 %xmm5, %xmm1813031; AVX512-NEXT:    vpblendd $12, (%rsp), %xmm0, %xmm3 # 16-byte Folded Reload13032; AVX512-NEXT:    # xmm3 = xmm0[0,1],mem[2,3]13033; AVX512-NEXT:    vpshufd {{.*#+}} ymm7 = ymm29[0,1,1,3,4,5,5,7]13034; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]13035; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload13036; AVX512-NEXT:    # ymm5 = mem[0,1,1,3,4,5,5,7]13037; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm5[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]13038; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13039; AVX512-NEXT:    vpshufd {{.*#+}} ymm4 = ymm28[3,1,2,3,7,5,6,7]13040; AVX512-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]13041; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm30[3,1,2,3,7,5,6,7]13042; AVX512-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm2[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13043; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4],ymm0[5],ymm13[6,7]13044; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]13045; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]13046; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm20, %zmm013047; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13048; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm0 = [3,7,0,0]13049; AVX512-NEXT:    vmovdqa64 %xmm31, %xmm113050; AVX512-NEXT:    vpermt2d %xmm16, %xmm0, %xmm113051; AVX512-NEXT:    vmovdqa64 %xmm0, %xmm1613052; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm0 # 16-byte Folded Reload13053; AVX512-NEXT:    # xmm0 = xmm1[0,1],mem[2,3]13054; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013055; AVX512-NEXT:    vmovdqa64 %ymm27, %ymm113056; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]13057; AVX512-NEXT:    vmovdqa64 %ymm26, %ymm313058; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]13059; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]13060; AVX512-NEXT:    vmovdqa64 %ymm23, %ymm313061; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]13062; AVX512-NEXT:    vmovdqa64 %ymm21, %ymm1313063; AVX512-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm13[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]13064; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm13[0,1,2,3,4],ymm3[5],ymm13[6,7]13065; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]13066; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}13067; AVX512-NEXT:    vmovdqa64 %xmm17, %xmm113068; AVX512-NEXT:    vpermt2d %xmm22, %xmm16, %xmm113069; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13070; AVX512-NEXT:    # xmm1 = xmm1[0,1],mem[2,3]13071; AVX512-NEXT:    vmovdqa64 %ymm25, %ymm313072; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]13073; AVX512-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm14[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]13074; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm13[0,1,2,3,4,5,6],ymm3[7]13075; AVX512-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm12[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]13076; AVX512-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]13077; AVX512-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3,4],ymm12[5],ymm11[6,7]13078; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm11[0,1,2,3,4,5],ymm3[6,7]13079; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]13080; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm013081; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13082; AVX512-NEXT:    vmovdqa64 %xmm19, %xmm013083; AVX512-NEXT:    vpermt2d %xmm24, %xmm16, %xmm013084; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13085; AVX512-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]13086; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013087; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm10[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]13088; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm9[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]13089; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]13090; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm8[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]13091; AVX512-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm6[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]13092; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4],ymm3[5],ymm6[6,7]13093; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]13094; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}13095; AVX512-NEXT:    vpermt2d %xmm18, %xmm16, %xmm1513096; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15, %xmm1 # 16-byte Folded Reload13097; AVX512-NEXT:    # xmm1 = xmm15[0,1],mem[2,3]13098; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm7[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]13099; AVX512-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]13100; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5,6],ymm3[7]13101; AVX512-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]13102; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]13103; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm4[5],ymm2[6,7]13104; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]13105; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]13106; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm013107; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13108; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13109; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm5 # 16-byte Folded Reload13110; AVX512-NEXT:    # xmm5 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13111; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13112; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm6 # 16-byte Folded Reload13113; AVX512-NEXT:    # xmm6 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13114; AVX512-NEXT:    vpshufd {{.*#+}} xmm0 = xmm5[2,2,2,2]13115; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm6[0,1,2],xmm0[3]13116; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13117; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]13118; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13119; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm6[2],xmm5[2],xmm6[3],xmm5[3]13120; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13121; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm10 = [0,0,0,4]13122; AVX512-NEXT:    vpermt2d %xmm5, %xmm10, %xmm613123; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13124; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload13125; AVX512-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13126; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13127; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13128; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload13129; AVX512-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13130; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]13131; AVX512-NEXT:    vmovdqa64 %xmm2, %xmm2813132; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm6[2,3]13133; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013134; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload13135; AVX512-NEXT:    # ymm1 = mem[0,1,1,3]13136; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13137; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload13138; AVX512-NEXT:    # ymm2 = mem[0,1,1,3]13139; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13140; AVX512-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]13141; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13142; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]13143; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]13144; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13145; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]13146; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13147; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload13148; AVX512-NEXT:    # ymm2 = mem[0,1,1,3]13149; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13150; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload13151; AVX512-NEXT:    # ymm3 = mem[0,1,1,3]13152; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13153; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]13154; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13155; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]13156; AVX512-NEXT:    vpshufd {{.*#+}} ymm3 = ymm3[0,2,2,3,4,6,6,7]13157; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13158; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]13159; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]13160; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]13161; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}13162; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13163; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13164; AVX512-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]13165; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload13166; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload13167; AVX512-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]13168; AVX512-NEXT:    vpshufd {{.*#+}} xmm3 = xmm1[2,2,2,2]13169; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm2[0,1,2],xmm3[3]13170; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13171; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]13172; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13173; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]13174; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13175; AVX512-NEXT:    vpermt2d %xmm1, %xmm10, %xmm213176; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13177; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm3 # 16-byte Folded Reload13178; AVX512-NEXT:    # xmm3 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]13179; AVX512-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13180; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13181; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13182; AVX512-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]13183; AVX512-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13184; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]13185; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]13186; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload13187; AVX512-NEXT:    # ymm2 = mem[0,1,1,3]13188; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13189; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload13190; AVX512-NEXT:    # ymm3 = mem[0,1,1,3]13191; AVX512-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13192; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]13193; AVX512-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13194; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]13195; AVX512-NEXT:    vpshufd {{.*#+}} ymm4 = ymm3[0,1,2,0,4,5,6,4]13196; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm4[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]13197; AVX512-NEXT:    vmovdqa64 %ymm4, %ymm1713198; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]13199; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm30 # 32-byte Folded Reload13200; AVX512-NEXT:    # ymm30 = mem[0,1,1,3]13201; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload13202; AVX512-NEXT:    # ymm4 = mem[0,1,1,3]13203; AVX512-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13204; AVX512-NEXT:    vpshufd {{.*#+}} ymm9 = ymm30[0,2,2,3,4,6,6,7]13205; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm9[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]13206; AVX512-NEXT:    vpshufd {{.*#+}} ymm7 = ymm4[0,2,2,3,4,6,6,7]13207; AVX512-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm7[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]13208; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]13209; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]13210; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]13211; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm013212; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13213; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13214; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13215; AVX512-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13216; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13217; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13218; AVX512-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]13219; AVX512-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,2,2,2]13220; AVX512-NEXT:    vpblendd {{.*#+}} xmm2 = xmm1[0,1,2],xmm2[3]13221; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13222; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm23 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]13223; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]13224; AVX512-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13225; AVX512-NEXT:    vpermt2d %xmm0, %xmm10, %xmm113226; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13227; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload13228; AVX512-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13229; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13230; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload13231; AVX512-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13232; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]13233; AVX512-NEXT:    vmovdqa64 %xmm3, %xmm1613234; AVX512-NEXT:    vmovdqa64 %xmm2, %xmm2013235; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]13236; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm1213237; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload13238; AVX512-NEXT:    # ymm0 = mem[0,1,1,3]13239; AVX512-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13240; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload13241; AVX512-NEXT:    # ymm1 = mem[0,1,1,3]13242; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13243; AVX512-NEXT:    vpshufd {{.*#+}} ymm6 = ymm0[0,1,2,0,4,5,6,4]13244; AVX512-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]13245; AVX512-NEXT:    vpshufd {{.*#+}} ymm5 = ymm1[0,1,2,0,4,5,6,4]13246; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm5[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]13247; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]13248; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm22 # 32-byte Folded Reload13249; AVX512-NEXT:    # ymm22 = mem[0,1,1,3]13250; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm29 # 32-byte Folded Reload13251; AVX512-NEXT:    # ymm29 = mem[0,1,1,3]13252; AVX512-NEXT:    vpshufd {{.*#+}} ymm4 = ymm22[0,2,2,3,4,6,6,7]13253; AVX512-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm4[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]13254; AVX512-NEXT:    vpshufd {{.*#+}} ymm3 = ymm29[0,2,2,3,4,6,6,7]13255; AVX512-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]13256; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3,4],ymm1[5],ymm8[6,7]13257; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13258; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm12 {%k1}13259; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13260; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload13261; AVX512-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13262; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13263; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm8 # 16-byte Folded Reload13264; AVX512-NEXT:    # xmm8 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13265; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13266; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm11 # 16-byte Folded Reload13267; AVX512-NEXT:    # xmm11 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13268; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload13269; AVX512-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm13 # 16-byte Folded Reload13270; AVX512-NEXT:    # xmm13 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]13271; AVX512-NEXT:    vmovdqa %xmm10, %xmm113272; AVX512-NEXT:    vpermi2d %xmm2, %xmm8, %xmm113273; AVX512-NEXT:    vmovdqa64 %xmm8, %xmm1913274; AVX512-NEXT:    vmovdqa64 %xmm2, %xmm2413275; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm13[0],xmm11[0],xmm13[1],xmm11[1]13276; AVX512-NEXT:    vmovdqa64 %xmm13, %xmm3113277; AVX512-NEXT:    vmovdqa64 %xmm11, %xmm2113278; AVX512-NEXT:    vpblendd {{.*#+}} xmm14 = xmm0[0,1],xmm1[2,3]13279; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload13280; AVX512-NEXT:    # ymm1 = mem[0,1,1,3]13281; AVX512-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13282; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload13283; AVX512-NEXT:    # ymm0 = mem[0,1,1,3]13284; AVX512-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13285; AVX512-NEXT:    vpshufd {{.*#+}} ymm2 = ymm1[0,1,2,0,4,5,6,4]13286; AVX512-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm2[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]13287; AVX512-NEXT:    vpshufd {{.*#+}} ymm1 = ymm0[0,1,2,0,4,5,6,4]13288; AVX512-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm1[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]13289; AVX512-NEXT:    vpblendd {{.*#+}} ymm15 = ymm11[0,1,2,3,4,5,6],ymm8[7]13290; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload13291; AVX512-NEXT:    # ymm0 = mem[0,1,1,3]13292; AVX512-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13293; AVX512-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload13294; AVX512-NEXT:    # ymm10 = mem[0,1,1,3]13295; AVX512-NEXT:    vmovdqu %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13296; AVX512-NEXT:    vpshufd {{.*#+}} ymm8 = ymm0[0,2,2,3,4,6,6,7]13297; AVX512-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm8[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]13298; AVX512-NEXT:    vpshufd {{.*#+}} ymm11 = ymm10[0,2,2,3,4,6,6,7]13299; AVX512-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm11[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]13300; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4],ymm0[5],ymm13[6,7]13301; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm15[6,7]13302; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]13303; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm12, %zmm013304; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13305; AVX512-NEXT:    vpshufd {{.*#+}} xmm0 = xmm28[1,1,1,1]13306; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload13307; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm10[1],xmm0[2,3]13308; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13309; AVX512-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]13310; AVX512-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload13311; AVX512-NEXT:    # ymm12 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]13312; AVX512-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload13313; AVX512-NEXT:    # ymm13 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]13314; AVX512-NEXT:    vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5,6],ymm12[7]13315; AVX512-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload13316; AVX512-NEXT:    # ymm13 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]13317; AVX512-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload13318; AVX512-NEXT:    # ymm14 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]13319; AVX512-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4],ymm13[5],ymm14[6,7]13320; AVX512-NEXT:    vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5],ymm12[6,7]13321; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013322; AVX512-NEXT:    vinserti64x4 $1, %ymm12, %zmm0, %zmm0 {%k1}13323; AVX512-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload13324; AVX512-NEXT:    # ymm12 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]13325; AVX512-NEXT:    vmovdqa64 %ymm17, %ymm1313326; AVX512-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm13[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]13327; AVX512-NEXT:    vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5,6],ymm12[7]13328; AVX512-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm9[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]13329; AVX512-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]13330; AVX512-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4],ymm9[5],ymm7[6,7]13331; AVX512-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm12[6,7]13332; AVX512-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm17 # 16-byte Reload13333; AVX512-NEXT:    vpshufd {{.*#+}} xmm9 = xmm17[1,1,1,1]13334; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload13335; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm9[0],xmm15[1],xmm9[2,3]13336; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm9, %xmm9 # 16-byte Folded Reload13337; AVX512-NEXT:    # xmm9 = xmm9[0,1],mem[2,3]13338; AVX512-NEXT:    vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]13339; AVX512-NEXT:    vinserti64x4 $0, %ymm7, %zmm0, %zmm013340; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13341; AVX512-NEXT:    vpshufd {{.*#+}} xmm0 = xmm16[1,1,1,1]13342; AVX512-NEXT:    vmovdqa64 %xmm20, %xmm713343; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm7[1],xmm0[2,3]13344; AVX512-NEXT:    vmovdqa64 %xmm23, %xmm913345; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm9[2,3]13346; AVX512-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]13347; AVX512-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]13348; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm6[7]13349; AVX512-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]13350; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]13351; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4],ymm4[5],ymm3[6,7]13352; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013353; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm5[6,7]13354; AVX512-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm0 {%k1}13355; AVX512-NEXT:    vpshufd {{.*#+}} xmm3 = xmm31[1,1,1,1]13356; AVX512-NEXT:    vmovdqa64 %xmm21, %xmm613357; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0],xmm6[1],xmm3[2,3]13358; AVX512-NEXT:    vmovdqa64 %xmm19, %xmm513359; AVX512-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm19[0],xmm24[0],xmm19[1],xmm24[1]13360; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm4[2,3]13361; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]13362; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]13363; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm2[7]13364; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm8[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]13365; AVX512-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm11[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]13366; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4],ymm2[5],ymm4[6,7]13367; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]13368; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]13369; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm013370; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13371; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm28[2],xmm10[2],xmm28[3],xmm10[3]13372; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13373; AVX512-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]13374; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013375; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload13376; AVX512-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]13377; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]13378; AVX512-NEXT:    vmovdqa64 %ymm2, %ymm2713379; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload13380; AVX512-NEXT:    # ymm3 = mem[0,1,1,3,4,5,5,7]13381; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm3[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]13382; AVX512-NEXT:    vmovdqa64 %ymm3, %ymm2613383; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13384; AVX512-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload13385; AVX512-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]13386; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm3[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]13387; AVX512-NEXT:    vmovdqa64 %ymm3, %ymm2513388; AVX512-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload13389; AVX512-NEXT:    # ymm13 = mem[3,1,2,3,7,5,6,7]13390; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm13[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13391; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]13392; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]13393; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}13394; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload13395; AVX512-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]13396; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]13397; AVX512-NEXT:    vmovdqa64 %ymm2, %ymm2113398; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload13399; AVX512-NEXT:    # ymm14 = mem[0,1,1,3,4,5,5,7]13400; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm14[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]13401; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13402; AVX512-NEXT:    vpshufd {{.*#+}} ymm12 = ymm30[3,1,2,3,7,5,6,7]13403; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm12[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]13404; AVX512-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload13405; AVX512-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]13406; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13407; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]13408; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]13409; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm17[2],xmm15[2],xmm17[3],xmm15[3]13410; AVX512-NEXT:    vmovdqa64 %xmm15, %xmm2313411; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload13412; AVX512-NEXT:    # xmm2 = xmm2[0,1],mem[2,3]13413; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]13414; AVX512-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm013415; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13416; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm16[2],xmm20[2],xmm16[3],xmm20[3]13417; AVX512-NEXT:    vmovdqa64 %xmm16, %xmm1913418; AVX512-NEXT:    vmovdqa64 %xmm20, %xmm3013419; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload13420; AVX512-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]13421; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm2013422; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload13423; AVX512-NEXT:    # ymm10 = mem[0,1,1,3,4,5,5,7]13424; AVX512-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]13425; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload13426; AVX512-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]13427; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]13428; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]13429; AVX512-NEXT:    vpshufd {{.*#+}} ymm8 = ymm22[3,1,2,3,7,5,6,7]13430; AVX512-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm8[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]13431; AVX512-NEXT:    vpshufd {{.*#+}} ymm7 = ymm29[3,1,2,3,7,5,6,7]13432; AVX512-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm7[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13433; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4],ymm1[5],ymm3[6,7]13434; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13435; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm20 {%k1}13436; AVX512-NEXT:    vpshufd {{.*#+}} xmm0 = xmm24[2,2,2,2]13437; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm5[0,1,2],xmm0[3]13438; AVX512-NEXT:    vmovdqa64 %xmm5, %xmm2213439; AVX512-NEXT:    vmovdqa64 %xmm31, %xmm413440; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm31[2],xmm6[2],xmm31[3],xmm6[3]13441; AVX512-NEXT:    vmovdqa64 %xmm6, %xmm2913442; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm1[0,1],xmm0[2,3]13443; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload13444; AVX512-NEXT:    # ymm0 = mem[0,1,1,3,4,5,5,7]13445; AVX512-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]13446; AVX512-NEXT:    vmovdqa64 %ymm0, %ymm1813447; AVX512-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload13448; AVX512-NEXT:    # ymm5 = mem[0,1,1,3,4,5,5,7]13449; AVX512-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm5[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]13450; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13451; AVX512-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload13452; AVX512-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]13453; AVX512-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm2[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]13454; AVX512-NEXT:    vmovdqa64 %ymm2, %ymm3113455; AVX512-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload13456; AVX512-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]13457; AVX512-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm2[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13458; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]13459; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]13460; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]13461; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm20, %zmm013462; AVX512-NEXT:    vpmovsxbd {{.*#+}} xmm16 = [3,7,0,0]13463; AVX512-NEXT:    vmovdqa64 %xmm28, %xmm113464; AVX512-NEXT:    vpermt2d {{[-0-9]+}}(%r{{[sb]}}p), %xmm16, %xmm1 # 16-byte Folded Reload13465; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload13466; AVX512-NEXT:    # xmm1 = xmm1[0,1],mem[2,3]13467; AVX512-NEXT:    vinserti32x4 $2, %xmm1, %zmm0, %zmm113468; AVX512-NEXT:    vmovdqa64 %ymm27, %ymm313469; AVX512-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]13470; AVX512-NEXT:    vmovdqa64 %ymm26, %ymm613471; AVX512-NEXT:    vpshufhw {{.*#+}} ymm15 = ymm6[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]13472; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm15[0,1,2,3,4,5,6],ymm3[7]13473; AVX512-NEXT:    vmovdqa64 %ymm25, %ymm613474; AVX512-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm6[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]13475; AVX512-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm13[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]13476; AVX512-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4],ymm15[5],ymm13[6,7]13477; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm13[0,1,2,3,4,5],ymm3[6,7]13478; AVX512-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm1 {%k1}13479; AVX512-NEXT:    vmovdqa64 %xmm17, %xmm313480; AVX512-NEXT:    vpermt2d %xmm23, %xmm16, %xmm313481; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload13482; AVX512-NEXT:    # xmm3 = xmm3[0,1],mem[2,3]13483; AVX512-NEXT:    vmovdqa64 %ymm21, %ymm613484; AVX512-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm6[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]13485; AVX512-NEXT:    vpshufhw {{.*#+}} ymm14 = ymm14[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]13486; AVX512-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5,6],ymm13[7]13487; AVX512-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm12[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]13488; AVX512-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]13489; AVX512-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3,4],ymm12[5],ymm11[6,7]13490; AVX512-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5],ymm13[6,7]13491; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm11[4,5,6,7]13492; AVX512-NEXT:    vinserti64x4 $0, %ymm3, %zmm1, %zmm113493; AVX512-NEXT:    vmovdqa64 %xmm19, %xmm313494; AVX512-NEXT:    vpermt2d %xmm30, %xmm16, %xmm313495; AVX512-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload13496; AVX512-NEXT:    # xmm3 = xmm3[0,1],mem[2,3]13497; AVX512-NEXT:    vinserti32x4 $2, %xmm3, %zmm0, %zmm313498; AVX512-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]13499; AVX512-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm9[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]13500; AVX512-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5,6],ymm10[7]13501; AVX512-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm8[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]13502; AVX512-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm7[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]13503; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4],ymm8[5],ymm6[6,7]13504; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm9[6,7]13505; AVX512-NEXT:    vinserti64x4 $1, %ymm6, %zmm0, %zmm3 {%k1}13506; AVX512-NEXT:    vpermt2d %xmm29, %xmm16, %xmm413507; AVX512-NEXT:    vpunpckhdq {{.*#+}} xmm6 = xmm22[2],xmm24[2],xmm22[3],xmm24[3]13508; AVX512-NEXT:    vpblendd {{.*#+}} xmm6 = xmm4[0,1],xmm6[2,3]13509; AVX512-NEXT:    vmovdqa64 %ymm18, %ymm713510; AVX512-NEXT:    vpshufhw {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]13511; AVX512-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]13512; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm7[7]13513; AVX512-NEXT:    vmovdqa64 %ymm31, %ymm413514; AVX512-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]13515; AVX512-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]13516; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm4[5],ymm2[6,7]13517; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]13518; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3],ymm2[4,5,6,7]13519; AVX512-NEXT:    vinserti64x4 $0, %ymm2, %zmm3, %zmm213520; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13521; AVX512-NEXT:    vmovaps %zmm3, 64(%rsi)13522; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13523; AVX512-NEXT:    vmovaps %zmm3, (%rsi)13524; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13525; AVX512-NEXT:    vmovaps %zmm3, 64(%rdx)13526; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13527; AVX512-NEXT:    vmovaps %zmm3, (%rdx)13528; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13529; AVX512-NEXT:    vmovaps %zmm3, 64(%rcx)13530; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13531; AVX512-NEXT:    vmovaps %zmm3, (%rcx)13532; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13533; AVX512-NEXT:    vmovaps %zmm3, 64(%r8)13534; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13535; AVX512-NEXT:    vmovaps %zmm3, (%r8)13536; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13537; AVX512-NEXT:    vmovaps %zmm3, 64(%r9)13538; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13539; AVX512-NEXT:    vmovaps %zmm3, (%r9)13540; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax13541; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13542; AVX512-NEXT:    vmovaps %zmm3, 64(%rax)13543; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm3 # 64-byte Reload13544; AVX512-NEXT:    vmovaps %zmm3, (%rax)13545; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax13546; AVX512-NEXT:    vmovdqa64 %zmm0, 64(%rax)13547; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13548; AVX512-NEXT:    vmovaps %zmm0, (%rax)13549; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax13550; AVX512-NEXT:    vmovdqa64 %zmm2, 64(%rax)13551; AVX512-NEXT:    vmovdqa64 %zmm1, (%rax)13552; AVX512-NEXT:    addq $2408, %rsp # imm = 0x96813553; AVX512-NEXT:    vzeroupper13554; AVX512-NEXT:    retq13555;13556; AVX512-FCP-LABEL: load_i16_stride8_vf64:13557; AVX512-FCP:       # %bb.0:13558; AVX512-FCP-NEXT:    subq $2312, %rsp # imm = 0x90813559; AVX512-FCP-NEXT:    vmovdqa 368(%rdi), %xmm013560; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13561; AVX512-FCP-NEXT:    vmovdqa 352(%rdi), %xmm113562; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13563; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]13564; AVX512-FCP-NEXT:    vmovdqa 336(%rdi), %xmm013565; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13566; AVX512-FCP-NEXT:    vmovdqa 320(%rdi), %xmm113567; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13568; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]13569; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm5 = [0,0,0,4]13570; AVX512-FCP-NEXT:    vmovdqa %xmm14, %xmm013571; AVX512-FCP-NEXT:    vpermt2d %xmm2, %xmm5, %xmm013572; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm2413573; AVX512-FCP-NEXT:    vmovdqa 304(%rdi), %xmm113574; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13575; AVX512-FCP-NEXT:    vmovdqa 288(%rdi), %xmm213576; AVX512-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13577; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13578; AVX512-FCP-NEXT:    vmovdqa 272(%rdi), %xmm113579; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13580; AVX512-FCP-NEXT:    vmovdqa 256(%rdi), %xmm213581; AVX512-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13582; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13583; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]13584; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm3013585; AVX512-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13586; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm1713587; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13588; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013589; AVX512-FCP-NEXT:    vmovdqa 480(%rdi), %ymm113590; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13591; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]13592; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13593; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]13594; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13595; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]13596; AVX512-FCP-NEXT:    vmovdqa 448(%rdi), %ymm213597; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13598; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]13599; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13600; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]13601; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13602; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]13603; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13604; AVX512-FCP-NEXT:    vmovdqa 416(%rdi), %ymm213605; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13606; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[0,1,0,2]13607; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13608; AVX512-FCP-NEXT:    vmovdqa 384(%rdi), %ymm213609; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13610; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm2[0,1,0,2]13611; AVX512-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13612; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm3[0,2,2,3,4,6,6,7]13613; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13614; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]13615; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm4[0,2,2,3,4,6,6,7]13616; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13617; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]13618; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]13619; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]13620; AVX512-FCP-NEXT:    movb $-64, %al13621; AVX512-FCP-NEXT:    kmovw %eax, %k113622; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}13623; AVX512-FCP-NEXT:    vmovdqa 112(%rdi), %xmm113624; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13625; AVX512-FCP-NEXT:    vmovdqa 96(%rdi), %xmm213626; AVX512-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13627; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13628; AVX512-FCP-NEXT:    vmovdqa 80(%rdi), %xmm113629; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13630; AVX512-FCP-NEXT:    vmovdqa 64(%rdi), %xmm213631; AVX512-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13632; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13633; AVX512-FCP-NEXT:    vmovdqa %xmm2, %xmm113634; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm2013635; AVX512-FCP-NEXT:    vpermt2d %xmm3, %xmm5, %xmm113636; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm1913637; AVX512-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13638; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm213639; AVX512-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13640; AVX512-FCP-NEXT:    vmovdqa 16(%rdi), %xmm313641; AVX512-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13642; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %xmm413643; AVX512-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13644; AVX512-FCP-NEXT:    vmovdqa 48(%rdi), %xmm613645; AVX512-FCP-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13646; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm6[0],xmm4[1],xmm6[1],xmm4[2],xmm6[2],xmm4[3],xmm6[3]13647; AVX512-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13648; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]13649; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]13650; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm3113651; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]13652; AVX512-FCP-NEXT:    vmovdqa 224(%rdi), %ymm213653; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13654; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[0,1,0,2]13655; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13656; AVX512-FCP-NEXT:    vmovdqa 192(%rdi), %ymm213657; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13658; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm2[0,1,0,2]13659; AVX512-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13660; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm3[0,1,2,0,4,5,6,4]13661; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]13662; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2813663; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm4[0,1,2,0,4,5,6,4]13664; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm10[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]13665; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]13666; AVX512-FCP-NEXT:    vmovdqa 160(%rdi), %ymm313667; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13668; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm3[0,1,0,2]13669; AVX512-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13670; AVX512-FCP-NEXT:    vmovdqa 128(%rdi), %ymm313671; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13672; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm6 = ymm3[0,1,0,2]13673; AVX512-FCP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13674; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm4[0,2,2,3,4,6,6,7]13675; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm8[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]13676; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm6[0,2,2,3,4,6,6,7]13677; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm7[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]13678; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]13679; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]13680; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]13681; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm013682; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13683; AVX512-FCP-NEXT:    vmovdqa 880(%rdi), %xmm013684; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13685; AVX512-FCP-NEXT:    vmovdqa 864(%rdi), %xmm113686; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13687; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]13688; AVX512-FCP-NEXT:    vmovdqa 848(%rdi), %xmm013689; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13690; AVX512-FCP-NEXT:    vmovdqa 832(%rdi), %xmm113691; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13692; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]13693; AVX512-FCP-NEXT:    vmovdqa %xmm1, %xmm013694; AVX512-FCP-NEXT:    vmovdqa64 %xmm1, %xmm2613695; AVX512-FCP-NEXT:    vmovdqa %xmm5, %xmm213696; AVX512-FCP-NEXT:    vpermt2d %xmm3, %xmm5, %xmm013697; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm2713698; AVX512-FCP-NEXT:    vmovdqa 816(%rdi), %xmm113699; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13700; AVX512-FCP-NEXT:    vmovdqa 800(%rdi), %xmm313701; AVX512-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13702; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]13703; AVX512-FCP-NEXT:    vmovdqa 784(%rdi), %xmm113704; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13705; AVX512-FCP-NEXT:    vmovdqa 768(%rdi), %xmm313706; AVX512-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13707; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]13708; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]13709; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm2313710; AVX512-FCP-NEXT:    vmovdqa64 %xmm4, %xmm2513711; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13712; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm913713; AVX512-FCP-NEXT:    vmovdqa 992(%rdi), %ymm013714; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13715; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[0,1,0,2]13716; AVX512-FCP-NEXT:    vmovdqu %ymm1, (%rsp) # 32-byte Spill13717; AVX512-FCP-NEXT:    vmovdqa 960(%rdi), %ymm013718; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13719; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm0[0,1,0,2]13720; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13721; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm1[0,1,2,0,4,5,6,4]13722; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm6[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]13723; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm5 = ymm3[0,1,2,0,4,5,6,4]13724; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm5[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]13725; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]13726; AVX512-FCP-NEXT:    vmovdqa 928(%rdi), %ymm113727; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13728; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm1[0,1,0,2]13729; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13730; AVX512-FCP-NEXT:    vmovdqa 896(%rdi), %ymm113731; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13732; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm11 = ymm1[0,1,0,2]13733; AVX512-FCP-NEXT:    vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13734; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm3[0,2,2,3,4,6,6,7]13735; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm4[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]13736; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm11[0,2,2,3,4,6,6,7]13737; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]13738; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm12[0,1,2,3,4],ymm1[5],ymm12[6,7]13739; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13740; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm9 {%k1}13741; AVX512-FCP-NEXT:    vmovdqa 624(%rdi), %xmm013742; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13743; AVX512-FCP-NEXT:    vmovdqa 608(%rdi), %xmm113744; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13745; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]13746; AVX512-FCP-NEXT:    vmovdqa 592(%rdi), %xmm013747; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13748; AVX512-FCP-NEXT:    vmovdqa 576(%rdi), %xmm113749; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13750; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]13751; AVX512-FCP-NEXT:    vmovdqa %xmm1, %xmm013752; AVX512-FCP-NEXT:    vmovdqa64 %xmm1, %xmm2913753; AVX512-FCP-NEXT:    vpermt2d %xmm11, %xmm2, %xmm013754; AVX512-FCP-NEXT:    vmovdqa64 %xmm11, %xmm1613755; AVX512-FCP-NEXT:    vmovdqa 560(%rdi), %xmm113756; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13757; AVX512-FCP-NEXT:    vmovdqa 544(%rdi), %xmm213758; AVX512-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13759; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13760; AVX512-FCP-NEXT:    vmovdqa 528(%rdi), %xmm113761; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13762; AVX512-FCP-NEXT:    vmovdqa 512(%rdi), %xmm213763; AVX512-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13764; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13765; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm2[0],xmm11[0],xmm2[1],xmm11[1]13766; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm2213767; AVX512-FCP-NEXT:    vmovdqa64 %xmm11, %xmm2113768; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm1[0,1],xmm0[2,3]13769; AVX512-FCP-NEXT:    vmovdqa 736(%rdi), %ymm013770; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13771; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[0,1,0,2]13772; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13773; AVX512-FCP-NEXT:    vmovdqa 704(%rdi), %ymm013774; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13775; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[0,1,0,2]13776; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13777; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]13778; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]13779; AVX512-FCP-NEXT:    vmovdqa64 %ymm1, %ymm1813780; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]13781; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]13782; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5,6],ymm0[7]13783; AVX512-FCP-NEXT:    vmovdqa 672(%rdi), %ymm013784; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13785; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[0,1,0,2]13786; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13787; AVX512-FCP-NEXT:    vmovdqa 640(%rdi), %ymm013788; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13789; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm11 = ymm0[0,1,0,2]13790; AVX512-FCP-NEXT:    vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13791; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm15 = ymm1[0,2,2,3,4,6,6,7]13792; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm15[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]13793; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm11[0,2,2,3,4,6,6,7]13794; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm1[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]13795; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm11[0,1,2,3,4],ymm0[5],ymm11[6,7]13796; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm13[6,7]13797; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3],ymm0[4,5,6,7]13798; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm013799; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13800; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm13 = [1,5,0,0]13801; AVX512-FCP-NEXT:    vmovdqa64 %xmm30, %xmm013802; AVX512-FCP-NEXT:    vpermt2d %xmm17, %xmm13, %xmm013803; AVX512-FCP-NEXT:    vmovdqa64 %xmm17, %xmm3013804; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm9 = xmm14[0],xmm24[0],xmm14[1],xmm24[1]13805; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm9[2,3]13806; AVX512-FCP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload13807; AVX512-FCP-NEXT:    # ymm9 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]13808; AVX512-FCP-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload13809; AVX512-FCP-NEXT:    # ymm11 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]13810; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm11[0,1,2,3,4,5,6],ymm9[7]13811; AVX512-FCP-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload13812; AVX512-FCP-NEXT:    # ymm11 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]13813; AVX512-FCP-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload13814; AVX512-FCP-NEXT:    # ymm12 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]13815; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm12[0,1,2,3,4],ymm11[5],ymm12[6,7]13816; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013817; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm11[0,1,2,3,4,5],ymm9[6,7]13818; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm9, %zmm0, %zmm0 {%k1}13819; AVX512-FCP-NEXT:    vmovdqa64 %xmm31, %xmm1213820; AVX512-FCP-NEXT:    vmovdqa64 %xmm31, %xmm913821; AVX512-FCP-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm17 # 16-byte Reload13822; AVX512-FCP-NEXT:    vpermt2d %xmm17, %xmm13, %xmm913823; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm11 = xmm20[0],xmm19[0],xmm20[1],xmm19[1]13824; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm9[0,1],xmm11[2,3]13825; AVX512-FCP-NEXT:    vmovdqa64 %ymm28, %ymm1113826; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]13827; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm10[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]13828; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm11[7]13829; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm8 = ymm8[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]13830; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]13831; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4],ymm8[5],ymm7[6,7]13832; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm10[6,7]13833; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]13834; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm7, %zmm0, %zmm013835; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13836; AVX512-FCP-NEXT:    vmovdqa64 %xmm23, %xmm913837; AVX512-FCP-NEXT:    vmovdqa64 %xmm23, %xmm013838; AVX512-FCP-NEXT:    vmovdqa64 %xmm25, %xmm1113839; AVX512-FCP-NEXT:    vpermt2d %xmm25, %xmm13, %xmm013840; AVX512-FCP-NEXT:    vmovdqa64 %xmm27, %xmm813841; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm7 = xmm26[0],xmm27[0],xmm26[1],xmm27[1]13842; AVX512-FCP-NEXT:    vmovdqa64 %xmm26, %xmm1913843; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm7[2,3]13844; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]13845; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]13846; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm6[7]13847; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]13848; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]13849; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4],ymm4[5],ymm3[6,7]13850; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013851; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm5[6,7]13852; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm0 {%k1}13853; AVX512-FCP-NEXT:    vmovdqa64 %xmm22, %xmm313854; AVX512-FCP-NEXT:    vpermt2d %xmm21, %xmm13, %xmm313855; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm4 = xmm29[0],xmm16[0],xmm29[1],xmm16[1]13856; AVX512-FCP-NEXT:    vmovdqa64 %xmm29, %xmm613857; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm4[2,3]13858; AVX512-FCP-NEXT:    vmovdqa64 %ymm18, %ymm413859; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]13860; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]13861; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm4[7]13862; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm15[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]13863; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm1[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]13864; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm4[5],ymm1[6,7]13865; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]13866; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]13867; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm013868; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13869; AVX512-FCP-NEXT:    vmovdqa %xmm14, %xmm013870; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm14[2],xmm24[2],xmm14[3],xmm24[3]13871; AVX512-FCP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13872; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm5 = [0,0,2,6]13873; AVX512-FCP-NEXT:    vpermt2d %xmm24, %xmm5, %xmm013874; AVX512-FCP-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm31 # 16-byte Reload13875; AVX512-FCP-NEXT:    vmovdqa64 %xmm30, %xmm2813876; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm31[2],xmm30[2],xmm31[3],xmm30[3]13877; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13878; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013879; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload13880; AVX512-FCP-NEXT:    # ymm1 = mem[0,1,1,3,4,5,5,7]13881; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13882; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]13883; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload13884; AVX512-FCP-NEXT:    # ymm3 = mem[0,1,1,3,4,5,5,7]13885; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm3[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]13886; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2913887; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13888; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload13889; AVX512-FCP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]13890; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm3[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]13891; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm3013892; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload13893; AVX512-FCP-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]13894; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13895; AVX512-FCP-NEXT:    vmovdqa64 %ymm4, %ymm2713896; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]13897; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]13898; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}13899; AVX512-FCP-NEXT:    vmovdqa64 %xmm20, %xmm113900; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload13901; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm26 = xmm20[2],xmm2[2],xmm20[3],xmm2[3]13902; AVX512-FCP-NEXT:    vpermt2d %xmm2, %xmm5, %xmm113903; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm12[2],xmm17[2],xmm12[3],xmm17[3]13904; AVX512-FCP-NEXT:    vmovdqa64 %xmm12, %xmm2513905; AVX512-FCP-NEXT:    vmovdqa64 %xmm17, %xmm2313906; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]13907; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload13908; AVX512-FCP-NEXT:    # ymm3 = mem[0,1,1,3,4,5,5,7]13909; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]13910; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm1813911; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload13912; AVX512-FCP-NEXT:    # ymm13 = mem[0,1,1,3,4,5,5,7]13913; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm13[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]13914; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]13915; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload13916; AVX512-FCP-NEXT:    # ymm12 = mem[3,1,2,3,7,5,6,7]13917; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm12[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]13918; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload13919; AVX512-FCP-NEXT:    # ymm10 = mem[3,1,2,3,7,5,6,7]13920; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm10[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13921; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]13922; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]13923; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]13924; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm013925; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13926; AVX512-FCP-NEXT:    vmovdqa64 %xmm19, %xmm013927; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm17 = xmm19[2],xmm8[2],xmm19[3],xmm8[3]13928; AVX512-FCP-NEXT:    vpermt2d %xmm8, %xmm5, %xmm013929; AVX512-FCP-NEXT:    vmovdqa64 %xmm9, %xmm1913930; AVX512-FCP-NEXT:    vmovdqa64 %xmm11, %xmm2013931; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm9[2],xmm11[2],xmm9[3],xmm11[3]13932; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13933; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm2413934; AVX512-FCP-NEXT:    vpshufd $212, (%rsp), %ymm9 # 32-byte Folded Reload13935; AVX512-FCP-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]13936; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm9[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]13937; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload13938; AVX512-FCP-NEXT:    # ymm11 = mem[0,1,1,3,4,5,5,7]13939; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm11[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]13940; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]13941; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload13942; AVX512-FCP-NEXT:    # ymm8 = mem[3,1,2,3,7,5,6,7]13943; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm8[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]13944; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload13945; AVX512-FCP-NEXT:    # ymm7 = mem[3,1,2,3,7,5,6,7]13946; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm7[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13947; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]13948; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]13949; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm24 {%k1}13950; AVX512-FCP-NEXT:    vmovdqa %xmm6, %xmm013951; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm14 = xmm6[2],xmm16[2],xmm6[3],xmm16[3]13952; AVX512-FCP-NEXT:    vpermt2d %xmm16, %xmm5, %xmm013953; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm22[2],xmm21[2],xmm22[3],xmm21[3]13954; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm1[0,1],xmm0[2,3]13955; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload13956; AVX512-FCP-NEXT:    # ymm6 = mem[0,1,1,3,4,5,5,7]13957; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]13958; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload13959; AVX512-FCP-NEXT:    # ymm5 = mem[0,1,1,3,4,5,5,7]13960; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm5[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]13961; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13962; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload13963; AVX512-FCP-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]13964; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm4[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]13965; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload13966; AVX512-FCP-NEXT:    # ymm2 = mem[3,1,2,3,7,5,6,7]13967; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm2[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]13968; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]13969; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]13970; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]13971; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm24, %zmm013972; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13973; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm16 = [3,7,0,0]13974; AVX512-FCP-NEXT:    vmovdqa64 %xmm31, %xmm113975; AVX512-FCP-NEXT:    vpermt2d %xmm28, %xmm16, %xmm113976; AVX512-FCP-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm0 # 16-byte Folded Reload13977; AVX512-FCP-NEXT:    # xmm0 = xmm1[0,1],mem[2,3]13978; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm013979; AVX512-FCP-NEXT:    vpshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload13980; AVX512-FCP-NEXT:    # ymm1 = mem[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]13981; AVX512-FCP-NEXT:    vmovdqa64 %ymm29, %ymm313982; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]13983; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]13984; AVX512-FCP-NEXT:    vmovdqa64 %ymm30, %ymm313985; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]13986; AVX512-FCP-NEXT:    vmovdqa64 %ymm27, %ymm1513987; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm15[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]13988; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm15[0,1,2,3,4],ymm3[5],ymm15[6,7]13989; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]13990; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}13991; AVX512-FCP-NEXT:    vmovdqa64 %xmm25, %xmm113992; AVX512-FCP-NEXT:    vpermt2d %xmm23, %xmm16, %xmm113993; AVX512-FCP-NEXT:    vmovdqa64 %xmm26, %xmm313994; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm3[2,3]13995; AVX512-FCP-NEXT:    vmovdqa64 %ymm18, %ymm313996; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]13997; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm13[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]13998; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm13[0,1,2,3,4,5,6],ymm3[7]13999; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm12 = ymm12[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]14000; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm10[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]14001; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4],ymm12[5],ymm10[6,7]14002; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm10[0,1,2,3,4,5],ymm3[6,7]14003; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]14004; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm014005; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14006; AVX512-FCP-NEXT:    vmovdqa64 %xmm19, %xmm014007; AVX512-FCP-NEXT:    vpermt2d %xmm20, %xmm16, %xmm014008; AVX512-FCP-NEXT:    vmovdqa64 %xmm17, %xmm114009; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]14010; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm014011; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]14012; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm11[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]14013; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]14014; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm8[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]14015; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]14016; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3,4],ymm3[5],ymm7[6,7]14017; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]14018; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}14019; AVX512-FCP-NEXT:    vmovdqa64 %xmm22, %xmm114020; AVX512-FCP-NEXT:    vpermt2d %xmm21, %xmm16, %xmm114021; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm14[2,3]14022; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]14023; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]14024; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4,5,6],ymm3[7]14025; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]14026; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]14027; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm4[5],ymm2[6,7]14028; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14029; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14030; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm014031; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14032; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14033; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload14034; AVX512-FCP-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14035; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14036; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm9 # 16-byte Folded Reload14037; AVX512-FCP-NEXT:    # xmm9 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14038; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14039; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload14040; AVX512-FCP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14041; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14042; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload14043; AVX512-FCP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14044; AVX512-FCP-NEXT:    vmovdqa %xmm9, %xmm014045; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm5 = [0,0,0,4]14046; AVX512-FCP-NEXT:    vpermt2d %xmm4, %xmm5, %xmm014047; AVX512-FCP-NEXT:    vmovdqa64 %xmm4, %xmm2914048; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]14049; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm2314050; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm1914051; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14052; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm014053; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload14054; AVX512-FCP-NEXT:    # ymm1 = mem[0,1,1,3]14055; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14056; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload14057; AVX512-FCP-NEXT:    # ymm2 = mem[0,1,1,3]14058; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14059; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]14060; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14061; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]14062; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]14063; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14064; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]14065; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]14066; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload14067; AVX512-FCP-NEXT:    # ymm2 = mem[0,1,1,3]14068; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14069; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload14070; AVX512-FCP-NEXT:    # ymm3 = mem[0,1,1,3]14071; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14072; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]14073; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14074; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]14075; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm3[0,2,2,3,4,6,6,7]14076; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14077; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]14078; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]14079; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]14080; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}14081; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14082; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm6 # 16-byte Folded Reload14083; AVX512-FCP-NEXT:    # xmm6 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]14084; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14085; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm2 # 16-byte Folded Reload14086; AVX512-FCP-NEXT:    # xmm2 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]14087; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14088; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm3 # 16-byte Folded Reload14089; AVX512-FCP-NEXT:    # xmm3 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]14090; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14091; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm4 # 16-byte Folded Reload14092; AVX512-FCP-NEXT:    # xmm4 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]14093; AVX512-FCP-NEXT:    vmovdqa %xmm2, %xmm114094; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm2714095; AVX512-FCP-NEXT:    vpermt2d %xmm6, %xmm5, %xmm114096; AVX512-FCP-NEXT:    vmovdqa64 %xmm6, %xmm1814097; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]14098; AVX512-FCP-NEXT:    vmovdqa64 %xmm4, %xmm2214099; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm2414100; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]14101; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload14102; AVX512-FCP-NEXT:    # ymm2 = mem[0,1,1,3]14103; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14104; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload14105; AVX512-FCP-NEXT:    # ymm3 = mem[0,1,1,3]14106; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14107; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]14108; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14109; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]14110; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm3[0,1,2,0,4,5,6,4]14111; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm4[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]14112; AVX512-FCP-NEXT:    vmovdqa64 %ymm4, %ymm2614113; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]14114; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload14115; AVX512-FCP-NEXT:    # ymm3 = mem[0,1,1,3]14116; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14117; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload14118; AVX512-FCP-NEXT:    # ymm4 = mem[0,1,1,3]14119; AVX512-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14120; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm11 = ymm3[0,2,2,3,4,6,6,7]14121; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm11[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]14122; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm10 = ymm4[0,2,2,3,4,6,6,7]14123; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm10[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]14124; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]14125; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]14126; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14127; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm014128; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14129; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14130; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload14131; AVX512-FCP-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14132; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14133; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload14134; AVX512-FCP-NEXT:    # xmm1 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14135; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14136; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload14137; AVX512-FCP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14138; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14139; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload14140; AVX512-FCP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14141; AVX512-FCP-NEXT:    vmovdqa %xmm1, %xmm014142; AVX512-FCP-NEXT:    vmovdqa64 %xmm1, %xmm3114143; AVX512-FCP-NEXT:    vpermt2d %xmm4, %xmm5, %xmm014144; AVX512-FCP-NEXT:    vmovdqa64 %xmm4, %xmm2014145; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]14146; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm2114147; AVX512-FCP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14148; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm2514149; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14150; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm1214151; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload14152; AVX512-FCP-NEXT:    # ymm0 = mem[0,1,1,3]14153; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14154; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload14155; AVX512-FCP-NEXT:    # ymm1 = mem[0,1,1,3]14156; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14157; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm14 = ymm0[0,1,2,0,4,5,6,4]14158; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]14159; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm8 = ymm1[0,1,2,0,4,5,6,4]14160; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm8[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]14161; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]14162; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload14163; AVX512-FCP-NEXT:    # ymm1 = mem[0,1,1,3]14164; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14165; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload14166; AVX512-FCP-NEXT:    # ymm2 = mem[0,1,1,3]14167; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14168; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm7 = ymm1[0,2,2,3,4,6,6,7]14169; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm7[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]14170; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm6 = ymm2[0,2,2,3,4,6,6,7]14171; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm6[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]14172; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]14173; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14174; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm12 {%k1}14175; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14176; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm2 # 16-byte Folded Reload14177; AVX512-FCP-NEXT:    # xmm2 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14178; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14179; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm3 # 16-byte Folded Reload14180; AVX512-FCP-NEXT:    # xmm3 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14181; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14182; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm13 # 16-byte Folded Reload14183; AVX512-FCP-NEXT:    # xmm13 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14184; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload14185; AVX512-FCP-NEXT:    vpunpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload14186; AVX512-FCP-NEXT:    # xmm4 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]14187; AVX512-FCP-NEXT:    vmovdqa %xmm5, %xmm114188; AVX512-FCP-NEXT:    vpermi2d %xmm2, %xmm3, %xmm114189; AVX512-FCP-NEXT:    vmovdqa64 %xmm3, %xmm1714190; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm1614191; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm4[0],xmm13[0],xmm4[1],xmm13[1]14192; AVX512-FCP-NEXT:    vmovdqa64 %xmm13, %xmm2814193; AVX512-FCP-NEXT:    vmovdqa64 %xmm4, %xmm3014194; AVX512-FCP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14195; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm0[0,1],xmm1[2,3]14196; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload14197; AVX512-FCP-NEXT:    # ymm0 = mem[0,1,1,3]14198; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14199; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload14200; AVX512-FCP-NEXT:    # ymm1 = mem[0,1,1,3]14201; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14202; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm5 = ymm0[0,1,2,0,4,5,6,4]14203; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]14204; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm4 = ymm1[0,1,2,0,4,5,6,4]14205; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm4[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]14206; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm0[7]14207; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Folded Reload14208; AVX512-FCP-NEXT:    # ymm0 = mem[0,1,1,3]14209; AVX512-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14210; AVX512-FCP-NEXT:    vpermq $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload14211; AVX512-FCP-NEXT:    # ymm2 = mem[0,1,1,3]14212; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14213; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm3 = ymm0[0,2,2,3,4,6,6,7]14214; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm3[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]14215; AVX512-FCP-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,2,2,3,4,6,6,7]14216; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm15 = ymm2[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]14217; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]14218; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14219; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3],ymm0[4,5,6,7]14220; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm12, %zmm014221; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14222; AVX512-FCP-NEXT:    vmovdqa64 %xmm23, %xmm014223; AVX512-FCP-NEXT:    vmovdqa64 %xmm23, (%rsp) # 16-byte Spill14224; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm15 = [1,5,0,0]14225; AVX512-FCP-NEXT:    vpermt2d %xmm19, %xmm15, %xmm014226; AVX512-FCP-NEXT:    vmovdqa64 %xmm19, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14227; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm9[0],xmm29[0],xmm9[1],xmm29[1]14228; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]14229; AVX512-FCP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Folded Reload14230; AVX512-FCP-NEXT:    # ymm1 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]14231; AVX512-FCP-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload14232; AVX512-FCP-NEXT:    # ymm12 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]14233; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5,6],ymm1[7]14234; AVX512-FCP-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload14235; AVX512-FCP-NEXT:    # ymm12 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]14236; AVX512-FCP-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload14237; AVX512-FCP-NEXT:    # ymm13 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]14238; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4],ymm12[5],ymm13[6,7]14239; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm014240; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm12[0,1,2,3,4,5],ymm1[6,7]14241; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}14242; AVX512-FCP-NEXT:    vmovdqa64 %xmm22, %xmm114243; AVX512-FCP-NEXT:    vpermt2d %xmm24, %xmm15, %xmm114244; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm12 = xmm27[0],xmm18[0],xmm27[1],xmm18[1]14245; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm12[2,3]14246; AVX512-FCP-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload14247; AVX512-FCP-NEXT:    # ymm12 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]14248; AVX512-FCP-NEXT:    vmovdqa64 %ymm26, %ymm1314249; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm13[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]14250; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3,4,5,6],ymm12[7]14251; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm11 = ymm11[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]14252; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm10[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]14253; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4],ymm11[5],ymm10[6,7]14254; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],ymm12[6,7]14255; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm10[4,5,6,7]14256; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm014257; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14258; AVX512-FCP-NEXT:    vmovdqa64 %xmm21, %xmm014259; AVX512-FCP-NEXT:    vpermt2d %xmm25, %xmm15, %xmm014260; AVX512-FCP-NEXT:    vmovdqa64 %xmm20, %xmm1314261; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm31[0],xmm20[0],xmm31[1],xmm20[1]14262; AVX512-FCP-NEXT:    vmovdqa64 %xmm31, %xmm2114263; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]14264; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm14[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]14265; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm8 = ymm8[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]14266; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm8[0,1,2,3,4,5,6],ymm1[7]14267; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm7 = ymm7[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]14268; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm6[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]14269; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4],ymm7[5],ymm6[6,7]14270; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5],ymm1[6,7]14271; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm014272; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}14273; AVX512-FCP-NEXT:    vmovdqa %xmm15, %xmm614274; AVX512-FCP-NEXT:    vpermi2d %xmm28, %xmm30, %xmm614275; AVX512-FCP-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm17[0],xmm16[0],xmm17[1],xmm16[1]14276; AVX512-FCP-NEXT:    vmovdqa64 %xmm16, %xmm714277; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm6[0,1],xmm1[2,3]14278; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]14279; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm4[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]14280; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,6],ymm5[7]14281; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]14282; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]14283; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]14284; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm4[6,7]14285; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14286; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm014287; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14288; AVX512-FCP-NEXT:    vmovdqa %xmm9, %xmm014289; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm9[2],xmm29[2],xmm9[3],xmm29[3]14290; AVX512-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14291; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm5 = [0,0,2,6]14292; AVX512-FCP-NEXT:    vpermt2d %xmm29, %xmm5, %xmm014293; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm23[2],xmm19[2],xmm23[3],xmm19[3]14294; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14295; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm014296; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload14297; AVX512-FCP-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]14298; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]14299; AVX512-FCP-NEXT:    vmovdqa64 %ymm2, %ymm3114300; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload14301; AVX512-FCP-NEXT:    # ymm3 = mem[0,1,1,3,4,5,5,7]14302; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm3[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]14303; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm3014304; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]14305; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload14306; AVX512-FCP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]14307; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm3[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]14308; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2614309; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload14310; AVX512-FCP-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]14311; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]14312; AVX512-FCP-NEXT:    vmovdqa64 %ymm4, %ymm2314313; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]14314; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]14315; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}14316; AVX512-FCP-NEXT:    vmovdqa64 %xmm27, %xmm114317; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm20 = xmm27[2],xmm18[2],xmm27[3],xmm18[3]14318; AVX512-FCP-NEXT:    vpermt2d %xmm18, %xmm5, %xmm114319; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm22[2],xmm24[2],xmm22[3],xmm24[3]14320; AVX512-FCP-NEXT:    vmovdqa64 %xmm22, %xmm1914321; AVX512-FCP-NEXT:    vmovdqa64 %xmm24, %xmm1814322; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]14323; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Folded Reload14324; AVX512-FCP-NEXT:    # ymm12 = mem[0,1,1,3,4,5,5,7]14325; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm12[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]14326; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload14327; AVX512-FCP-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]14328; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm9[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]14329; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]14330; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload14331; AVX512-FCP-NEXT:    # ymm10 = mem[3,1,2,3,7,5,6,7]14332; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm10[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]14333; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Folded Reload14334; AVX512-FCP-NEXT:    # ymm11 = mem[3,1,2,3,7,5,6,7]14335; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]14336; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]14337; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]14338; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14339; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm014340; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14341; AVX512-FCP-NEXT:    vmovdqa64 %xmm21, %xmm014342; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm16 = xmm21[2],xmm13[2],xmm21[3],xmm13[3]14343; AVX512-FCP-NEXT:    vpermt2d %xmm13, %xmm5, %xmm014344; AVX512-FCP-NEXT:    vmovdqa64 %xmm25, %xmm2214345; AVX512-FCP-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm24 # 16-byte Reload14346; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm24[2],xmm25[2],xmm24[3],xmm25[3]14347; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14348; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm2114349; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload14350; AVX512-FCP-NEXT:    # ymm14 = mem[0,1,1,3,4,5,5,7]14351; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]14352; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Folded Reload14353; AVX512-FCP-NEXT:    # ymm15 = mem[0,1,1,3,4,5,5,7]14354; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm15[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]14355; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]14356; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Folded Reload14357; AVX512-FCP-NEXT:    # ymm6 = mem[3,1,2,3,7,5,6,7]14358; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm6[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]14359; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload14360; AVX512-FCP-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]14361; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]14362; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4],ymm1[5],ymm3[6,7]14363; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14364; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm21 {%k1}14365; AVX512-FCP-NEXT:    vmovdqa %xmm5, %xmm114366; AVX512-FCP-NEXT:    vmovdqa64 %xmm7, %xmm2514367; AVX512-FCP-NEXT:    vmovdqa64 %xmm17, %xmm2714368; AVX512-FCP-NEXT:    vpermi2d %xmm7, %xmm17, %xmm114369; AVX512-FCP-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm29 # 16-byte Reload14370; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm29[2],xmm28[2],xmm29[3],xmm28[3]14371; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm0[0,1],xmm1[2,3]14372; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload14373; AVX512-FCP-NEXT:    # ymm8 = mem[0,1,1,3,4,5,5,7]14374; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm8[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]14375; AVX512-FCP-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Folded Reload14376; AVX512-FCP-NEXT:    # ymm7 = mem[0,1,1,3,4,5,5,7]14377; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm7[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]14378; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]14379; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload14380; AVX512-FCP-NEXT:    # ymm5 = mem[3,1,2,3,7,5,6,7]14381; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm5[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]14382; AVX512-FCP-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload14383; AVX512-FCP-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]14384; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm3[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]14385; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4],ymm0[5],ymm13[6,7]14386; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]14387; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]14388; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm21, %zmm2114389; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} xmm17 = [3,7,0,0]14390; AVX512-FCP-NEXT:    vmovdqa (%rsp), %xmm0 # 16-byte Reload14391; AVX512-FCP-NEXT:    vpermt2d {{[-0-9]+}}(%r{{[sb]}}p), %xmm17, %xmm0 # 16-byte Folded Reload14392; AVX512-FCP-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm1 # 16-byte Folded Reload14393; AVX512-FCP-NEXT:    # xmm1 = xmm0[0,1],mem[2,3]14394; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm1, %zmm0, %zmm114395; AVX512-FCP-NEXT:    vmovdqa64 %ymm31, %ymm014396; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]14397; AVX512-FCP-NEXT:    vmovdqa64 %ymm30, %ymm014398; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm13 = ymm0[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]14399; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm13[0,1,2,3,4,5,6],ymm2[7]14400; AVX512-FCP-NEXT:    vmovdqa64 %ymm26, %ymm014401; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm0[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]14402; AVX512-FCP-NEXT:    vmovdqa64 %ymm23, %ymm014403; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm0 = ymm0[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]14404; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm13[5],ymm0[6,7]14405; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]14406; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm1 {%k1}14407; AVX512-FCP-NEXT:    vmovdqa64 %xmm19, %xmm014408; AVX512-FCP-NEXT:    vpermt2d %xmm18, %xmm17, %xmm014409; AVX512-FCP-NEXT:    vmovdqa64 %xmm20, %xmm214410; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3]14411; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm12[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]14412; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm9[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]14413; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3,4,5,6],ymm2[7]14414; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm10[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]14415; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm10 = ymm11[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]14416; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]14417; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3,4,5],ymm2[6,7]14418; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14419; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm1, %zmm014420; AVX512-FCP-NEXT:    vmovdqa64 %xmm24, %xmm114421; AVX512-FCP-NEXT:    vpermt2d %xmm22, %xmm17, %xmm114422; AVX512-FCP-NEXT:    vmovdqa64 %xmm16, %xmm214423; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]14424; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm1, %zmm0, %zmm114425; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm14[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]14426; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm9 = ymm15[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]14427; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3,4,5,6],ymm2[7]14428; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm6 = ymm6[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]14429; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]14430; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4],ymm6[5],ymm4[6,7]14431; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5],ymm2[6,7]14432; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm1 {%k1}14433; AVX512-FCP-NEXT:    vmovdqa64 %xmm29, %xmm414434; AVX512-FCP-NEXT:    vpermt2d %xmm28, %xmm17, %xmm414435; AVX512-FCP-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm27[2],xmm25[2],xmm27[3],xmm25[3]14436; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm4[0,1],xmm2[2,3]14437; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm4 = ymm8[0,1,2,3,4,5,5,7,8,9,10,11,12,13,13,15]14438; AVX512-FCP-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm7[0,1,2,3,5,7,6,7,8,9,10,11,13,15,14,15]14439; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3,4,5,6],ymm4[7]14440; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm5[0,1,3,1,4,5,6,7,8,9,11,9,12,13,14,15]14441; AVX512-FCP-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[3,1,2,3,4,5,6,7,11,9,10,11,12,13,14,15]14442; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4],ymm5[5],ymm3[6,7]14443; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm4[6,7]14444; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]14445; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm2, %zmm1, %zmm114446; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14447; AVX512-FCP-NEXT:    vmovaps %zmm2, 64(%rsi)14448; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14449; AVX512-FCP-NEXT:    vmovaps %zmm2, (%rsi)14450; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14451; AVX512-FCP-NEXT:    vmovaps %zmm2, 64(%rdx)14452; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14453; AVX512-FCP-NEXT:    vmovaps %zmm2, (%rdx)14454; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14455; AVX512-FCP-NEXT:    vmovaps %zmm2, 64(%rcx)14456; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14457; AVX512-FCP-NEXT:    vmovaps %zmm2, (%rcx)14458; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14459; AVX512-FCP-NEXT:    vmovaps %zmm2, 64(%r8)14460; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14461; AVX512-FCP-NEXT:    vmovaps %zmm2, (%r8)14462; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14463; AVX512-FCP-NEXT:    vmovaps %zmm2, 64(%r9)14464; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14465; AVX512-FCP-NEXT:    vmovaps %zmm2, (%r9)14466; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax14467; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14468; AVX512-FCP-NEXT:    vmovaps %zmm2, 64(%rax)14469; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14470; AVX512-FCP-NEXT:    vmovaps %zmm2, (%rax)14471; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax14472; AVX512-FCP-NEXT:    vmovdqa64 %zmm21, 64(%rax)14473; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload14474; AVX512-FCP-NEXT:    vmovaps %zmm2, (%rax)14475; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax14476; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, 64(%rax)14477; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, (%rax)14478; AVX512-FCP-NEXT:    addq $2312, %rsp # imm = 0x90814479; AVX512-FCP-NEXT:    vzeroupper14480; AVX512-FCP-NEXT:    retq14481;14482; AVX512DQ-LABEL: load_i16_stride8_vf64:14483; AVX512DQ:       # %bb.0:14484; AVX512DQ-NEXT:    subq $2408, %rsp # imm = 0x96814485; AVX512DQ-NEXT:    vmovdqa 368(%rdi), %xmm114486; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14487; AVX512DQ-NEXT:    vmovdqa 352(%rdi), %xmm014488; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14489; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]14490; AVX512DQ-NEXT:    vmovdqa 336(%rdi), %xmm214491; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14492; AVX512DQ-NEXT:    vmovdqa 320(%rdi), %xmm114493; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14494; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]14495; AVX512DQ-NEXT:    vpmovsxbd {{.*#+}} xmm6 = [0,0,0,4]14496; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]14497; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14498; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,2,2,2]14499; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm2 = xmm1[0,1,2],xmm2[3]14500; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14501; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]14502; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14503; AVX512DQ-NEXT:    vpermt2d %xmm0, %xmm6, %xmm114504; AVX512DQ-NEXT:    vmovdqa 304(%rdi), %xmm014505; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14506; AVX512DQ-NEXT:    vmovdqa 288(%rdi), %xmm214507; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14508; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]14509; AVX512DQ-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14510; AVX512DQ-NEXT:    vmovdqa 272(%rdi), %xmm014511; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14512; AVX512DQ-NEXT:    vmovdqa 256(%rdi), %xmm214513; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14514; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]14515; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]14516; AVX512DQ-NEXT:    vmovdqa64 %xmm2, %xmm3114517; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]14518; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm014519; AVX512DQ-NEXT:    vmovdqa 480(%rdi), %ymm114520; AVX512DQ-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14521; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]14522; AVX512DQ-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14523; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]14524; AVX512DQ-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14525; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]14526; AVX512DQ-NEXT:    vmovdqa 448(%rdi), %ymm214527; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14528; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm2 = ymm2[0,1,0,2]14529; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14530; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm2 = ymm2[0,1,2,0,4,5,6,4]14531; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14532; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]14533; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]14534; AVX512DQ-NEXT:    vmovdqa 416(%rdi), %ymm214535; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14536; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[0,1,0,2]14537; AVX512DQ-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14538; AVX512DQ-NEXT:    vmovdqa 384(%rdi), %ymm214539; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14540; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm5 = ymm2[0,1,0,2]14541; AVX512DQ-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14542; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm2 = ymm3[0,2,2,3,4,6,6,7]14543; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14544; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm2[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]14545; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm3 = ymm5[0,2,2,3,4,6,6,7]14546; AVX512DQ-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14547; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]14548; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]14549; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]14550; AVX512DQ-NEXT:    movb $-64, %al14551; AVX512DQ-NEXT:    kmovw %eax, %k114552; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}14553; AVX512DQ-NEXT:    vmovdqa 112(%rdi), %xmm214554; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14555; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %xmm114556; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14557; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]14558; AVX512DQ-NEXT:    vmovdqa 80(%rdi), %xmm314559; AVX512DQ-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14560; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %xmm214561; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14562; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]14563; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm3 = xmm1[2,2,2,2]14564; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm3 = xmm2[0,1,2],xmm3[3]14565; AVX512DQ-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14566; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm3 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]14567; AVX512DQ-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14568; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]14569; AVX512DQ-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14570; AVX512DQ-NEXT:    vpermt2d %xmm1, %xmm6, %xmm214571; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm114572; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14573; AVX512DQ-NEXT:    vmovdqa 16(%rdi), %xmm314574; AVX512DQ-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14575; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %xmm414576; AVX512DQ-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14577; AVX512DQ-NEXT:    vmovdqa 48(%rdi), %xmm514578; AVX512DQ-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14579; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]14580; AVX512DQ-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14581; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]14582; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]14583; AVX512DQ-NEXT:    vmovdqa64 %xmm3, %xmm1714584; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]14585; AVX512DQ-NEXT:    vmovdqa 224(%rdi), %ymm214586; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14587; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[0,1,0,2]14588; AVX512DQ-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14589; AVX512DQ-NEXT:    vmovdqa 192(%rdi), %ymm214590; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14591; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm4 = ymm2[0,1,0,2]14592; AVX512DQ-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14593; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm2 = ymm3[0,1,2,0,4,5,6,4]14594; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14595; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]14596; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm3 = ymm4[0,1,2,0,4,5,6,4]14597; AVX512DQ-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14598; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm3 = ymm3[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]14599; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]14600; AVX512DQ-NEXT:    vmovdqa 160(%rdi), %ymm314601; AVX512DQ-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14602; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm24 = ymm3[0,1,0,2]14603; AVX512DQ-NEXT:    vmovdqa 128(%rdi), %ymm314604; AVX512DQ-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14605; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm22 = ymm3[0,1,0,2]14606; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm3 = ymm24[0,2,2,3,4,6,6,7]14607; AVX512DQ-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14608; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]14609; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm12 = ymm22[0,2,2,3,4,6,6,7]14610; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm12[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]14611; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]14612; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5],ymm2[6,7]14613; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]14614; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm014615; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14616; AVX512DQ-NEXT:    vmovdqa 880(%rdi), %xmm114617; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14618; AVX512DQ-NEXT:    vmovdqa 864(%rdi), %xmm014619; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14620; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]14621; AVX512DQ-NEXT:    vmovdqa 848(%rdi), %xmm214622; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14623; AVX512DQ-NEXT:    vmovdqa 832(%rdi), %xmm114624; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14625; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]14626; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm2 = xmm0[2,2,2,2]14627; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm2 = xmm1[0,1,2],xmm2[3]14628; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14629; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]14630; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14631; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]14632; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14633; AVX512DQ-NEXT:    vpermt2d %xmm0, %xmm6, %xmm114634; AVX512DQ-NEXT:    vmovdqa %xmm6, %xmm1014635; AVX512DQ-NEXT:    vmovdqa 816(%rdi), %xmm014636; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14637; AVX512DQ-NEXT:    vmovdqa 800(%rdi), %xmm214638; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14639; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]14640; AVX512DQ-NEXT:    vmovdqa 784(%rdi), %xmm014641; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14642; AVX512DQ-NEXT:    vmovdqa 768(%rdi), %xmm214643; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14644; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]14645; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]14646; AVX512DQ-NEXT:    vmovdqa64 %xmm2, %xmm1914647; AVX512DQ-NEXT:    vmovdqa64 %xmm3, %xmm2014648; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]14649; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm014650; AVX512DQ-NEXT:    vmovdqa 992(%rdi), %ymm114651; AVX512DQ-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14652; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm3 = ymm1[0,1,0,2]14653; AVX512DQ-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14654; AVX512DQ-NEXT:    vmovdqa 960(%rdi), %ymm114655; AVX512DQ-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14656; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm2 = ymm1[0,1,0,2]14657; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14658; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm7 = ymm3[0,1,2,0,4,5,6,4]14659; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm7[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]14660; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm6 = ymm2[0,1,2,0,4,5,6,4]14661; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm6[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]14662; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]14663; AVX512DQ-NEXT:    vmovdqa 928(%rdi), %ymm214664; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14665; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[0,1,0,2]14666; AVX512DQ-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14667; AVX512DQ-NEXT:    vmovdqa 896(%rdi), %ymm214668; AVX512DQ-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14669; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm18 = ymm2[0,1,0,2]14670; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm4 = ymm3[0,2,2,3,4,6,6,7]14671; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm4[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]14672; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm3 = ymm18[0,2,2,3,4,6,6,7]14673; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm9 = ymm3[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]14674; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3,4],ymm2[5],ymm9[6,7]14675; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]14676; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}14677; AVX512DQ-NEXT:    vmovdqa 624(%rdi), %xmm214678; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14679; AVX512DQ-NEXT:    vmovdqa 608(%rdi), %xmm114680; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14681; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]14682; AVX512DQ-NEXT:    vmovdqa 592(%rdi), %xmm514683; AVX512DQ-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14684; AVX512DQ-NEXT:    vmovdqa 576(%rdi), %xmm214685; AVX512DQ-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14686; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]14687; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm9 = xmm1[2,2,2,2]14688; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm5 = xmm2[0,1,2],xmm9[3]14689; AVX512DQ-NEXT:    vmovdqa %xmm5, (%rsp) # 16-byte Spill14690; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm16 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]14691; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm5 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]14692; AVX512DQ-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14693; AVX512DQ-NEXT:    vpermt2d %xmm1, %xmm10, %xmm214694; AVX512DQ-NEXT:    vmovdqa 560(%rdi), %xmm114695; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14696; AVX512DQ-NEXT:    vmovdqa 544(%rdi), %xmm514697; AVX512DQ-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14698; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]14699; AVX512DQ-NEXT:    vmovdqa 528(%rdi), %xmm114700; AVX512DQ-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14701; AVX512DQ-NEXT:    vmovdqa 512(%rdi), %xmm514702; AVX512DQ-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14703; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]14704; AVX512DQ-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm15[0],xmm8[0],xmm15[1],xmm8[1]14705; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm1[0,1],xmm2[2,3]14706; AVX512DQ-NEXT:    vmovdqa 736(%rdi), %ymm114707; AVX512DQ-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14708; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm29 = ymm1[0,1,0,2]14709; AVX512DQ-NEXT:    vmovdqa 704(%rdi), %ymm114710; AVX512DQ-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14711; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm1 = ymm1[0,1,0,2]14712; AVX512DQ-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14713; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm2 = ymm29[0,1,2,0,4,5,6,4]14714; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm10 = ymm2[0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,12]14715; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm1 = ymm1[0,1,2,0,4,5,6,4]14716; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm11 = ymm1[0,1,2,3,6,4,6,7,8,9,10,11,14,12,14,15]14717; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm13 = ymm11[0,1,2,3,4,5,6],ymm10[7]14718; AVX512DQ-NEXT:    vmovdqa 672(%rdi), %ymm514719; AVX512DQ-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14720; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm28 = ymm5[0,1,0,2]14721; AVX512DQ-NEXT:    vmovdqa 640(%rdi), %ymm514722; AVX512DQ-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14723; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm30 = ymm5[0,1,0,2]14724; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm10 = ymm28[0,2,2,3,4,6,6,7]14725; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm14 = ymm10[0,1,0,2,4,5,6,7,8,9,8,10,12,13,14,15]14726; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm11 = ymm30[0,2,2,3,4,6,6,7]14727; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm5 = ymm11[0,2,2,3,4,5,6,7,8,10,10,11,12,13,14,15]14728; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4],ymm14[5],ymm5[6,7]14729; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5],ymm13[6,7]14730; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]14731; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm5, %zmm0, %zmm014732; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14733; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm0 = xmm31[1,1,1,1]14734; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload14735; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm14[1],xmm0[2,3]14736; AVX512DQ-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload14737; AVX512DQ-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]14738; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm014739; AVX512DQ-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload14740; AVX512DQ-NEXT:    # ymm5 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]14741; AVX512DQ-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload14742; AVX512DQ-NEXT:    # ymm9 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]14743; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5,6],ymm5[7]14744; AVX512DQ-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload14745; AVX512DQ-NEXT:    # ymm9 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]14746; AVX512DQ-NEXT:    vpshuflw $237, {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Folded Reload14747; AVX512DQ-NEXT:    # ymm13 = mem[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]14748; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3,4],ymm9[5],ymm13[6,7]14749; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]14750; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm0 {%k1}14751; AVX512DQ-NEXT:    vpshufhw $116, {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Folded Reload14752; AVX512DQ-NEXT:    # ymm5 = mem[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]14753; AVX512DQ-NEXT:    vpshufhw $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload14754; AVX512DQ-NEXT:    # ymm9 = mem[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]14755; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5,6],ymm5[7]14756; AVX512DQ-NEXT:    vpshuflw $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload14757; AVX512DQ-NEXT:    # ymm9 = mem[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]14758; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm13 = ymm12[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]14759; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3,4],ymm9[5],ymm13[6,7]14760; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]14761; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm9 = xmm17[1,1,1,1]14762; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload14763; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm9[0],xmm13[1],xmm9[2,3]14764; AVX512DQ-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm9, %xmm9 # 16-byte Folded Reload14765; AVX512DQ-NEXT:    # xmm9 = xmm9[0,1],mem[2,3]14766; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]14767; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm5, %zmm0, %zmm014768; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14769; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm0 = xmm19[1,1,1,1]14770; AVX512DQ-NEXT:    vmovdqa64 %xmm20, %xmm914771; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm9[1],xmm0[2,3]14772; AVX512DQ-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload14773; AVX512DQ-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]14774; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]14775; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm6 = ymm6[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]14776; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]14777; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm4[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]14778; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm3[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]14779; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4],ymm4[5],ymm3[6,7]14780; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5],ymm5[6,7]14781; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm014782; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm0 {%k1}14783; AVX512DQ-NEXT:    vpshufd {{.*#+}} xmm3 = xmm15[1,1,1,1]14784; AVX512DQ-NEXT:    vmovdqa %xmm8, %xmm514785; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0],xmm8[1],xmm3[2,3]14786; AVX512DQ-NEXT:    vmovdqa64 %xmm16, %xmm414787; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm4[2,3]14788; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,7,5,8,9,10,11,12,13,15,13]14789; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm1[0,1,2,3,7,5,6,7,8,9,10,11,15,13,14,15]14790; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm2[7]14791; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm10[0,1,1,3,4,5,6,7,8,9,9,11,12,13,14,15]14792; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm4 = ymm11[1,3,2,3,4,5,6,7,9,11,10,11,12,13,14,15]14793; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4],ymm2[5],ymm4[6,7]14794; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]14795; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3],ymm1[4,5,6,7]14796; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm014797; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14798; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm31[2],xmm14[2],xmm31[3],xmm14[3]14799; AVX512DQ-NEXT:    vmovdqa64 %xmm14, %xmm1614800; AVX512DQ-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload14801; AVX512DQ-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]14802; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm014803; AVX512DQ-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload14804; AVX512DQ-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]14805; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]14806; AVX512DQ-NEXT:    vmovdqa64 %ymm2, %ymm2714807; AVX512DQ-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload14808; AVX512DQ-NEXT:    # ymm3 = mem[0,1,1,3,4,5,5,7]14809; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm3[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]14810; AVX512DQ-NEXT:    vmovdqa64 %ymm3, %ymm2614811; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]14812; AVX512DQ-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Folded Reload14813; AVX512DQ-NEXT:    # ymm3 = mem[3,1,2,3,7,5,6,7]14814; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm3[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]14815; AVX512DQ-NEXT:    vmovdqa64 %ymm3, %ymm2314816; AVX512DQ-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Folded Reload14817; AVX512DQ-NEXT:    # ymm4 = mem[3,1,2,3,7,5,6,7]14818; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm4[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]14819; AVX512DQ-NEXT:    vmovdqa64 %ymm4, %ymm2114820; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]14821; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]14822; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0 {%k1}14823; AVX512DQ-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Folded Reload14824; AVX512DQ-NEXT:    # ymm2 = mem[0,1,1,3,4,5,5,7]14825; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]14826; AVX512DQ-NEXT:    vmovdqa64 %ymm2, %ymm2514827; AVX512DQ-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Folded Reload14828; AVX512DQ-NEXT:    # ymm14 = mem[0,1,1,3,4,5,5,7]14829; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm2 = ymm14[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]14830; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]14831; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm12 = ymm24[3,1,2,3,7,5,6,7]14832; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm12[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]14833; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm11 = ymm22[3,1,2,3,7,5,6,7]14834; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm3 = ymm11[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]14835; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]14836; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]14837; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm17[2],xmm13[2],xmm17[3],xmm13[3]14838; AVX512DQ-NEXT:    vmovdqa64 %xmm13, %xmm2214839; AVX512DQ-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm2 # 16-byte Folded Reload14840; AVX512DQ-NEXT:    # xmm2 = xmm2[0,1],mem[2,3]14841; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]14842; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm1, %zmm0, %zmm014843; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14844; AVX512DQ-NEXT:    vpunpckhdq {{.*#+}} xmm0 = xmm19[2],xmm20[2],xmm19[3],xmm20[3]14845; AVX512DQ-NEXT:    vmovdqa64 %xmm20, %xmm2414846; AVX512DQ-NEXT:    vpblendd $12, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload14847; AVX512DQ-NEXT:    # xmm0 = xmm0[0,1],mem[2,3]14848; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm0, %zmm2014849; AVX512DQ-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Folded Reload14850; AVX512DQ-NEXT:    # ymm10 = mem[0,1,1,3,4,5,5,7]14851; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm0 = ymm10[0,1,2,3,4,5,4,6,8,9,10,11,12,13,12,14]14852; AVX512DQ-NEXT:    vpshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Folded Reload14853; AVX512DQ-NEXT:    # ymm9 = mem[0,1,1,3,4,5,5,7]14854; AVX512DQ-NEXT:    vpshufhw {{.*#+}} ymm1 = ymm9[0,1,2,3,4,6,6,7,8,9,10,11,12,14,14,15]14855; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]14856; AVX512DQ-NEXT:    vpshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Folded Reload14857; AVX512DQ-NEXT:    # ymm8 = mem[3,1,2,3,7,5,6,7]14858; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm1 = ymm8[0,1,2,0,4,5,6,7,8,9,10,8,12,13,14,15]14859; AVX512DQ-NEXT:    vpshufd {{.*#+}} ymm6 = ymm18[3,1,2,3,7,5,6,7]14860; AVX512DQ-NEXT:    vpshuflw {{.*#+}} ymm2 = ymm6[2,0,2,3,4,5,6,7,10,8,10,11,12,13,14,15]14861; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]14862; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]14863 

File truncated to the first 1 MiB.