brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 MiB · deb74d2 Raw
15987 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_i8_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_i8_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), %xmm125; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [255,0,0,0,255,0,0,0]26; SSE-NEXT:    pand %xmm1, %xmm027; SSE-NEXT:    packuswb %xmm0, %xmm028; SSE-NEXT:    packuswb %xmm0, %xmm029; SSE-NEXT:    packuswb %xmm0, %xmm030; SSE-NEXT:    pxor %xmm2, %xmm231; SSE-NEXT:    movdqa %xmm1, %xmm332; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm2[8],xmm3[9],xmm2[9],xmm3[10],xmm2[10],xmm3[11],xmm2[11],xmm3[12],xmm2[12],xmm3[13],xmm2[13],xmm3[14],xmm2[14],xmm3[15],xmm2[15]33; SSE-NEXT:    movdqa %xmm1, %xmm434; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3],xmm4[4],xmm2[4],xmm4[5],xmm2[5],xmm4[6],xmm2[6],xmm4[7],xmm2[7]35; SSE-NEXT:    movdqa %xmm4, %xmm236; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]37; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm2[1,1,1,1]38; SSE-NEXT:    packuswb %xmm5, %xmm539; SSE-NEXT:    pand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm140; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm1[0,2,2,3]41; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm6[1,3,2,3,4,5,6,7]42; SSE-NEXT:    packuswb %xmm6, %xmm643; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[3,3,3,3]44; SSE-NEXT:    packuswb %xmm2, %xmm245; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[3,1,2,3]46; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm1[2,0,2,3,4,5,6,7]47; SSE-NEXT:    packuswb %xmm7, %xmm748; SSE-NEXT:    punpckhwd {{.*#+}} xmm4 = xmm4[4],xmm3[4],xmm4[5],xmm3[5],xmm4[6],xmm3[6],xmm4[7],xmm3[7]49; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm4[1,1,1,1]50; SSE-NEXT:    packuswb %xmm3, %xmm351; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[3,1,2,3,4,5,6,7]52; SSE-NEXT:    packuswb %xmm1, %xmm153; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[3,3,3,3]54; SSE-NEXT:    packuswb %xmm4, %xmm455; SSE-NEXT:    movd %xmm0, %edi56; SSE-NEXT:    movw %di, (%rsi)57; SSE-NEXT:    movd %xmm5, %esi58; SSE-NEXT:    movw %si, (%rdx)59; SSE-NEXT:    movd %xmm6, %edx60; SSE-NEXT:    movw %dx, (%rcx)61; SSE-NEXT:    movd %xmm2, %ecx62; SSE-NEXT:    movw %cx, (%r8)63; SSE-NEXT:    movd %xmm7, %ecx64; SSE-NEXT:    movw %cx, (%r9)65; SSE-NEXT:    movd %xmm3, %ecx66; SSE-NEXT:    movw %cx, (%r11)67; SSE-NEXT:    movd %xmm1, %ecx68; SSE-NEXT:    movw %cx, (%r10)69; SSE-NEXT:    movd %xmm4, %ecx70; SSE-NEXT:    movw %cx, (%rax)71; SSE-NEXT:    retq72;73; AVX-LABEL: load_i8_stride8_vf2:74; AVX:       # %bb.0:75; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax76; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r1077; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r1178; AVX-NEXT:    vmovdqa (%rdi), %xmm079; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]80; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]81; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]82; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]83; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]84; AVX-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]85; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]86; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]87; AVX-NEXT:    vpextrw $0, %xmm1, (%rsi)88; AVX-NEXT:    vpextrw $0, %xmm2, (%rdx)89; AVX-NEXT:    vpextrw $0, %xmm3, (%rcx)90; AVX-NEXT:    vpextrw $0, %xmm4, (%r8)91; AVX-NEXT:    vpextrw $0, %xmm5, (%r9)92; AVX-NEXT:    vpextrw $0, %xmm6, (%r11)93; AVX-NEXT:    vpextrw $0, %xmm7, (%r10)94; AVX-NEXT:    vpextrw $0, %xmm0, (%rax)95; AVX-NEXT:    retq96;97; AVX2-LABEL: load_i8_stride8_vf2:98; AVX2:       # %bb.0:99; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax100; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r10101; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r11102; AVX2-NEXT:    vmovdqa (%rdi), %xmm0103; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]104; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]105; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]106; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]107; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]108; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]109; AVX2-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]110; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]111; AVX2-NEXT:    vpextrw $0, %xmm1, (%rsi)112; AVX2-NEXT:    vpextrw $0, %xmm2, (%rdx)113; AVX2-NEXT:    vpextrw $0, %xmm3, (%rcx)114; AVX2-NEXT:    vpextrw $0, %xmm4, (%r8)115; AVX2-NEXT:    vpextrw $0, %xmm5, (%r9)116; AVX2-NEXT:    vpextrw $0, %xmm6, (%r11)117; AVX2-NEXT:    vpextrw $0, %xmm7, (%r10)118; AVX2-NEXT:    vpextrw $0, %xmm0, (%rax)119; AVX2-NEXT:    retq120;121; AVX2-FP-LABEL: load_i8_stride8_vf2:122; AVX2-FP:       # %bb.0:123; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax124; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r10125; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r11126; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm0127; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]128; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]129; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]130; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]131; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]132; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]133; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]134; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]135; AVX2-FP-NEXT:    vpextrw $0, %xmm1, (%rsi)136; AVX2-FP-NEXT:    vpextrw $0, %xmm2, (%rdx)137; AVX2-FP-NEXT:    vpextrw $0, %xmm3, (%rcx)138; AVX2-FP-NEXT:    vpextrw $0, %xmm4, (%r8)139; AVX2-FP-NEXT:    vpextrw $0, %xmm5, (%r9)140; AVX2-FP-NEXT:    vpextrw $0, %xmm6, (%r11)141; AVX2-FP-NEXT:    vpextrw $0, %xmm7, (%r10)142; AVX2-FP-NEXT:    vpextrw $0, %xmm0, (%rax)143; AVX2-FP-NEXT:    retq144;145; AVX2-FCP-LABEL: load_i8_stride8_vf2:146; AVX2-FCP:       # %bb.0:147; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax148; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10149; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11150; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm0151; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]152; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]153; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]154; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]155; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]156; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]157; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]158; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]159; AVX2-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)160; AVX2-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)161; AVX2-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)162; AVX2-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)163; AVX2-FCP-NEXT:    vpextrw $0, %xmm5, (%r9)164; AVX2-FCP-NEXT:    vpextrw $0, %xmm6, (%r11)165; AVX2-FCP-NEXT:    vpextrw $0, %xmm7, (%r10)166; AVX2-FCP-NEXT:    vpextrw $0, %xmm0, (%rax)167; AVX2-FCP-NEXT:    retq168;169; AVX512-LABEL: load_i8_stride8_vf2:170; AVX512:       # %bb.0:171; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax172; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r10173; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r11174; AVX512-NEXT:    vmovdqa (%rdi), %xmm0175; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]176; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]177; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]178; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]179; AVX512-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]180; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]181; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]182; AVX512-NEXT:    vpmovqb %xmm0, (%rsi)183; AVX512-NEXT:    vpextrw $0, %xmm1, (%rdx)184; AVX512-NEXT:    vpextrw $0, %xmm2, (%rcx)185; AVX512-NEXT:    vpextrw $0, %xmm3, (%r8)186; AVX512-NEXT:    vpextrw $0, %xmm4, (%r9)187; AVX512-NEXT:    vpextrw $0, %xmm5, (%r11)188; AVX512-NEXT:    vpextrw $0, %xmm6, (%r10)189; AVX512-NEXT:    vpextrw $0, %xmm7, (%rax)190; AVX512-NEXT:    retq191;192; AVX512-FCP-LABEL: load_i8_stride8_vf2:193; AVX512-FCP:       # %bb.0:194; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax195; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10196; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11197; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm0198; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]199; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]200; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]201; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]202; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]203; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]204; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]205; AVX512-FCP-NEXT:    vpmovqb %xmm0, (%rsi)206; AVX512-FCP-NEXT:    vpextrw $0, %xmm1, (%rdx)207; AVX512-FCP-NEXT:    vpextrw $0, %xmm2, (%rcx)208; AVX512-FCP-NEXT:    vpextrw $0, %xmm3, (%r8)209; AVX512-FCP-NEXT:    vpextrw $0, %xmm4, (%r9)210; AVX512-FCP-NEXT:    vpextrw $0, %xmm5, (%r11)211; AVX512-FCP-NEXT:    vpextrw $0, %xmm6, (%r10)212; AVX512-FCP-NEXT:    vpextrw $0, %xmm7, (%rax)213; AVX512-FCP-NEXT:    retq214;215; AVX512DQ-LABEL: load_i8_stride8_vf2:216; AVX512DQ:       # %bb.0:217; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax218; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r10219; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r11220; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm0221; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]222; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]223; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]224; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]225; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]226; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]227; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]228; AVX512DQ-NEXT:    vpmovqb %xmm0, (%rsi)229; AVX512DQ-NEXT:    vpextrw $0, %xmm1, (%rdx)230; AVX512DQ-NEXT:    vpextrw $0, %xmm2, (%rcx)231; AVX512DQ-NEXT:    vpextrw $0, %xmm3, (%r8)232; AVX512DQ-NEXT:    vpextrw $0, %xmm4, (%r9)233; AVX512DQ-NEXT:    vpextrw $0, %xmm5, (%r11)234; AVX512DQ-NEXT:    vpextrw $0, %xmm6, (%r10)235; AVX512DQ-NEXT:    vpextrw $0, %xmm7, (%rax)236; AVX512DQ-NEXT:    retq237;238; AVX512DQ-FCP-LABEL: load_i8_stride8_vf2:239; AVX512DQ-FCP:       # %bb.0:240; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax241; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10242; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11243; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm0244; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]245; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]246; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]247; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]248; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]249; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]250; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]251; AVX512DQ-FCP-NEXT:    vpmovqb %xmm0, (%rsi)252; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm1, (%rdx)253; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm2, (%rcx)254; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm3, (%r8)255; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm4, (%r9)256; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm5, (%r11)257; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm6, (%r10)258; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm7, (%rax)259; AVX512DQ-FCP-NEXT:    retq260;261; AVX512BW-LABEL: load_i8_stride8_vf2:262; AVX512BW:       # %bb.0:263; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax264; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10265; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r11266; AVX512BW-NEXT:    vmovdqa (%rdi), %xmm0267; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]268; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]269; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]270; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]271; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]272; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]273; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]274; AVX512BW-NEXT:    vpmovqb %xmm0, (%rsi)275; AVX512BW-NEXT:    vpextrw $0, %xmm1, (%rdx)276; AVX512BW-NEXT:    vpextrw $0, %xmm2, (%rcx)277; AVX512BW-NEXT:    vpextrw $0, %xmm3, (%r8)278; AVX512BW-NEXT:    vpextrw $0, %xmm4, (%r9)279; AVX512BW-NEXT:    vpextrw $0, %xmm5, (%r11)280; AVX512BW-NEXT:    vpextrw $0, %xmm6, (%r10)281; AVX512BW-NEXT:    vpextrw $0, %xmm7, (%rax)282; AVX512BW-NEXT:    retq283;284; AVX512BW-FCP-LABEL: load_i8_stride8_vf2:285; AVX512BW-FCP:       # %bb.0:286; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax287; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10288; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11289; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %xmm0290; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]291; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]292; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]293; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]294; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]295; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]296; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]297; AVX512BW-FCP-NEXT:    vpmovqb %xmm0, (%rsi)298; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm1, (%rdx)299; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm2, (%rcx)300; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm3, (%r8)301; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm4, (%r9)302; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm5, (%r11)303; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm6, (%r10)304; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm7, (%rax)305; AVX512BW-FCP-NEXT:    retq306;307; AVX512DQ-BW-LABEL: load_i8_stride8_vf2:308; AVX512DQ-BW:       # %bb.0:309; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax310; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10311; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r11312; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %xmm0313; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]314; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]315; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]316; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]317; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]318; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]319; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]320; AVX512DQ-BW-NEXT:    vpmovqb %xmm0, (%rsi)321; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm1, (%rdx)322; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm2, (%rcx)323; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm3, (%r8)324; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm4, (%r9)325; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm5, (%r11)326; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm6, (%r10)327; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm7, (%rax)328; AVX512DQ-BW-NEXT:    retq329;330; AVX512DQ-BW-FCP-LABEL: load_i8_stride8_vf2:331; AVX512DQ-BW-FCP:       # %bb.0:332; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax333; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10334; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11335; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %xmm0336; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[1,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]337; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[2,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]338; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[3,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]339; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[4,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]340; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[5,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]341; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[6,14,u,u,u,u,u,u,u,u,u,u,u,u,u,u]342; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[7,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u]343; AVX512DQ-BW-FCP-NEXT:    vpmovqb %xmm0, (%rsi)344; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm1, (%rdx)345; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm2, (%rcx)346; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm3, (%r8)347; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm4, (%r9)348; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm5, (%r11)349; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm6, (%r10)350; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm7, (%rax)351; AVX512DQ-BW-FCP-NEXT:    retq352  %wide.vec = load <16 x i8>, ptr %in.vec, align 64353  %strided.vec0 = shufflevector <16 x i8> %wide.vec, <16 x i8> poison, <2 x i32> <i32 0, i32 8>354  %strided.vec1 = shufflevector <16 x i8> %wide.vec, <16 x i8> poison, <2 x i32> <i32 1, i32 9>355  %strided.vec2 = shufflevector <16 x i8> %wide.vec, <16 x i8> poison, <2 x i32> <i32 2, i32 10>356  %strided.vec3 = shufflevector <16 x i8> %wide.vec, <16 x i8> poison, <2 x i32> <i32 3, i32 11>357  %strided.vec4 = shufflevector <16 x i8> %wide.vec, <16 x i8> poison, <2 x i32> <i32 4, i32 12>358  %strided.vec5 = shufflevector <16 x i8> %wide.vec, <16 x i8> poison, <2 x i32> <i32 5, i32 13>359  %strided.vec6 = shufflevector <16 x i8> %wide.vec, <16 x i8> poison, <2 x i32> <i32 6, i32 14>360  %strided.vec7 = shufflevector <16 x i8> %wide.vec, <16 x i8> poison, <2 x i32> <i32 7, i32 15>361  store <2 x i8> %strided.vec0, ptr %out.vec0, align 64362  store <2 x i8> %strided.vec1, ptr %out.vec1, align 64363  store <2 x i8> %strided.vec2, ptr %out.vec2, align 64364  store <2 x i8> %strided.vec3, ptr %out.vec3, align 64365  store <2 x i8> %strided.vec4, ptr %out.vec4, align 64366  store <2 x i8> %strided.vec5, ptr %out.vec5, align 64367  store <2 x i8> %strided.vec6, ptr %out.vec6, align 64368  store <2 x i8> %strided.vec7, ptr %out.vec7, align 64369  ret void370}371 372define void @load_i8_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 {373; SSE-LABEL: load_i8_stride8_vf4:374; SSE:       # %bb.0:375; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax376; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %r10377; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %r11378; SSE-NEXT:    movdqa (%rdi), %xmm5379; SSE-NEXT:    movdqa 16(%rdi), %xmm8380; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [255,0,0,0,255,0,0,0]381; SSE-NEXT:    movdqa %xmm8, %xmm1382; SSE-NEXT:    pand %xmm0, %xmm1383; SSE-NEXT:    pand %xmm5, %xmm0384; SSE-NEXT:    packuswb %xmm1, %xmm0385; SSE-NEXT:    packuswb %xmm0, %xmm0386; SSE-NEXT:    packuswb %xmm0, %xmm0387; SSE-NEXT:    pxor %xmm3, %xmm3388; SSE-NEXT:    movdqa %xmm8, %xmm7389; SSE-NEXT:    punpckhbw {{.*#+}} xmm7 = xmm7[8],xmm3[8],xmm7[9],xmm3[9],xmm7[10],xmm3[10],xmm7[11],xmm3[11],xmm7[12],xmm3[12],xmm7[13],xmm3[13],xmm7[14],xmm3[14],xmm7[15],xmm3[15]390; SSE-NEXT:    movdqa %xmm8, %xmm2391; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3],xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]392; SSE-NEXT:    movdqa %xmm2, %xmm10393; SSE-NEXT:    punpcklwd {{.*#+}} xmm10 = xmm10[0],xmm7[0],xmm10[1],xmm7[1],xmm10[2],xmm7[2],xmm10[3],xmm7[3]394; SSE-NEXT:    packuswb %xmm10, %xmm10395; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [65535,0,65535,65535,65535,65535,65535,65535]396; SSE-NEXT:    movdqa %xmm1, %xmm6397; SSE-NEXT:    pandn %xmm10, %xmm6398; SSE-NEXT:    movdqa %xmm5, %xmm9399; SSE-NEXT:    punpckhbw {{.*#+}} xmm9 = xmm9[8],xmm3[8],xmm9[9],xmm3[9],xmm9[10],xmm3[10],xmm9[11],xmm3[11],xmm9[12],xmm3[12],xmm9[13],xmm3[13],xmm9[14],xmm3[14],xmm9[15],xmm3[15]400; SSE-NEXT:    movdqa %xmm5, %xmm4401; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3],xmm4[4],xmm3[4],xmm4[5],xmm3[5],xmm4[6],xmm3[6],xmm4[7],xmm3[7]402; SSE-NEXT:    movdqa %xmm4, %xmm11403; SSE-NEXT:    punpcklwd {{.*#+}} xmm11 = xmm11[0],xmm9[0],xmm11[1],xmm9[1],xmm11[2],xmm9[2],xmm11[3],xmm9[3]404; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm11[1,1,1,1]405; SSE-NEXT:    packuswb %xmm3, %xmm3406; SSE-NEXT:    pand %xmm1, %xmm3407; SSE-NEXT:    por %xmm6, %xmm3408; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [255,255,255,255,255,255,255,255]409; SSE-NEXT:    pand %xmm6, %xmm8410; SSE-NEXT:    pshufd {{.*#+}} xmm12 = xmm8[0,2,2,3]411; SSE-NEXT:    pshuflw {{.*#+}} xmm12 = xmm12[0,1,1,3,4,5,6,7]412; SSE-NEXT:    packuswb %xmm12, %xmm12413; SSE-NEXT:    movdqa %xmm1, %xmm13414; SSE-NEXT:    pandn %xmm12, %xmm13415; SSE-NEXT:    pand %xmm6, %xmm5416; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm5[0,2,2,3]417; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm6[1,3,2,3,4,5,6,7]418; SSE-NEXT:    packuswb %xmm6, %xmm6419; SSE-NEXT:    pand %xmm1, %xmm6420; SSE-NEXT:    por %xmm13, %xmm6421; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm10[1,1,2,3]422; SSE-NEXT:    movdqa %xmm1, %xmm12423; SSE-NEXT:    pandn %xmm10, %xmm12424; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm11[3,3,3,3]425; SSE-NEXT:    packuswb %xmm10, %xmm10426; SSE-NEXT:    pand %xmm1, %xmm10427; SSE-NEXT:    por %xmm12, %xmm10428; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[3,1,2,3]429; SSE-NEXT:    pshuflw {{.*#+}} xmm11 = xmm8[0,1,2,0,4,5,6,7]430; SSE-NEXT:    packuswb %xmm11, %xmm11431; SSE-NEXT:    movdqa %xmm1, %xmm12432; SSE-NEXT:    pandn %xmm11, %xmm12433; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm5[3,1,2,3]434; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm11[2,0,2,3,4,5,6,7]435; SSE-NEXT:    packuswb %xmm5, %xmm5436; SSE-NEXT:    pand %xmm1, %xmm5437; SSE-NEXT:    por %xmm12, %xmm5438; SSE-NEXT:    punpckhwd {{.*#+}} xmm2 = xmm2[4],xmm7[4],xmm2[5],xmm7[5],xmm2[6],xmm7[6],xmm2[7],xmm7[7]439; SSE-NEXT:    packuswb %xmm2, %xmm2440; SSE-NEXT:    movdqa %xmm1, %xmm12441; SSE-NEXT:    pandn %xmm2, %xmm12442; SSE-NEXT:    punpckhwd {{.*#+}} xmm4 = xmm4[4],xmm9[4],xmm4[5],xmm9[5],xmm4[6],xmm9[6],xmm4[7],xmm9[7]443; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm4[1,1,1,1]444; SSE-NEXT:    packuswb %xmm7, %xmm7445; SSE-NEXT:    pand %xmm1, %xmm7446; SSE-NEXT:    por %xmm12, %xmm7447; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm8[0,1,3,1,4,5,6,7]448; SSE-NEXT:    packuswb %xmm8, %xmm8449; SSE-NEXT:    movdqa %xmm1, %xmm9450; SSE-NEXT:    pandn %xmm8, %xmm9451; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm11[3,1,2,3,4,5,6,7]452; SSE-NEXT:    packuswb %xmm8, %xmm8453; SSE-NEXT:    pand %xmm1, %xmm8454; SSE-NEXT:    por %xmm9, %xmm8455; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[1,1,2,3]456; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[3,3,3,3]457; SSE-NEXT:    packuswb %xmm4, %xmm4458; SSE-NEXT:    pand %xmm1, %xmm4459; SSE-NEXT:    pandn %xmm2, %xmm1460; SSE-NEXT:    por %xmm4, %xmm1461; SSE-NEXT:    movd %xmm0, (%rsi)462; SSE-NEXT:    movd %xmm3, (%rdx)463; SSE-NEXT:    movd %xmm6, (%rcx)464; SSE-NEXT:    movd %xmm10, (%r8)465; SSE-NEXT:    movd %xmm5, (%r9)466; SSE-NEXT:    movd %xmm7, (%r11)467; SSE-NEXT:    movd %xmm8, (%r10)468; SSE-NEXT:    movd %xmm1, (%rax)469; SSE-NEXT:    retq470;471; AVX-LABEL: load_i8_stride8_vf4:472; AVX:       # %bb.0:473; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax474; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r10475; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r11476; AVX-NEXT:    vmovd {{.*#+}} xmm0 = [0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0]477; AVX-NEXT:    vmovdqa (%rdi), %xmm1478; AVX-NEXT:    vmovdqa 16(%rdi), %xmm2479; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm3480; AVX-NEXT:    vpshufb %xmm0, %xmm1, %xmm0481; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]482; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]483; AVX-NEXT:    vpshufb %xmm3, %xmm2, %xmm4484; AVX-NEXT:    vpshufb %xmm3, %xmm1, %xmm3485; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]486; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [2,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]487; AVX-NEXT:    vpshufb %xmm4, %xmm2, %xmm5488; AVX-NEXT:    vpshufb %xmm4, %xmm1, %xmm4489; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]490; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [3,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]491; AVX-NEXT:    vpshufb %xmm5, %xmm2, %xmm6492; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm5493; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]494; AVX-NEXT:    vmovd {{.*#+}} xmm6 = [4,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0]495; AVX-NEXT:    vpshufb %xmm6, %xmm2, %xmm7496; AVX-NEXT:    vpshufb %xmm6, %xmm1, %xmm6497; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]498; AVX-NEXT:    vmovd {{.*#+}} xmm7 = [5,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0]499; AVX-NEXT:    vpshufb %xmm7, %xmm2, %xmm8500; AVX-NEXT:    vpshufb %xmm7, %xmm1, %xmm7501; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]502; AVX-NEXT:    vmovd {{.*#+}} xmm8 = [6,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0]503; AVX-NEXT:    vpshufb %xmm8, %xmm2, %xmm9504; AVX-NEXT:    vpshufb %xmm8, %xmm1, %xmm8505; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]506; AVX-NEXT:    vmovd {{.*#+}} xmm9 = [7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0]507; AVX-NEXT:    vpshufb %xmm9, %xmm2, %xmm2508; AVX-NEXT:    vpshufb %xmm9, %xmm1, %xmm1509; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]510; AVX-NEXT:    vmovd %xmm0, (%rsi)511; AVX-NEXT:    vmovd %xmm3, (%rdx)512; AVX-NEXT:    vmovd %xmm4, (%rcx)513; AVX-NEXT:    vmovd %xmm5, (%r8)514; AVX-NEXT:    vmovd %xmm6, (%r9)515; AVX-NEXT:    vmovd %xmm7, (%r11)516; AVX-NEXT:    vmovd %xmm8, (%r10)517; AVX-NEXT:    vmovd %xmm1, (%rax)518; AVX-NEXT:    retq519;520; AVX2-LABEL: load_i8_stride8_vf4:521; AVX2:       # %bb.0:522; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax523; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r10524; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r11525; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]526; AVX2-NEXT:    vmovdqa (%rdi), %xmm1527; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm2528; AVX2-NEXT:    vpshufb %xmm0, %xmm2, %xmm3529; AVX2-NEXT:    vpshufb %xmm0, %xmm1, %xmm0530; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]531; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]532; AVX2-NEXT:    vpshufb %xmm3, %xmm2, %xmm4533; AVX2-NEXT:    vpshufb %xmm3, %xmm1, %xmm3534; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]535; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]536; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm5537; AVX2-NEXT:    vpshufb %xmm4, %xmm1, %xmm4538; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]539; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]540; AVX2-NEXT:    vpshufb %xmm5, %xmm2, %xmm6541; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm5542; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]543; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]544; AVX2-NEXT:    vpshufb %xmm6, %xmm2, %xmm7545; AVX2-NEXT:    vpshufb %xmm6, %xmm1, %xmm6546; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]547; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm7 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]548; AVX2-NEXT:    vpshufb %xmm7, %xmm2, %xmm8549; AVX2-NEXT:    vpshufb %xmm7, %xmm1, %xmm7550; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]551; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]552; AVX2-NEXT:    vpshufb %xmm8, %xmm2, %xmm9553; AVX2-NEXT:    vpshufb %xmm8, %xmm1, %xmm8554; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]555; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]556; AVX2-NEXT:    vpshufb %xmm9, %xmm2, %xmm2557; AVX2-NEXT:    vpshufb %xmm9, %xmm1, %xmm1558; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]559; AVX2-NEXT:    vmovd %xmm0, (%rsi)560; AVX2-NEXT:    vmovd %xmm3, (%rdx)561; AVX2-NEXT:    vmovd %xmm4, (%rcx)562; AVX2-NEXT:    vmovd %xmm5, (%r8)563; AVX2-NEXT:    vmovd %xmm6, (%r9)564; AVX2-NEXT:    vmovd %xmm7, (%r11)565; AVX2-NEXT:    vmovd %xmm8, (%r10)566; AVX2-NEXT:    vmovd %xmm1, (%rax)567; AVX2-NEXT:    retq568;569; AVX2-FP-LABEL: load_i8_stride8_vf4:570; AVX2-FP:       # %bb.0:571; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax572; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r10573; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r11574; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]575; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm1576; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm2577; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm2, %xmm3578; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm1, %xmm0579; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]580; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]581; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm2, %xmm4582; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm1, %xmm3583; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]584; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]585; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm5586; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm1, %xmm4587; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]588; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]589; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm2, %xmm6590; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm5591; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]592; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]593; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm2, %xmm7594; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm1, %xmm6595; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]596; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm7 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]597; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm2, %xmm8598; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm1, %xmm7599; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]600; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]601; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm2, %xmm9602; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm1, %xmm8603; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]604; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]605; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm2, %xmm2606; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm1, %xmm1607; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]608; AVX2-FP-NEXT:    vmovd %xmm0, (%rsi)609; AVX2-FP-NEXT:    vmovd %xmm3, (%rdx)610; AVX2-FP-NEXT:    vmovd %xmm4, (%rcx)611; AVX2-FP-NEXT:    vmovd %xmm5, (%r8)612; AVX2-FP-NEXT:    vmovd %xmm6, (%r9)613; AVX2-FP-NEXT:    vmovd %xmm7, (%r11)614; AVX2-FP-NEXT:    vmovd %xmm8, (%r10)615; AVX2-FP-NEXT:    vmovd %xmm1, (%rax)616; AVX2-FP-NEXT:    retq617;618; AVX2-FCP-LABEL: load_i8_stride8_vf4:619; AVX2-FCP:       # %bb.0:620; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax621; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10622; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11623; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]624; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm1625; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm2626; AVX2-FCP-NEXT:    vpshufb %xmm0, %xmm2, %xmm3627; AVX2-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm0628; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]629; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]630; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm2, %xmm4631; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm1, %xmm3632; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]633; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]634; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm2, %xmm5635; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm1, %xmm4636; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]637; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]638; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm2, %xmm6639; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm1, %xmm5640; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]641; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]642; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm2, %xmm7643; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm1, %xmm6644; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]645; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm7 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]646; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm2, %xmm8647; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm1, %xmm7648; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]649; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]650; AVX2-FCP-NEXT:    vpshufb %xmm8, %xmm2, %xmm9651; AVX2-FCP-NEXT:    vpshufb %xmm8, %xmm1, %xmm8652; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]653; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]654; AVX2-FCP-NEXT:    vpshufb %xmm9, %xmm2, %xmm2655; AVX2-FCP-NEXT:    vpshufb %xmm9, %xmm1, %xmm1656; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]657; AVX2-FCP-NEXT:    vmovd %xmm0, (%rsi)658; AVX2-FCP-NEXT:    vmovd %xmm3, (%rdx)659; AVX2-FCP-NEXT:    vmovd %xmm4, (%rcx)660; AVX2-FCP-NEXT:    vmovd %xmm5, (%r8)661; AVX2-FCP-NEXT:    vmovd %xmm6, (%r9)662; AVX2-FCP-NEXT:    vmovd %xmm7, (%r11)663; AVX2-FCP-NEXT:    vmovd %xmm8, (%r10)664; AVX2-FCP-NEXT:    vmovd %xmm1, (%rax)665; AVX2-FCP-NEXT:    retq666;667; AVX512-LABEL: load_i8_stride8_vf4:668; AVX512:       # %bb.0:669; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax670; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r10671; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r11672; AVX512-NEXT:    vmovdqa (%rdi), %ymm0673; AVX512-NEXT:    vpsrlq $8, %ymm0, %ymm1674; AVX512-NEXT:    vpsrlq $16, %ymm0, %ymm2675; AVX512-NEXT:    vpsrlq $24, %ymm0, %ymm3676; AVX512-NEXT:    vpsrlq $32, %ymm0, %ymm4677; AVX512-NEXT:    vpsrlq $40, %ymm0, %ymm5678; AVX512-NEXT:    vpsrlq $48, %ymm0, %ymm6679; AVX512-NEXT:    vpsrlq $56, %ymm0, %ymm7680; AVX512-NEXT:    vpmovqb %ymm0, (%rsi)681; AVX512-NEXT:    vpmovqb %ymm1, (%rdx)682; AVX512-NEXT:    vpmovqb %ymm2, (%rcx)683; AVX512-NEXT:    vpmovqb %ymm3, (%r8)684; AVX512-NEXT:    vpmovqb %ymm4, (%r9)685; AVX512-NEXT:    vpmovqb %ymm5, (%r11)686; AVX512-NEXT:    vpmovqb %ymm6, (%r10)687; AVX512-NEXT:    vpmovqb %ymm7, (%rax)688; AVX512-NEXT:    vzeroupper689; AVX512-NEXT:    retq690;691; AVX512-FCP-LABEL: load_i8_stride8_vf4:692; AVX512-FCP:       # %bb.0:693; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax694; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10695; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11696; AVX512-FCP-NEXT:    vmovdqa (%rdi), %ymm0697; AVX512-FCP-NEXT:    vpsrlq $8, %ymm0, %ymm1698; AVX512-FCP-NEXT:    vpsrlq $16, %ymm0, %ymm2699; AVX512-FCP-NEXT:    vpsrlq $24, %ymm0, %ymm3700; AVX512-FCP-NEXT:    vpsrlq $32, %ymm0, %ymm4701; AVX512-FCP-NEXT:    vpsrlq $40, %ymm0, %ymm5702; AVX512-FCP-NEXT:    vpsrlq $48, %ymm0, %ymm6703; AVX512-FCP-NEXT:    vpsrlq $56, %ymm0, %ymm7704; AVX512-FCP-NEXT:    vpmovqb %ymm0, (%rsi)705; AVX512-FCP-NEXT:    vpmovqb %ymm1, (%rdx)706; AVX512-FCP-NEXT:    vpmovqb %ymm2, (%rcx)707; AVX512-FCP-NEXT:    vpmovqb %ymm3, (%r8)708; AVX512-FCP-NEXT:    vpmovqb %ymm4, (%r9)709; AVX512-FCP-NEXT:    vpmovqb %ymm5, (%r11)710; AVX512-FCP-NEXT:    vpmovqb %ymm6, (%r10)711; AVX512-FCP-NEXT:    vpmovqb %ymm7, (%rax)712; AVX512-FCP-NEXT:    vzeroupper713; AVX512-FCP-NEXT:    retq714;715; AVX512DQ-LABEL: load_i8_stride8_vf4:716; AVX512DQ:       # %bb.0:717; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax718; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r10719; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r11720; AVX512DQ-NEXT:    vmovdqa (%rdi), %ymm0721; AVX512DQ-NEXT:    vpsrlq $8, %ymm0, %ymm1722; AVX512DQ-NEXT:    vpsrlq $16, %ymm0, %ymm2723; AVX512DQ-NEXT:    vpsrlq $24, %ymm0, %ymm3724; AVX512DQ-NEXT:    vpsrlq $32, %ymm0, %ymm4725; AVX512DQ-NEXT:    vpsrlq $40, %ymm0, %ymm5726; AVX512DQ-NEXT:    vpsrlq $48, %ymm0, %ymm6727; AVX512DQ-NEXT:    vpsrlq $56, %ymm0, %ymm7728; AVX512DQ-NEXT:    vpmovqb %ymm0, (%rsi)729; AVX512DQ-NEXT:    vpmovqb %ymm1, (%rdx)730; AVX512DQ-NEXT:    vpmovqb %ymm2, (%rcx)731; AVX512DQ-NEXT:    vpmovqb %ymm3, (%r8)732; AVX512DQ-NEXT:    vpmovqb %ymm4, (%r9)733; AVX512DQ-NEXT:    vpmovqb %ymm5, (%r11)734; AVX512DQ-NEXT:    vpmovqb %ymm6, (%r10)735; AVX512DQ-NEXT:    vpmovqb %ymm7, (%rax)736; AVX512DQ-NEXT:    vzeroupper737; AVX512DQ-NEXT:    retq738;739; AVX512DQ-FCP-LABEL: load_i8_stride8_vf4:740; AVX512DQ-FCP:       # %bb.0:741; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax742; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10743; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11744; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %ymm0745; AVX512DQ-FCP-NEXT:    vpsrlq $8, %ymm0, %ymm1746; AVX512DQ-FCP-NEXT:    vpsrlq $16, %ymm0, %ymm2747; AVX512DQ-FCP-NEXT:    vpsrlq $24, %ymm0, %ymm3748; AVX512DQ-FCP-NEXT:    vpsrlq $32, %ymm0, %ymm4749; AVX512DQ-FCP-NEXT:    vpsrlq $40, %ymm0, %ymm5750; AVX512DQ-FCP-NEXT:    vpsrlq $48, %ymm0, %ymm6751; AVX512DQ-FCP-NEXT:    vpsrlq $56, %ymm0, %ymm7752; AVX512DQ-FCP-NEXT:    vpmovqb %ymm0, (%rsi)753; AVX512DQ-FCP-NEXT:    vpmovqb %ymm1, (%rdx)754; AVX512DQ-FCP-NEXT:    vpmovqb %ymm2, (%rcx)755; AVX512DQ-FCP-NEXT:    vpmovqb %ymm3, (%r8)756; AVX512DQ-FCP-NEXT:    vpmovqb %ymm4, (%r9)757; AVX512DQ-FCP-NEXT:    vpmovqb %ymm5, (%r11)758; AVX512DQ-FCP-NEXT:    vpmovqb %ymm6, (%r10)759; AVX512DQ-FCP-NEXT:    vpmovqb %ymm7, (%rax)760; AVX512DQ-FCP-NEXT:    vzeroupper761; AVX512DQ-FCP-NEXT:    retq762;763; AVX512BW-LABEL: load_i8_stride8_vf4:764; AVX512BW:       # %bb.0:765; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax766; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10767; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r11768; AVX512BW-NEXT:    vmovdqa (%rdi), %ymm0769; AVX512BW-NEXT:    vpsrlq $8, %ymm0, %ymm1770; AVX512BW-NEXT:    vpsrlq $16, %ymm0, %ymm2771; AVX512BW-NEXT:    vpsrlq $24, %ymm0, %ymm3772; AVX512BW-NEXT:    vpsrlq $32, %ymm0, %ymm4773; AVX512BW-NEXT:    vpsrlq $40, %ymm0, %ymm5774; AVX512BW-NEXT:    vpsrlq $48, %ymm0, %ymm6775; AVX512BW-NEXT:    vpsrlq $56, %ymm0, %ymm7776; AVX512BW-NEXT:    vpmovqb %ymm0, (%rsi)777; AVX512BW-NEXT:    vpmovqb %ymm1, (%rdx)778; AVX512BW-NEXT:    vpmovqb %ymm2, (%rcx)779; AVX512BW-NEXT:    vpmovqb %ymm3, (%r8)780; AVX512BW-NEXT:    vpmovqb %ymm4, (%r9)781; AVX512BW-NEXT:    vpmovqb %ymm5, (%r11)782; AVX512BW-NEXT:    vpmovqb %ymm6, (%r10)783; AVX512BW-NEXT:    vpmovqb %ymm7, (%rax)784; AVX512BW-NEXT:    vzeroupper785; AVX512BW-NEXT:    retq786;787; AVX512BW-FCP-LABEL: load_i8_stride8_vf4:788; AVX512BW-FCP:       # %bb.0:789; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax790; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10791; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11792; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %ymm0793; AVX512BW-FCP-NEXT:    vpsrlq $8, %ymm0, %ymm1794; AVX512BW-FCP-NEXT:    vpsrlq $16, %ymm0, %ymm2795; AVX512BW-FCP-NEXT:    vpsrlq $24, %ymm0, %ymm3796; AVX512BW-FCP-NEXT:    vpsrlq $32, %ymm0, %ymm4797; AVX512BW-FCP-NEXT:    vpsrlq $40, %ymm0, %ymm5798; AVX512BW-FCP-NEXT:    vpsrlq $48, %ymm0, %ymm6799; AVX512BW-FCP-NEXT:    vpsrlq $56, %ymm0, %ymm7800; AVX512BW-FCP-NEXT:    vpmovqb %ymm0, (%rsi)801; AVX512BW-FCP-NEXT:    vpmovqb %ymm1, (%rdx)802; AVX512BW-FCP-NEXT:    vpmovqb %ymm2, (%rcx)803; AVX512BW-FCP-NEXT:    vpmovqb %ymm3, (%r8)804; AVX512BW-FCP-NEXT:    vpmovqb %ymm4, (%r9)805; AVX512BW-FCP-NEXT:    vpmovqb %ymm5, (%r11)806; AVX512BW-FCP-NEXT:    vpmovqb %ymm6, (%r10)807; AVX512BW-FCP-NEXT:    vpmovqb %ymm7, (%rax)808; AVX512BW-FCP-NEXT:    vzeroupper809; AVX512BW-FCP-NEXT:    retq810;811; AVX512DQ-BW-LABEL: load_i8_stride8_vf4:812; AVX512DQ-BW:       # %bb.0:813; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax814; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10815; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r11816; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %ymm0817; AVX512DQ-BW-NEXT:    vpsrlq $8, %ymm0, %ymm1818; AVX512DQ-BW-NEXT:    vpsrlq $16, %ymm0, %ymm2819; AVX512DQ-BW-NEXT:    vpsrlq $24, %ymm0, %ymm3820; AVX512DQ-BW-NEXT:    vpsrlq $32, %ymm0, %ymm4821; AVX512DQ-BW-NEXT:    vpsrlq $40, %ymm0, %ymm5822; AVX512DQ-BW-NEXT:    vpsrlq $48, %ymm0, %ymm6823; AVX512DQ-BW-NEXT:    vpsrlq $56, %ymm0, %ymm7824; AVX512DQ-BW-NEXT:    vpmovqb %ymm0, (%rsi)825; AVX512DQ-BW-NEXT:    vpmovqb %ymm1, (%rdx)826; AVX512DQ-BW-NEXT:    vpmovqb %ymm2, (%rcx)827; AVX512DQ-BW-NEXT:    vpmovqb %ymm3, (%r8)828; AVX512DQ-BW-NEXT:    vpmovqb %ymm4, (%r9)829; AVX512DQ-BW-NEXT:    vpmovqb %ymm5, (%r11)830; AVX512DQ-BW-NEXT:    vpmovqb %ymm6, (%r10)831; AVX512DQ-BW-NEXT:    vpmovqb %ymm7, (%rax)832; AVX512DQ-BW-NEXT:    vzeroupper833; AVX512DQ-BW-NEXT:    retq834;835; AVX512DQ-BW-FCP-LABEL: load_i8_stride8_vf4:836; AVX512DQ-BW-FCP:       # %bb.0:837; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax838; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10839; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r11840; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %ymm0841; AVX512DQ-BW-FCP-NEXT:    vpsrlq $8, %ymm0, %ymm1842; AVX512DQ-BW-FCP-NEXT:    vpsrlq $16, %ymm0, %ymm2843; AVX512DQ-BW-FCP-NEXT:    vpsrlq $24, %ymm0, %ymm3844; AVX512DQ-BW-FCP-NEXT:    vpsrlq $32, %ymm0, %ymm4845; AVX512DQ-BW-FCP-NEXT:    vpsrlq $40, %ymm0, %ymm5846; AVX512DQ-BW-FCP-NEXT:    vpsrlq $48, %ymm0, %ymm6847; AVX512DQ-BW-FCP-NEXT:    vpsrlq $56, %ymm0, %ymm7848; AVX512DQ-BW-FCP-NEXT:    vpmovqb %ymm0, (%rsi)849; AVX512DQ-BW-FCP-NEXT:    vpmovqb %ymm1, (%rdx)850; AVX512DQ-BW-FCP-NEXT:    vpmovqb %ymm2, (%rcx)851; AVX512DQ-BW-FCP-NEXT:    vpmovqb %ymm3, (%r8)852; AVX512DQ-BW-FCP-NEXT:    vpmovqb %ymm4, (%r9)853; AVX512DQ-BW-FCP-NEXT:    vpmovqb %ymm5, (%r11)854; AVX512DQ-BW-FCP-NEXT:    vpmovqb %ymm6, (%r10)855; AVX512DQ-BW-FCP-NEXT:    vpmovqb %ymm7, (%rax)856; AVX512DQ-BW-FCP-NEXT:    vzeroupper857; AVX512DQ-BW-FCP-NEXT:    retq858  %wide.vec = load <32 x i8>, ptr %in.vec, align 64859  %strided.vec0 = shufflevector <32 x i8> %wide.vec, <32 x i8> poison, <4 x i32> <i32 0, i32 8, i32 16, i32 24>860  %strided.vec1 = shufflevector <32 x i8> %wide.vec, <32 x i8> poison, <4 x i32> <i32 1, i32 9, i32 17, i32 25>861  %strided.vec2 = shufflevector <32 x i8> %wide.vec, <32 x i8> poison, <4 x i32> <i32 2, i32 10, i32 18, i32 26>862  %strided.vec3 = shufflevector <32 x i8> %wide.vec, <32 x i8> poison, <4 x i32> <i32 3, i32 11, i32 19, i32 27>863  %strided.vec4 = shufflevector <32 x i8> %wide.vec, <32 x i8> poison, <4 x i32> <i32 4, i32 12, i32 20, i32 28>864  %strided.vec5 = shufflevector <32 x i8> %wide.vec, <32 x i8> poison, <4 x i32> <i32 5, i32 13, i32 21, i32 29>865  %strided.vec6 = shufflevector <32 x i8> %wide.vec, <32 x i8> poison, <4 x i32> <i32 6, i32 14, i32 22, i32 30>866  %strided.vec7 = shufflevector <32 x i8> %wide.vec, <32 x i8> poison, <4 x i32> <i32 7, i32 15, i32 23, i32 31>867  store <4 x i8> %strided.vec0, ptr %out.vec0, align 64868  store <4 x i8> %strided.vec1, ptr %out.vec1, align 64869  store <4 x i8> %strided.vec2, ptr %out.vec2, align 64870  store <4 x i8> %strided.vec3, ptr %out.vec3, align 64871  store <4 x i8> %strided.vec4, ptr %out.vec4, align 64872  store <4 x i8> %strided.vec5, ptr %out.vec5, align 64873  store <4 x i8> %strided.vec6, ptr %out.vec6, align 64874  store <4 x i8> %strided.vec7, ptr %out.vec7, align 64875  ret void876}877 878define void @load_i8_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 {879; SSE-LABEL: load_i8_stride8_vf8:880; SSE:       # %bb.0:881; SSE-NEXT:    movdqa (%rdi), %xmm9882; SSE-NEXT:    movdqa 16(%rdi), %xmm11883; SSE-NEXT:    movdqa 32(%rdi), %xmm13884; SSE-NEXT:    movdqa 48(%rdi), %xmm7885; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [255,0,0,0,255,0,0,0]886; SSE-NEXT:    movdqa %xmm11, %xmm1887; SSE-NEXT:    pand %xmm0, %xmm1888; SSE-NEXT:    movdqa %xmm9, %xmm2889; SSE-NEXT:    pand %xmm0, %xmm2890; SSE-NEXT:    packuswb %xmm1, %xmm2891; SSE-NEXT:    packuswb %xmm2, %xmm2892; SSE-NEXT:    movdqa %xmm7, %xmm1893; SSE-NEXT:    pand %xmm0, %xmm1894; SSE-NEXT:    pand %xmm13, %xmm0895; SSE-NEXT:    packuswb %xmm1, %xmm0896; SSE-NEXT:    packuswb %xmm0, %xmm0897; SSE-NEXT:    packuswb %xmm0, %xmm2898; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,3,2,3]899; SSE-NEXT:    movq %xmm0, (%rsi)900; SSE-NEXT:    pxor %xmm5, %xmm5901; SSE-NEXT:    movdqa %xmm11, %xmm0902; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm5[8],xmm0[9],xmm5[9],xmm0[10],xmm5[10],xmm0[11],xmm5[11],xmm0[12],xmm5[12],xmm0[13],xmm5[13],xmm0[14],xmm5[14],xmm0[15],xmm5[15]903; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill904; SSE-NEXT:    movdqa %xmm11, %xmm14905; SSE-NEXT:    punpcklbw {{.*#+}} xmm14 = xmm14[0],xmm5[0],xmm14[1],xmm5[1],xmm14[2],xmm5[2],xmm14[3],xmm5[3],xmm14[4],xmm5[4],xmm14[5],xmm5[5],xmm14[6],xmm5[6],xmm14[7],xmm5[7]906; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill907; SSE-NEXT:    punpcklwd {{.*#+}} xmm14 = xmm14[0],xmm0[0],xmm14[1],xmm0[1],xmm14[2],xmm0[2],xmm14[3],xmm0[3]908; SSE-NEXT:    packuswb %xmm14, %xmm14909; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,0,65535,65535,65535,65535,65535,65535]910; SSE-NEXT:    movdqa %xmm3, %xmm2911; SSE-NEXT:    pandn %xmm14, %xmm2912; SSE-NEXT:    movdqa %xmm9, %xmm0913; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm5[8],xmm0[9],xmm5[9],xmm0[10],xmm5[10],xmm0[11],xmm5[11],xmm0[12],xmm5[12],xmm0[13],xmm5[13],xmm0[14],xmm5[14],xmm0[15],xmm5[15]914; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill915; SSE-NEXT:    movdqa %xmm9, %xmm15916; SSE-NEXT:    punpcklbw {{.*#+}} xmm15 = xmm15[0],xmm5[0],xmm15[1],xmm5[1],xmm15[2],xmm5[2],xmm15[3],xmm5[3],xmm15[4],xmm5[4],xmm15[5],xmm5[5],xmm15[6],xmm5[6],xmm15[7],xmm5[7]917; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill918; SSE-NEXT:    punpcklwd {{.*#+}} xmm15 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]919; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm15[1,1,1,1]920; SSE-NEXT:    packuswb %xmm0, %xmm0921; SSE-NEXT:    pand %xmm3, %xmm0922; SSE-NEXT:    por %xmm2, %xmm0923; SSE-NEXT:    movdqa %xmm7, %xmm1924; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]925; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill926; SSE-NEXT:    movdqa %xmm7, %xmm8927; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm5[0],xmm8[1],xmm5[1],xmm8[2],xmm5[2],xmm8[3],xmm5[3],xmm8[4],xmm5[4],xmm8[5],xmm5[5],xmm8[6],xmm5[6],xmm8[7],xmm5[7]928; SSE-NEXT:    movdqa %xmm8, %xmm6929; SSE-NEXT:    punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm1[0],xmm6[1],xmm1[1],xmm6[2],xmm1[2],xmm6[3],xmm1[3]930; SSE-NEXT:    packuswb %xmm6, %xmm6931; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm6[0,0,2,3]932; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,65535,65535,0,65535,65535,65535,65535]933; SSE-NEXT:    movdqa %xmm2, %xmm4934; SSE-NEXT:    pandn %xmm10, %xmm4935; SSE-NEXT:    movdqa %xmm13, %xmm1936; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]937; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill938; SSE-NEXT:    movdqa %xmm13, %xmm10939; SSE-NEXT:    punpcklbw {{.*#+}} xmm10 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3],xmm10[4],xmm5[4],xmm10[5],xmm5[5],xmm10[6],xmm5[6],xmm10[7],xmm5[7]940; SSE-NEXT:    movdqa %xmm10, %xmm5941; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]942; SSE-NEXT:    pshufd {{.*#+}} xmm12 = xmm5[0,1,1,3]943; SSE-NEXT:    packuswb %xmm12, %xmm12944; SSE-NEXT:    pand %xmm2, %xmm12945; SSE-NEXT:    por %xmm4, %xmm12946; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm12[1,1,1,1]947; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1]948; SSE-NEXT:    movq %xmm0, (%rdx)949; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [255,255,255,255,255,255,255,255]950; SSE-NEXT:    pand %xmm0, %xmm11951; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm11[0,2,2,3]952; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,1,1,3,4,5,6,7]953; SSE-NEXT:    packuswb %xmm4, %xmm4954; SSE-NEXT:    movdqa %xmm3, %xmm12955; SSE-NEXT:    pandn %xmm4, %xmm12956; SSE-NEXT:    pand %xmm0, %xmm9957; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm9[0,2,2,3]958; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[1,3,2,3,4,5,6,7]959; SSE-NEXT:    packuswb %xmm4, %xmm4960; SSE-NEXT:    pand %xmm3, %xmm4961; SSE-NEXT:    por %xmm12, %xmm4962; SSE-NEXT:    pand %xmm0, %xmm7963; SSE-NEXT:    pshufd {{.*#+}} xmm12 = xmm7[0,1,2,0]964; SSE-NEXT:    pshufhw {{.*#+}} xmm12 = xmm12[0,1,2,3,4,5,7,5]965; SSE-NEXT:    packuswb %xmm12, %xmm12966; SSE-NEXT:    movdqa %xmm2, %xmm1967; SSE-NEXT:    pandn %xmm12, %xmm1968; SSE-NEXT:    pand %xmm0, %xmm13969; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm13[0,1,2,0]970; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,5,6,7]971; SSE-NEXT:    packuswb %xmm0, %xmm0972; SSE-NEXT:    pand %xmm2, %xmm0973; SSE-NEXT:    por %xmm1, %xmm0974; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]975; SSE-NEXT:    punpckldq {{.*#+}} xmm4 = xmm4[0],xmm0[0],xmm4[1],xmm0[1]976; SSE-NEXT:    movq %xmm4, (%rcx)977; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm14[1,1,2,3]978; SSE-NEXT:    movdqa %xmm3, %xmm1979; SSE-NEXT:    pandn %xmm0, %xmm1980; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm15[3,3,3,3]981; SSE-NEXT:    packuswb %xmm0, %xmm0982; SSE-NEXT:    pand %xmm3, %xmm0983; SSE-NEXT:    por %xmm1, %xmm0984; SSE-NEXT:    movdqa %xmm2, %xmm1985; SSE-NEXT:    pandn %xmm6, %xmm1986; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm5[2,2,3,3]987; SSE-NEXT:    packuswb %xmm4, %xmm4988; SSE-NEXT:    pand %xmm2, %xmm4989; SSE-NEXT:    por %xmm1, %xmm4990; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[1,1,1,1]991; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]992; SSE-NEXT:    movq %xmm0, (%r8)993; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm11[3,1,2,3]994; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm1[0,1,2,0,4,5,6,7]995; SSE-NEXT:    packuswb %xmm0, %xmm0996; SSE-NEXT:    movdqa %xmm3, %xmm4997; SSE-NEXT:    pandn %xmm0, %xmm4998; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm9[3,1,2,3]999; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm9[2,0,2,3,4,5,6,7]1000; SSE-NEXT:    packuswb %xmm6, %xmm61001; SSE-NEXT:    pand %xmm3, %xmm61002; SSE-NEXT:    por %xmm4, %xmm61003; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm7[0,1,1,3]1004; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm5[0,1,2,3,4,5,4,6]1005; SSE-NEXT:    packuswb %xmm0, %xmm01006; SSE-NEXT:    movdqa %xmm2, %xmm41007; SSE-NEXT:    pandn %xmm0, %xmm41008; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm13[0,1,1,3]1009; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm0[0,1,2,3,4,6,6,7]1010; SSE-NEXT:    packuswb %xmm7, %xmm71011; SSE-NEXT:    pand %xmm2, %xmm71012; SSE-NEXT:    por %xmm4, %xmm71013; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm7[1,1,1,1]1014; SSE-NEXT:    punpckldq {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1]1015; SSE-NEXT:    movq %xmm6, (%r9)1016; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload1017; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Folded Reload1018; SSE-NEXT:    # xmm11 = xmm11[4],mem[4],xmm11[5],mem[5],xmm11[6],mem[6],xmm11[7],mem[7]1019; SSE-NEXT:    packuswb %xmm11, %xmm111020; SSE-NEXT:    movdqa %xmm3, %xmm41021; SSE-NEXT:    pandn %xmm11, %xmm41022; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload1023; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload1024; SSE-NEXT:    # xmm12 = xmm12[4],mem[4],xmm12[5],mem[5],xmm12[6],mem[6],xmm12[7],mem[7]1025; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm12[1,1,1,1]1026; SSE-NEXT:    packuswb %xmm6, %xmm61027; SSE-NEXT:    pand %xmm3, %xmm61028; SSE-NEXT:    por %xmm4, %xmm61029; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload1030; SSE-NEXT:    # xmm8 = xmm8[4],mem[4],xmm8[5],mem[5],xmm8[6],mem[6],xmm8[7],mem[7]1031; SSE-NEXT:    packuswb %xmm8, %xmm81032; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm8[0,0,2,3]1033; SSE-NEXT:    movdqa %xmm2, %xmm71034; SSE-NEXT:    pandn %xmm4, %xmm71035; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Folded Reload1036; SSE-NEXT:    # xmm10 = xmm10[4],mem[4],xmm10[5],mem[5],xmm10[6],mem[6],xmm10[7],mem[7]1037; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm10[0,1,1,3]1038; SSE-NEXT:    packuswb %xmm4, %xmm41039; SSE-NEXT:    pand %xmm2, %xmm41040; SSE-NEXT:    por %xmm7, %xmm41041; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[1,1,1,1]1042; SSE-NEXT:    punpckldq {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1]1043; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax1044; SSE-NEXT:    movq %xmm6, (%rax)1045; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,1,3,1,4,5,6,7]1046; SSE-NEXT:    packuswb %xmm1, %xmm11047; SSE-NEXT:    movdqa %xmm3, %xmm41048; SSE-NEXT:    pandn %xmm1, %xmm41049; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm9[3,1,2,3,4,5,6,7]1050; SSE-NEXT:    packuswb %xmm1, %xmm11051; SSE-NEXT:    pand %xmm3, %xmm11052; SSE-NEXT:    por %xmm4, %xmm11053; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm5[0,1,2,3,4,5,5,7]1054; SSE-NEXT:    packuswb %xmm4, %xmm41055; SSE-NEXT:    movdqa %xmm2, %xmm51056; SSE-NEXT:    pandn %xmm4, %xmm51057; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,5,7,6,7]1058; SSE-NEXT:    packuswb %xmm0, %xmm01059; SSE-NEXT:    pand %xmm2, %xmm01060; SSE-NEXT:    por %xmm5, %xmm01061; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]1062; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]1063; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax1064; SSE-NEXT:    movq %xmm1, (%rax)1065; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm11[1,1,2,3]1066; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm12[3,3,3,3]1067; SSE-NEXT:    packuswb %xmm1, %xmm11068; SSE-NEXT:    pand %xmm3, %xmm11069; SSE-NEXT:    pandn %xmm0, %xmm31070; SSE-NEXT:    por %xmm1, %xmm31071; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm10[2,2,3,3]1072; SSE-NEXT:    packuswb %xmm0, %xmm01073; SSE-NEXT:    pand %xmm2, %xmm01074; SSE-NEXT:    pandn %xmm8, %xmm21075; SSE-NEXT:    por %xmm0, %xmm21076; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]1077; SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1]1078; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax1079; SSE-NEXT:    movq %xmm3, (%rax)1080; SSE-NEXT:    retq1081;1082; AVX-LABEL: load_i8_stride8_vf8:1083; AVX:       # %bb.0:1084; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax1085; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r101086; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r111087; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0]1088; AVX-NEXT:    vmovdqa (%rdi), %xmm01089; AVX-NEXT:    vmovdqa 16(%rdi), %xmm11090; AVX-NEXT:    vmovdqa 32(%rdi), %xmm21091; AVX-NEXT:    vmovdqa 48(%rdi), %xmm31092; AVX-NEXT:    vpshufb %xmm4, %xmm3, %xmm51093; AVX-NEXT:    vpshufb %xmm4, %xmm2, %xmm41094; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1095; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0]1096; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm61097; AVX-NEXT:    vpshufb %xmm5, %xmm0, %xmm51098; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1099; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3],xmm5[4,5,6,7]1100; AVX-NEXT:    vmovq %xmm4, (%rsi)1101; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [0,0,1,9,0,0,0,0,0,0,0,0,0,0,0,0]1102; AVX-NEXT:    vpshufb %xmm4, %xmm3, %xmm51103; AVX-NEXT:    vpshufb %xmm4, %xmm2, %xmm41104; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1105; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]1106; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm61107; AVX-NEXT:    vpshufb %xmm5, %xmm0, %xmm51108; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1109; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3],xmm5[4,5,6,7]1110; AVX-NEXT:    vmovq %xmm4, (%rdx)1111; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [0,0,2,10,0,0,0,0,0,0,0,0,0,0,0,0]1112; AVX-NEXT:    vpshufb %xmm4, %xmm3, %xmm51113; AVX-NEXT:    vpshufb %xmm4, %xmm2, %xmm41114; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1115; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [2,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]1116; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm61117; AVX-NEXT:    vpshufb %xmm5, %xmm0, %xmm51118; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1119; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3],xmm5[4,5,6,7]1120; AVX-NEXT:    vmovq %xmm4, (%rcx)1121; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [0,0,3,11,0,0,0,0,0,0,0,0,0,0,0,0]1122; AVX-NEXT:    vpshufb %xmm4, %xmm3, %xmm51123; AVX-NEXT:    vpshufb %xmm4, %xmm2, %xmm41124; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1125; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [3,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]1126; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm61127; AVX-NEXT:    vpshufb %xmm5, %xmm0, %xmm51128; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1129; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3],xmm5[4,5,6,7]1130; AVX-NEXT:    vmovq %xmm4, (%r8)1131; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [0,0,4,12,0,0,0,0,0,0,0,0,0,0,0,0]1132; AVX-NEXT:    vpshufb %xmm4, %xmm3, %xmm51133; AVX-NEXT:    vpshufb %xmm4, %xmm2, %xmm41134; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1135; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [4,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0]1136; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm61137; AVX-NEXT:    vpshufb %xmm5, %xmm0, %xmm51138; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1139; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3],xmm5[4,5,6,7]1140; AVX-NEXT:    vmovq %xmm4, (%r9)1141; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [0,0,5,13,0,0,0,0,0,0,0,0,0,0,0,0]1142; AVX-NEXT:    vpshufb %xmm4, %xmm3, %xmm51143; AVX-NEXT:    vpshufb %xmm4, %xmm2, %xmm41144; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1145; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [5,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0]1146; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm61147; AVX-NEXT:    vpshufb %xmm5, %xmm0, %xmm51148; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1149; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3],xmm5[4,5,6,7]1150; AVX-NEXT:    vmovq %xmm4, (%r11)1151; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [0,0,6,14,0,0,0,0,0,0,0,0,0,0,0,0]1152; AVX-NEXT:    vpshufb %xmm4, %xmm3, %xmm51153; AVX-NEXT:    vpshufb %xmm4, %xmm2, %xmm41154; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1155; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [6,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0]1156; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm61157; AVX-NEXT:    vpshufb %xmm5, %xmm0, %xmm51158; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1159; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3],xmm5[4,5,6,7]1160; AVX-NEXT:    vmovq %xmm4, (%r10)1161; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [0,0,7,15,0,0,0,0,0,0,0,0,0,0,0,0]1162; AVX-NEXT:    vpshufb %xmm4, %xmm3, %xmm31163; AVX-NEXT:    vpshufb %xmm4, %xmm2, %xmm21164; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]1165; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0]1166; AVX-NEXT:    vpshufb %xmm3, %xmm1, %xmm11167; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm01168; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1169; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5,6,7]1170; AVX-NEXT:    vmovq %xmm0, (%rax)1171; AVX-NEXT:    retq1172;1173; AVX2-LABEL: load_i8_stride8_vf8:1174; AVX2:       # %bb.0:1175; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax1176; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r101177; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r111178; AVX2-NEXT:    vmovdqa (%rdi), %xmm01179; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm11180; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm21181; AVX2-NEXT:    vmovdqa 48(%rdi), %xmm31182; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]1183; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm51184; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm41185; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1186; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]1187; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm61188; AVX2-NEXT:    vpshufb %xmm5, %xmm0, %xmm51189; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1190; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1191; AVX2-NEXT:    vmovq %xmm4, (%rsi)1192; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]1193; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm51194; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm41195; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1196; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]1197; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm61198; AVX2-NEXT:    vpshufb %xmm5, %xmm0, %xmm51199; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1200; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1201; AVX2-NEXT:    vmovq %xmm4, (%rdx)1202; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]1203; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm51204; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm41205; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1206; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]1207; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm61208; AVX2-NEXT:    vpshufb %xmm5, %xmm0, %xmm51209; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1210; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1211; AVX2-NEXT:    vmovq %xmm4, (%rcx)1212; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]1213; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm51214; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm41215; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1216; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]1217; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm61218; AVX2-NEXT:    vpshufb %xmm5, %xmm0, %xmm51219; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1220; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1221; AVX2-NEXT:    vmovq %xmm4, (%r8)1222; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]1223; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm51224; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm41225; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1226; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]1227; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm61228; AVX2-NEXT:    vpshufb %xmm5, %xmm0, %xmm51229; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1230; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1231; AVX2-NEXT:    vmovq %xmm4, (%r9)1232; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]1233; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm51234; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm41235; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1236; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]1237; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm61238; AVX2-NEXT:    vpshufb %xmm5, %xmm0, %xmm51239; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1240; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1241; AVX2-NEXT:    vmovq %xmm4, (%r11)1242; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]1243; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm51244; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm41245; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1246; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]1247; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm61248; AVX2-NEXT:    vpshufb %xmm5, %xmm0, %xmm51249; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1250; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1251; AVX2-NEXT:    vmovq %xmm4, (%r10)1252; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]1253; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm31254; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm21255; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]1256; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]1257; AVX2-NEXT:    vpshufb %xmm3, %xmm1, %xmm11258; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm01259; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1260; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2,3]1261; AVX2-NEXT:    vmovq %xmm0, (%rax)1262; AVX2-NEXT:    retq1263;1264; AVX2-FP-LABEL: load_i8_stride8_vf8:1265; AVX2-FP:       # %bb.0:1266; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1267; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r101268; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r111269; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm01270; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm11271; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm21272; AVX2-FP-NEXT:    vmovdqa 48(%rdi), %xmm31273; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]1274; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm3, %xmm51275; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm41276; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1277; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]1278; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm61279; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm0, %xmm51280; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1281; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1282; AVX2-FP-NEXT:    vmovq %xmm4, (%rsi)1283; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]1284; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm3, %xmm51285; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm41286; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1287; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]1288; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm61289; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm0, %xmm51290; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1291; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1292; AVX2-FP-NEXT:    vmovq %xmm4, (%rdx)1293; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]1294; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm3, %xmm51295; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm41296; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1297; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]1298; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm61299; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm0, %xmm51300; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1301; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1302; AVX2-FP-NEXT:    vmovq %xmm4, (%rcx)1303; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]1304; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm3, %xmm51305; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm41306; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1307; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]1308; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm61309; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm0, %xmm51310; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1311; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1312; AVX2-FP-NEXT:    vmovq %xmm4, (%r8)1313; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]1314; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm3, %xmm51315; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm41316; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1317; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]1318; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm61319; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm0, %xmm51320; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1321; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1322; AVX2-FP-NEXT:    vmovq %xmm4, (%r9)1323; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]1324; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm3, %xmm51325; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm41326; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1327; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]1328; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm61329; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm0, %xmm51330; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1331; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1332; AVX2-FP-NEXT:    vmovq %xmm4, (%r11)1333; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]1334; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm3, %xmm51335; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm41336; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]1337; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]1338; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm61339; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm0, %xmm51340; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]1341; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]1342; AVX2-FP-NEXT:    vmovq %xmm4, (%r10)1343; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]1344; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm3, %xmm31345; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm21346; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]1347; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]1348; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm1, %xmm11349; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm01350; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1351; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2,3]1352; AVX2-FP-NEXT:    vmovq %xmm0, (%rax)1353; AVX2-FP-NEXT:    retq1354;1355; AVX2-FCP-LABEL: load_i8_stride8_vf8:1356; AVX2-FCP:       # %bb.0:1357; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1358; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101359; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r111360; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm01361; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm11362; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm2 = [0,2,4,6,4,6,6,7]1363; AVX2-FCP-NEXT:    vpermd %ymm1, %ymm2, %ymm31364; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm4 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]1365; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm3, %xmm51366; AVX2-FCP-NEXT:    vpermd %ymm0, %ymm2, %ymm21367; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm6 = [0,4,8,12,0,0,0,0,0,0,0,0,0,0,0,0]1368; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm2, %xmm71369; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm7[0],xmm5[1],xmm7[2,3]1370; AVX2-FCP-NEXT:    vmovq %xmm5, (%rsi)1371; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]1372; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm3, %xmm71373; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm8 = [1,5,9,13,0,0,0,0,0,0,0,0,0,0,0,0]1374; AVX2-FCP-NEXT:    vpshufb %xmm8, %xmm2, %xmm91375; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm9[0],xmm7[1],xmm9[2,3]1376; AVX2-FCP-NEXT:    vmovq %xmm7, (%rdx)1377; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]1378; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm3, %xmm91379; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm10 = [2,6,10,14,0,0,0,0,0,0,0,0,0,0,0,0]1380; AVX2-FCP-NEXT:    vpshufb %xmm10, %xmm2, %xmm111381; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm11[0],xmm9[1],xmm11[2,3]1382; AVX2-FCP-NEXT:    vmovq %xmm9, (%rcx)1383; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]1384; AVX2-FCP-NEXT:    vpshufb %xmm9, %xmm3, %xmm31385; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm11 = [3,7,11,15,0,0,0,0,0,0,0,0,0,0,0,0]1386; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm2, %xmm21387; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm3[1],xmm2[2,3]1388; AVX2-FCP-NEXT:    vmovq %xmm2, (%r8)1389; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm2 = [1,3,5,7,5,7,6,7]1390; AVX2-FCP-NEXT:    vpermd %ymm1, %ymm2, %ymm11391; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm1, %xmm31392; AVX2-FCP-NEXT:    vpermd %ymm0, %ymm2, %ymm01393; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm0, %xmm21394; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm3[1],xmm2[2,3]1395; AVX2-FCP-NEXT:    vmovq %xmm2, (%r9)1396; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm1, %xmm21397; AVX2-FCP-NEXT:    vpshufb %xmm8, %xmm0, %xmm31398; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0],xmm2[1],xmm3[2,3]1399; AVX2-FCP-NEXT:    vmovq %xmm2, (%r11)1400; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm1, %xmm21401; AVX2-FCP-NEXT:    vpshufb %xmm10, %xmm0, %xmm31402; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0],xmm2[1],xmm3[2,3]1403; AVX2-FCP-NEXT:    vmovq %xmm2, (%r10)1404; AVX2-FCP-NEXT:    vpshufb %xmm9, %xmm1, %xmm11405; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm0, %xmm01406; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2,3]1407; AVX2-FCP-NEXT:    vmovq %xmm0, (%rax)1408; AVX2-FCP-NEXT:    vzeroupper1409; AVX2-FCP-NEXT:    retq1410;1411; AVX512-LABEL: load_i8_stride8_vf8:1412; AVX512:       # %bb.0:1413; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax1414; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r101415; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r111416; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm01417; AVX512-NEXT:    vpmovqb %zmm0, (%rsi)1418; AVX512-NEXT:    vpsrlq $8, %zmm0, %zmm11419; AVX512-NEXT:    vpmovqb %zmm1, (%rdx)1420; AVX512-NEXT:    vpsrlq $16, %zmm0, %zmm11421; AVX512-NEXT:    vpmovqb %zmm1, (%rcx)1422; AVX512-NEXT:    vpsrlq $24, %zmm0, %zmm11423; AVX512-NEXT:    vpmovqb %zmm1, (%r8)1424; AVX512-NEXT:    vpsrlq $32, %zmm0, %zmm11425; AVX512-NEXT:    vpmovqb %zmm1, (%r9)1426; AVX512-NEXT:    vpsrlq $40, %zmm0, %zmm11427; AVX512-NEXT:    vpmovqb %zmm1, (%r11)1428; AVX512-NEXT:    vpsrlq $48, %zmm0, %zmm11429; AVX512-NEXT:    vpmovqb %zmm1, (%r10)1430; AVX512-NEXT:    vpsrlq $56, %zmm0, %zmm01431; AVX512-NEXT:    vpmovqb %zmm0, (%rax)1432; AVX512-NEXT:    vzeroupper1433; AVX512-NEXT:    retq1434;1435; AVX512-FCP-LABEL: load_i8_stride8_vf8:1436; AVX512-FCP:       # %bb.0:1437; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1438; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101439; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r111440; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01441; AVX512-FCP-NEXT:    vpmovqb %zmm0, (%rsi)1442; AVX512-FCP-NEXT:    vpsrlq $8, %zmm0, %zmm11443; AVX512-FCP-NEXT:    vpmovqb %zmm1, (%rdx)1444; AVX512-FCP-NEXT:    vpsrlq $16, %zmm0, %zmm11445; AVX512-FCP-NEXT:    vpmovqb %zmm1, (%rcx)1446; AVX512-FCP-NEXT:    vpsrlq $24, %zmm0, %zmm11447; AVX512-FCP-NEXT:    vpmovqb %zmm1, (%r8)1448; AVX512-FCP-NEXT:    vpsrlq $32, %zmm0, %zmm11449; AVX512-FCP-NEXT:    vpmovqb %zmm1, (%r9)1450; AVX512-FCP-NEXT:    vpsrlq $40, %zmm0, %zmm11451; AVX512-FCP-NEXT:    vpmovqb %zmm1, (%r11)1452; AVX512-FCP-NEXT:    vpsrlq $48, %zmm0, %zmm11453; AVX512-FCP-NEXT:    vpmovqb %zmm1, (%r10)1454; AVX512-FCP-NEXT:    vpsrlq $56, %zmm0, %zmm01455; AVX512-FCP-NEXT:    vpmovqb %zmm0, (%rax)1456; AVX512-FCP-NEXT:    vzeroupper1457; AVX512-FCP-NEXT:    retq1458;1459; AVX512DQ-LABEL: load_i8_stride8_vf8:1460; AVX512DQ:       # %bb.0:1461; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax1462; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r101463; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r111464; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm01465; AVX512DQ-NEXT:    vpmovqb %zmm0, (%rsi)1466; AVX512DQ-NEXT:    vpsrlq $8, %zmm0, %zmm11467; AVX512DQ-NEXT:    vpmovqb %zmm1, (%rdx)1468; AVX512DQ-NEXT:    vpsrlq $16, %zmm0, %zmm11469; AVX512DQ-NEXT:    vpmovqb %zmm1, (%rcx)1470; AVX512DQ-NEXT:    vpsrlq $24, %zmm0, %zmm11471; AVX512DQ-NEXT:    vpmovqb %zmm1, (%r8)1472; AVX512DQ-NEXT:    vpsrlq $32, %zmm0, %zmm11473; AVX512DQ-NEXT:    vpmovqb %zmm1, (%r9)1474; AVX512DQ-NEXT:    vpsrlq $40, %zmm0, %zmm11475; AVX512DQ-NEXT:    vpmovqb %zmm1, (%r11)1476; AVX512DQ-NEXT:    vpsrlq $48, %zmm0, %zmm11477; AVX512DQ-NEXT:    vpmovqb %zmm1, (%r10)1478; AVX512DQ-NEXT:    vpsrlq $56, %zmm0, %zmm01479; AVX512DQ-NEXT:    vpmovqb %zmm0, (%rax)1480; AVX512DQ-NEXT:    vzeroupper1481; AVX512DQ-NEXT:    retq1482;1483; AVX512DQ-FCP-LABEL: load_i8_stride8_vf8:1484; AVX512DQ-FCP:       # %bb.0:1485; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1486; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101487; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r111488; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01489; AVX512DQ-FCP-NEXT:    vpmovqb %zmm0, (%rsi)1490; AVX512DQ-FCP-NEXT:    vpsrlq $8, %zmm0, %zmm11491; AVX512DQ-FCP-NEXT:    vpmovqb %zmm1, (%rdx)1492; AVX512DQ-FCP-NEXT:    vpsrlq $16, %zmm0, %zmm11493; AVX512DQ-FCP-NEXT:    vpmovqb %zmm1, (%rcx)1494; AVX512DQ-FCP-NEXT:    vpsrlq $24, %zmm0, %zmm11495; AVX512DQ-FCP-NEXT:    vpmovqb %zmm1, (%r8)1496; AVX512DQ-FCP-NEXT:    vpsrlq $32, %zmm0, %zmm11497; AVX512DQ-FCP-NEXT:    vpmovqb %zmm1, (%r9)1498; AVX512DQ-FCP-NEXT:    vpsrlq $40, %zmm0, %zmm11499; AVX512DQ-FCP-NEXT:    vpmovqb %zmm1, (%r11)1500; AVX512DQ-FCP-NEXT:    vpsrlq $48, %zmm0, %zmm11501; AVX512DQ-FCP-NEXT:    vpmovqb %zmm1, (%r10)1502; AVX512DQ-FCP-NEXT:    vpsrlq $56, %zmm0, %zmm01503; AVX512DQ-FCP-NEXT:    vpmovqb %zmm0, (%rax)1504; AVX512DQ-FCP-NEXT:    vzeroupper1505; AVX512DQ-FCP-NEXT:    retq1506;1507; AVX512BW-LABEL: load_i8_stride8_vf8:1508; AVX512BW:       # %bb.0:1509; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax1510; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r101511; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r111512; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm01513; AVX512BW-NEXT:    vpmovqb %zmm0, (%rsi)1514; AVX512BW-NEXT:    vpsrlq $8, %zmm0, %zmm11515; AVX512BW-NEXT:    vpmovqb %zmm1, (%rdx)1516; AVX512BW-NEXT:    vpsrlq $16, %zmm0, %zmm11517; AVX512BW-NEXT:    vpmovqb %zmm1, (%rcx)1518; AVX512BW-NEXT:    vpsrlq $24, %zmm0, %zmm11519; AVX512BW-NEXT:    vpmovqb %zmm1, (%r8)1520; AVX512BW-NEXT:    vpsrlq $32, %zmm0, %zmm11521; AVX512BW-NEXT:    vpmovqb %zmm1, (%r9)1522; AVX512BW-NEXT:    vpsrlq $40, %zmm0, %zmm11523; AVX512BW-NEXT:    vpmovqb %zmm1, (%r11)1524; AVX512BW-NEXT:    vpsrlq $48, %zmm0, %zmm11525; AVX512BW-NEXT:    vpmovqb %zmm1, (%r10)1526; AVX512BW-NEXT:    vpsrlq $56, %zmm0, %zmm01527; AVX512BW-NEXT:    vpmovqb %zmm0, (%rax)1528; AVX512BW-NEXT:    vzeroupper1529; AVX512BW-NEXT:    retq1530;1531; AVX512BW-FCP-LABEL: load_i8_stride8_vf8:1532; AVX512BW-FCP:       # %bb.0:1533; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1534; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101535; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r111536; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01537; AVX512BW-FCP-NEXT:    vpmovqb %zmm0, (%rsi)1538; AVX512BW-FCP-NEXT:    vpsrlq $8, %zmm0, %zmm11539; AVX512BW-FCP-NEXT:    vpmovqb %zmm1, (%rdx)1540; AVX512BW-FCP-NEXT:    vpsrlq $16, %zmm0, %zmm11541; AVX512BW-FCP-NEXT:    vpmovqb %zmm1, (%rcx)1542; AVX512BW-FCP-NEXT:    vpsrlq $24, %zmm0, %zmm11543; AVX512BW-FCP-NEXT:    vpmovqb %zmm1, (%r8)1544; AVX512BW-FCP-NEXT:    vpsrlq $32, %zmm0, %zmm11545; AVX512BW-FCP-NEXT:    vpmovqb %zmm1, (%r9)1546; AVX512BW-FCP-NEXT:    vpsrlq $40, %zmm0, %zmm11547; AVX512BW-FCP-NEXT:    vpmovqb %zmm1, (%r11)1548; AVX512BW-FCP-NEXT:    vpsrlq $48, %zmm0, %zmm11549; AVX512BW-FCP-NEXT:    vpmovqb %zmm1, (%r10)1550; AVX512BW-FCP-NEXT:    vpsrlq $56, %zmm0, %zmm01551; AVX512BW-FCP-NEXT:    vpmovqb %zmm0, (%rax)1552; AVX512BW-FCP-NEXT:    vzeroupper1553; AVX512BW-FCP-NEXT:    retq1554;1555; AVX512DQ-BW-LABEL: load_i8_stride8_vf8:1556; AVX512DQ-BW:       # %bb.0:1557; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax1558; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r101559; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r111560; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm01561; AVX512DQ-BW-NEXT:    vpmovqb %zmm0, (%rsi)1562; AVX512DQ-BW-NEXT:    vpsrlq $8, %zmm0, %zmm11563; AVX512DQ-BW-NEXT:    vpmovqb %zmm1, (%rdx)1564; AVX512DQ-BW-NEXT:    vpsrlq $16, %zmm0, %zmm11565; AVX512DQ-BW-NEXT:    vpmovqb %zmm1, (%rcx)1566; AVX512DQ-BW-NEXT:    vpsrlq $24, %zmm0, %zmm11567; AVX512DQ-BW-NEXT:    vpmovqb %zmm1, (%r8)1568; AVX512DQ-BW-NEXT:    vpsrlq $32, %zmm0, %zmm11569; AVX512DQ-BW-NEXT:    vpmovqb %zmm1, (%r9)1570; AVX512DQ-BW-NEXT:    vpsrlq $40, %zmm0, %zmm11571; AVX512DQ-BW-NEXT:    vpmovqb %zmm1, (%r11)1572; AVX512DQ-BW-NEXT:    vpsrlq $48, %zmm0, %zmm11573; AVX512DQ-BW-NEXT:    vpmovqb %zmm1, (%r10)1574; AVX512DQ-BW-NEXT:    vpsrlq $56, %zmm0, %zmm01575; AVX512DQ-BW-NEXT:    vpmovqb %zmm0, (%rax)1576; AVX512DQ-BW-NEXT:    vzeroupper1577; AVX512DQ-BW-NEXT:    retq1578;1579; AVX512DQ-BW-FCP-LABEL: load_i8_stride8_vf8:1580; AVX512DQ-BW-FCP:       # %bb.0:1581; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1582; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101583; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r111584; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm01585; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm0, (%rsi)1586; AVX512DQ-BW-FCP-NEXT:    vpsrlq $8, %zmm0, %zmm11587; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm1, (%rdx)1588; AVX512DQ-BW-FCP-NEXT:    vpsrlq $16, %zmm0, %zmm11589; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm1, (%rcx)1590; AVX512DQ-BW-FCP-NEXT:    vpsrlq $24, %zmm0, %zmm11591; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm1, (%r8)1592; AVX512DQ-BW-FCP-NEXT:    vpsrlq $32, %zmm0, %zmm11593; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm1, (%r9)1594; AVX512DQ-BW-FCP-NEXT:    vpsrlq $40, %zmm0, %zmm11595; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm1, (%r11)1596; AVX512DQ-BW-FCP-NEXT:    vpsrlq $48, %zmm0, %zmm11597; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm1, (%r10)1598; AVX512DQ-BW-FCP-NEXT:    vpsrlq $56, %zmm0, %zmm01599; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm0, (%rax)1600; AVX512DQ-BW-FCP-NEXT:    vzeroupper1601; AVX512DQ-BW-FCP-NEXT:    retq1602  %wide.vec = load <64 x i8>, ptr %in.vec, align 641603  %strided.vec0 = shufflevector <64 x i8> %wide.vec, <64 x i8> poison, <8 x i32> <i32 0, i32 8, i32 16, i32 24, i32 32, i32 40, i32 48, i32 56>1604  %strided.vec1 = shufflevector <64 x i8> %wide.vec, <64 x i8> poison, <8 x i32> <i32 1, i32 9, i32 17, i32 25, i32 33, i32 41, i32 49, i32 57>1605  %strided.vec2 = shufflevector <64 x i8> %wide.vec, <64 x i8> poison, <8 x i32> <i32 2, i32 10, i32 18, i32 26, i32 34, i32 42, i32 50, i32 58>1606  %strided.vec3 = shufflevector <64 x i8> %wide.vec, <64 x i8> poison, <8 x i32> <i32 3, i32 11, i32 19, i32 27, i32 35, i32 43, i32 51, i32 59>1607  %strided.vec4 = shufflevector <64 x i8> %wide.vec, <64 x i8> poison, <8 x i32> <i32 4, i32 12, i32 20, i32 28, i32 36, i32 44, i32 52, i32 60>1608  %strided.vec5 = shufflevector <64 x i8> %wide.vec, <64 x i8> poison, <8 x i32> <i32 5, i32 13, i32 21, i32 29, i32 37, i32 45, i32 53, i32 61>1609  %strided.vec6 = shufflevector <64 x i8> %wide.vec, <64 x i8> poison, <8 x i32> <i32 6, i32 14, i32 22, i32 30, i32 38, i32 46, i32 54, i32 62>1610  %strided.vec7 = shufflevector <64 x i8> %wide.vec, <64 x i8> poison, <8 x i32> <i32 7, i32 15, i32 23, i32 31, i32 39, i32 47, i32 55, i32 63>1611  store <8 x i8> %strided.vec0, ptr %out.vec0, align 641612  store <8 x i8> %strided.vec1, ptr %out.vec1, align 641613  store <8 x i8> %strided.vec2, ptr %out.vec2, align 641614  store <8 x i8> %strided.vec3, ptr %out.vec3, align 641615  store <8 x i8> %strided.vec4, ptr %out.vec4, align 641616  store <8 x i8> %strided.vec5, ptr %out.vec5, align 641617  store <8 x i8> %strided.vec6, ptr %out.vec6, align 641618  store <8 x i8> %strided.vec7, ptr %out.vec7, align 641619  ret void1620}1621 1622define void @load_i8_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 {1623; SSE-LABEL: load_i8_stride8_vf16:1624; SSE:       # %bb.0:1625; SSE-NEXT:    subq $328, %rsp # imm = 0x1481626; SSE-NEXT:    movdqa (%rdi), %xmm61627; SSE-NEXT:    movdqa 16(%rdi), %xmm141628; SSE-NEXT:    movdqa 32(%rdi), %xmm131629; SSE-NEXT:    movdqa 48(%rdi), %xmm81630; SSE-NEXT:    movdqa 64(%rdi), %xmm151631; SSE-NEXT:    movdqa 80(%rdi), %xmm41632; SSE-NEXT:    movdqa 96(%rdi), %xmm121633; SSE-NEXT:    movdqa 112(%rdi), %xmm91634; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [255,0,0,0,255,0,0,0]1635; SSE-NEXT:    movdqa %xmm9, %xmm01636; SSE-NEXT:    pand %xmm3, %xmm01637; SSE-NEXT:    movdqa %xmm12, %xmm11638; SSE-NEXT:    pand %xmm3, %xmm11639; SSE-NEXT:    packuswb %xmm0, %xmm11640; SSE-NEXT:    packuswb %xmm1, %xmm01641; SSE-NEXT:    movdqa %xmm4, %xmm11642; SSE-NEXT:    pand %xmm3, %xmm11643; SSE-NEXT:    movdqa %xmm15, %xmm21644; SSE-NEXT:    pand %xmm3, %xmm21645; SSE-NEXT:    packuswb %xmm1, %xmm21646; SSE-NEXT:    packuswb %xmm2, %xmm21647; SSE-NEXT:    packuswb %xmm0, %xmm21648; SSE-NEXT:    movdqa %xmm8, %xmm01649; SSE-NEXT:    pand %xmm3, %xmm01650; SSE-NEXT:    movdqa %xmm13, %xmm11651; SSE-NEXT:    pand %xmm3, %xmm11652; SSE-NEXT:    packuswb %xmm0, %xmm11653; SSE-NEXT:    packuswb %xmm1, %xmm01654; SSE-NEXT:    movdqa %xmm14, %xmm11655; SSE-NEXT:    pand %xmm3, %xmm11656; SSE-NEXT:    pand %xmm6, %xmm31657; SSE-NEXT:    packuswb %xmm1, %xmm31658; SSE-NEXT:    packuswb %xmm3, %xmm31659; SSE-NEXT:    packuswb %xmm0, %xmm31660; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,3],xmm2[0,3]1661; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1662; SSE-NEXT:    pxor %xmm7, %xmm71663; SSE-NEXT:    movdqa %xmm14, %xmm01664; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm7[8],xmm0[9],xmm7[9],xmm0[10],xmm7[10],xmm0[11],xmm7[11],xmm0[12],xmm7[12],xmm0[13],xmm7[13],xmm0[14],xmm7[14],xmm0[15],xmm7[15]1665; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1666; SSE-NEXT:    movdqa %xmm14, %xmm111667; SSE-NEXT:    punpcklbw {{.*#+}} xmm11 = xmm11[0],xmm7[0],xmm11[1],xmm7[1],xmm11[2],xmm7[2],xmm11[3],xmm7[3],xmm11[4],xmm7[4],xmm11[5],xmm7[5],xmm11[6],xmm7[6],xmm11[7],xmm7[7]1668; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1669; SSE-NEXT:    punpcklwd {{.*#+}} xmm11 = xmm11[0],xmm0[0],xmm11[1],xmm0[1],xmm11[2],xmm0[2],xmm11[3],xmm0[3]1670; SSE-NEXT:    packuswb %xmm11, %xmm111671; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [65535,0,65535,65535,65535,65535,65535,65535]1672; SSE-NEXT:    movdqa %xmm10, %xmm11673; SSE-NEXT:    pandn %xmm11, %xmm11674; SSE-NEXT:    movdqa %xmm6, %xmm01675; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1676; SSE-NEXT:    movdqa %xmm6, %xmm21677; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm7[8],xmm2[9],xmm7[9],xmm2[10],xmm7[10],xmm2[11],xmm7[11],xmm2[12],xmm7[12],xmm2[13],xmm7[13],xmm2[14],xmm7[14],xmm2[15],xmm7[15]1678; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1679; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm7[0],xmm0[1],xmm7[1],xmm0[2],xmm7[2],xmm0[3],xmm7[3],xmm0[4],xmm7[4],xmm0[5],xmm7[5],xmm0[6],xmm7[6],xmm0[7],xmm7[7]1680; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1681; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]1682; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1683; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]1684; SSE-NEXT:    packuswb %xmm0, %xmm01685; SSE-NEXT:    pand %xmm10, %xmm01686; SSE-NEXT:    por %xmm1, %xmm01687; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1688; SSE-NEXT:    movdqa %xmm8, %xmm11689; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm7[8],xmm1[9],xmm7[9],xmm1[10],xmm7[10],xmm1[11],xmm7[11],xmm1[12],xmm7[12],xmm1[13],xmm7[13],xmm1[14],xmm7[14],xmm1[15],xmm7[15]1690; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1691; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm7[0],xmm8[1],xmm7[1],xmm8[2],xmm7[2],xmm8[3],xmm7[3],xmm8[4],xmm7[4],xmm8[5],xmm7[5],xmm8[6],xmm7[6],xmm8[7],xmm7[7]1692; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1693; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm1[0],xmm8[1],xmm1[1],xmm8[2],xmm1[2],xmm8[3],xmm1[3]1694; SSE-NEXT:    packuswb %xmm8, %xmm81695; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm8[0,0,2,3]1696; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [65535,65535,65535,0,65535,65535,65535,65535]1697; SSE-NEXT:    movdqa %xmm5, %xmm61698; SSE-NEXT:    pandn %xmm1, %xmm61699; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1700; SSE-NEXT:    movdqa %xmm13, %xmm11701; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm7[8],xmm1[9],xmm7[9],xmm1[10],xmm7[10],xmm1[11],xmm7[11],xmm1[12],xmm7[12],xmm1[13],xmm7[13],xmm1[14],xmm7[14],xmm1[15],xmm7[15]1702; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1703; SSE-NEXT:    punpcklbw {{.*#+}} xmm13 = xmm13[0],xmm7[0],xmm13[1],xmm7[1],xmm13[2],xmm7[2],xmm13[3],xmm7[3],xmm13[4],xmm7[4],xmm13[5],xmm7[5],xmm13[6],xmm7[6],xmm13[7],xmm7[7]1704; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1705; SSE-NEXT:    punpcklwd {{.*#+}} xmm13 = xmm13[0],xmm1[0],xmm13[1],xmm1[1],xmm13[2],xmm1[2],xmm13[3],xmm1[3]1706; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm13[0,1,1,3]1707; SSE-NEXT:    packuswb %xmm1, %xmm11708; SSE-NEXT:    pand %xmm5, %xmm11709; SSE-NEXT:    por %xmm6, %xmm11710; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]1711; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]1712; SSE-NEXT:    movdqa %xmm9, %xmm11713; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1714; SSE-NEXT:    movdqa %xmm9, %xmm21715; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm7[8],xmm2[9],xmm7[9],xmm2[10],xmm7[10],xmm2[11],xmm7[11],xmm2[12],xmm7[12],xmm2[13],xmm7[13],xmm2[14],xmm7[14],xmm2[15],xmm7[15]1716; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1717; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm7[0],xmm1[1],xmm7[1],xmm1[2],xmm7[2],xmm1[3],xmm7[3],xmm1[4],xmm7[4],xmm1[5],xmm7[5],xmm1[6],xmm7[6],xmm1[7],xmm7[7]1718; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1719; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]1720; SSE-NEXT:    packuswb %xmm1, %xmm11721; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1722; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]1723; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [65535,65535,65535,65535,65535,65535,65535,0]1724; SSE-NEXT:    movdqa %xmm6, %xmm91725; SSE-NEXT:    pandn %xmm1, %xmm91726; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1727; SSE-NEXT:    movdqa %xmm12, %xmm11728; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm7[8],xmm1[9],xmm7[9],xmm1[10],xmm7[10],xmm1[11],xmm7[11],xmm1[12],xmm7[12],xmm1[13],xmm7[13],xmm1[14],xmm7[14],xmm1[15],xmm7[15]1729; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1730; SSE-NEXT:    punpcklbw {{.*#+}} xmm12 = xmm12[0],xmm7[0],xmm12[1],xmm7[1],xmm12[2],xmm7[2],xmm12[3],xmm7[3],xmm12[4],xmm7[4],xmm12[5],xmm7[5],xmm12[6],xmm7[6],xmm12[7],xmm7[7]1731; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1732; SSE-NEXT:    punpcklwd {{.*#+}} xmm12 = xmm12[0],xmm1[0],xmm12[1],xmm1[1],xmm12[2],xmm1[2],xmm12[3],xmm1[3]1733; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm12[0,1,1,3]1734; SSE-NEXT:    packuswb %xmm1, %xmm11735; SSE-NEXT:    pand %xmm6, %xmm11736; SSE-NEXT:    por %xmm9, %xmm11737; SSE-NEXT:    movdqa %xmm4, %xmm31738; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1739; SSE-NEXT:    movdqa %xmm4, %xmm21740; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm7[8],xmm2[9],xmm7[9],xmm2[10],xmm7[10],xmm2[11],xmm7[11],xmm2[12],xmm7[12],xmm2[13],xmm7[13],xmm2[14],xmm7[14],xmm2[15],xmm7[15]1741; SSE-NEXT:    movdqa %xmm2, %xmm41742; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1743; SSE-NEXT:    movdqa %xmm3, %xmm21744; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm7[0],xmm2[1],xmm7[1],xmm2[2],xmm7[2],xmm2[3],xmm7[3],xmm2[4],xmm7[4],xmm2[5],xmm7[5],xmm2[6],xmm7[6],xmm2[7],xmm7[7]1745; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1746; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1747; SSE-NEXT:    movdqa %xmm15, %xmm31748; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm7[8],xmm3[9],xmm7[9],xmm3[10],xmm7[10],xmm3[11],xmm7[11],xmm3[12],xmm7[12],xmm3[13],xmm7[13],xmm3[14],xmm7[14],xmm3[15],xmm7[15]1749; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1750; SSE-NEXT:    punpcklbw {{.*#+}} xmm15 = xmm15[0],xmm7[0],xmm15[1],xmm7[1],xmm15[2],xmm7[2],xmm15[3],xmm7[3],xmm15[4],xmm7[4],xmm15[5],xmm7[5],xmm15[6],xmm7[6],xmm15[7],xmm7[7]1751; SSE-NEXT:    movdqa %xmm15, (%rsp) # 16-byte Spill1752; SSE-NEXT:    movdqa %xmm2, %xmm71753; SSE-NEXT:    punpcklwd {{.*#+}} xmm7 = xmm7[0],xmm4[0],xmm7[1],xmm4[1],xmm7[2],xmm4[2],xmm7[3],xmm4[3]1754; SSE-NEXT:    packuswb %xmm7, %xmm71755; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1756; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,65535,65535,65535,65535,0,65535,65535]1757; SSE-NEXT:    movdqa %xmm4, %xmm91758; SSE-NEXT:    pandn %xmm7, %xmm91759; SSE-NEXT:    movdqa %xmm15, %xmm71760; SSE-NEXT:    punpcklwd {{.*#+}} xmm7 = xmm7[0],xmm3[0],xmm7[1],xmm3[1],xmm7[2],xmm3[2],xmm7[3],xmm3[3]1761; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm7[1,1,1,1]1762; SSE-NEXT:    packuswb %xmm15, %xmm151763; SSE-NEXT:    pand %xmm4, %xmm151764; SSE-NEXT:    por %xmm9, %xmm151765; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm15[2,2,2,2]1766; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]1767; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]1768; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1769; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [255,255,255,255,255,255,255,255]1770; SSE-NEXT:    pand %xmm1, %xmm141771; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm14[0,2,2,3]1772; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,1,3,4,5,6,7]1773; SSE-NEXT:    packuswb %xmm0, %xmm01774; SSE-NEXT:    movdqa %xmm10, %xmm91775; SSE-NEXT:    pandn %xmm0, %xmm91776; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1777; SSE-NEXT:    pand %xmm1, %xmm01778; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1779; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]1780; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,3,2,3,4,5,6,7]1781; SSE-NEXT:    packuswb %xmm0, %xmm01782; SSE-NEXT:    pand %xmm10, %xmm01783; SSE-NEXT:    por %xmm9, %xmm01784; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1785; SSE-NEXT:    pand %xmm1, %xmm21786; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1787; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm2[0,1,2,0]1788; SSE-NEXT:    pshufhw {{.*#+}} xmm9 = xmm9[0,1,2,3,4,5,7,5]1789; SSE-NEXT:    packuswb %xmm9, %xmm91790; SSE-NEXT:    movdqa %xmm5, %xmm151791; SSE-NEXT:    pandn %xmm9, %xmm151792; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1793; SSE-NEXT:    pand %xmm1, %xmm21794; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1795; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm2[0,1,2,0]1796; SSE-NEXT:    pshufhw {{.*#+}} xmm9 = xmm9[0,1,2,3,7,5,6,7]1797; SSE-NEXT:    packuswb %xmm9, %xmm91798; SSE-NEXT:    pand %xmm5, %xmm91799; SSE-NEXT:    por %xmm15, %xmm91800; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm9[1,1,1,1]1801; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm9[0],xmm0[1],xmm9[1]1802; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1803; SSE-NEXT:    pand %xmm1, %xmm21804; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1805; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm2[0,1,2,0]1806; SSE-NEXT:    pshufhw {{.*#+}} xmm9 = xmm9[0,1,2,3,4,5,7,5]1807; SSE-NEXT:    packuswb %xmm9, %xmm91808; SSE-NEXT:    movdqa %xmm6, %xmm151809; SSE-NEXT:    pandn %xmm9, %xmm151810; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1811; SSE-NEXT:    pand %xmm1, %xmm21812; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1813; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm2[0,1,2,0]1814; SSE-NEXT:    pshufhw {{.*#+}} xmm9 = xmm9[0,1,2,3,7,5,6,7]1815; SSE-NEXT:    packuswb %xmm9, %xmm91816; SSE-NEXT:    pand %xmm6, %xmm91817; SSE-NEXT:    por %xmm15, %xmm91818; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1819; SSE-NEXT:    pand %xmm1, %xmm21820; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1821; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm2[0,2,2,3]1822; SSE-NEXT:    pshuflw {{.*#+}} xmm15 = xmm15[0,1,1,3,4,5,6,7]1823; SSE-NEXT:    packuswb %xmm15, %xmm151824; SSE-NEXT:    movdqa %xmm4, %xmm21825; SSE-NEXT:    pandn %xmm15, %xmm21826; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload1827; SSE-NEXT:    pand %xmm1, %xmm151828; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm15[0,2,2,3]1829; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,3,2,3,4,5,6,7]1830; SSE-NEXT:    packuswb %xmm1, %xmm11831; SSE-NEXT:    pand %xmm4, %xmm11832; SSE-NEXT:    por %xmm2, %xmm11833; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]1834; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm9[2],xmm1[3],xmm9[3]1835; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1836; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1837; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm11[1,1,2,3]1838; SSE-NEXT:    movdqa %xmm10, %xmm11839; SSE-NEXT:    pandn %xmm0, %xmm11840; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload1841; SSE-NEXT:    # xmm0 = mem[3,3,3,3]1842; SSE-NEXT:    packuswb %xmm0, %xmm01843; SSE-NEXT:    pand %xmm10, %xmm01844; SSE-NEXT:    por %xmm1, %xmm01845; SSE-NEXT:    movdqa %xmm5, %xmm11846; SSE-NEXT:    pandn %xmm8, %xmm11847; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm13[2,2,3,3]1848; SSE-NEXT:    packuswb %xmm2, %xmm21849; SSE-NEXT:    pand %xmm5, %xmm21850; SSE-NEXT:    por %xmm1, %xmm21851; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[1,1,1,1]1852; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]1853; SSE-NEXT:    movdqa %xmm6, %xmm11854; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload1855; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm12[2,2,3,3]1856; SSE-NEXT:    packuswb %xmm2, %xmm21857; SSE-NEXT:    pand %xmm6, %xmm21858; SSE-NEXT:    por %xmm1, %xmm21859; SSE-NEXT:    pshufd $244, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload1860; SSE-NEXT:    # xmm1 = mem[0,1,3,3]1861; SSE-NEXT:    movdqa %xmm4, %xmm81862; SSE-NEXT:    pandn %xmm1, %xmm81863; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[3,3,3,3]1864; SSE-NEXT:    packuswb %xmm1, %xmm11865; SSE-NEXT:    pand %xmm4, %xmm11866; SSE-NEXT:    por %xmm8, %xmm11867; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]1868; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm2[2],xmm1[3],xmm2[3]1869; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]1870; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1871; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm14[3,1,2,3]1872; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm3[0,1,2,0,4,5,6,7]1873; SSE-NEXT:    packuswb %xmm0, %xmm01874; SSE-NEXT:    movdqa %xmm10, %xmm11875; SSE-NEXT:    pandn %xmm0, %xmm11876; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload1877; SSE-NEXT:    # xmm0 = mem[3,1,2,3]1878; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1879; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,0,2,3,4,5,6,7]1880; SSE-NEXT:    packuswb %xmm0, %xmm01881; SSE-NEXT:    pand %xmm10, %xmm01882; SSE-NEXT:    por %xmm1, %xmm01883; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload1884; SSE-NEXT:    # xmm1 = mem[0,1,1,3]1885; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1886; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]1887; SSE-NEXT:    packuswb %xmm1, %xmm11888; SSE-NEXT:    movdqa %xmm5, %xmm81889; SSE-NEXT:    pandn %xmm1, %xmm81890; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload1891; SSE-NEXT:    # xmm1 = mem[0,1,1,3]1892; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1893; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]1894; SSE-NEXT:    packuswb %xmm1, %xmm11895; SSE-NEXT:    pand %xmm5, %xmm11896; SSE-NEXT:    por %xmm8, %xmm11897; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]1898; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]1899; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload1900; SSE-NEXT:    # xmm1 = mem[0,1,1,3]1901; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1902; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]1903; SSE-NEXT:    packuswb %xmm1, %xmm11904; SSE-NEXT:    movdqa %xmm6, %xmm91905; SSE-NEXT:    pandn %xmm1, %xmm91906; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload1907; SSE-NEXT:    # xmm8 = mem[0,1,1,3]1908; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm8[0,1,2,3,4,6,6,7]1909; SSE-NEXT:    packuswb %xmm1, %xmm141910; SSE-NEXT:    pand %xmm6, %xmm141911; SSE-NEXT:    por %xmm9, %xmm141912; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload1913; SSE-NEXT:    # xmm12 = mem[3,1,2,3]1914; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm12[0,1,2,0,4,5,6,7]1915; SSE-NEXT:    packuswb %xmm1, %xmm11916; SSE-NEXT:    movdqa %xmm4, %xmm91917; SSE-NEXT:    pandn %xmm1, %xmm91918; SSE-NEXT:    pshufd {{.*#+}} xmm13 = xmm15[3,1,2,3]1919; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm13[2,0,2,3,4,5,6,7]1920; SSE-NEXT:    packuswb %xmm1, %xmm11921; SSE-NEXT:    pand %xmm4, %xmm11922; SSE-NEXT:    por %xmm9, %xmm11923; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm1[2,2,2,2]1924; SSE-NEXT:    punpckhdq {{.*#+}} xmm11 = xmm11[2],xmm14[2],xmm11[3],xmm14[3]1925; SSE-NEXT:    movsd {{.*#+}} xmm11 = xmm0[0],xmm11[1]1926; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1927; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload1928; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]1929; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1930; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload1931; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]1932; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1933; SSE-NEXT:    packuswb %xmm0, %xmm01934; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1935; SSE-NEXT:    movdqa %xmm10, %xmm91936; SSE-NEXT:    pandn %xmm0, %xmm91937; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm1[1,1,1,1]1938; SSE-NEXT:    packuswb %xmm2, %xmm21939; SSE-NEXT:    pand %xmm10, %xmm21940; SSE-NEXT:    por %xmm9, %xmm21941; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1942; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload1943; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]1944; SSE-NEXT:    packuswb %xmm0, %xmm01945; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1946; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm0[0,0,2,3]1947; SSE-NEXT:    movdqa %xmm5, %xmm141948; SSE-NEXT:    pandn %xmm9, %xmm141949; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1950; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload1951; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]1952; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1953; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm0[0,1,1,3]1954; SSE-NEXT:    packuswb %xmm9, %xmm91955; SSE-NEXT:    pand %xmm5, %xmm91956; SSE-NEXT:    por %xmm14, %xmm91957; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm9[1,1,1,1]1958; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm9[0],xmm2[1],xmm9[1]1959; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1960; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload1961; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]1962; SSE-NEXT:    packuswb %xmm0, %xmm141963; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm14[0,1,2,2]1964; SSE-NEXT:    movdqa %xmm6, %xmm151965; SSE-NEXT:    pandn %xmm9, %xmm151966; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1967; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload1968; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]1969; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1970; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm0[0,1,1,3]1971; SSE-NEXT:    packuswb %xmm9, %xmm11972; SSE-NEXT:    pand %xmm6, %xmm11973; SSE-NEXT:    por %xmm15, %xmm11974; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload1975; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload1976; SSE-NEXT:    # xmm7 = xmm7[4],mem[4],xmm7[5],mem[5],xmm7[6],mem[6],xmm7[7],mem[7]1977; SSE-NEXT:    movdqa (%rsp), %xmm0 # 16-byte Reload1978; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload1979; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]1980; SSE-NEXT:    movdqa %xmm0, (%rsp) # 16-byte Spill1981; SSE-NEXT:    packuswb %xmm7, %xmm91982; SSE-NEXT:    movdqa %xmm4, %xmm151983; SSE-NEXT:    pandn %xmm9, %xmm151984; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm0[1,1,1,1]1985; SSE-NEXT:    packuswb %xmm7, %xmm71986; SSE-NEXT:    pand %xmm4, %xmm71987; SSE-NEXT:    por %xmm15, %xmm71988; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm7[2,2,2,2]1989; SSE-NEXT:    punpckhdq {{.*#+}} xmm15 = xmm15[2],xmm1[2],xmm15[3],xmm1[3]1990; SSE-NEXT:    movsd {{.*#+}} xmm15 = xmm2[0],xmm15[1]1991; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm3[0,1,3,1,4,5,6,7]1992; SSE-NEXT:    packuswb %xmm0, %xmm01993; SSE-NEXT:    movdqa %xmm10, %xmm11994; SSE-NEXT:    pandn %xmm0, %xmm11995; SSE-NEXT:    pshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload1996; SSE-NEXT:    # xmm0 = mem[3,1,2,3,4,5,6,7]1997; SSE-NEXT:    packuswb %xmm0, %xmm01998; SSE-NEXT:    pand %xmm10, %xmm01999; SSE-NEXT:    por %xmm1, %xmm02000; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload2001; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]2002; SSE-NEXT:    packuswb %xmm1, %xmm12003; SSE-NEXT:    movdqa %xmm5, %xmm72004; SSE-NEXT:    pandn %xmm1, %xmm72005; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload2006; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]2007; SSE-NEXT:    packuswb %xmm1, %xmm12008; SSE-NEXT:    pand %xmm5, %xmm12009; SSE-NEXT:    por %xmm7, %xmm12010; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]2011; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]2012; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload2013; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]2014; SSE-NEXT:    packuswb %xmm1, %xmm12015; SSE-NEXT:    movdqa %xmm6, %xmm72016; SSE-NEXT:    pandn %xmm1, %xmm72017; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm8[0,1,2,3,5,7,6,7]2018; SSE-NEXT:    packuswb %xmm1, %xmm12019; SSE-NEXT:    pand %xmm6, %xmm12020; SSE-NEXT:    por %xmm7, %xmm12021; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm12[0,1,3,1,4,5,6,7]2022; SSE-NEXT:    packuswb %xmm7, %xmm72023; SSE-NEXT:    movdqa %xmm4, %xmm82024; SSE-NEXT:    pandn %xmm7, %xmm82025; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm13[3,1,2,3,4,5,6,7]2026; SSE-NEXT:    packuswb %xmm7, %xmm72027; SSE-NEXT:    pand %xmm4, %xmm72028; SSE-NEXT:    por %xmm8, %xmm72029; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[2,2,2,2]2030; SSE-NEXT:    punpckhdq {{.*#+}} xmm7 = xmm7[2],xmm1[2],xmm7[3],xmm1[3]2031; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm0[0],xmm7[1]2032; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload2033; SSE-NEXT:    # xmm0 = mem[1,1,2,3]2034; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload2035; SSE-NEXT:    # xmm1 = mem[3,3,3,3]2036; SSE-NEXT:    packuswb %xmm1, %xmm12037; SSE-NEXT:    pand %xmm10, %xmm12038; SSE-NEXT:    pandn %xmm0, %xmm102039; SSE-NEXT:    por %xmm1, %xmm102040; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload2041; SSE-NEXT:    # xmm0 = mem[2,2,3,3]2042; SSE-NEXT:    packuswb %xmm0, %xmm02043; SSE-NEXT:    pand %xmm5, %xmm02044; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload2045; SSE-NEXT:    por %xmm0, %xmm52046; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm5[1,1,1,1]2047; SSE-NEXT:    punpckldq {{.*#+}} xmm10 = xmm10[0],xmm0[0],xmm10[1],xmm0[1]2048; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload2049; SSE-NEXT:    # xmm0 = mem[2,2,3,3]2050; SSE-NEXT:    packuswb %xmm0, %xmm02051; SSE-NEXT:    pand %xmm6, %xmm02052; SSE-NEXT:    pandn %xmm14, %xmm62053; SSE-NEXT:    por %xmm0, %xmm62054; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm9[0,1,3,3]2055; SSE-NEXT:    pshufd $255, (%rsp), %xmm1 # 16-byte Folded Reload2056; SSE-NEXT:    # xmm1 = mem[3,3,3,3]2057; SSE-NEXT:    packuswb %xmm1, %xmm12058; SSE-NEXT:    pand %xmm4, %xmm12059; SSE-NEXT:    pandn %xmm0, %xmm42060; SSE-NEXT:    por %xmm1, %xmm42061; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm4[2,2,2,2]2062; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm6[2],xmm0[3],xmm6[3]2063; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm10[0],xmm0[1]2064; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2065; SSE-NEXT:    movaps %xmm1, (%rsi)2066; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2067; SSE-NEXT:    movaps %xmm1, (%rdx)2068; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2069; SSE-NEXT:    movaps %xmm1, (%rcx)2070; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2071; SSE-NEXT:    movaps %xmm1, (%r8)2072; SSE-NEXT:    movapd %xmm11, (%r9)2073; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax2074; SSE-NEXT:    movapd %xmm15, (%rax)2075; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax2076; SSE-NEXT:    movapd %xmm7, (%rax)2077; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax2078; SSE-NEXT:    movapd %xmm0, (%rax)2079; SSE-NEXT:    addq $328, %rsp # imm = 0x1482080; SSE-NEXT:    retq2081;2082; AVX-LABEL: load_i8_stride8_vf16:2083; AVX:       # %bb.0:2084; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8]2085; AVX-NEXT:    vmovdqa 112(%rdi), %xmm82086; AVX-NEXT:    vpshufb %xmm0, %xmm8, %xmm32087; AVX-NEXT:    vmovdqa 96(%rdi), %xmm22088; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm02089; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]2090; AVX-NEXT:    vbroadcastss {{.*#+}} xmm3 = [0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0]2091; AVX-NEXT:    vmovdqa 80(%rdi), %xmm42092; AVX-NEXT:    vpshufb %xmm3, %xmm4, %xmm62093; AVX-NEXT:    vmovdqa 64(%rdi), %xmm52094; AVX-NEXT:    vpshufb %xmm3, %xmm5, %xmm32095; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1],xmm3[2],xmm6[2],xmm3[3],xmm6[3]2096; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm3[0,1,2,3,4,5],xmm0[6,7]2097; AVX-NEXT:    vmovd {{.*#+}} xmm9 = [0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0]2098; AVX-NEXT:    vmovdqa (%rdi), %xmm12099; AVX-NEXT:    vmovdqa 16(%rdi), %xmm32100; AVX-NEXT:    vmovdqa 32(%rdi), %xmm62101; AVX-NEXT:    vmovdqa 48(%rdi), %xmm72102; AVX-NEXT:    vpshufb %xmm9, %xmm7, %xmm102103; AVX-NEXT:    vpshufb %xmm9, %xmm6, %xmm92104; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2105; AVX-NEXT:    vmovd {{.*#+}} xmm10 = [0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0]2106; AVX-NEXT:    vpshufb %xmm10, %xmm3, %xmm112107; AVX-NEXT:    vpshufb %xmm10, %xmm1, %xmm102108; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2109; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3],xmm10[4,5,6,7]2110; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm9[0,1,2,3],xmm0[4,5,6,7]2111; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2112; AVX-NEXT:    vbroadcastss {{.*#+}} xmm9 = [0,0,1,9,0,0,1,9,0,0,1,9,0,0,1,9]2113; AVX-NEXT:    vpshufb %xmm9, %xmm8, %xmm102114; AVX-NEXT:    vpshufb %xmm9, %xmm2, %xmm92115; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2116; AVX-NEXT:    vbroadcastss {{.*#+}} xmm10 = [1,9,0,0,1,9,0,0,1,9,0,0,1,9,0,0]2117; AVX-NEXT:    vpshufb %xmm10, %xmm4, %xmm112118; AVX-NEXT:    vpshufb %xmm10, %xmm5, %xmm102119; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2120; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm10[0,1,2,3,4,5],xmm9[6,7]2121; AVX-NEXT:    vmovd {{.*#+}} xmm10 = [0,0,1,9,0,0,0,0,0,0,0,0,0,0,0,0]2122; AVX-NEXT:    vpshufb %xmm10, %xmm7, %xmm112123; AVX-NEXT:    vpshufb %xmm10, %xmm6, %xmm102124; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2125; AVX-NEXT:    vmovd {{.*#+}} xmm11 = [1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]2126; AVX-NEXT:    vpshufb %xmm11, %xmm3, %xmm122127; AVX-NEXT:    vpshufb %xmm11, %xmm1, %xmm112128; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2129; AVX-NEXT:    vpblendw {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3],xmm11[4,5,6,7]2130; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm10[0,1,2,3],xmm9[4,5,6,7]2131; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2132; AVX-NEXT:    vbroadcastss {{.*#+}} xmm10 = [0,0,2,10,0,0,2,10,0,0,2,10,0,0,2,10]2133; AVX-NEXT:    vpshufb %xmm10, %xmm8, %xmm112134; AVX-NEXT:    vpshufb %xmm10, %xmm2, %xmm102135; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2136; AVX-NEXT:    vbroadcastss {{.*#+}} xmm11 = [2,10,0,0,2,10,0,0,2,10,0,0,2,10,0,0]2137; AVX-NEXT:    vpshufb %xmm11, %xmm4, %xmm122138; AVX-NEXT:    vpshufb %xmm11, %xmm5, %xmm112139; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2140; AVX-NEXT:    vpblendw {{.*#+}} xmm10 = xmm11[0,1,2,3,4,5],xmm10[6,7]2141; AVX-NEXT:    vmovd {{.*#+}} xmm11 = [0,0,2,10,0,0,0,0,0,0,0,0,0,0,0,0]2142; AVX-NEXT:    vpshufb %xmm11, %xmm7, %xmm122143; AVX-NEXT:    vpshufb %xmm11, %xmm6, %xmm112144; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2145; AVX-NEXT:    vmovd {{.*#+}} xmm12 = [2,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]2146; AVX-NEXT:    vpshufb %xmm12, %xmm3, %xmm132147; AVX-NEXT:    vpshufb %xmm12, %xmm1, %xmm122148; AVX-NEXT:    vmovdqa %xmm1, %xmm92149; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2150; AVX-NEXT:    vpblendw {{.*#+}} xmm11 = xmm12[0,1],xmm11[2,3],xmm12[4,5,6,7]2151; AVX-NEXT:    vpblendw {{.*#+}} xmm10 = xmm11[0,1,2,3],xmm10[4,5,6,7]2152; AVX-NEXT:    vbroadcastss {{.*#+}} xmm11 = [0,0,3,11,0,0,3,11,0,0,3,11,0,0,3,11]2153; AVX-NEXT:    vpshufb %xmm11, %xmm8, %xmm122154; AVX-NEXT:    vpshufb %xmm11, %xmm2, %xmm112155; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2156; AVX-NEXT:    vbroadcastss {{.*#+}} xmm12 = [3,11,0,0,3,11,0,0,3,11,0,0,3,11,0,0]2157; AVX-NEXT:    vpshufb %xmm12, %xmm4, %xmm132158; AVX-NEXT:    vpshufb %xmm12, %xmm5, %xmm122159; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2160; AVX-NEXT:    vpblendw {{.*#+}} xmm11 = xmm12[0,1,2,3,4,5],xmm11[6,7]2161; AVX-NEXT:    vmovd {{.*#+}} xmm12 = [0,0,3,11,0,0,0,0,0,0,0,0,0,0,0,0]2162; AVX-NEXT:    vpshufb %xmm12, %xmm7, %xmm132163; AVX-NEXT:    vpshufb %xmm12, %xmm6, %xmm122164; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2165; AVX-NEXT:    vmovd {{.*#+}} xmm13 = [3,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]2166; AVX-NEXT:    vpshufb %xmm13, %xmm3, %xmm142167; AVX-NEXT:    vpshufb %xmm13, %xmm1, %xmm132168; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2169; AVX-NEXT:    vpblendw {{.*#+}} xmm12 = xmm13[0,1],xmm12[2,3],xmm13[4,5,6,7]2170; AVX-NEXT:    vpblendw {{.*#+}} xmm11 = xmm12[0,1,2,3],xmm11[4,5,6,7]2171; AVX-NEXT:    vbroadcastss {{.*#+}} xmm12 = [0,0,4,12,0,0,4,12,0,0,4,12,0,0,4,12]2172; AVX-NEXT:    vpshufb %xmm12, %xmm8, %xmm132173; AVX-NEXT:    vpshufb %xmm12, %xmm2, %xmm122174; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2175; AVX-NEXT:    vbroadcastss {{.*#+}} xmm13 = [4,12,0,0,4,12,0,0,4,12,0,0,4,12,0,0]2176; AVX-NEXT:    vpshufb %xmm13, %xmm4, %xmm142177; AVX-NEXT:    vpshufb %xmm13, %xmm5, %xmm132178; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2179; AVX-NEXT:    vpblendw {{.*#+}} xmm12 = xmm13[0,1,2,3,4,5],xmm12[6,7]2180; AVX-NEXT:    vmovd {{.*#+}} xmm13 = [0,0,4,12,0,0,0,0,0,0,0,0,0,0,0,0]2181; AVX-NEXT:    vpshufb %xmm13, %xmm7, %xmm142182; AVX-NEXT:    vpshufb %xmm13, %xmm6, %xmm132183; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2184; AVX-NEXT:    vmovd {{.*#+}} xmm14 = [4,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0]2185; AVX-NEXT:    vpshufb %xmm14, %xmm3, %xmm152186; AVX-NEXT:    vpshufb %xmm14, %xmm1, %xmm142187; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2188; AVX-NEXT:    vpblendw {{.*#+}} xmm13 = xmm14[0,1],xmm13[2,3],xmm14[4,5,6,7]2189; AVX-NEXT:    vpblendw {{.*#+}} xmm12 = xmm13[0,1,2,3],xmm12[4,5,6,7]2190; AVX-NEXT:    vbroadcastss {{.*#+}} xmm13 = [0,0,5,13,0,0,5,13,0,0,5,13,0,0,5,13]2191; AVX-NEXT:    vpshufb %xmm13, %xmm8, %xmm142192; AVX-NEXT:    vpshufb %xmm13, %xmm2, %xmm132193; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2194; AVX-NEXT:    vbroadcastss {{.*#+}} xmm14 = [5,13,0,0,5,13,0,0,5,13,0,0,5,13,0,0]2195; AVX-NEXT:    vpshufb %xmm14, %xmm4, %xmm152196; AVX-NEXT:    vpshufb %xmm14, %xmm5, %xmm142197; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2198; AVX-NEXT:    vpblendw {{.*#+}} xmm13 = xmm14[0,1,2,3,4,5],xmm13[6,7]2199; AVX-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,5,13,0,0,0,0,0,0,0,0,0,0,0,0]2200; AVX-NEXT:    vpshufb %xmm14, %xmm7, %xmm152201; AVX-NEXT:    vpshufb %xmm14, %xmm6, %xmm142202; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2203; AVX-NEXT:    vmovd {{.*#+}} xmm15 = [5,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0]2204; AVX-NEXT:    vpshufb %xmm15, %xmm3, %xmm02205; AVX-NEXT:    vpshufb %xmm15, %xmm1, %xmm152206; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]2207; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm14[2,3],xmm0[4,5,6,7]2208; AVX-NEXT:    vpblendw {{.*#+}} xmm13 = xmm0[0,1,2,3],xmm13[4,5,6,7]2209; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,6,14,0,0,6,14,0,0,6,14,0,0,6,14]2210; AVX-NEXT:    vpshufb %xmm0, %xmm8, %xmm142211; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm02212; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]2213; AVX-NEXT:    vbroadcastss {{.*#+}} xmm14 = [6,14,0,0,6,14,0,0,6,14,0,0,6,14,0,0]2214; AVX-NEXT:    vpshufb %xmm14, %xmm4, %xmm152215; AVX-NEXT:    vpshufb %xmm14, %xmm5, %xmm142216; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2217; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm14[0,1,2,3,4,5],xmm0[6,7]2218; AVX-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,6,14,0,0,0,0,0,0,0,0,0,0,0,0]2219; AVX-NEXT:    vpshufb %xmm14, %xmm7, %xmm152220; AVX-NEXT:    vpshufb %xmm14, %xmm6, %xmm142221; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2222; AVX-NEXT:    vmovd {{.*#+}} xmm15 = [6,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0]2223; AVX-NEXT:    vpshufb %xmm15, %xmm3, %xmm02224; AVX-NEXT:    vpshufb %xmm15, %xmm9, %xmm152225; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]2226; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm14[2,3],xmm0[4,5,6,7]2227; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]2228; AVX-NEXT:    vbroadcastss {{.*#+}} xmm1 = [0,0,7,15,0,0,7,15,0,0,7,15,0,0,7,15]2229; AVX-NEXT:    vpshufb %xmm1, %xmm8, %xmm82230; AVX-NEXT:    vpshufb %xmm1, %xmm2, %xmm12231; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3]2232; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [7,15,0,0,7,15,0,0,7,15,0,0,7,15,0,0]2233; AVX-NEXT:    vpshufb %xmm2, %xmm4, %xmm42234; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm22235; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]2236; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]2237; AVX-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,7,15,0,0,0,0,0,0,0,0,0,0,0,0]2238; AVX-NEXT:    vpshufb %xmm2, %xmm7, %xmm42239; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm22240; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]2241; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0]2242; AVX-NEXT:    vpshufb %xmm4, %xmm3, %xmm32243; AVX-NEXT:    vpshufb %xmm4, %xmm9, %xmm42244; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]2245; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3],xmm3[4,5,6,7]2246; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3],xmm1[4,5,6,7]2247; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2248; AVX-NEXT:    vmovaps %xmm2, (%rsi)2249; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2250; AVX-NEXT:    vmovaps %xmm2, (%rdx)2251; AVX-NEXT:    vmovdqa %xmm10, (%rcx)2252; AVX-NEXT:    vmovdqa %xmm11, (%r8)2253; AVX-NEXT:    vmovdqa %xmm12, (%r9)2254; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax2255; AVX-NEXT:    vmovdqa %xmm13, (%rax)2256; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax2257; AVX-NEXT:    vmovdqa %xmm0, (%rax)2258; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax2259; AVX-NEXT:    vmovdqa %xmm1, (%rax)2260; AVX-NEXT:    retq2261;2262; AVX2-LABEL: load_i8_stride8_vf16:2263; AVX2:       # %bb.0:2264; AVX2-NEXT:    vmovdqa 112(%rdi), %xmm82265; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]2266; AVX2-NEXT:    vpshufb %xmm0, %xmm8, %xmm22267; AVX2-NEXT:    vmovdqa 96(%rdi), %xmm32268; AVX2-NEXT:    vpshufb %xmm0, %xmm3, %xmm02269; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]2270; AVX2-NEXT:    vmovdqa 80(%rdi), %xmm42271; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]2272; AVX2-NEXT:    vpshufb %xmm2, %xmm4, %xmm62273; AVX2-NEXT:    vmovdqa 64(%rdi), %xmm52274; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm22275; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3]2276; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]2277; AVX2-NEXT:    vmovdqa (%rdi), %xmm12278; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm22279; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm62280; AVX2-NEXT:    vmovdqa 48(%rdi), %xmm72281; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]2282; AVX2-NEXT:    vpshufb %xmm9, %xmm7, %xmm102283; AVX2-NEXT:    vpshufb %xmm9, %xmm6, %xmm92284; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2285; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]2286; AVX2-NEXT:    vpshufb %xmm10, %xmm2, %xmm112287; AVX2-NEXT:    vpshufb %xmm10, %xmm1, %xmm102288; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2289; AVX2-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0],xmm9[1],xmm10[2,3]2290; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm9[0,1],xmm0[2,3]2291; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2292; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]2293; AVX2-NEXT:    vpshufb %xmm9, %xmm8, %xmm102294; AVX2-NEXT:    vpshufb %xmm9, %xmm3, %xmm92295; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2296; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]2297; AVX2-NEXT:    vpshufb %xmm10, %xmm4, %xmm112298; AVX2-NEXT:    vpshufb %xmm10, %xmm5, %xmm102299; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2300; AVX2-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]2301; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]2302; AVX2-NEXT:    vpshufb %xmm10, %xmm7, %xmm112303; AVX2-NEXT:    vpshufb %xmm10, %xmm6, %xmm102304; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2305; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]2306; AVX2-NEXT:    vpshufb %xmm11, %xmm2, %xmm122307; AVX2-NEXT:    vpshufb %xmm11, %xmm1, %xmm112308; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2309; AVX2-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0],xmm10[1],xmm11[2,3]2310; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm10[0,1],xmm9[2,3]2311; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2312; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]2313; AVX2-NEXT:    vpshufb %xmm10, %xmm8, %xmm112314; AVX2-NEXT:    vpshufb %xmm10, %xmm3, %xmm102315; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2316; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]2317; AVX2-NEXT:    vpshufb %xmm11, %xmm4, %xmm122318; AVX2-NEXT:    vpshufb %xmm11, %xmm5, %xmm112319; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2320; AVX2-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1,2],xmm10[3]2321; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]2322; AVX2-NEXT:    vpshufb %xmm11, %xmm7, %xmm122323; AVX2-NEXT:    vpshufb %xmm11, %xmm6, %xmm112324; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2325; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]2326; AVX2-NEXT:    vpshufb %xmm12, %xmm2, %xmm132327; AVX2-NEXT:    vpshufb %xmm12, %xmm1, %xmm122328; AVX2-NEXT:    vmovdqa %xmm1, %xmm92329; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2330; AVX2-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0],xmm11[1],xmm12[2,3]2331; AVX2-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]2332; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]2333; AVX2-NEXT:    vpshufb %xmm11, %xmm8, %xmm122334; AVX2-NEXT:    vpshufb %xmm11, %xmm3, %xmm112335; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2336; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]2337; AVX2-NEXT:    vpshufb %xmm12, %xmm4, %xmm132338; AVX2-NEXT:    vpshufb %xmm12, %xmm5, %xmm122339; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2340; AVX2-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1,2],xmm11[3]2341; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]2342; AVX2-NEXT:    vpshufb %xmm12, %xmm7, %xmm132343; AVX2-NEXT:    vpshufb %xmm12, %xmm6, %xmm122344; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2345; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]2346; AVX2-NEXT:    vpshufb %xmm13, %xmm2, %xmm142347; AVX2-NEXT:    vpshufb %xmm13, %xmm1, %xmm132348; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2349; AVX2-NEXT:    vpblendd {{.*#+}} xmm12 = xmm13[0],xmm12[1],xmm13[2,3]2350; AVX2-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1],xmm11[2,3]2351; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]2352; AVX2-NEXT:    vpshufb %xmm12, %xmm8, %xmm132353; AVX2-NEXT:    vpshufb %xmm12, %xmm3, %xmm122354; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2355; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]2356; AVX2-NEXT:    vpshufb %xmm13, %xmm4, %xmm142357; AVX2-NEXT:    vpshufb %xmm13, %xmm5, %xmm132358; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2359; AVX2-NEXT:    vpblendd {{.*#+}} xmm12 = xmm13[0,1,2],xmm12[3]2360; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]2361; AVX2-NEXT:    vpshufb %xmm13, %xmm7, %xmm142362; AVX2-NEXT:    vpshufb %xmm13, %xmm6, %xmm132363; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2364; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]2365; AVX2-NEXT:    vpshufb %xmm14, %xmm2, %xmm152366; AVX2-NEXT:    vpshufb %xmm14, %xmm1, %xmm142367; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2368; AVX2-NEXT:    vpblendd {{.*#+}} xmm13 = xmm14[0],xmm13[1],xmm14[2,3]2369; AVX2-NEXT:    vpblendd {{.*#+}} xmm12 = xmm13[0,1],xmm12[2,3]2370; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]2371; AVX2-NEXT:    vpshufb %xmm13, %xmm8, %xmm142372; AVX2-NEXT:    vpshufb %xmm13, %xmm3, %xmm132373; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2374; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]2375; AVX2-NEXT:    vpshufb %xmm14, %xmm4, %xmm152376; AVX2-NEXT:    vpshufb %xmm14, %xmm5, %xmm142377; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2378; AVX2-NEXT:    vpblendd {{.*#+}} xmm13 = xmm14[0,1,2],xmm13[3]2379; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]2380; AVX2-NEXT:    vpshufb %xmm14, %xmm7, %xmm152381; AVX2-NEXT:    vpshufb %xmm14, %xmm6, %xmm142382; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2383; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm15 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]2384; AVX2-NEXT:    vpshufb %xmm15, %xmm2, %xmm02385; AVX2-NEXT:    vpshufb %xmm15, %xmm1, %xmm152386; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]2387; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm14[1],xmm0[2,3]2388; AVX2-NEXT:    vpblendd {{.*#+}} xmm13 = xmm0[0,1],xmm13[2,3]2389; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]2390; AVX2-NEXT:    vpshufb %xmm0, %xmm8, %xmm142391; AVX2-NEXT:    vpshufb %xmm0, %xmm3, %xmm02392; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]2393; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]2394; AVX2-NEXT:    vpshufb %xmm14, %xmm4, %xmm152395; AVX2-NEXT:    vpshufb %xmm14, %xmm5, %xmm142396; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2397; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1,2],xmm0[3]2398; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]2399; AVX2-NEXT:    vpshufb %xmm14, %xmm7, %xmm152400; AVX2-NEXT:    vpshufb %xmm14, %xmm6, %xmm142401; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2402; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm15 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]2403; AVX2-NEXT:    vpshufb %xmm15, %xmm2, %xmm02404; AVX2-NEXT:    vpshufb %xmm15, %xmm9, %xmm152405; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]2406; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm14[1],xmm0[2,3]2407; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]2408; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]2409; AVX2-NEXT:    vpshufb %xmm1, %xmm8, %xmm82410; AVX2-NEXT:    vpshufb %xmm1, %xmm3, %xmm12411; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3]2412; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]2413; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm42414; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm32415; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]2416; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]2417; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]2418; AVX2-NEXT:    vpshufb %xmm3, %xmm7, %xmm42419; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm32420; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]2421; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]2422; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm22423; AVX2-NEXT:    vpshufb %xmm4, %xmm9, %xmm42424; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3]2425; AVX2-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm3[1],xmm2[2,3]2426; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]2427; AVX2-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2428; AVX2-NEXT:    vmovaps %xmm2, (%rsi)2429; AVX2-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2430; AVX2-NEXT:    vmovaps %xmm2, (%rdx)2431; AVX2-NEXT:    vmovdqa %xmm10, (%rcx)2432; AVX2-NEXT:    vmovdqa %xmm11, (%r8)2433; AVX2-NEXT:    vmovdqa %xmm12, (%r9)2434; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax2435; AVX2-NEXT:    vmovdqa %xmm13, (%rax)2436; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax2437; AVX2-NEXT:    vmovdqa %xmm0, (%rax)2438; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax2439; AVX2-NEXT:    vmovdqa %xmm1, (%rax)2440; AVX2-NEXT:    retq2441;2442; AVX2-FP-LABEL: load_i8_stride8_vf16:2443; AVX2-FP:       # %bb.0:2444; AVX2-FP-NEXT:    vmovdqa 112(%rdi), %xmm82445; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]2446; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm8, %xmm22447; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %xmm32448; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm3, %xmm02449; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]2450; AVX2-FP-NEXT:    vmovdqa 80(%rdi), %xmm42451; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]2452; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm4, %xmm62453; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %xmm52454; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm22455; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3]2456; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]2457; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm12458; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm22459; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm62460; AVX2-FP-NEXT:    vmovdqa 48(%rdi), %xmm72461; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]2462; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm7, %xmm102463; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm6, %xmm92464; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2465; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]2466; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm2, %xmm112467; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm1, %xmm102468; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2469; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0],xmm9[1],xmm10[2,3]2470; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm9[0,1],xmm0[2,3]2471; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2472; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]2473; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm8, %xmm102474; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm3, %xmm92475; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2476; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]2477; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm4, %xmm112478; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm5, %xmm102479; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2480; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]2481; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]2482; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm7, %xmm112483; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm6, %xmm102484; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2485; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]2486; AVX2-FP-NEXT:    vpshufb %xmm11, %xmm2, %xmm122487; AVX2-FP-NEXT:    vpshufb %xmm11, %xmm1, %xmm112488; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2489; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0],xmm10[1],xmm11[2,3]2490; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm10[0,1],xmm9[2,3]2491; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2492; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]2493; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm8, %xmm112494; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm3, %xmm102495; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2496; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]2497; AVX2-FP-NEXT:    vpshufb %xmm11, %xmm4, %xmm122498; AVX2-FP-NEXT:    vpshufb %xmm11, %xmm5, %xmm112499; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2500; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1,2],xmm10[3]2501; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]2502; AVX2-FP-NEXT:    vpshufb %xmm11, %xmm7, %xmm122503; AVX2-FP-NEXT:    vpshufb %xmm11, %xmm6, %xmm112504; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2505; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]2506; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm2, %xmm132507; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm1, %xmm122508; AVX2-FP-NEXT:    vmovdqa %xmm1, %xmm92509; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2510; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0],xmm11[1],xmm12[2,3]2511; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]2512; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]2513; AVX2-FP-NEXT:    vpshufb %xmm11, %xmm8, %xmm122514; AVX2-FP-NEXT:    vpshufb %xmm11, %xmm3, %xmm112515; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2516; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]2517; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm4, %xmm132518; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm5, %xmm122519; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2520; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1,2],xmm11[3]2521; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]2522; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm7, %xmm132523; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm6, %xmm122524; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2525; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]2526; AVX2-FP-NEXT:    vpshufb %xmm13, %xmm2, %xmm142527; AVX2-FP-NEXT:    vpshufb %xmm13, %xmm1, %xmm132528; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2529; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm13[0],xmm12[1],xmm13[2,3]2530; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1],xmm11[2,3]2531; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]2532; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm8, %xmm132533; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm3, %xmm122534; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2535; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]2536; AVX2-FP-NEXT:    vpshufb %xmm13, %xmm4, %xmm142537; AVX2-FP-NEXT:    vpshufb %xmm13, %xmm5, %xmm132538; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2539; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm13[0,1,2],xmm12[3]2540; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]2541; AVX2-FP-NEXT:    vpshufb %xmm13, %xmm7, %xmm142542; AVX2-FP-NEXT:    vpshufb %xmm13, %xmm6, %xmm132543; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2544; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]2545; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm2, %xmm152546; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm1, %xmm142547; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2548; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm14[0],xmm13[1],xmm14[2,3]2549; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm13[0,1],xmm12[2,3]2550; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]2551; AVX2-FP-NEXT:    vpshufb %xmm13, %xmm8, %xmm142552; AVX2-FP-NEXT:    vpshufb %xmm13, %xmm3, %xmm132553; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]2554; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]2555; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm4, %xmm152556; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm5, %xmm142557; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2558; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm14[0,1,2],xmm13[3]2559; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]2560; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm7, %xmm152561; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm6, %xmm142562; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2563; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm15 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]2564; AVX2-FP-NEXT:    vpshufb %xmm15, %xmm2, %xmm02565; AVX2-FP-NEXT:    vpshufb %xmm15, %xmm1, %xmm152566; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]2567; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm14[1],xmm0[2,3]2568; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm0[0,1],xmm13[2,3]2569; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]2570; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm8, %xmm142571; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm3, %xmm02572; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]2573; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]2574; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm4, %xmm152575; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm5, %xmm142576; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2577; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1,2],xmm0[3]2578; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]2579; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm7, %xmm152580; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm6, %xmm142581; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2582; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm15 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]2583; AVX2-FP-NEXT:    vpshufb %xmm15, %xmm2, %xmm02584; AVX2-FP-NEXT:    vpshufb %xmm15, %xmm9, %xmm152585; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]2586; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm14[1],xmm0[2,3]2587; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]2588; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]2589; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm8, %xmm82590; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm3, %xmm12591; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3]2592; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]2593; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm42594; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm32595; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]2596; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]2597; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]2598; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm7, %xmm42599; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm32600; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]2601; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]2602; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm22603; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm9, %xmm42604; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3]2605; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm3[1],xmm2[2,3]2606; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]2607; AVX2-FP-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2608; AVX2-FP-NEXT:    vmovaps %xmm2, (%rsi)2609; AVX2-FP-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2610; AVX2-FP-NEXT:    vmovaps %xmm2, (%rdx)2611; AVX2-FP-NEXT:    vmovdqa %xmm10, (%rcx)2612; AVX2-FP-NEXT:    vmovdqa %xmm11, (%r8)2613; AVX2-FP-NEXT:    vmovdqa %xmm12, (%r9)2614; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2615; AVX2-FP-NEXT:    vmovdqa %xmm13, (%rax)2616; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2617; AVX2-FP-NEXT:    vmovdqa %xmm0, (%rax)2618; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2619; AVX2-FP-NEXT:    vmovdqa %xmm1, (%rax)2620; AVX2-FP-NEXT:    retq2621;2622; AVX2-FCP-LABEL: load_i8_stride8_vf16:2623; AVX2-FCP:       # %bb.0:2624; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm122625; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm72626; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %ymm42627; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %ymm52628; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,4,6,4,6,6,7]2629; AVX2-FCP-NEXT:    vpermd %ymm5, %ymm0, %ymm62630; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]2631; AVX2-FCP-NEXT:    vpshufb %xmm14, %xmm6, %xmm32632; AVX2-FCP-NEXT:    vpermd %ymm4, %ymm0, %ymm12633; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm15 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]2634; AVX2-FCP-NEXT:    vpshufb %xmm15, %xmm1, %xmm82635; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0,1,2],xmm3[3]2636; AVX2-FCP-NEXT:    vpermd %ymm7, %ymm0, %ymm32637; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm3[u,u,u,u,0,4,8,12,u,u,u,u,u,u,u,u]2638; AVX2-FCP-NEXT:    vpermd %ymm12, %ymm0, %ymm02639; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]2640; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0],xmm9[1],xmm10[2,3]2641; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm9[0,1],xmm8[2,3]2642; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2643; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm6[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]2644; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm1[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]2645; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1,2],xmm8[3]2646; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm3[u,u,u,u,1,5,9,13,u,u,u,u,u,u,u,u]2647; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm0[1,5,9,13,u,u,u,u,u,u,u,u,u,u,u,u]2648; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0],xmm9[1],xmm10[2,3]2649; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]2650; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm6[u,u,u,u,u,u,u,u,u,u,u,u,2,6,10,14]2651; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm1[u,u,u,u,u,u,u,u,2,6,10,14,u,u,u,u]2652; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]2653; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm3[u,u,u,u,2,6,10,14,u,u,u,u,u,u,u,u]2654; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm13 = [2,6,10,14,0,0,0,0,0,0,0,0,0,0,0,0]2655; AVX2-FCP-NEXT:    vpshufb %xmm13, %xmm0, %xmm112656; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0],xmm10[1],xmm11[2,3]2657; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm10[0,1],xmm9[2,3]2658; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm11 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]2659; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm6, %xmm62660; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]2661; AVX2-FCP-NEXT:    vpshufb %xmm9, %xmm1, %xmm12662; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm1[0,1,2],xmm6[3]2663; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm6 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]2664; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm3, %xmm12665; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm3 = [3,7,11,15,0,0,0,0,0,0,0,0,0,0,0,0]2666; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm0, %xmm02667; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2,3]2668; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3]2669; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm1 = [1,3,5,7,5,7,6,7]2670; AVX2-FCP-NEXT:    vpermd %ymm5, %ymm1, %ymm22671; AVX2-FCP-NEXT:    vpshufb %xmm14, %xmm2, %xmm52672; AVX2-FCP-NEXT:    vpermd %ymm4, %ymm1, %ymm42673; AVX2-FCP-NEXT:    vpshufb %xmm15, %xmm4, %xmm152674; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm15[0,1,2],xmm5[3]2675; AVX2-FCP-NEXT:    vpermd %ymm7, %ymm1, %ymm72676; AVX2-FCP-NEXT:    vpermd %ymm12, %ymm1, %ymm12677; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm7[u,u,u,u,0,4,8,12,u,u,u,u,u,u,u,u]2678; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm1[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]2679; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm15[0],xmm12[1],xmm15[2,3]2680; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm12[0,1],xmm5[2,3]2681; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]2682; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm4[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]2683; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm15[0,1,2],xmm12[3]2684; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm7[u,u,u,u,1,5,9,13,u,u,u,u,u,u,u,u]2685; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm1[1,5,9,13,u,u,u,u,u,u,u,u,u,u,u,u]2686; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm14[0],xmm15[1],xmm14[2,3]2687; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1],xmm12[2,3]2688; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm2[u,u,u,u,u,u,u,u,u,u,u,u,2,6,10,14]2689; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm4[u,u,u,u,u,u,u,u,2,6,10,14,u,u,u,u]2690; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]2691; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm7[u,u,u,u,2,6,10,14,u,u,u,u,u,u,u,u]2692; AVX2-FCP-NEXT:    vpshufb %xmm13, %xmm1, %xmm132693; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm13[0],xmm15[1],xmm13[2,3]2694; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm13[0,1],xmm14[2,3]2695; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm2, %xmm22696; AVX2-FCP-NEXT:    vpshufb %xmm9, %xmm4, %xmm42697; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm4[0,1,2],xmm2[3]2698; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm7, %xmm42699; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm1, %xmm12700; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0],xmm4[1],xmm1[2,3]2701; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3]2702; AVX2-FCP-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2703; AVX2-FCP-NEXT:    vmovaps %xmm2, (%rsi)2704; AVX2-FCP-NEXT:    vmovdqa %xmm8, (%rdx)2705; AVX2-FCP-NEXT:    vmovdqa %xmm10, (%rcx)2706; AVX2-FCP-NEXT:    vmovdqa %xmm0, (%r8)2707; AVX2-FCP-NEXT:    vmovdqa %xmm5, (%r9)2708; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2709; AVX2-FCP-NEXT:    vmovdqa %xmm12, (%rax)2710; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2711; AVX2-FCP-NEXT:    vmovdqa %xmm13, (%rax)2712; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2713; AVX2-FCP-NEXT:    vmovdqa %xmm1, (%rax)2714; AVX2-FCP-NEXT:    vzeroupper2715; AVX2-FCP-NEXT:    retq2716;2717; AVX512-LABEL: load_i8_stride8_vf16:2718; AVX512:       # %bb.0:2719; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax2720; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r102721; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r112722; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm2 = [0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8]2723; AVX512-NEXT:    vmovdqa 112(%rdi), %xmm02724; AVX512-NEXT:    vpshufb %xmm2, %xmm0, %xmm32725; AVX512-NEXT:    vmovdqa 96(%rdi), %xmm12726; AVX512-NEXT:    vpshufb %xmm2, %xmm1, %xmm22727; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]2728; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0]2729; AVX512-NEXT:    vmovdqa 80(%rdi), %xmm22730; AVX512-NEXT:    vpshufb %xmm5, %xmm2, %xmm62731; AVX512-NEXT:    vmovdqa 64(%rdi), %xmm32732; AVX512-NEXT:    vpshufb %xmm5, %xmm3, %xmm52733; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]2734; AVX512-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]2735; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm52736; AVX512-NEXT:    vpmovqb %zmm5, %xmm62737; AVX512-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3]2738; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm6 = [0,0,1,9,0,0,1,9,0,0,1,9,0,0,1,9]2739; AVX512-NEXT:    vpshufb %xmm6, %xmm0, %xmm72740; AVX512-NEXT:    vpshufb %xmm6, %xmm1, %xmm62741; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]2742; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [1,9,0,0,1,9,0,0,1,9,0,0,1,9,0,0]2743; AVX512-NEXT:    vpshufb %xmm7, %xmm2, %xmm82744; AVX512-NEXT:    vpshufb %xmm7, %xmm3, %xmm72745; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]2746; AVX512-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1,2],xmm6[3]2747; AVX512-NEXT:    vpsrlq $8, %zmm5, %zmm72748; AVX512-NEXT:    vpmovqb %zmm7, %xmm72749; AVX512-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1],xmm6[2,3]2750; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [0,0,2,10,0,0,2,10,0,0,2,10,0,0,2,10]2751; AVX512-NEXT:    vpshufb %xmm7, %xmm0, %xmm82752; AVX512-NEXT:    vpshufb %xmm7, %xmm1, %xmm72753; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]2754; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [2,10,0,0,2,10,0,0,2,10,0,0,2,10,0,0]2755; AVX512-NEXT:    vpshufb %xmm8, %xmm2, %xmm92756; AVX512-NEXT:    vpshufb %xmm8, %xmm3, %xmm82757; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]2758; AVX512-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1,2],xmm7[3]2759; AVX512-NEXT:    vpsrlq $16, %zmm5, %zmm82760; AVX512-NEXT:    vpmovqb %zmm8, %xmm82761; AVX512-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1],xmm7[2,3]2762; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [0,0,3,11,0,0,3,11,0,0,3,11,0,0,3,11]2763; AVX512-NEXT:    vpshufb %xmm8, %xmm0, %xmm92764; AVX512-NEXT:    vpshufb %xmm8, %xmm1, %xmm82765; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]2766; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [3,11,0,0,3,11,0,0,3,11,0,0,3,11,0,0]2767; AVX512-NEXT:    vpshufb %xmm9, %xmm2, %xmm102768; AVX512-NEXT:    vpshufb %xmm9, %xmm3, %xmm92769; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2770; AVX512-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1,2],xmm8[3]2771; AVX512-NEXT:    vpsrlq $24, %zmm5, %zmm92772; AVX512-NEXT:    vpmovqb %zmm9, %xmm92773; AVX512-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]2774; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [0,0,4,12,0,0,4,12,0,0,4,12,0,0,4,12]2775; AVX512-NEXT:    vpshufb %xmm9, %xmm0, %xmm102776; AVX512-NEXT:    vpshufb %xmm9, %xmm1, %xmm92777; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2778; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm10 = [4,12,0,0,4,12,0,0,4,12,0,0,4,12,0,0]2779; AVX512-NEXT:    vpshufb %xmm10, %xmm2, %xmm112780; AVX512-NEXT:    vpshufb %xmm10, %xmm3, %xmm102781; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2782; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]2783; AVX512-NEXT:    vpsrlq $32, %zmm5, %zmm102784; AVX512-NEXT:    vpmovqb %zmm10, %xmm102785; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]2786; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm10 = [0,0,5,13,0,0,5,13,0,0,5,13,0,0,5,13]2787; AVX512-NEXT:    vpshufb %xmm10, %xmm0, %xmm112788; AVX512-NEXT:    vpshufb %xmm10, %xmm1, %xmm102789; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2790; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm11 = [5,13,0,0,5,13,0,0,5,13,0,0,5,13,0,0]2791; AVX512-NEXT:    vpshufb %xmm11, %xmm2, %xmm122792; AVX512-NEXT:    vpshufb %xmm11, %xmm3, %xmm112793; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2794; AVX512-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1,2],xmm10[3]2795; AVX512-NEXT:    vpsrlq $40, %zmm5, %zmm112796; AVX512-NEXT:    vpmovqb %zmm11, %xmm112797; AVX512-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]2798; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm11 = [0,0,6,14,0,0,6,14,0,0,6,14,0,0,6,14]2799; AVX512-NEXT:    vpshufb %xmm11, %xmm0, %xmm122800; AVX512-NEXT:    vpshufb %xmm11, %xmm1, %xmm112801; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2802; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm12 = [6,14,0,0,6,14,0,0,6,14,0,0,6,14,0,0]2803; AVX512-NEXT:    vpshufb %xmm12, %xmm2, %xmm132804; AVX512-NEXT:    vpshufb %xmm12, %xmm3, %xmm122805; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]2806; AVX512-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1,2],xmm11[3]2807; AVX512-NEXT:    vpsrlq $48, %zmm5, %zmm122808; AVX512-NEXT:    vpmovqb %zmm12, %xmm122809; AVX512-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1],xmm11[2,3]2810; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm12 = [0,0,7,15,0,0,7,15,0,0,7,15,0,0,7,15]2811; AVX512-NEXT:    vpshufb %xmm12, %xmm0, %xmm02812; AVX512-NEXT:    vpshufb %xmm12, %xmm1, %xmm12813; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]2814; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [7,15,0,0,7,15,0,0,7,15,0,0,7,15,0,0]2815; AVX512-NEXT:    vpshufb %xmm1, %xmm2, %xmm22816; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm12817; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]2818; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]2819; AVX512-NEXT:    vpsrlq $56, %zmm5, %zmm12820; AVX512-NEXT:    vpmovqb %zmm1, %xmm12821; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]2822; AVX512-NEXT:    vmovdqa %xmm4, (%rsi)2823; AVX512-NEXT:    vmovdqa %xmm6, (%rdx)2824; AVX512-NEXT:    vmovdqa %xmm7, (%rcx)2825; AVX512-NEXT:    vmovdqa %xmm8, (%r8)2826; AVX512-NEXT:    vmovdqa %xmm9, (%r9)2827; AVX512-NEXT:    vmovdqa %xmm10, (%r11)2828; AVX512-NEXT:    vmovdqa %xmm11, (%r10)2829; AVX512-NEXT:    vmovdqa %xmm0, (%rax)2830; AVX512-NEXT:    vzeroupper2831; AVX512-NEXT:    retq2832;2833; AVX512-FCP-LABEL: load_i8_stride8_vf16:2834; AVX512-FCP:       # %bb.0:2835; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2836; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r102837; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r112838; AVX512-FCP-NEXT:    vmovdqa 96(%rdi), %ymm92839; AVX512-FCP-NEXT:    vpmovqd %ymm9, %xmm82840; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm3 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]2841; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm8, %xmm02842; AVX512-FCP-NEXT:    vmovdqa 64(%rdi), %ymm102843; AVX512-FCP-NEXT:    vpmovqd %ymm10, %xmm112844; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm4 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]2845; AVX512-FCP-NEXT:    vpshufb %xmm4, %xmm11, %xmm12846; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]2847; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm122848; AVX512-FCP-NEXT:    vpmovqb %zmm12, %xmm12849; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]2850; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]2851; AVX512-FCP-NEXT:    vpshufb %xmm5, %xmm8, %xmm12852; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm6 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]2853; AVX512-FCP-NEXT:    vpshufb %xmm6, %xmm11, %xmm22854; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1,2],xmm1[3]2855; AVX512-FCP-NEXT:    vpsrlq $8, %zmm12, %zmm22856; AVX512-FCP-NEXT:    vpmovqb %zmm2, %xmm22857; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]2858; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]2859; AVX512-FCP-NEXT:    vpshufb %xmm7, %xmm8, %xmm22860; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]2861; AVX512-FCP-NEXT:    vpshufb %xmm13, %xmm11, %xmm142862; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1,2],xmm2[3]2863; AVX512-FCP-NEXT:    vpsrlq $16, %zmm12, %zmm142864; AVX512-FCP-NEXT:    vpmovqb %zmm14, %xmm142865; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1],xmm2[2,3]2866; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]2867; AVX512-FCP-NEXT:    vpshufb %xmm14, %xmm8, %xmm82868; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm15 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]2869; AVX512-FCP-NEXT:    vpshufb %xmm15, %xmm11, %xmm112870; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm11[0,1,2],xmm8[3]2871; AVX512-FCP-NEXT:    vpsrlq $24, %zmm12, %zmm112872; AVX512-FCP-NEXT:    vpmovqb %zmm11, %xmm112873; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm11[0,1],xmm8[2,3]2874; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm11 = [1,3,5,7,5,7,6,7]2875; AVX512-FCP-NEXT:    vpermd %ymm9, %ymm11, %ymm92876; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm9, %xmm32877; AVX512-FCP-NEXT:    vpermd %ymm10, %ymm11, %ymm102878; AVX512-FCP-NEXT:    vpshufb %xmm4, %xmm10, %xmm42879; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1,2],xmm3[3]2880; AVX512-FCP-NEXT:    vpsrlq $32, %zmm12, %zmm42881; AVX512-FCP-NEXT:    vpmovqb %zmm4, %xmm42882; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]2883; AVX512-FCP-NEXT:    vpshufb %xmm5, %xmm9, %xmm42884; AVX512-FCP-NEXT:    vpshufb %xmm6, %xmm10, %xmm52885; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]2886; AVX512-FCP-NEXT:    vpsrlq $40, %zmm12, %zmm52887; AVX512-FCP-NEXT:    vpmovqb %zmm5, %xmm52888; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]2889; AVX512-FCP-NEXT:    vpshufb %xmm7, %xmm9, %xmm52890; AVX512-FCP-NEXT:    vpshufb %xmm13, %xmm10, %xmm62891; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1,2],xmm5[3]2892; AVX512-FCP-NEXT:    vpsrlq $48, %zmm12, %zmm62893; AVX512-FCP-NEXT:    vpmovqb %zmm6, %xmm62894; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3]2895; AVX512-FCP-NEXT:    vpshufb %xmm14, %xmm9, %xmm62896; AVX512-FCP-NEXT:    vpshufb %xmm15, %xmm10, %xmm72897; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1,2],xmm6[3]2898; AVX512-FCP-NEXT:    vpsrlq $56, %zmm12, %zmm72899; AVX512-FCP-NEXT:    vpmovqb %zmm7, %xmm72900; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1],xmm6[2,3]2901; AVX512-FCP-NEXT:    vmovdqa %xmm0, (%rsi)2902; AVX512-FCP-NEXT:    vmovdqa %xmm1, (%rdx)2903; AVX512-FCP-NEXT:    vmovdqa %xmm2, (%rcx)2904; AVX512-FCP-NEXT:    vmovdqa %xmm8, (%r8)2905; AVX512-FCP-NEXT:    vmovdqa %xmm3, (%r9)2906; AVX512-FCP-NEXT:    vmovdqa %xmm4, (%r11)2907; AVX512-FCP-NEXT:    vmovdqa %xmm5, (%r10)2908; AVX512-FCP-NEXT:    vmovdqa %xmm6, (%rax)2909; AVX512-FCP-NEXT:    vzeroupper2910; AVX512-FCP-NEXT:    retq2911;2912; AVX512DQ-LABEL: load_i8_stride8_vf16:2913; AVX512DQ:       # %bb.0:2914; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax2915; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r102916; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r112917; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm2 = [0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8]2918; AVX512DQ-NEXT:    vmovdqa 112(%rdi), %xmm02919; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm0, %xmm32920; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %xmm12921; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm1, %xmm22922; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]2923; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0]2924; AVX512DQ-NEXT:    vmovdqa 80(%rdi), %xmm22925; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm2, %xmm62926; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %xmm32927; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm3, %xmm52928; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]2929; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]2930; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm52931; AVX512DQ-NEXT:    vpmovqb %zmm5, %xmm62932; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3]2933; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm6 = [0,0,1,9,0,0,1,9,0,0,1,9,0,0,1,9]2934; AVX512DQ-NEXT:    vpshufb %xmm6, %xmm0, %xmm72935; AVX512DQ-NEXT:    vpshufb %xmm6, %xmm1, %xmm62936; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]2937; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [1,9,0,0,1,9,0,0,1,9,0,0,1,9,0,0]2938; AVX512DQ-NEXT:    vpshufb %xmm7, %xmm2, %xmm82939; AVX512DQ-NEXT:    vpshufb %xmm7, %xmm3, %xmm72940; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]2941; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1,2],xmm6[3]2942; AVX512DQ-NEXT:    vpsrlq $8, %zmm5, %zmm72943; AVX512DQ-NEXT:    vpmovqb %zmm7, %xmm72944; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1],xmm6[2,3]2945; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [0,0,2,10,0,0,2,10,0,0,2,10,0,0,2,10]2946; AVX512DQ-NEXT:    vpshufb %xmm7, %xmm0, %xmm82947; AVX512DQ-NEXT:    vpshufb %xmm7, %xmm1, %xmm72948; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]2949; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [2,10,0,0,2,10,0,0,2,10,0,0,2,10,0,0]2950; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm2, %xmm92951; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm3, %xmm82952; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]2953; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1,2],xmm7[3]2954; AVX512DQ-NEXT:    vpsrlq $16, %zmm5, %zmm82955; AVX512DQ-NEXT:    vpmovqb %zmm8, %xmm82956; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1],xmm7[2,3]2957; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [0,0,3,11,0,0,3,11,0,0,3,11,0,0,3,11]2958; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm0, %xmm92959; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm1, %xmm82960; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]2961; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [3,11,0,0,3,11,0,0,3,11,0,0,3,11,0,0]2962; AVX512DQ-NEXT:    vpshufb %xmm9, %xmm2, %xmm102963; AVX512DQ-NEXT:    vpshufb %xmm9, %xmm3, %xmm92964; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2965; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1,2],xmm8[3]2966; AVX512DQ-NEXT:    vpsrlq $24, %zmm5, %zmm92967; AVX512DQ-NEXT:    vpmovqb %zmm9, %xmm92968; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]2969; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [0,0,4,12,0,0,4,12,0,0,4,12,0,0,4,12]2970; AVX512DQ-NEXT:    vpshufb %xmm9, %xmm0, %xmm102971; AVX512DQ-NEXT:    vpshufb %xmm9, %xmm1, %xmm92972; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]2973; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm10 = [4,12,0,0,4,12,0,0,4,12,0,0,4,12,0,0]2974; AVX512DQ-NEXT:    vpshufb %xmm10, %xmm2, %xmm112975; AVX512DQ-NEXT:    vpshufb %xmm10, %xmm3, %xmm102976; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2977; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]2978; AVX512DQ-NEXT:    vpsrlq $32, %zmm5, %zmm102979; AVX512DQ-NEXT:    vpmovqb %zmm10, %xmm102980; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]2981; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm10 = [0,0,5,13,0,0,5,13,0,0,5,13,0,0,5,13]2982; AVX512DQ-NEXT:    vpshufb %xmm10, %xmm0, %xmm112983; AVX512DQ-NEXT:    vpshufb %xmm10, %xmm1, %xmm102984; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]2985; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm11 = [5,13,0,0,5,13,0,0,5,13,0,0,5,13,0,0]2986; AVX512DQ-NEXT:    vpshufb %xmm11, %xmm2, %xmm122987; AVX512DQ-NEXT:    vpshufb %xmm11, %xmm3, %xmm112988; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2989; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1,2],xmm10[3]2990; AVX512DQ-NEXT:    vpsrlq $40, %zmm5, %zmm112991; AVX512DQ-NEXT:    vpmovqb %zmm11, %xmm112992; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]2993; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm11 = [0,0,6,14,0,0,6,14,0,0,6,14,0,0,6,14]2994; AVX512DQ-NEXT:    vpshufb %xmm11, %xmm0, %xmm122995; AVX512DQ-NEXT:    vpshufb %xmm11, %xmm1, %xmm112996; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]2997; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm12 = [6,14,0,0,6,14,0,0,6,14,0,0,6,14,0,0]2998; AVX512DQ-NEXT:    vpshufb %xmm12, %xmm2, %xmm132999; AVX512DQ-NEXT:    vpshufb %xmm12, %xmm3, %xmm123000; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]3001; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1,2],xmm11[3]3002; AVX512DQ-NEXT:    vpsrlq $48, %zmm5, %zmm123003; AVX512DQ-NEXT:    vpmovqb %zmm12, %xmm123004; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1],xmm11[2,3]3005; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm12 = [0,0,7,15,0,0,7,15,0,0,7,15,0,0,7,15]3006; AVX512DQ-NEXT:    vpshufb %xmm12, %xmm0, %xmm03007; AVX512DQ-NEXT:    vpshufb %xmm12, %xmm1, %xmm13008; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]3009; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [7,15,0,0,7,15,0,0,7,15,0,0,7,15,0,0]3010; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm2, %xmm23011; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm13012; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]3013; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]3014; AVX512DQ-NEXT:    vpsrlq $56, %zmm5, %zmm13015; AVX512DQ-NEXT:    vpmovqb %zmm1, %xmm13016; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]3017; AVX512DQ-NEXT:    vmovdqa %xmm4, (%rsi)3018; AVX512DQ-NEXT:    vmovdqa %xmm6, (%rdx)3019; AVX512DQ-NEXT:    vmovdqa %xmm7, (%rcx)3020; AVX512DQ-NEXT:    vmovdqa %xmm8, (%r8)3021; AVX512DQ-NEXT:    vmovdqa %xmm9, (%r9)3022; AVX512DQ-NEXT:    vmovdqa %xmm10, (%r11)3023; AVX512DQ-NEXT:    vmovdqa %xmm11, (%r10)3024; AVX512DQ-NEXT:    vmovdqa %xmm0, (%rax)3025; AVX512DQ-NEXT:    vzeroupper3026; AVX512DQ-NEXT:    retq3027;3028; AVX512DQ-FCP-LABEL: load_i8_stride8_vf16:3029; AVX512DQ-FCP:       # %bb.0:3030; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3031; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r103032; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r113033; AVX512DQ-FCP-NEXT:    vmovdqa 96(%rdi), %ymm93034; AVX512DQ-FCP-NEXT:    vpmovqd %ymm9, %xmm83035; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm3 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]3036; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm8, %xmm03037; AVX512DQ-FCP-NEXT:    vmovdqa 64(%rdi), %ymm103038; AVX512DQ-FCP-NEXT:    vpmovqd %ymm10, %xmm113039; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm4 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]3040; AVX512DQ-FCP-NEXT:    vpshufb %xmm4, %xmm11, %xmm13041; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]3042; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm123043; AVX512DQ-FCP-NEXT:    vpmovqb %zmm12, %xmm13044; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]3045; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]3046; AVX512DQ-FCP-NEXT:    vpshufb %xmm5, %xmm8, %xmm13047; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm6 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]3048; AVX512DQ-FCP-NEXT:    vpshufb %xmm6, %xmm11, %xmm23049; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1,2],xmm1[3]3050; AVX512DQ-FCP-NEXT:    vpsrlq $8, %zmm12, %zmm23051; AVX512DQ-FCP-NEXT:    vpmovqb %zmm2, %xmm23052; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]3053; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]3054; AVX512DQ-FCP-NEXT:    vpshufb %xmm7, %xmm8, %xmm23055; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]3056; AVX512DQ-FCP-NEXT:    vpshufb %xmm13, %xmm11, %xmm143057; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1,2],xmm2[3]3058; AVX512DQ-FCP-NEXT:    vpsrlq $16, %zmm12, %zmm143059; AVX512DQ-FCP-NEXT:    vpmovqb %zmm14, %xmm143060; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1],xmm2[2,3]3061; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]3062; AVX512DQ-FCP-NEXT:    vpshufb %xmm14, %xmm8, %xmm83063; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm15 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]3064; AVX512DQ-FCP-NEXT:    vpshufb %xmm15, %xmm11, %xmm113065; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm11[0,1,2],xmm8[3]3066; AVX512DQ-FCP-NEXT:    vpsrlq $24, %zmm12, %zmm113067; AVX512DQ-FCP-NEXT:    vpmovqb %zmm11, %xmm113068; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm11[0,1],xmm8[2,3]3069; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm11 = [1,3,5,7,5,7,6,7]3070; AVX512DQ-FCP-NEXT:    vpermd %ymm9, %ymm11, %ymm93071; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm9, %xmm33072; AVX512DQ-FCP-NEXT:    vpermd %ymm10, %ymm11, %ymm103073; AVX512DQ-FCP-NEXT:    vpshufb %xmm4, %xmm10, %xmm43074; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1,2],xmm3[3]3075; AVX512DQ-FCP-NEXT:    vpsrlq $32, %zmm12, %zmm43076; AVX512DQ-FCP-NEXT:    vpmovqb %zmm4, %xmm43077; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]3078; AVX512DQ-FCP-NEXT:    vpshufb %xmm5, %xmm9, %xmm43079; AVX512DQ-FCP-NEXT:    vpshufb %xmm6, %xmm10, %xmm53080; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]3081; AVX512DQ-FCP-NEXT:    vpsrlq $40, %zmm12, %zmm53082; AVX512DQ-FCP-NEXT:    vpmovqb %zmm5, %xmm53083; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]3084; AVX512DQ-FCP-NEXT:    vpshufb %xmm7, %xmm9, %xmm53085; AVX512DQ-FCP-NEXT:    vpshufb %xmm13, %xmm10, %xmm63086; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1,2],xmm5[3]3087; AVX512DQ-FCP-NEXT:    vpsrlq $48, %zmm12, %zmm63088; AVX512DQ-FCP-NEXT:    vpmovqb %zmm6, %xmm63089; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3]3090; AVX512DQ-FCP-NEXT:    vpshufb %xmm14, %xmm9, %xmm63091; AVX512DQ-FCP-NEXT:    vpshufb %xmm15, %xmm10, %xmm73092; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1,2],xmm6[3]3093; AVX512DQ-FCP-NEXT:    vpsrlq $56, %zmm12, %zmm73094; AVX512DQ-FCP-NEXT:    vpmovqb %zmm7, %xmm73095; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1],xmm6[2,3]3096; AVX512DQ-FCP-NEXT:    vmovdqa %xmm0, (%rsi)3097; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, (%rdx)3098; AVX512DQ-FCP-NEXT:    vmovdqa %xmm2, (%rcx)3099; AVX512DQ-FCP-NEXT:    vmovdqa %xmm8, (%r8)3100; AVX512DQ-FCP-NEXT:    vmovdqa %xmm3, (%r9)3101; AVX512DQ-FCP-NEXT:    vmovdqa %xmm4, (%r11)3102; AVX512DQ-FCP-NEXT:    vmovdqa %xmm5, (%r10)3103; AVX512DQ-FCP-NEXT:    vmovdqa %xmm6, (%rax)3104; AVX512DQ-FCP-NEXT:    vzeroupper3105; AVX512DQ-FCP-NEXT:    retq3106;3107; AVX512BW-LABEL: load_i8_stride8_vf16:3108; AVX512BW:       # %bb.0:3109; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax3110; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r103111; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r113112; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]3113; AVX512BW-NEXT:    vmovdqa 112(%rdi), %xmm03114; AVX512BW-NEXT:    vpshufb %xmm2, %xmm0, %xmm33115; AVX512BW-NEXT:    vmovdqa 96(%rdi), %xmm13116; AVX512BW-NEXT:    vpshufb %xmm2, %xmm1, %xmm23117; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]3118; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]3119; AVX512BW-NEXT:    vmovdqa 80(%rdi), %xmm23120; AVX512BW-NEXT:    vpshufb %xmm5, %xmm2, %xmm63121; AVX512BW-NEXT:    vmovdqa 64(%rdi), %xmm33122; AVX512BW-NEXT:    vpshufb %xmm5, %xmm3, %xmm53123; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]3124; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]3125; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm53126; AVX512BW-NEXT:    vpmovqb %zmm5, %xmm63127; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3]3128; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]3129; AVX512BW-NEXT:    vpshufb %xmm6, %xmm0, %xmm73130; AVX512BW-NEXT:    vpshufb %xmm6, %xmm1, %xmm63131; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]3132; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm7 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]3133; AVX512BW-NEXT:    vpshufb %xmm7, %xmm2, %xmm83134; AVX512BW-NEXT:    vpshufb %xmm7, %xmm3, %xmm73135; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]3136; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1,2],xmm6[3]3137; AVX512BW-NEXT:    vpsrlq $8, %zmm5, %zmm73138; AVX512BW-NEXT:    vpmovqb %zmm7, %xmm73139; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1],xmm6[2,3]3140; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm7 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]3141; AVX512BW-NEXT:    vpshufb %xmm7, %xmm0, %xmm83142; AVX512BW-NEXT:    vpshufb %xmm7, %xmm1, %xmm73143; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]3144; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]3145; AVX512BW-NEXT:    vpshufb %xmm8, %xmm2, %xmm93146; AVX512BW-NEXT:    vpshufb %xmm8, %xmm3, %xmm83147; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]3148; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1,2],xmm7[3]3149; AVX512BW-NEXT:    vpsrlq $16, %zmm5, %zmm83150; AVX512BW-NEXT:    vpmovqb %zmm8, %xmm83151; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1],xmm7[2,3]3152; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]3153; AVX512BW-NEXT:    vpshufb %xmm8, %xmm0, %xmm93154; AVX512BW-NEXT:    vpshufb %xmm8, %xmm1, %xmm83155; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]3156; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]3157; AVX512BW-NEXT:    vpshufb %xmm9, %xmm2, %xmm103158; AVX512BW-NEXT:    vpshufb %xmm9, %xmm3, %xmm93159; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]3160; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1,2],xmm8[3]3161; AVX512BW-NEXT:    vpsrlq $24, %zmm5, %zmm93162; AVX512BW-NEXT:    vpmovqb %zmm9, %xmm93163; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]3164; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]3165; AVX512BW-NEXT:    vpshufb %xmm9, %xmm0, %xmm103166; AVX512BW-NEXT:    vpshufb %xmm9, %xmm1, %xmm93167; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]3168; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]3169; AVX512BW-NEXT:    vpshufb %xmm10, %xmm2, %xmm113170; AVX512BW-NEXT:    vpshufb %xmm10, %xmm3, %xmm103171; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]3172; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]3173; AVX512BW-NEXT:    vpsrlq $32, %zmm5, %zmm103174; AVX512BW-NEXT:    vpmovqb %zmm10, %xmm103175; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]3176; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]3177; AVX512BW-NEXT:    vpshufb %xmm10, %xmm0, %xmm113178; AVX512BW-NEXT:    vpshufb %xmm10, %xmm1, %xmm103179; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]3180; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]3181; AVX512BW-NEXT:    vpshufb %xmm11, %xmm2, %xmm123182; AVX512BW-NEXT:    vpshufb %xmm11, %xmm3, %xmm113183; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]3184; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1,2],xmm10[3]3185; AVX512BW-NEXT:    vpsrlq $40, %zmm5, %zmm113186; AVX512BW-NEXT:    vpmovqb %zmm11, %xmm113187; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]3188; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]3189; AVX512BW-NEXT:    vpshufb %xmm11, %xmm0, %xmm123190; AVX512BW-NEXT:    vpshufb %xmm11, %xmm1, %xmm113191; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]3192; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]3193; AVX512BW-NEXT:    vpshufb %xmm12, %xmm2, %xmm133194; AVX512BW-NEXT:    vpshufb %xmm12, %xmm3, %xmm123195; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]3196; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1,2],xmm11[3]3197; AVX512BW-NEXT:    vpsrlq $48, %zmm5, %zmm123198; AVX512BW-NEXT:    vpmovqb %zmm12, %xmm123199; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1],xmm11[2,3]3200; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]3201; AVX512BW-NEXT:    vpshufb %xmm12, %xmm0, %xmm03202; AVX512BW-NEXT:    vpshufb %xmm12, %xmm1, %xmm13203; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]3204; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]3205; AVX512BW-NEXT:    vpshufb %xmm1, %xmm2, %xmm23206; AVX512BW-NEXT:    vpshufb %xmm1, %xmm3, %xmm13207; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]3208; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]3209; AVX512BW-NEXT:    vpsrlq $56, %zmm5, %zmm13210; AVX512BW-NEXT:    vpmovqb %zmm1, %xmm13211; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]3212; AVX512BW-NEXT:    vmovdqa %xmm4, (%rsi)3213; AVX512BW-NEXT:    vmovdqa %xmm6, (%rdx)3214; AVX512BW-NEXT:    vmovdqa %xmm7, (%rcx)3215; AVX512BW-NEXT:    vmovdqa %xmm8, (%r8)3216; AVX512BW-NEXT:    vmovdqa %xmm9, (%r9)3217; AVX512BW-NEXT:    vmovdqa %xmm10, (%r11)3218; AVX512BW-NEXT:    vmovdqa %xmm11, (%r10)3219; AVX512BW-NEXT:    vmovdqa %xmm0, (%rax)3220; AVX512BW-NEXT:    vzeroupper3221; AVX512BW-NEXT:    retq3222;3223; AVX512BW-FCP-LABEL: load_i8_stride8_vf16:3224; AVX512BW-FCP:       # %bb.0:3225; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3226; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r103227; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r113228; AVX512BW-FCP-NEXT:    vmovdqa 96(%rdi), %ymm43229; AVX512BW-FCP-NEXT:    vpmovqd %ymm4, %xmm33230; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]3231; AVX512BW-FCP-NEXT:    vpshufb %xmm5, %xmm3, %xmm03232; AVX512BW-FCP-NEXT:    vmovdqa 64(%rdi), %ymm63233; AVX512BW-FCP-NEXT:    vpmovqd %ymm6, %xmm73234; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]3235; AVX512BW-FCP-NEXT:    vpshufb %xmm8, %xmm7, %xmm13236; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]3237; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm93238; AVX512BW-FCP-NEXT:    vpmovqb %zmm9, %xmm13239; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]3240; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm10 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]3241; AVX512BW-FCP-NEXT:    vpshufb %xmm10, %xmm3, %xmm13242; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm11 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]3243; AVX512BW-FCP-NEXT:    vpshufb %xmm11, %xmm7, %xmm23244; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1,2],xmm1[3]3245; AVX512BW-FCP-NEXT:    vpsrlq $8, %zmm9, %zmm23246; AVX512BW-FCP-NEXT:    vpmovqb %zmm2, %xmm23247; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]3248; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm12 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]3249; AVX512BW-FCP-NEXT:    vpshufb %xmm12, %xmm3, %xmm23250; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]3251; AVX512BW-FCP-NEXT:    vpshufb %xmm13, %xmm7, %xmm143252; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1,2],xmm2[3]3253; AVX512BW-FCP-NEXT:    vpsrlq $16, %zmm9, %zmm143254; AVX512BW-FCP-NEXT:    vpmovqb %zmm14, %xmm143255; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1],xmm2[2,3]3256; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]3257; AVX512BW-FCP-NEXT:    vpshufb %xmm14, %xmm3, %xmm33258; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm15 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]3259; AVX512BW-FCP-NEXT:    vpshufb %xmm15, %xmm7, %xmm73260; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm7[0,1,2],xmm3[3]3261; AVX512BW-FCP-NEXT:    vpsrlq $24, %zmm9, %zmm73262; AVX512BW-FCP-NEXT:    vpmovqb %zmm7, %xmm73263; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm7[0,1],xmm3[2,3]3264; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm7 = [1,3,5,7,5,7,6,7]3265; AVX512BW-FCP-NEXT:    vpermd %ymm4, %ymm7, %ymm43266; AVX512BW-FCP-NEXT:    vpshufb %xmm5, %xmm4, %xmm53267; AVX512BW-FCP-NEXT:    vpermd %ymm6, %ymm7, %ymm63268; AVX512BW-FCP-NEXT:    vpshufb %xmm8, %xmm6, %xmm73269; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm7[0,1,2],xmm5[3]3270; AVX512BW-FCP-NEXT:    vpsrlq $32, %zmm9, %zmm73271; AVX512BW-FCP-NEXT:    vpmovqb %zmm7, %xmm73272; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm7[0,1],xmm5[2,3]3273; AVX512BW-FCP-NEXT:    vpshufb %xmm10, %xmm4, %xmm73274; AVX512BW-FCP-NEXT:    vpshufb %xmm11, %xmm6, %xmm83275; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1,2],xmm7[3]3276; AVX512BW-FCP-NEXT:    vpsrlq $40, %zmm9, %zmm83277; AVX512BW-FCP-NEXT:    vpmovqb %zmm8, %xmm83278; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1],xmm7[2,3]3279; AVX512BW-FCP-NEXT:    vpshufb %xmm12, %xmm4, %xmm83280; AVX512BW-FCP-NEXT:    vpshufb %xmm13, %xmm6, %xmm103281; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm10[0,1,2],xmm8[3]3282; AVX512BW-FCP-NEXT:    vpsrlq $48, %zmm9, %zmm103283; AVX512BW-FCP-NEXT:    vpmovqb %zmm10, %xmm103284; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm10[0,1],xmm8[2,3]3285; AVX512BW-FCP-NEXT:    vpshufb %xmm14, %xmm4, %xmm43286; AVX512BW-FCP-NEXT:    vpshufb %xmm15, %xmm6, %xmm63287; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0,1,2],xmm4[3]3288; AVX512BW-FCP-NEXT:    vpsrlq $56, %zmm9, %zmm63289; AVX512BW-FCP-NEXT:    vpmovqb %zmm6, %xmm63290; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3]3291; AVX512BW-FCP-NEXT:    vmovdqa %xmm0, (%rsi)3292; AVX512BW-FCP-NEXT:    vmovdqa %xmm1, (%rdx)3293; AVX512BW-FCP-NEXT:    vmovdqa %xmm2, (%rcx)3294; AVX512BW-FCP-NEXT:    vmovdqa %xmm3, (%r8)3295; AVX512BW-FCP-NEXT:    vmovdqa %xmm5, (%r9)3296; AVX512BW-FCP-NEXT:    vmovdqa %xmm7, (%r11)3297; AVX512BW-FCP-NEXT:    vmovdqa %xmm8, (%r10)3298; AVX512BW-FCP-NEXT:    vmovdqa %xmm4, (%rax)3299; AVX512BW-FCP-NEXT:    vzeroupper3300; AVX512BW-FCP-NEXT:    retq3301;3302; AVX512DQ-BW-LABEL: load_i8_stride8_vf16:3303; AVX512DQ-BW:       # %bb.0:3304; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax3305; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r103306; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r113307; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]3308; AVX512DQ-BW-NEXT:    vmovdqa 112(%rdi), %xmm03309; AVX512DQ-BW-NEXT:    vpshufb %xmm2, %xmm0, %xmm33310; AVX512DQ-BW-NEXT:    vmovdqa 96(%rdi), %xmm13311; AVX512DQ-BW-NEXT:    vpshufb %xmm2, %xmm1, %xmm23312; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]3313; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]3314; AVX512DQ-BW-NEXT:    vmovdqa 80(%rdi), %xmm23315; AVX512DQ-BW-NEXT:    vpshufb %xmm5, %xmm2, %xmm63316; AVX512DQ-BW-NEXT:    vmovdqa 64(%rdi), %xmm33317; AVX512DQ-BW-NEXT:    vpshufb %xmm5, %xmm3, %xmm53318; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]3319; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]3320; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm53321; AVX512DQ-BW-NEXT:    vpmovqb %zmm5, %xmm63322; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3]3323; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]3324; AVX512DQ-BW-NEXT:    vpshufb %xmm6, %xmm0, %xmm73325; AVX512DQ-BW-NEXT:    vpshufb %xmm6, %xmm1, %xmm63326; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]3327; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm7 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]3328; AVX512DQ-BW-NEXT:    vpshufb %xmm7, %xmm2, %xmm83329; AVX512DQ-BW-NEXT:    vpshufb %xmm7, %xmm3, %xmm73330; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]3331; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1,2],xmm6[3]3332; AVX512DQ-BW-NEXT:    vpsrlq $8, %zmm5, %zmm73333; AVX512DQ-BW-NEXT:    vpmovqb %zmm7, %xmm73334; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1],xmm6[2,3]3335; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm7 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]3336; AVX512DQ-BW-NEXT:    vpshufb %xmm7, %xmm0, %xmm83337; AVX512DQ-BW-NEXT:    vpshufb %xmm7, %xmm1, %xmm73338; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]3339; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]3340; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm2, %xmm93341; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm3, %xmm83342; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]3343; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1,2],xmm7[3]3344; AVX512DQ-BW-NEXT:    vpsrlq $16, %zmm5, %zmm83345; AVX512DQ-BW-NEXT:    vpmovqb %zmm8, %xmm83346; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1],xmm7[2,3]3347; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]3348; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm0, %xmm93349; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm1, %xmm83350; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1],xmm8[2],xmm9[2],xmm8[3],xmm9[3]3351; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]3352; AVX512DQ-BW-NEXT:    vpshufb %xmm9, %xmm2, %xmm103353; AVX512DQ-BW-NEXT:    vpshufb %xmm9, %xmm3, %xmm93354; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]3355; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1,2],xmm8[3]3356; AVX512DQ-BW-NEXT:    vpsrlq $24, %zmm5, %zmm93357; AVX512DQ-BW-NEXT:    vpmovqb %zmm9, %xmm93358; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]3359; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]3360; AVX512DQ-BW-NEXT:    vpshufb %xmm9, %xmm0, %xmm103361; AVX512DQ-BW-NEXT:    vpshufb %xmm9, %xmm1, %xmm93362; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3]3363; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]3364; AVX512DQ-BW-NEXT:    vpshufb %xmm10, %xmm2, %xmm113365; AVX512DQ-BW-NEXT:    vpshufb %xmm10, %xmm3, %xmm103366; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]3367; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]3368; AVX512DQ-BW-NEXT:    vpsrlq $32, %zmm5, %zmm103369; AVX512DQ-BW-NEXT:    vpmovqb %zmm10, %xmm103370; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]3371; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]3372; AVX512DQ-BW-NEXT:    vpshufb %xmm10, %xmm0, %xmm113373; AVX512DQ-BW-NEXT:    vpshufb %xmm10, %xmm1, %xmm103374; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]3375; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]3376; AVX512DQ-BW-NEXT:    vpshufb %xmm11, %xmm2, %xmm123377; AVX512DQ-BW-NEXT:    vpshufb %xmm11, %xmm3, %xmm113378; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]3379; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1,2],xmm10[3]3380; AVX512DQ-BW-NEXT:    vpsrlq $40, %zmm5, %zmm113381; AVX512DQ-BW-NEXT:    vpmovqb %zmm11, %xmm113382; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]3383; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]3384; AVX512DQ-BW-NEXT:    vpshufb %xmm11, %xmm0, %xmm123385; AVX512DQ-BW-NEXT:    vpshufb %xmm11, %xmm1, %xmm113386; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm11[0],xmm12[0],xmm11[1],xmm12[1],xmm11[2],xmm12[2],xmm11[3],xmm12[3]3387; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]3388; AVX512DQ-BW-NEXT:    vpshufb %xmm12, %xmm2, %xmm133389; AVX512DQ-BW-NEXT:    vpshufb %xmm12, %xmm3, %xmm123390; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]3391; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1,2],xmm11[3]3392; AVX512DQ-BW-NEXT:    vpsrlq $48, %zmm5, %zmm123393; AVX512DQ-BW-NEXT:    vpmovqb %zmm12, %xmm123394; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0,1],xmm11[2,3]3395; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]3396; AVX512DQ-BW-NEXT:    vpshufb %xmm12, %xmm0, %xmm03397; AVX512DQ-BW-NEXT:    vpshufb %xmm12, %xmm1, %xmm13398; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]3399; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]3400; AVX512DQ-BW-NEXT:    vpshufb %xmm1, %xmm2, %xmm23401; AVX512DQ-BW-NEXT:    vpshufb %xmm1, %xmm3, %xmm13402; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]3403; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]3404; AVX512DQ-BW-NEXT:    vpsrlq $56, %zmm5, %zmm13405; AVX512DQ-BW-NEXT:    vpmovqb %zmm1, %xmm13406; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]3407; AVX512DQ-BW-NEXT:    vmovdqa %xmm4, (%rsi)3408; AVX512DQ-BW-NEXT:    vmovdqa %xmm6, (%rdx)3409; AVX512DQ-BW-NEXT:    vmovdqa %xmm7, (%rcx)3410; AVX512DQ-BW-NEXT:    vmovdqa %xmm8, (%r8)3411; AVX512DQ-BW-NEXT:    vmovdqa %xmm9, (%r9)3412; AVX512DQ-BW-NEXT:    vmovdqa %xmm10, (%r11)3413; AVX512DQ-BW-NEXT:    vmovdqa %xmm11, (%r10)3414; AVX512DQ-BW-NEXT:    vmovdqa %xmm0, (%rax)3415; AVX512DQ-BW-NEXT:    vzeroupper3416; AVX512DQ-BW-NEXT:    retq3417;3418; AVX512DQ-BW-FCP-LABEL: load_i8_stride8_vf16:3419; AVX512DQ-BW-FCP:       # %bb.0:3420; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3421; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r103422; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r113423; AVX512DQ-BW-FCP-NEXT:    vmovdqa 96(%rdi), %ymm43424; AVX512DQ-BW-FCP-NEXT:    vpmovqd %ymm4, %xmm33425; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]3426; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm5, %xmm3, %xmm03427; AVX512DQ-BW-FCP-NEXT:    vmovdqa 64(%rdi), %ymm63428; AVX512DQ-BW-FCP-NEXT:    vpmovqd %ymm6, %xmm73429; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]3430; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm8, %xmm7, %xmm13431; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]3432; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm93433; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm9, %xmm13434; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]3435; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm10 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]3436; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm10, %xmm3, %xmm13437; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm11 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]3438; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm11, %xmm7, %xmm23439; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1,2],xmm1[3]3440; AVX512DQ-BW-FCP-NEXT:    vpsrlq $8, %zmm9, %zmm23441; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm2, %xmm23442; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]3443; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm12 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]3444; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm12, %xmm3, %xmm23445; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]3446; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm13, %xmm7, %xmm143447; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1,2],xmm2[3]3448; AVX512DQ-BW-FCP-NEXT:    vpsrlq $16, %zmm9, %zmm143449; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm14, %xmm143450; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1],xmm2[2,3]3451; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]3452; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm14, %xmm3, %xmm33453; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm15 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]3454; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm15, %xmm7, %xmm73455; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm7[0,1,2],xmm3[3]3456; AVX512DQ-BW-FCP-NEXT:    vpsrlq $24, %zmm9, %zmm73457; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm7, %xmm73458; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm7[0,1],xmm3[2,3]3459; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm7 = [1,3,5,7,5,7,6,7]3460; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm4, %ymm7, %ymm43461; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm5, %xmm4, %xmm53462; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm6, %ymm7, %ymm63463; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm8, %xmm6, %xmm73464; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm7[0,1,2],xmm5[3]3465; AVX512DQ-BW-FCP-NEXT:    vpsrlq $32, %zmm9, %zmm73466; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm7, %xmm73467; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm7[0,1],xmm5[2,3]3468; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm10, %xmm4, %xmm73469; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm11, %xmm6, %xmm83470; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1,2],xmm7[3]3471; AVX512DQ-BW-FCP-NEXT:    vpsrlq $40, %zmm9, %zmm83472; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm8, %xmm83473; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1],xmm7[2,3]3474; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm12, %xmm4, %xmm83475; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm13, %xmm6, %xmm103476; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm10[0,1,2],xmm8[3]3477; AVX512DQ-BW-FCP-NEXT:    vpsrlq $48, %zmm9, %zmm103478; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm10, %xmm103479; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm10[0,1],xmm8[2,3]3480; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm14, %xmm4, %xmm43481; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm15, %xmm6, %xmm63482; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0,1,2],xmm4[3]3483; AVX512DQ-BW-FCP-NEXT:    vpsrlq $56, %zmm9, %zmm63484; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm6, %xmm63485; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3]3486; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm0, (%rsi)3487; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm1, (%rdx)3488; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm2, (%rcx)3489; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm3, (%r8)3490; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm5, (%r9)3491; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm7, (%r11)3492; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm8, (%r10)3493; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm4, (%rax)3494; AVX512DQ-BW-FCP-NEXT:    vzeroupper3495; AVX512DQ-BW-FCP-NEXT:    retq3496  %wide.vec = load <128 x i8>, ptr %in.vec, align 643497  %strided.vec0 = shufflevector <128 x i8> %wide.vec, <128 x i8> 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>3498  %strided.vec1 = shufflevector <128 x i8> %wide.vec, <128 x i8> 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>3499  %strided.vec2 = shufflevector <128 x i8> %wide.vec, <128 x i8> 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>3500  %strided.vec3 = shufflevector <128 x i8> %wide.vec, <128 x i8> 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>3501  %strided.vec4 = shufflevector <128 x i8> %wide.vec, <128 x i8> 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>3502  %strided.vec5 = shufflevector <128 x i8> %wide.vec, <128 x i8> 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>3503  %strided.vec6 = shufflevector <128 x i8> %wide.vec, <128 x i8> 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>3504  %strided.vec7 = shufflevector <128 x i8> %wide.vec, <128 x i8> 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>3505  store <16 x i8> %strided.vec0, ptr %out.vec0, align 643506  store <16 x i8> %strided.vec1, ptr %out.vec1, align 643507  store <16 x i8> %strided.vec2, ptr %out.vec2, align 643508  store <16 x i8> %strided.vec3, ptr %out.vec3, align 643509  store <16 x i8> %strided.vec4, ptr %out.vec4, align 643510  store <16 x i8> %strided.vec5, ptr %out.vec5, align 643511  store <16 x i8> %strided.vec6, ptr %out.vec6, align 643512  store <16 x i8> %strided.vec7, ptr %out.vec7, align 643513  ret void3514}3515 3516define void @load_i8_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 {3517; SSE-LABEL: load_i8_stride8_vf32:3518; SSE:       # %bb.0:3519; SSE-NEXT:    subq $904, %rsp # imm = 0x3883520; SSE-NEXT:    movdqa 64(%rdi), %xmm53521; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3522; SSE-NEXT:    movdqa 80(%rdi), %xmm103523; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3524; SSE-NEXT:    movdqa 96(%rdi), %xmm123525; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3526; SSE-NEXT:    movdqa 128(%rdi), %xmm63527; SSE-NEXT:    movdqa 144(%rdi), %xmm133528; SSE-NEXT:    movdqa 160(%rdi), %xmm113529; SSE-NEXT:    movdqa 176(%rdi), %xmm143530; SSE-NEXT:    movdqa 192(%rdi), %xmm23531; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3532; SSE-NEXT:    movdqa 208(%rdi), %xmm73533; SSE-NEXT:    movdqa 224(%rdi), %xmm83534; SSE-NEXT:    movdqa 240(%rdi), %xmm93535; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [255,0,0,0,255,0,0,0]3536; SSE-NEXT:    movdqa %xmm9, %xmm03537; SSE-NEXT:    pand %xmm4, %xmm03538; SSE-NEXT:    movdqa %xmm8, %xmm13539; SSE-NEXT:    pand %xmm4, %xmm13540; SSE-NEXT:    packuswb %xmm0, %xmm13541; SSE-NEXT:    packuswb %xmm1, %xmm03542; SSE-NEXT:    movdqa %xmm7, %xmm13543; SSE-NEXT:    pand %xmm4, %xmm13544; SSE-NEXT:    pand %xmm4, %xmm23545; SSE-NEXT:    packuswb %xmm1, %xmm23546; SSE-NEXT:    packuswb %xmm2, %xmm23547; SSE-NEXT:    packuswb %xmm0, %xmm23548; SSE-NEXT:    movdqa %xmm14, %xmm03549; SSE-NEXT:    pand %xmm4, %xmm03550; SSE-NEXT:    movdqa %xmm11, %xmm13551; SSE-NEXT:    pand %xmm4, %xmm13552; SSE-NEXT:    packuswb %xmm0, %xmm13553; SSE-NEXT:    movdqa %xmm13, %xmm03554; SSE-NEXT:    pand %xmm4, %xmm03555; SSE-NEXT:    movdqa %xmm6, %xmm33556; SSE-NEXT:    pand %xmm4, %xmm33557; SSE-NEXT:    packuswb %xmm0, %xmm33558; SSE-NEXT:    movdqa 112(%rdi), %xmm153559; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3560; SSE-NEXT:    packuswb %xmm1, %xmm03561; SSE-NEXT:    packuswb %xmm3, %xmm33562; SSE-NEXT:    packuswb %xmm0, %xmm33563; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,3],xmm2[0,3]3564; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3565; SSE-NEXT:    movdqa %xmm15, %xmm03566; SSE-NEXT:    pand %xmm4, %xmm03567; SSE-NEXT:    movdqa %xmm12, %xmm13568; SSE-NEXT:    pand %xmm4, %xmm13569; SSE-NEXT:    packuswb %xmm0, %xmm13570; SSE-NEXT:    movdqa %xmm10, %xmm03571; SSE-NEXT:    pand %xmm4, %xmm03572; SSE-NEXT:    movdqa %xmm5, %xmm23573; SSE-NEXT:    pand %xmm4, %xmm23574; SSE-NEXT:    packuswb %xmm0, %xmm23575; SSE-NEXT:    packuswb %xmm1, %xmm03576; SSE-NEXT:    packuswb %xmm2, %xmm23577; SSE-NEXT:    packuswb %xmm0, %xmm23578; SSE-NEXT:    movdqa 48(%rdi), %xmm153579; SSE-NEXT:    movdqa %xmm15, %xmm03580; SSE-NEXT:    pand %xmm4, %xmm03581; SSE-NEXT:    movdqa 32(%rdi), %xmm13582; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3583; SSE-NEXT:    pand %xmm4, %xmm13584; SSE-NEXT:    packuswb %xmm0, %xmm13585; SSE-NEXT:    movdqa 16(%rdi), %xmm103586; SSE-NEXT:    movdqa %xmm10, %xmm03587; SSE-NEXT:    pand %xmm4, %xmm03588; SSE-NEXT:    movdqa (%rdi), %xmm123589; SSE-NEXT:    pand %xmm12, %xmm43590; SSE-NEXT:    packuswb %xmm0, %xmm43591; SSE-NEXT:    packuswb %xmm1, %xmm03592; SSE-NEXT:    packuswb %xmm4, %xmm43593; SSE-NEXT:    packuswb %xmm0, %xmm43594; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,3],xmm2[0,3]3595; SSE-NEXT:    movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3596; SSE-NEXT:    pxor %xmm5, %xmm53597; SSE-NEXT:    movdqa %xmm13, %xmm03598; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3599; SSE-NEXT:    movdqa %xmm13, %xmm13600; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]3601; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3602; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3],xmm0[4],xmm5[4],xmm0[5],xmm5[5],xmm0[6],xmm5[6],xmm0[7],xmm5[7]3603; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3604; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]3605; SSE-NEXT:    packuswb %xmm0, %xmm03606; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3607; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [65535,0,65535,65535,65535,65535,65535,65535]3608; SSE-NEXT:    movdqa %xmm13, %xmm13609; SSE-NEXT:    pandn %xmm0, %xmm13610; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3611; SSE-NEXT:    movdqa %xmm6, %xmm23612; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm5[8],xmm2[9],xmm5[9],xmm2[10],xmm5[10],xmm2[11],xmm5[11],xmm2[12],xmm5[12],xmm2[13],xmm5[13],xmm2[14],xmm5[14],xmm2[15],xmm5[15]3613; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3614; SSE-NEXT:    punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3],xmm6[4],xmm5[4],xmm6[5],xmm5[5],xmm6[6],xmm5[6],xmm6[7],xmm5[7]3615; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3616; SSE-NEXT:    punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm2[0],xmm6[1],xmm2[1],xmm6[2],xmm2[2],xmm6[3],xmm2[3]3617; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3618; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm6[1,1,1,1]3619; SSE-NEXT:    packuswb %xmm0, %xmm03620; SSE-NEXT:    pand %xmm13, %xmm03621; SSE-NEXT:    por %xmm1, %xmm03622; SSE-NEXT:    movdqa %xmm14, %xmm33623; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3624; SSE-NEXT:    movdqa %xmm14, %xmm13625; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]3626; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3627; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3],xmm3[4],xmm5[4],xmm3[5],xmm5[5],xmm3[6],xmm5[6],xmm3[7],xmm5[7]3628; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3629; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]3630; SSE-NEXT:    packuswb %xmm3, %xmm33631; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3632; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,0,2,3]3633; SSE-NEXT:    movdqa {{.*#+}} xmm14 = [65535,65535,65535,0,65535,65535,65535,65535]3634; SSE-NEXT:    movdqa %xmm14, %xmm43635; SSE-NEXT:    pandn %xmm1, %xmm43636; SSE-NEXT:    movdqa %xmm11, %xmm23637; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3638; SSE-NEXT:    movdqa %xmm11, %xmm13639; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]3640; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3641; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3],xmm2[4],xmm5[4],xmm2[5],xmm5[5],xmm2[6],xmm5[6],xmm2[7],xmm5[7]3642; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3643; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]3644; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3645; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,1,1,3]3646; SSE-NEXT:    packuswb %xmm1, %xmm13647; SSE-NEXT:    pand %xmm14, %xmm13648; SSE-NEXT:    por %xmm4, %xmm13649; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]3650; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]3651; SSE-NEXT:    movdqa %xmm9, %xmm13652; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3653; SSE-NEXT:    movdqa %xmm9, %xmm23654; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm5[8],xmm2[9],xmm5[9],xmm2[10],xmm5[10],xmm2[11],xmm5[11],xmm2[12],xmm5[12],xmm2[13],xmm5[13],xmm2[14],xmm5[14],xmm2[15],xmm5[15]3655; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3656; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3],xmm1[4],xmm5[4],xmm1[5],xmm5[5],xmm1[6],xmm5[6],xmm1[7],xmm5[7]3657; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3658; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]3659; SSE-NEXT:    packuswb %xmm1, %xmm13660; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3661; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]3662; SSE-NEXT:    movdqa {{.*#+}} xmm11 = [65535,65535,65535,65535,65535,65535,65535,0]3663; SSE-NEXT:    movdqa %xmm11, %xmm43664; SSE-NEXT:    pandn %xmm1, %xmm43665; SSE-NEXT:    movdqa %xmm8, %xmm23666; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3667; SSE-NEXT:    movdqa %xmm8, %xmm13668; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]3669; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3670; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3],xmm2[4],xmm5[4],xmm2[5],xmm5[5],xmm2[6],xmm5[6],xmm2[7],xmm5[7]3671; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3672; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]3673; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3674; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,1,1,3]3675; SSE-NEXT:    packuswb %xmm1, %xmm13676; SSE-NEXT:    pand %xmm11, %xmm13677; SSE-NEXT:    por %xmm4, %xmm13678; SSE-NEXT:    movdqa %xmm7, %xmm43679; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3680; SSE-NEXT:    movdqa %xmm7, %xmm23681; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm5[8],xmm2[9],xmm5[9],xmm2[10],xmm5[10],xmm2[11],xmm5[11],xmm2[12],xmm5[12],xmm2[13],xmm5[13],xmm2[14],xmm5[14],xmm2[15],xmm5[15]3682; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3683; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3],xmm4[4],xmm5[4],xmm4[5],xmm5[5],xmm4[6],xmm5[6],xmm4[7],xmm5[7]3684; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3685; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3]3686; SSE-NEXT:    packuswb %xmm4, %xmm23687; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3688; SSE-NEXT:    movdqa {{.*#+}} xmm9 = [65535,65535,65535,65535,65535,0,65535,65535]3689; SSE-NEXT:    movdqa %xmm9, %xmm43690; SSE-NEXT:    pandn %xmm2, %xmm43691; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload3692; SSE-NEXT:    movdqa %xmm7, %xmm23693; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm5[8],xmm2[9],xmm5[9],xmm2[10],xmm5[10],xmm2[11],xmm5[11],xmm2[12],xmm5[12],xmm2[13],xmm5[13],xmm2[14],xmm5[14],xmm2[15],xmm5[15]3694; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3695; SSE-NEXT:    punpcklbw {{.*#+}} xmm7 = xmm7[0],xmm5[0],xmm7[1],xmm5[1],xmm7[2],xmm5[2],xmm7[3],xmm5[3],xmm7[4],xmm5[4],xmm7[5],xmm5[5],xmm7[6],xmm5[6],xmm7[7],xmm5[7]3696; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3697; SSE-NEXT:    punpcklwd {{.*#+}} xmm7 = xmm7[0],xmm2[0],xmm7[1],xmm2[1],xmm7[2],xmm2[2],xmm7[3],xmm2[3]3698; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3699; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm7[1,1,1,1]3700; SSE-NEXT:    packuswb %xmm8, %xmm83701; SSE-NEXT:    pand %xmm9, %xmm83702; SSE-NEXT:    por %xmm4, %xmm83703; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm8[2,2,2,2]3704; SSE-NEXT:    punpckhdq {{.*#+}} xmm4 = xmm4[2],xmm1[2],xmm4[3],xmm1[3]3705; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm0[0],xmm4[1]3706; SSE-NEXT:    movapd %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3707; SSE-NEXT:    movdqa %xmm10, (%rsp) # 16-byte Spill3708; SSE-NEXT:    movdqa %xmm10, %xmm03709; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm5[8],xmm0[9],xmm5[9],xmm0[10],xmm5[10],xmm0[11],xmm5[11],xmm0[12],xmm5[12],xmm0[13],xmm5[13],xmm0[14],xmm5[14],xmm0[15],xmm5[15]3710; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3711; SSE-NEXT:    punpcklbw {{.*#+}} xmm10 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3],xmm10[4],xmm5[4],xmm10[5],xmm5[5],xmm10[6],xmm5[6],xmm10[7],xmm5[7]3712; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3713; SSE-NEXT:    movdqa %xmm10, %xmm83714; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm0[0],xmm8[1],xmm0[1],xmm8[2],xmm0[2],xmm8[3],xmm0[3]3715; SSE-NEXT:    packuswb %xmm8, %xmm83716; SSE-NEXT:    movdqa %xmm13, %xmm13717; SSE-NEXT:    pandn %xmm8, %xmm13718; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3719; SSE-NEXT:    movdqa %xmm12, %xmm23720; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm5[8],xmm2[9],xmm5[9],xmm2[10],xmm5[10],xmm2[11],xmm5[11],xmm2[12],xmm5[12],xmm2[13],xmm5[13],xmm2[14],xmm5[14],xmm2[15],xmm5[15]3721; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3722; SSE-NEXT:    punpcklbw {{.*#+}} xmm12 = xmm12[0],xmm5[0],xmm12[1],xmm5[1],xmm12[2],xmm5[2],xmm12[3],xmm5[3],xmm12[4],xmm5[4],xmm12[5],xmm5[5],xmm12[6],xmm5[6],xmm12[7],xmm5[7]3723; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3724; SSE-NEXT:    punpcklwd {{.*#+}} xmm12 = xmm12[0],xmm2[0],xmm12[1],xmm2[1],xmm12[2],xmm2[2],xmm12[3],xmm2[3]3725; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3726; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm12[1,1,1,1]3727; SSE-NEXT:    packuswb %xmm6, %xmm63728; SSE-NEXT:    pand %xmm13, %xmm63729; SSE-NEXT:    por %xmm1, %xmm63730; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3731; SSE-NEXT:    movdqa %xmm15, %xmm13732; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]3733; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3734; SSE-NEXT:    punpcklbw {{.*#+}} xmm15 = xmm15[0],xmm5[0],xmm15[1],xmm5[1],xmm15[2],xmm5[2],xmm15[3],xmm5[3],xmm15[4],xmm5[4],xmm15[5],xmm5[5],xmm15[6],xmm5[6],xmm15[7],xmm5[7]3735; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3736; SSE-NEXT:    movdqa %xmm15, %xmm43737; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]3738; SSE-NEXT:    packuswb %xmm4, %xmm43739; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[0,0,2,3]3740; SSE-NEXT:    movdqa %xmm14, %xmm123741; SSE-NEXT:    pandn %xmm1, %xmm123742; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3743; SSE-NEXT:    movdqa %xmm2, %xmm13744; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]3745; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3746; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3],xmm2[4],xmm5[4],xmm2[5],xmm5[5],xmm2[6],xmm5[6],xmm2[7],xmm5[7]3747; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3748; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]3749; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3750; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,1,1,3]3751; SSE-NEXT:    packuswb %xmm1, %xmm13752; SSE-NEXT:    pand %xmm14, %xmm13753; SSE-NEXT:    por %xmm12, %xmm13754; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]3755; SSE-NEXT:    punpckldq {{.*#+}} xmm6 = xmm6[0],xmm1[0],xmm6[1],xmm1[1]3756; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3757; SSE-NEXT:    movdqa %xmm1, %xmm23758; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm5[8],xmm2[9],xmm5[9],xmm2[10],xmm5[10],xmm2[11],xmm5[11],xmm2[12],xmm5[12],xmm2[13],xmm5[13],xmm2[14],xmm5[14],xmm2[15],xmm5[15]3759; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3760; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3],xmm1[4],xmm5[4],xmm1[5],xmm5[5],xmm1[6],xmm5[6],xmm1[7],xmm5[7]3761; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3762; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]3763; SSE-NEXT:    packuswb %xmm1, %xmm03764; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3765; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm0[0,1,2,2]3766; SSE-NEXT:    movdqa %xmm11, %xmm73767; SSE-NEXT:    pandn %xmm1, %xmm73768; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload3769; SSE-NEXT:    movdqa %xmm12, %xmm13770; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]3771; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3772; SSE-NEXT:    punpcklbw {{.*#+}} xmm12 = xmm12[0],xmm5[0],xmm12[1],xmm5[1],xmm12[2],xmm5[2],xmm12[3],xmm5[3],xmm12[4],xmm5[4],xmm12[5],xmm5[5],xmm12[6],xmm5[6],xmm12[7],xmm5[7]3773; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3774; SSE-NEXT:    punpcklwd {{.*#+}} xmm12 = xmm12[0],xmm1[0],xmm12[1],xmm1[1],xmm12[2],xmm1[2],xmm12[3],xmm1[3]3775; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm12[0,1,1,3]3776; SSE-NEXT:    packuswb %xmm1, %xmm33777; SSE-NEXT:    pand %xmm11, %xmm33778; SSE-NEXT:    por %xmm7, %xmm33779; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3780; SSE-NEXT:    movdqa %xmm0, %xmm23781; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm5[8],xmm2[9],xmm5[9],xmm2[10],xmm5[10],xmm2[11],xmm5[11],xmm2[12],xmm5[12],xmm2[13],xmm5[13],xmm2[14],xmm5[14],xmm2[15],xmm5[15]3782; SSE-NEXT:    movdqa %xmm2, %xmm73783; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3784; SSE-NEXT:    movdqa %xmm0, %xmm23785; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3],xmm2[4],xmm5[4],xmm2[5],xmm5[5],xmm2[6],xmm5[6],xmm2[7],xmm5[7]3786; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3787; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3788; SSE-NEXT:    movdqa %xmm0, %xmm13789; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]3790; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3791; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3],xmm0[4],xmm5[4],xmm0[5],xmm5[5],xmm0[6],xmm5[6],xmm0[7],xmm5[7]3792; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3793; SSE-NEXT:    movdqa %xmm2, %xmm53794; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm7[0],xmm5[1],xmm7[1],xmm5[2],xmm7[2],xmm5[3],xmm7[3]3795; SSE-NEXT:    packuswb %xmm5, %xmm23796; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3797; SSE-NEXT:    movdqa %xmm9, %xmm73798; SSE-NEXT:    pandn %xmm2, %xmm73799; SSE-NEXT:    movdqa %xmm0, %xmm53800; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]3801; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm5[1,1,1,1]3802; SSE-NEXT:    packuswb %xmm15, %xmm153803; SSE-NEXT:    pand %xmm9, %xmm153804; SSE-NEXT:    por %xmm7, %xmm153805; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm15[2,2,2,2]3806; SSE-NEXT:    punpckhdq {{.*#+}} xmm7 = xmm7[2],xmm3[2],xmm7[3],xmm3[3]3807; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm6[0],xmm7[1]3808; SSE-NEXT:    movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3809; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [255,255,255,255,255,255,255,255]3810; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload3811; SSE-NEXT:    pand %xmm2, %xmm103812; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm10[0,2,2,3]3813; SSE-NEXT:    movdqa %xmm10, %xmm33814; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,1,3,4,5,6,7]3815; SSE-NEXT:    packuswb %xmm0, %xmm03816; SSE-NEXT:    movdqa %xmm13, %xmm73817; SSE-NEXT:    pandn %xmm0, %xmm73818; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload3819; SSE-NEXT:    pand %xmm2, %xmm103820; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm10[0,2,2,3]3821; SSE-NEXT:    movdqa %xmm10, %xmm63822; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm0[1,3,2,3,4,5,6,7]3823; SSE-NEXT:    packuswb %xmm1, %xmm13824; SSE-NEXT:    pand %xmm13, %xmm13825; SSE-NEXT:    por %xmm7, %xmm13826; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3827; SSE-NEXT:    pand %xmm2, %xmm03828; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3829; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm0[0,1,2,0]3830; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,4,5,7,5]3831; SSE-NEXT:    packuswb %xmm7, %xmm73832; SSE-NEXT:    movdqa %xmm14, %xmm153833; SSE-NEXT:    pandn %xmm7, %xmm153834; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3835; SSE-NEXT:    pand %xmm2, %xmm03836; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3837; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm0[0,1,2,0]3838; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,7,5,6,7]3839; SSE-NEXT:    packuswb %xmm7, %xmm73840; SSE-NEXT:    pand %xmm14, %xmm73841; SSE-NEXT:    por %xmm15, %xmm73842; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[1,1,1,1]3843; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm7[0],xmm1[1],xmm7[1]3844; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3845; SSE-NEXT:    pand %xmm2, %xmm03846; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3847; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm0[0,1,2,0]3848; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,4,5,7,5]3849; SSE-NEXT:    packuswb %xmm7, %xmm73850; SSE-NEXT:    movdqa %xmm11, %xmm153851; SSE-NEXT:    pandn %xmm7, %xmm153852; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3853; SSE-NEXT:    pand %xmm2, %xmm03854; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3855; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm0[0,1,2,0]3856; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,7,5,6,7]3857; SSE-NEXT:    packuswb %xmm7, %xmm73858; SSE-NEXT:    pand %xmm11, %xmm73859; SSE-NEXT:    por %xmm15, %xmm73860; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3861; SSE-NEXT:    pand %xmm2, %xmm03862; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3863; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm0[0,2,2,3]3864; SSE-NEXT:    pshuflw {{.*#+}} xmm15 = xmm15[0,1,1,3,4,5,6,7]3865; SSE-NEXT:    packuswb %xmm15, %xmm153866; SSE-NEXT:    movdqa %xmm9, %xmm103867; SSE-NEXT:    pandn %xmm15, %xmm103868; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3869; SSE-NEXT:    pand %xmm2, %xmm03870; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3871; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm0[0,2,2,3]3872; SSE-NEXT:    pshuflw {{.*#+}} xmm15 = xmm15[1,3,2,3,4,5,6,7]3873; SSE-NEXT:    packuswb %xmm15, %xmm153874; SSE-NEXT:    pand %xmm9, %xmm153875; SSE-NEXT:    por %xmm10, %xmm153876; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm15[2,2,2,2]3877; SSE-NEXT:    punpckhdq {{.*#+}} xmm10 = xmm10[2],xmm7[2],xmm10[3],xmm7[3]3878; SSE-NEXT:    movsd {{.*#+}} xmm10 = xmm1[0],xmm10[1]3879; SSE-NEXT:    movapd %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3880; SSE-NEXT:    movdqa (%rsp), %xmm0 # 16-byte Reload3881; SSE-NEXT:    pand %xmm2, %xmm03882; SSE-NEXT:    movdqa %xmm0, (%rsp) # 16-byte Spill3883; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]3884; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,1,3,4,5,6,7]3885; SSE-NEXT:    packuswb %xmm0, %xmm03886; SSE-NEXT:    movdqa %xmm13, %xmm73887; SSE-NEXT:    pandn %xmm0, %xmm73888; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3889; SSE-NEXT:    pand %xmm2, %xmm03890; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3891; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]3892; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,3,2,3,4,5,6,7]3893; SSE-NEXT:    packuswb %xmm0, %xmm03894; SSE-NEXT:    pand %xmm13, %xmm03895; SSE-NEXT:    por %xmm7, %xmm03896; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3897; SSE-NEXT:    pand %xmm2, %xmm13898; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3899; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm1[0,1,2,0]3900; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,4,5,7,5]3901; SSE-NEXT:    packuswb %xmm7, %xmm73902; SSE-NEXT:    movdqa %xmm14, %xmm103903; SSE-NEXT:    pandn %xmm7, %xmm103904; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3905; SSE-NEXT:    pand %xmm2, %xmm13906; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3907; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm1[0,1,2,0]3908; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,7,5,6,7]3909; SSE-NEXT:    packuswb %xmm7, %xmm73910; SSE-NEXT:    pand %xmm14, %xmm73911; SSE-NEXT:    por %xmm10, %xmm73912; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[1,1,1,1]3913; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm7[0],xmm0[1],xmm7[1]3914; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3915; SSE-NEXT:    pand %xmm2, %xmm13916; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3917; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm1[0,1,2,0]3918; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,4,5,7,5]3919; SSE-NEXT:    packuswb %xmm7, %xmm73920; SSE-NEXT:    movdqa %xmm11, %xmm103921; SSE-NEXT:    pandn %xmm7, %xmm103922; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3923; SSE-NEXT:    pand %xmm2, %xmm13924; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3925; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm1[0,1,2,0]3926; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,7,5,6,7]3927; SSE-NEXT:    packuswb %xmm7, %xmm73928; SSE-NEXT:    pand %xmm11, %xmm73929; SSE-NEXT:    por %xmm10, %xmm73930; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3931; SSE-NEXT:    pand %xmm2, %xmm13932; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3933; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm1[0,2,2,3]3934; SSE-NEXT:    pshuflw {{.*#+}} xmm10 = xmm10[0,1,1,3,4,5,6,7]3935; SSE-NEXT:    packuswb %xmm10, %xmm103936; SSE-NEXT:    movdqa %xmm9, %xmm153937; SSE-NEXT:    pandn %xmm10, %xmm153938; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3939; SSE-NEXT:    pand %xmm2, %xmm13940; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3941; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]3942; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,3,2,3,4,5,6,7]3943; SSE-NEXT:    packuswb %xmm1, %xmm13944; SSE-NEXT:    pand %xmm9, %xmm13945; SSE-NEXT:    por %xmm15, %xmm13946; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]3947; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm7[2],xmm1[3],xmm7[3]3948; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3949; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3950; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3951; SSE-NEXT:    # xmm0 = mem[1,1,2,3]3952; SSE-NEXT:    movdqa %xmm13, %xmm13953; SSE-NEXT:    pandn %xmm0, %xmm13954; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3955; SSE-NEXT:    # xmm0 = mem[3,3,3,3]3956; SSE-NEXT:    packuswb %xmm0, %xmm03957; SSE-NEXT:    pand %xmm13, %xmm03958; SSE-NEXT:    por %xmm1, %xmm03959; SSE-NEXT:    movdqa %xmm14, %xmm13960; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload3961; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload3962; SSE-NEXT:    # xmm7 = mem[2,2,3,3]3963; SSE-NEXT:    packuswb %xmm7, %xmm73964; SSE-NEXT:    pand %xmm14, %xmm73965; SSE-NEXT:    por %xmm1, %xmm73966; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[1,1,1,1]3967; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]3968; SSE-NEXT:    movdqa %xmm11, %xmm13969; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload3970; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload3971; SSE-NEXT:    # xmm7 = mem[2,2,3,3]3972; SSE-NEXT:    packuswb %xmm7, %xmm73973; SSE-NEXT:    pand %xmm11, %xmm73974; SSE-NEXT:    por %xmm1, %xmm73975; SSE-NEXT:    pshufd $244, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload3976; SSE-NEXT:    # xmm1 = mem[0,1,3,3]3977; SSE-NEXT:    movdqa %xmm9, %xmm103978; SSE-NEXT:    pandn %xmm1, %xmm103979; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload3980; SSE-NEXT:    # xmm1 = mem[3,3,3,3]3981; SSE-NEXT:    packuswb %xmm1, %xmm13982; SSE-NEXT:    pand %xmm9, %xmm13983; SSE-NEXT:    por %xmm10, %xmm13984; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]3985; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm7[2],xmm1[3],xmm7[3]3986; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]3987; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3988; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm8[1,1,2,3]3989; SSE-NEXT:    movdqa %xmm13, %xmm13990; SSE-NEXT:    pandn %xmm0, %xmm13991; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3992; SSE-NEXT:    # xmm0 = mem[3,3,3,3]3993; SSE-NEXT:    packuswb %xmm0, %xmm03994; SSE-NEXT:    pand %xmm13, %xmm03995; SSE-NEXT:    por %xmm1, %xmm03996; SSE-NEXT:    movdqa %xmm14, %xmm13997; SSE-NEXT:    pandn %xmm4, %xmm13998; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload3999; SSE-NEXT:    # xmm4 = mem[2,2,3,3]4000; SSE-NEXT:    packuswb %xmm4, %xmm44001; SSE-NEXT:    pand %xmm14, %xmm44002; SSE-NEXT:    por %xmm1, %xmm44003; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[1,1,1,1]4004; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]4005; SSE-NEXT:    movdqa %xmm11, %xmm14006; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4007; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm12[2,2,3,3]4008; SSE-NEXT:    packuswb %xmm4, %xmm44009; SSE-NEXT:    pand %xmm11, %xmm44010; SSE-NEXT:    por %xmm1, %xmm44011; SSE-NEXT:    pshufd $244, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4012; SSE-NEXT:    # xmm1 = mem[0,1,3,3]4013; SSE-NEXT:    movdqa %xmm9, %xmm74014; SSE-NEXT:    pandn %xmm1, %xmm74015; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm5[3,3,3,3]4016; SSE-NEXT:    packuswb %xmm1, %xmm14017; SSE-NEXT:    pand %xmm9, %xmm14018; SSE-NEXT:    por %xmm7, %xmm14019; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]4020; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm4[2],xmm1[3],xmm4[3]4021; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]4022; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4023; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[3,1,2,3]4024; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4025; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,2,0,4,5,6,7]4026; SSE-NEXT:    packuswb %xmm0, %xmm04027; SSE-NEXT:    movdqa %xmm13, %xmm14028; SSE-NEXT:    pandn %xmm0, %xmm14029; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm6[3,1,2,3]4030; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4031; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,0,2,3,4,5,6,7]4032; SSE-NEXT:    packuswb %xmm0, %xmm04033; SSE-NEXT:    pand %xmm13, %xmm04034; SSE-NEXT:    por %xmm1, %xmm04035; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4036; SSE-NEXT:    # xmm1 = mem[0,1,1,3]4037; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4038; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]4039; SSE-NEXT:    packuswb %xmm1, %xmm14040; SSE-NEXT:    movdqa %xmm14, %xmm44041; SSE-NEXT:    pandn %xmm1, %xmm44042; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4043; SSE-NEXT:    # xmm1 = mem[0,1,1,3]4044; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4045; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]4046; SSE-NEXT:    packuswb %xmm1, %xmm14047; SSE-NEXT:    pand %xmm14, %xmm14048; SSE-NEXT:    por %xmm4, %xmm14049; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]4050; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]4051; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4052; SSE-NEXT:    # xmm1 = mem[0,1,1,3]4053; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4054; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]4055; SSE-NEXT:    packuswb %xmm1, %xmm14056; SSE-NEXT:    movdqa %xmm11, %xmm44057; SSE-NEXT:    pandn %xmm1, %xmm44058; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4059; SSE-NEXT:    # xmm1 = mem[0,1,1,3]4060; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4061; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]4062; SSE-NEXT:    packuswb %xmm1, %xmm14063; SSE-NEXT:    pand %xmm11, %xmm14064; SSE-NEXT:    por %xmm4, %xmm14065; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4066; SSE-NEXT:    # xmm2 = mem[3,1,2,3]4067; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4068; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm2[0,1,2,0,4,5,6,7]4069; SSE-NEXT:    packuswb %xmm4, %xmm44070; SSE-NEXT:    movdqa %xmm9, %xmm54071; SSE-NEXT:    pandn %xmm4, %xmm54072; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4073; SSE-NEXT:    # xmm2 = mem[3,1,2,3]4074; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4075; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm2[2,0,2,3,4,5,6,7]4076; SSE-NEXT:    packuswb %xmm4, %xmm44077; SSE-NEXT:    pand %xmm9, %xmm44078; SSE-NEXT:    por %xmm5, %xmm44079; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm4[2,2,2,2]4080; SSE-NEXT:    punpckhdq {{.*#+}} xmm6 = xmm6[2],xmm1[2],xmm6[3],xmm1[3]4081; SSE-NEXT:    movsd {{.*#+}} xmm6 = xmm0[0],xmm6[1]4082; SSE-NEXT:    pshufd $231, (%rsp), %xmm0 # 16-byte Folded Reload4083; SSE-NEXT:    # xmm0 = mem[3,1,2,3]4084; SSE-NEXT:    movdqa %xmm0, (%rsp) # 16-byte Spill4085; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,2,0,4,5,6,7]4086; SSE-NEXT:    packuswb %xmm0, %xmm04087; SSE-NEXT:    movdqa %xmm13, %xmm14088; SSE-NEXT:    pandn %xmm0, %xmm14089; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4090; SSE-NEXT:    # xmm0 = mem[3,1,2,3]4091; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4092; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,0,2,3,4,5,6,7]4093; SSE-NEXT:    packuswb %xmm0, %xmm04094; SSE-NEXT:    pand %xmm13, %xmm04095; SSE-NEXT:    por %xmm1, %xmm04096; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4097; SSE-NEXT:    # xmm1 = mem[0,1,1,3]4098; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4099; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]4100; SSE-NEXT:    packuswb %xmm1, %xmm14101; SSE-NEXT:    movdqa %xmm14, %xmm44102; SSE-NEXT:    pandn %xmm1, %xmm44103; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4104; SSE-NEXT:    # xmm1 = mem[0,1,1,3]4105; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4106; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]4107; SSE-NEXT:    packuswb %xmm1, %xmm14108; SSE-NEXT:    pand %xmm14, %xmm14109; SSE-NEXT:    por %xmm4, %xmm14110; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]4111; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]4112; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4113; SSE-NEXT:    # xmm1 = mem[0,1,1,3]4114; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4115; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]4116; SSE-NEXT:    packuswb %xmm1, %xmm14117; SSE-NEXT:    movdqa %xmm11, %xmm44118; SSE-NEXT:    pandn %xmm1, %xmm44119; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4120; SSE-NEXT:    # xmm1 = mem[0,1,1,3]4121; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4122; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]4123; SSE-NEXT:    packuswb %xmm1, %xmm14124; SSE-NEXT:    pand %xmm11, %xmm14125; SSE-NEXT:    por %xmm4, %xmm14126; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4127; SSE-NEXT:    # xmm2 = mem[3,1,2,3]4128; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4129; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm2[0,1,2,0,4,5,6,7]4130; SSE-NEXT:    packuswb %xmm4, %xmm44131; SSE-NEXT:    movdqa %xmm9, %xmm54132; SSE-NEXT:    pandn %xmm4, %xmm54133; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload4134; SSE-NEXT:    # xmm12 = mem[3,1,2,3]4135; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm12[2,0,2,3,4,5,6,7]4136; SSE-NEXT:    packuswb %xmm4, %xmm44137; SSE-NEXT:    pand %xmm9, %xmm44138; SSE-NEXT:    por %xmm5, %xmm44139; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm4[2,2,2,2]4140; SSE-NEXT:    punpckhdq {{.*#+}} xmm10 = xmm10[2],xmm1[2],xmm10[3],xmm1[3]4141; SSE-NEXT:    movsd {{.*#+}} xmm10 = xmm0[0],xmm10[1]4142; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4143; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4144; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4145; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4146; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4147; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]4148; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4149; SSE-NEXT:    packuswb %xmm0, %xmm04150; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4151; SSE-NEXT:    movdqa %xmm13, %xmm14152; SSE-NEXT:    pandn %xmm0, %xmm14153; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]4154; SSE-NEXT:    packuswb %xmm0, %xmm04155; SSE-NEXT:    pand %xmm13, %xmm04156; SSE-NEXT:    por %xmm1, %xmm04157; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4158; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4159; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4160; SSE-NEXT:    packuswb %xmm1, %xmm14161; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4162; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,2,3]4163; SSE-NEXT:    movdqa %xmm14, %xmm44164; SSE-NEXT:    pandn %xmm1, %xmm44165; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4166; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4167; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4168; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4169; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]4170; SSE-NEXT:    packuswb %xmm1, %xmm14171; SSE-NEXT:    pand %xmm14, %xmm14172; SSE-NEXT:    por %xmm4, %xmm14173; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]4174; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]4175; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4176; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4177; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4178; SSE-NEXT:    packuswb %xmm1, %xmm14179; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4180; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]4181; SSE-NEXT:    movdqa %xmm11, %xmm44182; SSE-NEXT:    pandn %xmm1, %xmm44183; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4184; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4185; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4186; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4187; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]4188; SSE-NEXT:    packuswb %xmm1, %xmm14189; SSE-NEXT:    pand %xmm11, %xmm14190; SSE-NEXT:    por %xmm4, %xmm14191; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4192; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload4193; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]4194; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4195; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4196; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]4197; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4198; SSE-NEXT:    packuswb %xmm3, %xmm34199; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4200; SSE-NEXT:    movdqa %xmm9, %xmm44201; SSE-NEXT:    pandn %xmm3, %xmm44202; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm2[1,1,1,1]4203; SSE-NEXT:    packuswb %xmm5, %xmm54204; SSE-NEXT:    pand %xmm9, %xmm54205; SSE-NEXT:    por %xmm4, %xmm54206; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm5[2,2,2,2]4207; SSE-NEXT:    punpckhdq {{.*#+}} xmm8 = xmm8[2],xmm1[2],xmm8[3],xmm1[3]4208; SSE-NEXT:    movsd {{.*#+}} xmm8 = xmm0[0],xmm8[1]4209; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4210; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4211; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]4212; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4213; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4214; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]4215; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4216; SSE-NEXT:    packuswb %xmm0, %xmm04217; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4218; SSE-NEXT:    movdqa %xmm13, %xmm14219; SSE-NEXT:    pandn %xmm0, %xmm14220; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]4221; SSE-NEXT:    packuswb %xmm0, %xmm04222; SSE-NEXT:    pand %xmm13, %xmm04223; SSE-NEXT:    por %xmm1, %xmm04224; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4225; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4226; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4227; SSE-NEXT:    packuswb %xmm1, %xmm14228; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4229; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,2,3]4230; SSE-NEXT:    movdqa %xmm14, %xmm44231; SSE-NEXT:    pandn %xmm1, %xmm44232; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4233; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4234; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4235; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4236; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]4237; SSE-NEXT:    packuswb %xmm1, %xmm14238; SSE-NEXT:    pand %xmm14, %xmm14239; SSE-NEXT:    por %xmm4, %xmm14240; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]4241; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]4242; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4243; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4244; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4245; SSE-NEXT:    packuswb %xmm1, %xmm74246; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[0,1,2,2]4247; SSE-NEXT:    movdqa %xmm11, %xmm44248; SSE-NEXT:    pandn %xmm1, %xmm44249; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4250; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4251; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]4252; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4253; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]4254; SSE-NEXT:    packuswb %xmm1, %xmm14255; SSE-NEXT:    pand %xmm11, %xmm14256; SSE-NEXT:    por %xmm4, %xmm14257; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4258; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload4259; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]4260; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4261; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4262; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]4263; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4264; SSE-NEXT:    packuswb %xmm3, %xmm54265; SSE-NEXT:    movdqa %xmm9, %xmm44266; SSE-NEXT:    pandn %xmm5, %xmm44267; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm2[1,1,1,1]4268; SSE-NEXT:    packuswb %xmm15, %xmm154269; SSE-NEXT:    pand %xmm9, %xmm154270; SSE-NEXT:    por %xmm4, %xmm154271; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm15[2,2,2,2]4272; SSE-NEXT:    punpckhdq {{.*#+}} xmm4 = xmm4[2],xmm1[2],xmm4[3],xmm1[3]4273; SSE-NEXT:    movsd {{.*#+}} xmm4 = xmm0[0],xmm4[1]4274; SSE-NEXT:    pshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4275; SSE-NEXT:    # xmm0 = mem[0,1,3,1,4,5,6,7]4276; SSE-NEXT:    packuswb %xmm0, %xmm04277; SSE-NEXT:    movdqa %xmm13, %xmm14278; SSE-NEXT:    pandn %xmm0, %xmm14279; SSE-NEXT:    pshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4280; SSE-NEXT:    # xmm0 = mem[3,1,2,3,4,5,6,7]4281; SSE-NEXT:    packuswb %xmm0, %xmm04282; SSE-NEXT:    pand %xmm13, %xmm04283; SSE-NEXT:    por %xmm1, %xmm04284; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4285; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]4286; SSE-NEXT:    packuswb %xmm1, %xmm14287; SSE-NEXT:    movdqa %xmm14, %xmm154288; SSE-NEXT:    pandn %xmm1, %xmm154289; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4290; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]4291; SSE-NEXT:    packuswb %xmm1, %xmm14292; SSE-NEXT:    pand %xmm14, %xmm14293; SSE-NEXT:    por %xmm15, %xmm14294; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]4295; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]4296; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4297; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]4298; SSE-NEXT:    packuswb %xmm1, %xmm14299; SSE-NEXT:    movdqa %xmm11, %xmm154300; SSE-NEXT:    pandn %xmm1, %xmm154301; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4302; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]4303; SSE-NEXT:    packuswb %xmm1, %xmm14304; SSE-NEXT:    pand %xmm11, %xmm14305; SSE-NEXT:    por %xmm15, %xmm14306; SSE-NEXT:    pshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload4307; SSE-NEXT:    # xmm15 = mem[0,1,3,1,4,5,6,7]4308; SSE-NEXT:    packuswb %xmm15, %xmm154309; SSE-NEXT:    movdqa %xmm9, %xmm24310; SSE-NEXT:    pandn %xmm15, %xmm24311; SSE-NEXT:    pshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload4312; SSE-NEXT:    # xmm15 = mem[3,1,2,3,4,5,6,7]4313; SSE-NEXT:    packuswb %xmm15, %xmm154314; SSE-NEXT:    pand %xmm9, %xmm154315; SSE-NEXT:    por %xmm2, %xmm154316; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm15[2,2,2,2]4317; SSE-NEXT:    punpckhdq {{.*#+}} xmm15 = xmm15[2],xmm1[2],xmm15[3],xmm1[3]4318; SSE-NEXT:    movsd {{.*#+}} xmm15 = xmm0[0],xmm15[1]4319; SSE-NEXT:    pshuflw $116, (%rsp), %xmm0 # 16-byte Folded Reload4320; SSE-NEXT:    # xmm0 = mem[0,1,3,1,4,5,6,7]4321; SSE-NEXT:    packuswb %xmm0, %xmm04322; SSE-NEXT:    movdqa %xmm13, %xmm14323; SSE-NEXT:    pandn %xmm0, %xmm14324; SSE-NEXT:    pshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4325; SSE-NEXT:    # xmm0 = mem[3,1,2,3,4,5,6,7]4326; SSE-NEXT:    packuswb %xmm0, %xmm04327; SSE-NEXT:    pand %xmm13, %xmm04328; SSE-NEXT:    por %xmm1, %xmm04329; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4330; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]4331; SSE-NEXT:    packuswb %xmm1, %xmm14332; SSE-NEXT:    movdqa %xmm14, %xmm24333; SSE-NEXT:    pandn %xmm1, %xmm24334; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4335; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]4336; SSE-NEXT:    packuswb %xmm1, %xmm14337; SSE-NEXT:    pand %xmm14, %xmm14338; SSE-NEXT:    por %xmm2, %xmm14339; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]4340; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]4341; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4342; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]4343; SSE-NEXT:    packuswb %xmm1, %xmm14344; SSE-NEXT:    movdqa %xmm11, %xmm24345; SSE-NEXT:    pandn %xmm1, %xmm24346; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4347; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]4348; SSE-NEXT:    packuswb %xmm1, %xmm14349; SSE-NEXT:    pand %xmm11, %xmm14350; SSE-NEXT:    por %xmm2, %xmm14351; SSE-NEXT:    pshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4352; SSE-NEXT:    # xmm2 = mem[0,1,3,1,4,5,6,7]4353; SSE-NEXT:    packuswb %xmm2, %xmm24354; SSE-NEXT:    movdqa %xmm9, %xmm34355; SSE-NEXT:    pandn %xmm2, %xmm34356; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm12[3,1,2,3,4,5,6,7]4357; SSE-NEXT:    packuswb %xmm2, %xmm24358; SSE-NEXT:    pand %xmm9, %xmm24359; SSE-NEXT:    por %xmm3, %xmm24360; SSE-NEXT:    pshufd {{.*#+}} xmm12 = xmm2[2,2,2,2]4361; SSE-NEXT:    punpckhdq {{.*#+}} xmm12 = xmm12[2],xmm1[2],xmm12[3],xmm1[3]4362; SSE-NEXT:    movsd {{.*#+}} xmm12 = xmm0[0],xmm12[1]4363; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4364; SSE-NEXT:    # xmm0 = mem[1,1,2,3]4365; SSE-NEXT:    movdqa %xmm13, %xmm14366; SSE-NEXT:    pandn %xmm0, %xmm14367; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4368; SSE-NEXT:    # xmm0 = mem[3,3,3,3]4369; SSE-NEXT:    packuswb %xmm0, %xmm04370; SSE-NEXT:    pand %xmm13, %xmm04371; SSE-NEXT:    por %xmm1, %xmm04372; SSE-NEXT:    movdqa %xmm14, %xmm14373; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4374; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4375; SSE-NEXT:    # xmm2 = mem[2,2,3,3]4376; SSE-NEXT:    packuswb %xmm2, %xmm24377; SSE-NEXT:    pand %xmm14, %xmm24378; SSE-NEXT:    por %xmm1, %xmm24379; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[1,1,1,1]4380; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]4381; SSE-NEXT:    movdqa %xmm11, %xmm14382; SSE-NEXT:    pandn %xmm7, %xmm14383; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4384; SSE-NEXT:    # xmm2 = mem[2,2,3,3]4385; SSE-NEXT:    packuswb %xmm2, %xmm24386; SSE-NEXT:    pand %xmm11, %xmm24387; SSE-NEXT:    por %xmm1, %xmm24388; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm5[0,1,3,3]4389; SSE-NEXT:    movdqa %xmm9, %xmm34390; SSE-NEXT:    pandn %xmm1, %xmm34391; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4392; SSE-NEXT:    # xmm1 = mem[3,3,3,3]4393; SSE-NEXT:    packuswb %xmm1, %xmm14394; SSE-NEXT:    pand %xmm9, %xmm14395; SSE-NEXT:    por %xmm3, %xmm14396; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[2,2,2,2]4397; SSE-NEXT:    punpckhdq {{.*#+}} xmm5 = xmm5[2],xmm2[2],xmm5[3],xmm2[3]4398; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm0[0],xmm5[1]4399; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4400; SSE-NEXT:    # xmm0 = mem[1,1,2,3]4401; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4402; SSE-NEXT:    # xmm1 = mem[3,3,3,3]4403; SSE-NEXT:    packuswb %xmm1, %xmm14404; SSE-NEXT:    pand %xmm13, %xmm14405; SSE-NEXT:    pandn %xmm0, %xmm134406; SSE-NEXT:    por %xmm1, %xmm134407; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4408; SSE-NEXT:    # xmm0 = mem[2,2,3,3]4409; SSE-NEXT:    packuswb %xmm0, %xmm04410; SSE-NEXT:    pand %xmm14, %xmm04411; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload4412; SSE-NEXT:    por %xmm0, %xmm144413; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm14[1,1,1,1]4414; SSE-NEXT:    punpckldq {{.*#+}} xmm13 = xmm13[0],xmm0[0],xmm13[1],xmm0[1]4415; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4416; SSE-NEXT:    # xmm0 = mem[2,2,3,3]4417; SSE-NEXT:    packuswb %xmm0, %xmm04418; SSE-NEXT:    pand %xmm11, %xmm04419; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Folded Reload4420; SSE-NEXT:    por %xmm0, %xmm114421; SSE-NEXT:    pshufd $244, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4422; SSE-NEXT:    # xmm0 = mem[0,1,3,3]4423; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4424; SSE-NEXT:    # xmm1 = mem[3,3,3,3]4425; SSE-NEXT:    packuswb %xmm1, %xmm14426; SSE-NEXT:    pand %xmm9, %xmm14427; SSE-NEXT:    pandn %xmm0, %xmm94428; SSE-NEXT:    por %xmm1, %xmm94429; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm9[2,2,2,2]4430; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm11[2],xmm0[3],xmm11[3]4431; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm13[0],xmm0[1]4432; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4433; SSE-NEXT:    movaps %xmm1, (%rsi)4434; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4435; SSE-NEXT:    movaps %xmm1, 16(%rsi)4436; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4437; SSE-NEXT:    movaps %xmm1, (%rdx)4438; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4439; SSE-NEXT:    movaps %xmm1, 16(%rdx)4440; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4441; SSE-NEXT:    movaps %xmm1, (%rcx)4442; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4443; SSE-NEXT:    movaps %xmm1, 16(%rcx)4444; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4445; SSE-NEXT:    movaps %xmm1, (%r8)4446; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4447; SSE-NEXT:    movaps %xmm1, 16(%r8)4448; SSE-NEXT:    movapd %xmm10, (%r9)4449; SSE-NEXT:    movapd %xmm6, 16(%r9)4450; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax4451; SSE-NEXT:    movapd %xmm4, (%rax)4452; SSE-NEXT:    movapd %xmm8, 16(%rax)4453; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax4454; SSE-NEXT:    movapd %xmm12, (%rax)4455; SSE-NEXT:    movapd %xmm15, 16(%rax)4456; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax4457; SSE-NEXT:    movapd %xmm0, 16(%rax)4458; SSE-NEXT:    movapd %xmm5, (%rax)4459; SSE-NEXT:    addq $904, %rsp # imm = 0x3884460; SSE-NEXT:    retq4461;4462; AVX-LABEL: load_i8_stride8_vf32:4463; AVX:       # %bb.0:4464; AVX-NEXT:    subq $360, %rsp # imm = 0x1684465; AVX-NEXT:    vbroadcastss {{.*#+}} xmm10 = [0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8]4466; AVX-NEXT:    vmovdqa 112(%rdi), %xmm44467; AVX-NEXT:    vpshufb %xmm10, %xmm4, %xmm04468; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4469; AVX-NEXT:    vmovdqa 96(%rdi), %xmm74470; AVX-NEXT:    vpshufb %xmm10, %xmm7, %xmm34471; AVX-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4472; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3]4473; AVX-NEXT:    vbroadcastss {{.*#+}} xmm12 = [0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0]4474; AVX-NEXT:    vmovdqa 80(%rdi), %xmm14475; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4476; AVX-NEXT:    vpshufb %xmm12, %xmm1, %xmm34477; AVX-NEXT:    vmovdqa 64(%rdi), %xmm54478; AVX-NEXT:    vpshufb %xmm12, %xmm5, %xmm64479; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4480; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm6[0],xmm3[0],xmm6[1],xmm3[1],xmm6[2],xmm3[2],xmm6[3],xmm3[3]4481; AVX-NEXT:    vpblendw {{.*#+}} xmm8 = xmm3[0,1,2,3,4,5],xmm0[6,7]4482; AVX-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0]4483; AVX-NEXT:    vmovdqa (%rdi), %xmm04484; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4485; AVX-NEXT:    vmovdqa 16(%rdi), %xmm14486; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4487; AVX-NEXT:    vmovdqa 32(%rdi), %xmm24488; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4489; AVX-NEXT:    vmovdqa 48(%rdi), %xmm34490; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4491; AVX-NEXT:    vpshufb %xmm14, %xmm3, %xmm94492; AVX-NEXT:    vpshufb %xmm14, %xmm2, %xmm114493; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm11[0],xmm9[0],xmm11[1],xmm9[1],xmm11[2],xmm9[2],xmm11[3],xmm9[3]4494; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4495; AVX-NEXT:    vpshufb %xmm3, %xmm1, %xmm114496; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm134497; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm13[0],xmm11[0],xmm13[1],xmm11[1],xmm13[2],xmm11[2],xmm13[3],xmm11[3]4498; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm11[0,1],xmm9[2,3],xmm11[4,5,6,7]4499; AVX-NEXT:    vpblendw {{.*#+}} xmm8 = xmm9[0,1,2,3],xmm8[4,5,6,7]4500; AVX-NEXT:    vmovdqa 240(%rdi), %xmm04501; AVX-NEXT:    vmovdqa %xmm0, (%rsp) # 16-byte Spill4502; AVX-NEXT:    vpshufb %xmm10, %xmm0, %xmm114503; AVX-NEXT:    vmovdqa 224(%rdi), %xmm04504; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4505; AVX-NEXT:    vpshufb %xmm10, %xmm0, %xmm104506; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]4507; AVX-NEXT:    vmovdqa 208(%rdi), %xmm04508; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4509; AVX-NEXT:    vpshufb %xmm12, %xmm0, %xmm154510; AVX-NEXT:    vmovdqa 192(%rdi), %xmm04511; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4512; AVX-NEXT:    vpshufb %xmm12, %xmm0, %xmm124513; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm15[0],xmm12[1],xmm15[1],xmm12[2],xmm15[2],xmm12[3],xmm15[3]4514; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm12[0,1,2,3,4,5],xmm13[6,7]4515; AVX-NEXT:    vmovdqa 176(%rdi), %xmm04516; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4517; AVX-NEXT:    vpshufb %xmm14, %xmm0, %xmm154518; AVX-NEXT:    vmovdqa 160(%rdi), %xmm04519; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4520; AVX-NEXT:    vpshufb %xmm14, %xmm0, %xmm144521; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]4522; AVX-NEXT:    vmovdqa 144(%rdi), %xmm154523; AVX-NEXT:    vpshufb %xmm3, %xmm15, %xmm04524; AVX-NEXT:    vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4525; AVX-NEXT:    vmovdqa 128(%rdi), %xmm144526; AVX-NEXT:    vpshufb %xmm3, %xmm14, %xmm34527; AVX-NEXT:    vmovdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4528; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3]4529; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5,6,7]4530; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm14531; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04532; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]4533; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]4534; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4535; AVX-NEXT:    vbroadcastss {{.*#+}} xmm8 = [0,0,1,9,0,0,1,9,0,0,1,9,0,0,1,9]4536; AVX-NEXT:    vpshufb %xmm8, %xmm4, %xmm14537; AVX-NEXT:    vpshufb %xmm8, %xmm7, %xmm24538; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4539; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [1,9,0,0,1,9,0,0,1,9,0,0,1,9,0,0]4540; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4541; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm34542; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm44543; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4544; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm3[0,1,2,3,4,5],xmm1[6,7]4545; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [0,0,1,9,0,0,0,0,0,0,0,0,0,0,0,0]4546; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload4547; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm44548; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4549; AVX-NEXT:    vpshufb %xmm3, %xmm9, %xmm54550; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]4551; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4552; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload4553; AVX-NEXT:    vpshufb %xmm5, %xmm11, %xmm04554; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload4555; AVX-NEXT:    vpshufb %xmm5, %xmm7, %xmm74556; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm7[0],xmm0[0],xmm7[1],xmm0[1],xmm7[2],xmm0[2],xmm7[3],xmm0[3]4557; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm4[2,3],xmm0[4,5,6,7]4558; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm1[4,5,6,7]4559; AVX-NEXT:    vmovdqa (%rsp), %xmm12 # 16-byte Reload4560; AVX-NEXT:    vpshufb %xmm8, %xmm12, %xmm14561; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4562; AVX-NEXT:    vpshufb %xmm8, %xmm10, %xmm44563; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]4564; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4565; AVX-NEXT:    vpshufb %xmm2, %xmm4, %xmm44566; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload4567; AVX-NEXT:    vpshufb %xmm2, %xmm7, %xmm24568; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]4569; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,5],xmm1[6,7]4570; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4571; AVX-NEXT:    vpshufb %xmm3, %xmm2, %xmm24572; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4573; AVX-NEXT:    vpshufb %xmm3, %xmm4, %xmm34574; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]4575; AVX-NEXT:    vpshufb %xmm5, %xmm15, %xmm34576; AVX-NEXT:    vpshufb %xmm5, %xmm14, %xmm44577; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4578; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3],xmm3[4,5,6,7]4579; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm14580; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm24581; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]4582; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]4583; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4584; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,2,10,0,0,2,10,0,0,2,10,0,0,2,10]4585; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload4586; AVX-NEXT:    vpshufb %xmm0, %xmm14, %xmm14587; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload4588; AVX-NEXT:    vpshufb %xmm0, %xmm15, %xmm24589; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4590; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [2,10,0,0,2,10,0,0,2,10,0,0,2,10,0,0]4591; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm34592; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload4593; AVX-NEXT:    vpshufb %xmm2, %xmm8, %xmm44594; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4595; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm3[0,1,2,3,4,5],xmm1[6,7]4596; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [0,0,2,10,0,0,0,0,0,0,0,0,0,0,0,0]4597; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm44598; AVX-NEXT:    vpshufb %xmm3, %xmm9, %xmm54599; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]4600; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [2,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4601; AVX-NEXT:    vpshufb %xmm5, %xmm11, %xmm64602; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload4603; AVX-NEXT:    vpshufb %xmm5, %xmm13, %xmm74604; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]4605; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3],xmm6[4,5,6,7]4606; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm4[0,1,2,3],xmm1[4,5,6,7]4607; AVX-NEXT:    vpshufb %xmm0, %xmm12, %xmm44608; AVX-NEXT:    vpshufb %xmm0, %xmm10, %xmm04609; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]4610; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4611; AVX-NEXT:    vpshufb %xmm2, %xmm10, %xmm44612; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload4613; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm24614; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]4615; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm2[0,1,2,3,4,5],xmm0[6,7]4616; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload4617; AVX-NEXT:    vpshufb %xmm3, %xmm12, %xmm24618; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4619; AVX-NEXT:    vpshufb %xmm3, %xmm4, %xmm34620; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]4621; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4622; AVX-NEXT:    vpshufb %xmm5, %xmm3, %xmm34623; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4624; AVX-NEXT:    vpshufb %xmm5, %xmm4, %xmm44625; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4626; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3],xmm3[4,5,6,7]4627; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04628; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm24629; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]4630; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]4631; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4632; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,3,11,0,0,3,11,0,0,3,11,0,0,3,11]4633; AVX-NEXT:    vpshufb %xmm0, %xmm14, %xmm14634; AVX-NEXT:    vpshufb %xmm0, %xmm15, %xmm24635; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4636; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [3,11,0,0,3,11,0,0,3,11,0,0,3,11,0,0]4637; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4638; AVX-NEXT:    vpshufb %xmm2, %xmm3, %xmm34639; AVX-NEXT:    vpshufb %xmm2, %xmm8, %xmm44640; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4641; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm3[0,1,2,3,4,5],xmm1[6,7]4642; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [0,0,3,11,0,0,0,0,0,0,0,0,0,0,0,0]4643; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4644; AVX-NEXT:    vpshufb %xmm3, %xmm9, %xmm44645; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4646; AVX-NEXT:    vpshufb %xmm3, %xmm5, %xmm54647; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]4648; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [3,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4649; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4650; AVX-NEXT:    vpshufb %xmm5, %xmm6, %xmm64651; AVX-NEXT:    vmovdqa %xmm13, %xmm84652; AVX-NEXT:    vpshufb %xmm5, %xmm13, %xmm74653; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]4654; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3],xmm6[4,5,6,7]4655; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm4[0,1,2,3],xmm1[4,5,6,7]4656; AVX-NEXT:    vmovdqa (%rsp), %xmm4 # 16-byte Reload4657; AVX-NEXT:    vpshufb %xmm0, %xmm4, %xmm44658; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4659; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm04660; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]4661; AVX-NEXT:    vpshufb %xmm2, %xmm10, %xmm44662; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm24663; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]4664; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm2[0,1,2,3,4,5],xmm0[6,7]4665; AVX-NEXT:    vpshufb %xmm3, %xmm12, %xmm24666; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload4667; AVX-NEXT:    vpshufb %xmm3, %xmm14, %xmm34668; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]4669; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload4670; AVX-NEXT:    vpshufb %xmm5, %xmm12, %xmm34671; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload4672; AVX-NEXT:    vpshufb %xmm5, %xmm15, %xmm44673; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4674; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3],xmm3[4,5,6,7]4675; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04676; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm24677; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]4678; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]4679; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4680; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,4,12,0,0,4,12,0,0,4,12,0,0,4,12]4681; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4682; AVX-NEXT:    vpshufb %xmm0, %xmm10, %xmm14683; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4684; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm24685; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4686; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [4,12,0,0,4,12,0,0,4,12,0,0,4,12,0,0]4687; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload4688; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm34689; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload4690; AVX-NEXT:    vpshufb %xmm2, %xmm13, %xmm44691; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4692; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm3[0,1,2,3,4,5],xmm1[6,7]4693; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [0,0,4,12,0,0,0,0,0,0,0,0,0,0,0,0]4694; AVX-NEXT:    vpshufb %xmm3, %xmm9, %xmm44695; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4696; AVX-NEXT:    vpshufb %xmm3, %xmm5, %xmm54697; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]4698; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [4,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4699; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4700; AVX-NEXT:    vpshufb %xmm5, %xmm6, %xmm64701; AVX-NEXT:    vpshufb %xmm5, %xmm8, %xmm74702; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]4703; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3],xmm6[4,5,6,7]4704; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm4[0,1,2,3],xmm1[4,5,6,7]4705; AVX-NEXT:    vmovdqa (%rsp), %xmm9 # 16-byte Reload4706; AVX-NEXT:    vpshufb %xmm0, %xmm9, %xmm44707; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4708; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm04709; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]4710; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4711; AVX-NEXT:    vpshufb %xmm2, %xmm4, %xmm44712; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4713; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm24714; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]4715; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm2[0,1,2,3,4,5],xmm0[6,7]4716; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4717; AVX-NEXT:    vpshufb %xmm3, %xmm2, %xmm24718; AVX-NEXT:    vpshufb %xmm3, %xmm14, %xmm34719; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]4720; AVX-NEXT:    vpshufb %xmm5, %xmm12, %xmm34721; AVX-NEXT:    vpshufb %xmm5, %xmm15, %xmm44722; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4723; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3],xmm3[4,5,6,7]4724; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04725; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm24726; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]4727; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]4728; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4729; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,5,13,0,0,5,13,0,0,5,13,0,0,5,13]4730; AVX-NEXT:    vpshufb %xmm0, %xmm10, %xmm14731; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload4732; AVX-NEXT:    vpshufb %xmm0, %xmm8, %xmm24733; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4734; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [5,13,0,0,5,13,0,0,5,13,0,0,5,13,0,0]4735; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm34736; AVX-NEXT:    vpshufb %xmm2, %xmm13, %xmm44737; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4738; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm3[0,1,2,3,4,5],xmm1[6,7]4739; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [0,0,5,13,0,0,0,0,0,0,0,0,0,0,0,0]4740; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4741; AVX-NEXT:    vpshufb %xmm3, %xmm4, %xmm44742; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload4743; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm54744; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]4745; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [5,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4746; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4747; AVX-NEXT:    vpshufb %xmm5, %xmm10, %xmm64748; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload4749; AVX-NEXT:    vpshufb %xmm5, %xmm14, %xmm74750; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]4751; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3],xmm6[4,5,6,7]4752; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm4[0,1,2,3],xmm1[4,5,6,7]4753; AVX-NEXT:    vpshufb %xmm0, %xmm9, %xmm44754; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload4755; AVX-NEXT:    vpshufb %xmm0, %xmm15, %xmm04756; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]4757; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4758; AVX-NEXT:    vpshufb %xmm2, %xmm9, %xmm44759; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload4760; AVX-NEXT:    vpshufb %xmm2, %xmm12, %xmm24761; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]4762; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm2[0,1,2,3,4,5],xmm0[6,7]4763; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload4764; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm24765; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4766; AVX-NEXT:    vpshufb %xmm3, %xmm4, %xmm34767; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]4768; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4769; AVX-NEXT:    vpshufb %xmm5, %xmm3, %xmm34770; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4771; AVX-NEXT:    vpshufb %xmm5, %xmm4, %xmm44772; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4773; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3],xmm3[4,5,6,7]4774; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04775; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm24776; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]4777; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]4778; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4779; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,6,14,0,0,6,14,0,0,6,14,0,0,6,14]4780; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4781; AVX-NEXT:    vpshufb %xmm0, %xmm1, %xmm14782; AVX-NEXT:    vpshufb %xmm0, %xmm8, %xmm24783; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4784; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [6,14,0,0,6,14,0,0,6,14,0,0,6,14,0,0]4785; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4786; AVX-NEXT:    vpshufb %xmm2, %xmm3, %xmm34787; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4788; AVX-NEXT:    vpshufb %xmm2, %xmm4, %xmm44789; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4790; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm3[0,1,2,3,4,5],xmm1[6,7]4791; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [0,0,6,14,0,0,0,0,0,0,0,0,0,0,0,0]4792; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload4793; AVX-NEXT:    vpshufb %xmm3, %xmm8, %xmm44794; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm54795; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]4796; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [6,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4797; AVX-NEXT:    vpshufb %xmm5, %xmm10, %xmm64798; AVX-NEXT:    vpshufb %xmm5, %xmm14, %xmm74799; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]4800; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3],xmm6[4,5,6,7]4801; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm4[0,1,2,3],xmm1[4,5,6,7]4802; AVX-NEXT:    vmovdqa (%rsp), %xmm14 # 16-byte Reload4803; AVX-NEXT:    vpshufb %xmm0, %xmm14, %xmm44804; AVX-NEXT:    vmovdqa %xmm15, %xmm104805; AVX-NEXT:    vpshufb %xmm0, %xmm15, %xmm04806; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]4807; AVX-NEXT:    vpshufb %xmm2, %xmm9, %xmm44808; AVX-NEXT:    vpshufb %xmm2, %xmm12, %xmm24809; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]4810; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm2[0,1,2,3,4,5],xmm0[6,7]4811; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm24812; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload4813; AVX-NEXT:    vpshufb %xmm3, %xmm15, %xmm34814; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]4815; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4816; AVX-NEXT:    vpshufb %xmm5, %xmm9, %xmm34817; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload4818; AVX-NEXT:    vpshufb %xmm5, %xmm11, %xmm44819; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4820; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3],xmm3[4,5,6,7]4821; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04822; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm24823; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]4824; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]4825; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4826; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,7,15,0,0,7,15,0,0,7,15,0,0,7,15]4827; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4828; AVX-NEXT:    vpshufb %xmm0, %xmm1, %xmm14829; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4830; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm24831; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4832; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [7,15,0,0,7,15,0,0,7,15,0,0,7,15,0,0]4833; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4834; AVX-NEXT:    vpshufb %xmm2, %xmm3, %xmm34835; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4836; AVX-NEXT:    vpshufb %xmm2, %xmm4, %xmm44837; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4838; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm3[0,1,2,3,4,5],xmm1[6,7]4839; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [0,0,7,15,0,0,0,0,0,0,0,0,0,0,0,0]4840; AVX-NEXT:    vpshufb %xmm3, %xmm8, %xmm44841; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4842; AVX-NEXT:    vpshufb %xmm3, %xmm5, %xmm54843; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]4844; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4845; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4846; AVX-NEXT:    vpshufb %xmm5, %xmm6, %xmm64847; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload4848; AVX-NEXT:    vpshufb %xmm5, %xmm7, %xmm74849; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]4850; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3],xmm6[4,5,6,7]4851; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm4[0,1,2,3],xmm1[4,5,6,7]4852; AVX-NEXT:    vpshufb %xmm0, %xmm14, %xmm44853; AVX-NEXT:    vpshufb %xmm0, %xmm10, %xmm04854; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]4855; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4856; AVX-NEXT:    vpshufb %xmm2, %xmm4, %xmm44857; AVX-NEXT:    vpshufb %xmm2, %xmm12, %xmm24858; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]4859; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm2[0,1,2,3,4,5],xmm0[6,7]4860; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm24861; AVX-NEXT:    vpshufb %xmm3, %xmm15, %xmm34862; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]4863; AVX-NEXT:    vpshufb %xmm5, %xmm9, %xmm34864; AVX-NEXT:    vpshufb %xmm5, %xmm11, %xmm44865; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4866; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3],xmm3[4,5,6,7]4867; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm04868; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm24869; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]4870; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]4871; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4872; AVX-NEXT:    vmovaps %ymm1, (%rsi)4873; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4874; AVX-NEXT:    vmovaps %ymm1, (%rdx)4875; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4876; AVX-NEXT:    vmovaps %ymm1, (%rcx)4877; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4878; AVX-NEXT:    vmovaps %ymm1, (%r8)4879; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4880; AVX-NEXT:    vmovaps %ymm1, (%r9)4881; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax4882; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4883; AVX-NEXT:    vmovaps %ymm1, (%rax)4884; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax4885; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4886; AVX-NEXT:    vmovaps %ymm1, (%rax)4887; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax4888; AVX-NEXT:    vmovaps %ymm0, (%rax)4889; AVX-NEXT:    addq $360, %rsp # imm = 0x1684890; AVX-NEXT:    vzeroupper4891; AVX-NEXT:    retq4892;4893; AVX2-LABEL: load_i8_stride8_vf32:4894; AVX2:       # %bb.0:4895; AVX2-NEXT:    subq $360, %rsp # imm = 0x1684896; AVX2-NEXT:    vmovdqa 112(%rdi), %xmm04897; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4898; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]4899; AVX2-NEXT:    vpshufb %xmm10, %xmm0, %xmm04900; AVX2-NEXT:    vmovdqa 96(%rdi), %xmm44901; AVX2-NEXT:    vpshufb %xmm10, %xmm4, %xmm24902; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4903; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]4904; AVX2-NEXT:    vmovdqa 80(%rdi), %xmm14905; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4906; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]4907; AVX2-NEXT:    vpshufb %xmm12, %xmm1, %xmm24908; AVX2-NEXT:    vmovdqa 64(%rdi), %xmm54909; AVX2-NEXT:    vpshufb %xmm12, %xmm5, %xmm64910; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4911; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm6[0],xmm2[0],xmm6[1],xmm2[1],xmm6[2],xmm2[2],xmm6[3],xmm2[3]4912; AVX2-NEXT:    vpblendd {{.*#+}} xmm8 = xmm2[0,1,2],xmm0[3]4913; AVX2-NEXT:    vmovdqa (%rdi), %xmm04914; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4915; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm74916; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm24917; AVX2-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4918; AVX2-NEXT:    vmovdqa 48(%rdi), %xmm34919; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4920; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]4921; AVX2-NEXT:    vpshufb %xmm14, %xmm3, %xmm94922; AVX2-NEXT:    vpshufb %xmm14, %xmm2, %xmm114923; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm11[0],xmm9[0],xmm11[1],xmm9[1],xmm11[2],xmm9[2],xmm11[3],xmm9[3]4924; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]4925; AVX2-NEXT:    vpshufb %xmm3, %xmm7, %xmm114926; AVX2-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4927; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm134928; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm13[0],xmm11[0],xmm13[1],xmm11[1],xmm13[2],xmm11[2],xmm13[3],xmm11[3]4929; AVX2-NEXT:    vpblendd {{.*#+}} xmm9 = xmm11[0],xmm9[1],xmm11[2,3]4930; AVX2-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]4931; AVX2-NEXT:    vmovdqa 240(%rdi), %xmm04932; AVX2-NEXT:    vmovdqa %xmm0, (%rsp) # 16-byte Spill4933; AVX2-NEXT:    vpshufb %xmm10, %xmm0, %xmm114934; AVX2-NEXT:    vmovdqa 224(%rdi), %xmm04935; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4936; AVX2-NEXT:    vpshufb %xmm10, %xmm0, %xmm104937; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]4938; AVX2-NEXT:    vmovdqa 208(%rdi), %xmm114939; AVX2-NEXT:    vpshufb %xmm12, %xmm11, %xmm154940; AVX2-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4941; AVX2-NEXT:    vmovdqa 192(%rdi), %xmm04942; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4943; AVX2-NEXT:    vpshufb %xmm12, %xmm0, %xmm124944; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm15[0],xmm12[1],xmm15[1],xmm12[2],xmm15[2],xmm12[3],xmm15[3]4945; AVX2-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm134946; AVX2-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm124947; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm12[0,1,2,3,4,5,6],ymm13[7]4948; AVX2-NEXT:    vmovdqa 176(%rdi), %xmm04949; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4950; AVX2-NEXT:    vpshufb %xmm14, %xmm0, %xmm154951; AVX2-NEXT:    vmovdqa 160(%rdi), %xmm04952; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4953; AVX2-NEXT:    vpshufb %xmm14, %xmm0, %xmm144954; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]4955; AVX2-NEXT:    vmovdqa 144(%rdi), %xmm04956; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4957; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm04958; AVX2-NEXT:    vmovdqa 128(%rdi), %xmm134959; AVX2-NEXT:    vpshufb %xmm3, %xmm13, %xmm34960; AVX2-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4961; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3]4962; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm14963; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm04964; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]4965; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]4966; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]4967; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4968; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]4969; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4970; AVX2-NEXT:    vpshufb %xmm8, %xmm0, %xmm14971; AVX2-NEXT:    vpshufb %xmm8, %xmm4, %xmm24972; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]4973; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]4974; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4975; AVX2-NEXT:    vpshufb %xmm2, %xmm6, %xmm34976; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm44977; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]4978; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]4979; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]4980; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload4981; AVX2-NEXT:    vpshufb %xmm3, %xmm15, %xmm44982; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4983; AVX2-NEXT:    vpshufb %xmm3, %xmm9, %xmm54984; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]4985; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]4986; AVX2-NEXT:    vpshufb %xmm5, %xmm7, %xmm04987; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload4988; AVX2-NEXT:    vpshufb %xmm5, %xmm14, %xmm74989; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm7[0],xmm0[0],xmm7[1],xmm0[1],xmm7[2],xmm0[2],xmm7[3],xmm0[3]4990; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm4[1],xmm0[2,3]4991; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]4992; AVX2-NEXT:    vmovdqa (%rsp), %xmm12 # 16-byte Reload4993; AVX2-NEXT:    vpshufb %xmm8, %xmm12, %xmm14994; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4995; AVX2-NEXT:    vpshufb %xmm8, %xmm10, %xmm44996; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]4997; AVX2-NEXT:    vpshufb %xmm2, %xmm11, %xmm44998; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload4999; AVX2-NEXT:    vpshufb %xmm2, %xmm11, %xmm25000; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5001; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15002; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25003; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]5004; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload5005; AVX2-NEXT:    vpshufb %xmm3, %xmm2, %xmm25006; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5007; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm35008; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5009; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5010; AVX2-NEXT:    vpshufb %xmm5, %xmm3, %xmm35011; AVX2-NEXT:    vpshufb %xmm5, %xmm13, %xmm45012; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5013; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25014; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35015; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5016; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]5017; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5018; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5019; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]5020; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5021; AVX2-NEXT:    vpshufb %xmm0, %xmm1, %xmm15022; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5023; AVX2-NEXT:    vpshufb %xmm0, %xmm13, %xmm25024; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5025; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]5026; AVX2-NEXT:    vpshufb %xmm2, %xmm6, %xmm35027; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5028; AVX2-NEXT:    vpshufb %xmm2, %xmm8, %xmm45029; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5030; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5031; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]5032; AVX2-NEXT:    vpshufb %xmm3, %xmm15, %xmm45033; AVX2-NEXT:    vpshufb %xmm3, %xmm9, %xmm55034; AVX2-NEXT:    vmovdqa %xmm9, %xmm155035; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5036; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]5037; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5038; AVX2-NEXT:    vpshufb %xmm5, %xmm6, %xmm65039; AVX2-NEXT:    vpshufb %xmm5, %xmm14, %xmm75040; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5041; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5042; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5043; AVX2-NEXT:    vpshufb %xmm0, %xmm12, %xmm45044; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm05045; AVX2-NEXT:    vmovdqa %xmm10, %xmm145046; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5047; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5048; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm45049; AVX2-NEXT:    vpshufb %xmm2, %xmm11, %xmm25050; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5051; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05052; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25053; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5054; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5055; AVX2-NEXT:    vpshufb %xmm3, %xmm12, %xmm25056; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5057; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm35058; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5059; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5060; AVX2-NEXT:    vpshufb %xmm5, %xmm3, %xmm35061; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5062; AVX2-NEXT:    vpshufb %xmm5, %xmm4, %xmm45063; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5064; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25065; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35066; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5067; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5068; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5069; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5070; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]5071; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5072; AVX2-NEXT:    vpshufb %xmm0, %xmm1, %xmm15073; AVX2-NEXT:    vpshufb %xmm0, %xmm13, %xmm25074; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5075; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]5076; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5077; AVX2-NEXT:    vpshufb %xmm2, %xmm3, %xmm35078; AVX2-NEXT:    vpshufb %xmm2, %xmm8, %xmm45079; AVX2-NEXT:    vmovdqa %xmm8, %xmm135080; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5081; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5082; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]5083; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5084; AVX2-NEXT:    vpshufb %xmm3, %xmm9, %xmm45085; AVX2-NEXT:    vpshufb %xmm3, %xmm15, %xmm55086; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5087; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]5088; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload5089; AVX2-NEXT:    vpshufb %xmm5, %xmm11, %xmm65090; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5091; AVX2-NEXT:    vpshufb %xmm5, %xmm15, %xmm75092; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5093; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5094; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5095; AVX2-NEXT:    vmovdqa (%rsp), %xmm4 # 16-byte Reload5096; AVX2-NEXT:    vpshufb %xmm0, %xmm4, %xmm45097; AVX2-NEXT:    vpshufb %xmm0, %xmm14, %xmm05098; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5099; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm45100; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5101; AVX2-NEXT:    vpshufb %xmm2, %xmm8, %xmm25102; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5103; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05104; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25105; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5106; AVX2-NEXT:    vpshufb %xmm3, %xmm12, %xmm25107; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload5108; AVX2-NEXT:    vpshufb %xmm3, %xmm14, %xmm35109; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5110; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5111; AVX2-NEXT:    vpshufb %xmm5, %xmm3, %xmm35112; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5113; AVX2-NEXT:    vpshufb %xmm5, %xmm4, %xmm45114; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5115; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25116; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35117; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5118; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5119; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5120; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5121; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]5122; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5123; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm15124; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload5125; AVX2-NEXT:    vpshufb %xmm0, %xmm2, %xmm25126; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5127; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]5128; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5129; AVX2-NEXT:    vpshufb %xmm2, %xmm12, %xmm35130; AVX2-NEXT:    vpshufb %xmm2, %xmm13, %xmm45131; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5132; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5133; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]5134; AVX2-NEXT:    vpshufb %xmm3, %xmm9, %xmm45135; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5136; AVX2-NEXT:    vpshufb %xmm3, %xmm13, %xmm55137; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5138; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]5139; AVX2-NEXT:    vpshufb %xmm5, %xmm11, %xmm65140; AVX2-NEXT:    vpshufb %xmm5, %xmm15, %xmm75141; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5142; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5143; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5144; AVX2-NEXT:    vmovdqa (%rsp), %xmm9 # 16-byte Reload5145; AVX2-NEXT:    vpshufb %xmm0, %xmm9, %xmm45146; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5147; AVX2-NEXT:    vpshufb %xmm0, %xmm6, %xmm05148; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5149; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5150; AVX2-NEXT:    vpshufb %xmm2, %xmm4, %xmm45151; AVX2-NEXT:    vpshufb %xmm2, %xmm8, %xmm25152; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5153; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05154; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25155; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5156; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5157; AVX2-NEXT:    vpshufb %xmm3, %xmm15, %xmm25158; AVX2-NEXT:    vpshufb %xmm3, %xmm14, %xmm35159; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5160; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload5161; AVX2-NEXT:    vpshufb %xmm5, %xmm14, %xmm35162; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5163; AVX2-NEXT:    vpshufb %xmm5, %xmm4, %xmm45164; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5165; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25166; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35167; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5168; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5169; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5170; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5171; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]5172; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm15173; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5174; AVX2-NEXT:    vpshufb %xmm0, %xmm8, %xmm25175; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5176; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]5177; AVX2-NEXT:    vmovdqa %xmm12, %xmm115178; AVX2-NEXT:    vpshufb %xmm2, %xmm12, %xmm35179; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5180; AVX2-NEXT:    vpshufb %xmm2, %xmm4, %xmm45181; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5182; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5183; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]5184; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5185; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm45186; AVX2-NEXT:    vpshufb %xmm3, %xmm13, %xmm55187; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5188; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]5189; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5190; AVX2-NEXT:    vpshufb %xmm5, %xmm6, %xmm65191; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload5192; AVX2-NEXT:    vpshufb %xmm5, %xmm7, %xmm75193; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5194; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5195; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5196; AVX2-NEXT:    vpshufb %xmm0, %xmm9, %xmm45197; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5198; AVX2-NEXT:    vpshufb %xmm0, %xmm9, %xmm05199; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5200; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5201; AVX2-NEXT:    vpshufb %xmm2, %xmm13, %xmm45202; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5203; AVX2-NEXT:    vpshufb %xmm2, %xmm12, %xmm25204; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5205; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05206; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25207; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5208; AVX2-NEXT:    vpshufb %xmm3, %xmm15, %xmm25209; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5210; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm35211; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5212; AVX2-NEXT:    vpshufb %xmm5, %xmm14, %xmm35213; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5214; AVX2-NEXT:    vpshufb %xmm5, %xmm10, %xmm45215; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5216; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25217; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35218; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5219; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5220; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5221; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5222; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]5223; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5224; AVX2-NEXT:    vpshufb %xmm0, %xmm1, %xmm15225; AVX2-NEXT:    vpshufb %xmm0, %xmm8, %xmm25226; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5227; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]5228; AVX2-NEXT:    vpshufb %xmm2, %xmm11, %xmm35229; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload5230; AVX2-NEXT:    vpshufb %xmm2, %xmm14, %xmm45231; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5232; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5233; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]5234; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload5235; AVX2-NEXT:    vpshufb %xmm3, %xmm11, %xmm45236; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload5237; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm55238; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5239; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]5240; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5241; AVX2-NEXT:    vpshufb %xmm5, %xmm6, %xmm65242; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5243; AVX2-NEXT:    vpshufb %xmm5, %xmm8, %xmm75244; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5245; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5246; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5247; AVX2-NEXT:    vmovdqa (%rsp), %xmm15 # 16-byte Reload5248; AVX2-NEXT:    vpshufb %xmm0, %xmm15, %xmm45249; AVX2-NEXT:    vpshufb %xmm0, %xmm9, %xmm05250; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5251; AVX2-NEXT:    vpshufb %xmm2, %xmm13, %xmm45252; AVX2-NEXT:    vpshufb %xmm2, %xmm12, %xmm25253; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5254; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05255; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25256; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5257; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5258; AVX2-NEXT:    vpshufb %xmm3, %xmm13, %xmm25259; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5260; AVX2-NEXT:    vpshufb %xmm3, %xmm9, %xmm35261; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5262; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5263; AVX2-NEXT:    vpshufb %xmm5, %xmm12, %xmm35264; AVX2-NEXT:    vpshufb %xmm5, %xmm10, %xmm45265; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5266; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25267; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35268; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5269; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5270; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5271; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5272; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]5273; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5274; AVX2-NEXT:    vpshufb %xmm0, %xmm1, %xmm15275; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload5276; AVX2-NEXT:    vpshufb %xmm0, %xmm2, %xmm25277; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5278; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]5279; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5280; AVX2-NEXT:    vpshufb %xmm2, %xmm3, %xmm35281; AVX2-NEXT:    vpshufb %xmm2, %xmm14, %xmm45282; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5283; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5284; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]5285; AVX2-NEXT:    vpshufb %xmm3, %xmm11, %xmm45286; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload5287; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm55288; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5289; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]5290; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5291; AVX2-NEXT:    vpshufb %xmm5, %xmm6, %xmm65292; AVX2-NEXT:    vpshufb %xmm5, %xmm8, %xmm75293; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5294; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5295; AVX2-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5296; AVX2-NEXT:    vpshufb %xmm0, %xmm15, %xmm45297; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5298; AVX2-NEXT:    vpshufb %xmm0, %xmm6, %xmm05299; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5300; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5301; AVX2-NEXT:    vpshufb %xmm2, %xmm4, %xmm45302; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5303; AVX2-NEXT:    vpshufb %xmm2, %xmm6, %xmm25304; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5305; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05306; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25307; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5308; AVX2-NEXT:    vpshufb %xmm3, %xmm13, %xmm25309; AVX2-NEXT:    vpshufb %xmm3, %xmm9, %xmm35310; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5311; AVX2-NEXT:    vpshufb %xmm5, %xmm12, %xmm35312; AVX2-NEXT:    vpshufb %xmm5, %xmm10, %xmm45313; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5314; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25315; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35316; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5317; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5318; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5319; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5320; AVX2-NEXT:    vmovaps %ymm1, (%rsi)5321; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5322; AVX2-NEXT:    vmovaps %ymm1, (%rdx)5323; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5324; AVX2-NEXT:    vmovaps %ymm1, (%rcx)5325; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5326; AVX2-NEXT:    vmovaps %ymm1, (%r8)5327; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5328; AVX2-NEXT:    vmovaps %ymm1, (%r9)5329; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax5330; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5331; AVX2-NEXT:    vmovaps %ymm1, (%rax)5332; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax5333; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5334; AVX2-NEXT:    vmovaps %ymm1, (%rax)5335; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax5336; AVX2-NEXT:    vmovdqa %ymm0, (%rax)5337; AVX2-NEXT:    addq $360, %rsp # imm = 0x1685338; AVX2-NEXT:    vzeroupper5339; AVX2-NEXT:    retq5340;5341; AVX2-FP-LABEL: load_i8_stride8_vf32:5342; AVX2-FP:       # %bb.0:5343; AVX2-FP-NEXT:    subq $360, %rsp # imm = 0x1685344; AVX2-FP-NEXT:    vmovdqa 112(%rdi), %xmm05345; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5346; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]5347; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm0, %xmm05348; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %xmm45349; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm4, %xmm25350; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5351; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]5352; AVX2-FP-NEXT:    vmovdqa 80(%rdi), %xmm15353; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5354; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]5355; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm1, %xmm25356; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %xmm55357; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm5, %xmm65358; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5359; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm6[0],xmm2[0],xmm6[1],xmm2[1],xmm6[2],xmm2[2],xmm6[3],xmm2[3]5360; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm2[0,1,2],xmm0[3]5361; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm05362; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5363; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm75364; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm25365; AVX2-FP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5366; AVX2-FP-NEXT:    vmovdqa 48(%rdi), %xmm35367; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5368; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]5369; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm3, %xmm95370; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm2, %xmm115371; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm11[0],xmm9[0],xmm11[1],xmm9[1],xmm11[2],xmm9[2],xmm11[3],xmm9[3]5372; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]5373; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm7, %xmm115374; AVX2-FP-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5375; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm135376; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm11 = xmm13[0],xmm11[0],xmm13[1],xmm11[1],xmm13[2],xmm11[2],xmm13[3],xmm11[3]5377; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm11[0],xmm9[1],xmm11[2,3]5378; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm8 = xmm9[0,1],xmm8[2,3]5379; AVX2-FP-NEXT:    vmovdqa 240(%rdi), %xmm05380; AVX2-FP-NEXT:    vmovdqa %xmm0, (%rsp) # 16-byte Spill5381; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm0, %xmm115382; AVX2-FP-NEXT:    vmovdqa 224(%rdi), %xmm05383; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5384; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm0, %xmm105385; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm10[0],xmm11[0],xmm10[1],xmm11[1],xmm10[2],xmm11[2],xmm10[3],xmm11[3]5386; AVX2-FP-NEXT:    vmovdqa 208(%rdi), %xmm115387; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm11, %xmm155388; AVX2-FP-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5389; AVX2-FP-NEXT:    vmovdqa 192(%rdi), %xmm05390; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5391; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm0, %xmm125392; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm15[0],xmm12[1],xmm15[1],xmm12[2],xmm15[2],xmm12[3],xmm15[3]5393; AVX2-FP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm135394; AVX2-FP-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm125395; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm12[0,1,2,3,4,5,6],ymm13[7]5396; AVX2-FP-NEXT:    vmovdqa 176(%rdi), %xmm05397; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5398; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm0, %xmm155399; AVX2-FP-NEXT:    vmovdqa 160(%rdi), %xmm05400; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5401; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm0, %xmm145402; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]5403; AVX2-FP-NEXT:    vmovdqa 144(%rdi), %xmm05404; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5405; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm05406; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %xmm135407; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm13, %xmm35408; AVX2-FP-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5409; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3]5410; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15411; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05412; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]5413; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]5414; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]5415; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5416; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]5417; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5418; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm0, %xmm15419; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm4, %xmm25420; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5421; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]5422; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5423; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm6, %xmm35424; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm45425; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5426; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5427; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]5428; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5429; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm15, %xmm45430; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5431; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm9, %xmm55432; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5433; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]5434; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm7, %xmm05435; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload5436; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm14, %xmm75437; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm7[0],xmm0[0],xmm7[1],xmm0[1],xmm7[2],xmm0[2],xmm7[3],xmm0[3]5438; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm4[1],xmm0[2,3]5439; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3]5440; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm12 # 16-byte Reload5441; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm12, %xmm15442; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5443; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm10, %xmm45444; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]5445; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm11, %xmm45446; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload5447; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm11, %xmm25448; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5449; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15450; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25451; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]5452; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload5453; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm2, %xmm25454; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5455; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm35456; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5457; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5458; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm3, %xmm35459; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm13, %xmm45460; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5461; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25462; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35463; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5464; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]5465; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5466; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5467; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]5468; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5469; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm1, %xmm15470; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5471; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm13, %xmm25472; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5473; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]5474; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm6, %xmm35475; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5476; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm8, %xmm45477; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5478; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5479; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]5480; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm15, %xmm45481; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm9, %xmm55482; AVX2-FP-NEXT:    vmovdqa %xmm9, %xmm155483; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5484; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]5485; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5486; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm6, %xmm65487; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm14, %xmm75488; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5489; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5490; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5491; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm12, %xmm45492; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm05493; AVX2-FP-NEXT:    vmovdqa %xmm10, %xmm145494; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5495; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5496; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm45497; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm11, %xmm25498; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5499; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05500; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25501; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5502; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5503; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm12, %xmm25504; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5505; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm35506; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5507; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5508; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm3, %xmm35509; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5510; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm4, %xmm45511; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5512; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25513; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35514; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5515; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5516; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5517; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5518; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]5519; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5520; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm1, %xmm15521; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm13, %xmm25522; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5523; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]5524; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5525; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm3, %xmm35526; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm8, %xmm45527; AVX2-FP-NEXT:    vmovdqa %xmm8, %xmm135528; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5529; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5530; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]5531; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5532; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm9, %xmm45533; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm15, %xmm55534; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5535; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]5536; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload5537; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm11, %xmm65538; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5539; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm15, %xmm75540; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5541; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5542; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5543; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm4 # 16-byte Reload5544; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm4, %xmm45545; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm14, %xmm05546; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5547; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm45548; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5549; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm8, %xmm25550; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5551; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05552; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25553; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5554; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm12, %xmm25555; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload5556; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm14, %xmm35557; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5558; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5559; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm3, %xmm35560; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5561; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm4, %xmm45562; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5563; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25564; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35565; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5566; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5567; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5568; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5569; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]5570; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5571; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm15572; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload5573; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm2, %xmm25574; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5575; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]5576; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5577; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm12, %xmm35578; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm13, %xmm45579; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5580; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5581; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]5582; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm9, %xmm45583; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5584; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm13, %xmm55585; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5586; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]5587; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm11, %xmm65588; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm15, %xmm75589; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5590; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5591; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5592; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm9 # 16-byte Reload5593; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm9, %xmm45594; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5595; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm6, %xmm05596; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5597; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5598; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm4, %xmm45599; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm8, %xmm25600; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5601; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05602; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25603; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5604; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5605; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm15, %xmm25606; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm14, %xmm35607; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5608; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload5609; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm14, %xmm35610; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5611; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm4, %xmm45612; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5613; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25614; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35615; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5616; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5617; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5618; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5619; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]5620; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm15621; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5622; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm8, %xmm25623; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5624; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]5625; AVX2-FP-NEXT:    vmovdqa %xmm12, %xmm115626; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm12, %xmm35627; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5628; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm4, %xmm45629; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5630; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5631; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]5632; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5633; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm45634; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm13, %xmm55635; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5636; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]5637; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5638; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm6, %xmm65639; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload5640; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm7, %xmm75641; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5642; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5643; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5644; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm9, %xmm45645; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5646; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm9, %xmm05647; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5648; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5649; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm13, %xmm45650; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5651; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm12, %xmm25652; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5653; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05654; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25655; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5656; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm15, %xmm25657; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5658; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm35659; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5660; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm14, %xmm35661; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5662; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm10, %xmm45663; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5664; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25665; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35666; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5667; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5668; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5669; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5670; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]5671; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5672; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm1, %xmm15673; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm8, %xmm25674; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5675; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]5676; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm11, %xmm35677; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload5678; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm14, %xmm45679; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5680; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5681; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]5682; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload5683; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm11, %xmm45684; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload5685; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm55686; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5687; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]5688; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5689; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm6, %xmm65690; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5691; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm8, %xmm75692; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5693; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5694; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5695; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm15 # 16-byte Reload5696; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm15, %xmm45697; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm9, %xmm05698; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5699; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm13, %xmm45700; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm12, %xmm25701; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5702; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05703; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25704; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5705; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5706; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm13, %xmm25707; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5708; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm9, %xmm35709; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5710; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5711; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm12, %xmm35712; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm10, %xmm45713; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5714; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25715; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35716; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5717; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5718; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5719; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5720; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]5721; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5722; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm1, %xmm15723; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload5724; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm2, %xmm25725; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]5726; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]5727; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5728; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm3, %xmm35729; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm14, %xmm45730; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5731; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]5732; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]5733; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm11, %xmm45734; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload5735; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm55736; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]5737; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]5738; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5739; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm6, %xmm65740; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm8, %xmm75741; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]5742; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0],xmm4[1],xmm6[2,3]5743; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]5744; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm15, %xmm45745; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5746; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm6, %xmm05747; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]5748; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5749; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm4, %xmm45750; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5751; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm6, %xmm25752; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]5753; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05754; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25755; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5756; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm13, %xmm25757; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm9, %xmm35758; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]5759; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm12, %xmm35760; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm10, %xmm45761; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5762; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25763; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35764; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]5765; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5766; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5767; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5768; AVX2-FP-NEXT:    vmovaps %ymm1, (%rsi)5769; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5770; AVX2-FP-NEXT:    vmovaps %ymm1, (%rdx)5771; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5772; AVX2-FP-NEXT:    vmovaps %ymm1, (%rcx)5773; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5774; AVX2-FP-NEXT:    vmovaps %ymm1, (%r8)5775; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5776; AVX2-FP-NEXT:    vmovaps %ymm1, (%r9)5777; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5778; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5779; AVX2-FP-NEXT:    vmovaps %ymm1, (%rax)5780; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5781; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5782; AVX2-FP-NEXT:    vmovaps %ymm1, (%rax)5783; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5784; AVX2-FP-NEXT:    vmovdqa %ymm0, (%rax)5785; AVX2-FP-NEXT:    addq $360, %rsp # imm = 0x1685786; AVX2-FP-NEXT:    vzeroupper5787; AVX2-FP-NEXT:    retq5788;5789; AVX2-FCP-LABEL: load_i8_stride8_vf32:5790; AVX2-FCP:       # %bb.0:5791; AVX2-FCP-NEXT:    subq $136, %rsp5792; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %ymm35793; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5794; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %ymm45795; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5796; AVX2-FCP-NEXT:    vmovdqa 160(%rdi), %ymm55797; AVX2-FCP-NEXT:    vmovdqu %ymm5, (%rsp) # 32-byte Spill5798; AVX2-FCP-NEXT:    vmovdqa 192(%rdi), %ymm25799; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5800; AVX2-FCP-NEXT:    vmovdqa 224(%rdi), %ymm15801; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5802; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,2,3,0,2,4,6]5803; AVX2-FCP-NEXT:    vpermd %ymm1, %ymm0, %ymm105804; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28]5805; AVX2-FCP-NEXT:    vpermd %ymm2, %ymm0, %ymm145806; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm2 = ymm14[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u]5807; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]5808; AVX2-FCP-NEXT:    vpermd %ymm5, %ymm0, %ymm85809; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm2 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u]5810; AVX2-FCP-NEXT:    vpermd %ymm4, %ymm0, %ymm65811; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u,u,u,u,u]5812; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm2[5],ymm0[6,7]5813; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %ymm115814; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm0[0,1,2,3,4,5],ymm1[6,7]5815; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,4,6,4,6,6,7]5816; AVX2-FCP-NEXT:    vpermd %ymm11, %ymm0, %ymm75817; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm7[u,u,u,u,u,u,u,u,u,u,u,u,0,4,8,12]5818; AVX2-FCP-NEXT:    vpermd %ymm3, %ymm0, %ymm45819; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,u,u,0,4,8,12,u,u,u,u]5820; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm12[0,1,2],xmm1[3]5821; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm125822; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm155823; AVX2-FCP-NEXT:    vpermd %ymm15, %ymm0, %ymm55824; AVX2-FCP-NEXT:    vpermd %ymm12, %ymm0, %ymm35825; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm5[u,u,u,u,0,4,8,12,u,u,u,u,u,u,u,u]5826; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm3[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]5827; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0],xmm0[1],xmm13[2,3]5828; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3]5829; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm9[4,5,6,7]5830; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5831; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]5832; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm14[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]5833; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]5834; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u]5835; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm9 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u,u,u,u,u]5836; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm9[0,1,2,3,4],ymm1[5],ymm9[6,7]5837; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5838; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm7[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]5839; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm4[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]5840; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm9[0,1,2],xmm1[3]5841; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm5[u,u,u,u,1,5,9,13,u,u,u,u,u,u,u,u]5842; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm3[1,5,9,13,u,u,u,u,u,u,u,u,u,u,u,u]5843; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm13[0],xmm9[1],xmm13[2,3]5844; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm9[0,1],xmm1[2,3]5845; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5846; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5847; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30]5848; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm14[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30,u,u,u,u]5849; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]5850; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30,u,u,u,u,u,u,u,u]5851; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm9 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30,u,u,u,u,u,u,u,u,u,u,u,u]5852; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm9[0,1,2,3,4],ymm1[5],ymm9[6,7]5853; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5854; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm7[u,u,u,u,u,u,u,u,u,u,u,u,2,6,10,14]5855; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm4[u,u,u,u,u,u,u,u,2,6,10,14,u,u,u,u]5856; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm9[0,1,2],xmm1[3]5857; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm5[u,u,u,u,2,6,10,14,u,u,u,u,u,u,u,u]5858; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm3[2,6,10,14,u,u,u,u,u,u,u,u,u,u,u,u]5859; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm13[0],xmm9[1],xmm13[2,3]5860; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm9[0,1],xmm1[2,3]5861; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]5862; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5863; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,19,23,27,31]5864; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm14[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,19,23,27,31,u,u,u,u]5865; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]5866; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,19,23,27,31,u,u,u,u,u,u,u,u]5867; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,19,23,27,31,u,u,u,u,u,u,u,u,u,u,u,u]5868; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4],ymm1[5],ymm6[6,7]5869; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]5870; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm7[u,u,u,u,u,u,u,u,u,u,u,u,3,7,11,15]5871; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,u,u,u,u,3,7,11,15,u,u,u,u]5872; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1,2],xmm1[3]5873; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm5[u,u,u,u,3,7,11,15,u,u,u,u,u,u,u,u]5874; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm4 = [3,7,11,15,0,0,0,0,0,0,0,0,0,0,0,0]5875; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm3, %xmm25876; AVX2-FCP-NEXT:    vmovdqa %xmm4, %xmm35877; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm6[1],xmm2[2,3]5878; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]5879; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm0[4,5,6,7]5880; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,2,3,1,3,5,7]5881; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload5882; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm2 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28]5883; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm7 # 32-byte Folded Reload5884; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u]5885; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm8[0,1,2,3,4,5,6],ymm2[7]5886; AVX2-FCP-NEXT:    vpermd (%rsp), %ymm0, %ymm8 # 32-byte Folded Reload5887; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm10 # 32-byte Folded Reload5888; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u]5889; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm9 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u,u,u,u,u]5890; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3,4],ymm0[5],ymm9[6,7]5891; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]5892; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm2 = [1,3,5,7,5,7,6,7]5893; AVX2-FCP-NEXT:    vpermd %ymm11, %ymm2, %ymm95894; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm9[u,u,u,u,u,u,u,u,u,u,u,u,0,4,8,12]5895; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm11 # 32-byte Folded Reload5896; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm11[u,u,u,u,u,u,u,u,0,4,8,12,u,u,u,u]5897; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm14[0,1,2],xmm13[3]5898; AVX2-FCP-NEXT:    vpermd %ymm15, %ymm2, %ymm135899; AVX2-FCP-NEXT:    vpermd %ymm12, %ymm2, %ymm155900; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm13[u,u,u,u,0,4,8,12,u,u,u,u,u,u,u,u]5901; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm15[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]5902; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm12[0],xmm2[1],xmm12[2,3]5903; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm14[2,3]5904; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm2[0,1,2,3],ymm0[4,5,6,7]5905; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]5906; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm2 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]5907; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]5908; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm2 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u]5909; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm14 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u,u,u,u,u]5910; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm14[0,1,2,3,4],ymm2[5],ymm14[6,7]5911; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]5912; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm9[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]5913; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm11[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]5914; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1,2],xmm2[3]5915; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,u,u,1,5,9,13,u,u,u,u,u,u,u,u]5916; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm15[1,5,9,13,u,u,u,u,u,u,u,u,u,u,u,u]5917; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm5[0],xmm14[1],xmm5[2,3]5918; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1],xmm2[2,3]5919; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]5920; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm2 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30]5921; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30,u,u,u,u]5922; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3,4,5,6],ymm2[7]5923; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30,u,u,u,u,u,u,u,u]5924; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm14 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30,u,u,u,u,u,u,u,u,u,u,u,u]5925; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm14[0,1,2,3,4],ymm5[5],ymm14[6,7]5926; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3,4,5],ymm2[6,7]5927; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm9[u,u,u,u,u,u,u,u,u,u,u,u,2,6,10,14]5928; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm11[u,u,u,u,u,u,u,u,2,6,10,14,u,u,u,u]5929; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm14[0,1,2],xmm5[3]5930; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,u,u,2,6,10,14,u,u,u,u,u,u,u,u]5931; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm15[2,6,10,14,u,u,u,u,u,u,u,u,u,u,u,u]5932; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm4[0],xmm14[1],xmm4[2,3]5933; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm4[0,1],xmm5[2,3]5934; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3],ymm2[4,5,6,7]5935; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,19,23,27,31]5936; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,19,23,27,31,u,u,u,u]5937; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]5938; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,19,23,27,31,u,u,u,u,u,u,u,u]5939; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,19,23,27,31,u,u,u,u,u,u,u,u,u,u,u,u]5940; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4],ymm5[5],ymm6[6,7]5941; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]5942; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm9[u,u,u,u,u,u,u,u,u,u,u,u,3,7,11,15]5943; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm11[u,u,u,u,u,u,u,u,3,7,11,15,u,u,u,u]5944; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1,2],xmm5[3]5945; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm13[u,u,u,u,3,7,11,15,u,u,u,u,u,u,u,u]5946; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm15, %xmm35947; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0],xmm6[1],xmm3[2,3]5948; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm3[0,1],xmm5[2,3]5949; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]5950; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload5951; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rsi)5952; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload5953; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rdx)5954; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload5955; AVX2-FCP-NEXT:    vmovaps %ymm4, (%rcx)5956; AVX2-FCP-NEXT:    vmovdqa %ymm1, (%r8)5957; AVX2-FCP-NEXT:    vmovdqa %ymm12, (%r9)5958; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5959; AVX2-FCP-NEXT:    vmovdqa %ymm0, (%rax)5960; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5961; AVX2-FCP-NEXT:    vmovdqa %ymm2, (%rax)5962; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5963; AVX2-FCP-NEXT:    vmovdqa %ymm3, (%rax)5964; AVX2-FCP-NEXT:    addq $136, %rsp5965; AVX2-FCP-NEXT:    vzeroupper5966; AVX2-FCP-NEXT:    retq5967;5968; AVX512-LABEL: load_i8_stride8_vf32:5969; AVX512:       # %bb.0:5970; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm165971; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm15972; AVX512-NEXT:    vpmovqb %zmm1, %xmm25973; AVX512-NEXT:    vmovdqa 240(%rdi), %xmm15974; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8]5975; AVX512-NEXT:    vpshufb %xmm7, %xmm1, %xmm35976; AVX512-NEXT:    vmovdqa 224(%rdi), %xmm55977; AVX512-NEXT:    vpshufb %xmm7, %xmm5, %xmm45978; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]5979; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35980; AVX512-NEXT:    vmovdqa 208(%rdi), %xmm65981; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0]5982; AVX512-NEXT:    vpshufb %xmm8, %xmm6, %xmm45983; AVX512-NEXT:    vmovdqa 192(%rdi), %xmm105984; AVX512-NEXT:    vpshufb %xmm8, %xmm10, %xmm95985; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]5986; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm45987; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]5988; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm45989; AVX512-NEXT:    vmovdqa 128(%rdi), %ymm25990; AVX512-NEXT:    vpmovqb %ymm2, %xmm95991; AVX512-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm95992; AVX512-NEXT:    vpblendd {{.*#+}} ymm4 = ymm9[0,1,2,3,4],ymm4[5],ymm9[6,7]5993; AVX512-NEXT:    vpblendd {{.*#+}} ymm11 = ymm4[0,1,2,3,4,5],ymm3[6,7]5994; AVX512-NEXT:    vmovdqa 112(%rdi), %xmm35995; AVX512-NEXT:    vpshufb %xmm7, %xmm3, %xmm95996; AVX512-NEXT:    vmovdqa 96(%rdi), %xmm45997; AVX512-NEXT:    vpshufb %xmm7, %xmm4, %xmm75998; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm7[0],xmm9[0],xmm7[1],xmm9[1],xmm7[2],xmm9[2],xmm7[3],xmm9[3]5999; AVX512-NEXT:    vmovdqa 80(%rdi), %xmm76000; AVX512-NEXT:    vpshufb %xmm8, %xmm7, %xmm136001; AVX512-NEXT:    vmovdqa 64(%rdi), %xmm96002; AVX512-NEXT:    vpshufb %xmm8, %xmm9, %xmm86003; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1],xmm8[2],xmm13[2],xmm8[3],xmm13[3]6004; AVX512-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0,1,2],xmm12[3]6005; AVX512-NEXT:    vpmovqb %zmm16, %xmm126006; AVX512-NEXT:    vpblendd {{.*#+}} xmm8 = xmm12[0,1],xmm8[2,3]6007; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm11[4,5,6,7]6008; AVX512-NEXT:    vmovdqa64 %ymm0, %ymm176009; AVX512-NEXT:    vmovdqa 160(%rdi), %xmm116010; AVX512-NEXT:    vmovdqa 176(%rdi), %xmm126011; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [0,0,1,9,0,0,1,9,0,0,1,9,0,0,1,9]6012; AVX512-NEXT:    vpshufb %xmm8, %xmm1, %xmm136013; AVX512-NEXT:    vpshufb %xmm8, %xmm5, %xmm146014; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]6015; AVX512-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136016; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [1,9,0,0,1,9,0,0,1,9,0,0,1,9,0,0]6017; AVX512-NEXT:    vpshufb %xmm14, %xmm6, %xmm156018; AVX512-NEXT:    vpshufb %xmm14, %xmm10, %xmm06019; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm15[0],xmm0[1],xmm15[1],xmm0[2],xmm15[2],xmm0[3],xmm15[3]6020; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06021; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm13[7]6022; AVX512-NEXT:    vmovd {{.*#+}} xmm13 = [0,0,1,9,0,0,0,0,0,0,0,0,0,0,0,0]6023; AVX512-NEXT:    vpshufb %xmm13, %xmm12, %xmm156024; AVX512-NEXT:    vpshufb %xmm13, %xmm11, %xmm136025; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1],xmm13[2],xmm15[2],xmm13[3],xmm15[3]6026; AVX512-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136027; AVX512-NEXT:    vpsrlq $8, %ymm2, %ymm156028; AVX512-NEXT:    vpmovqb %ymm15, %xmm156029; AVX512-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156030; AVX512-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4],ymm13[5],ymm15[6,7]6031; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]6032; AVX512-NEXT:    vpshufb %xmm8, %xmm3, %xmm136033; AVX512-NEXT:    vpshufb %xmm8, %xmm4, %xmm86034; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1],xmm8[2],xmm13[2],xmm8[3],xmm13[3]6035; AVX512-NEXT:    vpshufb %xmm14, %xmm7, %xmm136036; AVX512-NEXT:    vpshufb %xmm14, %xmm9, %xmm146037; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]6038; AVX512-NEXT:    vpblendd {{.*#+}} xmm8 = xmm13[0,1,2],xmm8[3]6039; AVX512-NEXT:    vpsrlq $8, %zmm16, %zmm136040; AVX512-NEXT:    vpmovqb %zmm13, %xmm136041; AVX512-NEXT:    vpblendd {{.*#+}} xmm8 = xmm13[0,1],xmm8[2,3]6042; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]6043; AVX512-NEXT:    vmovdqa64 %ymm0, %ymm186044; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,2,10,0,0,2,10,0,0,2,10,0,0,2,10]6045; AVX512-NEXT:    vpshufb %xmm0, %xmm1, %xmm86046; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm136047; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]6048; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [2,10,0,0,2,10,0,0,2,10,0,0,2,10,0,0]6049; AVX512-NEXT:    vpshufb %xmm13, %xmm6, %xmm146050; AVX512-NEXT:    vpshufb %xmm13, %xmm10, %xmm156051; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]6052; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86053; AVX512-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146054; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]6055; AVX512-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,2,10,0,0,0,0,0,0,0,0,0,0,0,0]6056; AVX512-NEXT:    vpshufb %xmm14, %xmm12, %xmm156057; AVX512-NEXT:    vpshufb %xmm14, %xmm11, %xmm146058; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]6059; AVX512-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146060; AVX512-NEXT:    vpsrlq $16, %ymm2, %ymm156061; AVX512-NEXT:    vpmovqb %ymm15, %xmm156062; AVX512-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156063; AVX512-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]6064; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]6065; AVX512-NEXT:    vpshufb %xmm0, %xmm3, %xmm146066; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm06067; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]6068; AVX512-NEXT:    vpshufb %xmm13, %xmm7, %xmm146069; AVX512-NEXT:    vpshufb %xmm13, %xmm9, %xmm136070; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]6071; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]6072; AVX512-NEXT:    vpsrlq $16, %zmm16, %zmm136073; AVX512-NEXT:    vpmovqb %zmm13, %xmm136074; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]6075; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]6076; AVX512-NEXT:    vmovdqa64 %ymm0, %ymm196077; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,3,11,0,0,3,11,0,0,3,11,0,0,3,11]6078; AVX512-NEXT:    vpshufb %xmm0, %xmm1, %xmm86079; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm136080; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]6081; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [3,11,0,0,3,11,0,0,3,11,0,0,3,11,0,0]6082; AVX512-NEXT:    vpshufb %xmm13, %xmm6, %xmm146083; AVX512-NEXT:    vpshufb %xmm13, %xmm10, %xmm156084; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]6085; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86086; AVX512-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146087; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]6088; AVX512-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,3,11,0,0,0,0,0,0,0,0,0,0,0,0]6089; AVX512-NEXT:    vpshufb %xmm14, %xmm12, %xmm156090; AVX512-NEXT:    vpshufb %xmm14, %xmm11, %xmm146091; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]6092; AVX512-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146093; AVX512-NEXT:    vpsrlq $24, %ymm2, %ymm156094; AVX512-NEXT:    vpmovqb %ymm15, %xmm156095; AVX512-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156096; AVX512-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]6097; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]6098; AVX512-NEXT:    vpshufb %xmm0, %xmm3, %xmm146099; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm06100; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]6101; AVX512-NEXT:    vpshufb %xmm13, %xmm7, %xmm146102; AVX512-NEXT:    vpshufb %xmm13, %xmm9, %xmm136103; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]6104; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]6105; AVX512-NEXT:    vpsrlq $24, %zmm16, %zmm136106; AVX512-NEXT:    vpmovqb %zmm13, %xmm136107; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]6108; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]6109; AVX512-NEXT:    vmovdqa64 %ymm0, %ymm206110; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,4,12,0,0,4,12,0,0,4,12,0,0,4,12]6111; AVX512-NEXT:    vpshufb %xmm0, %xmm1, %xmm86112; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm136113; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]6114; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [4,12,0,0,4,12,0,0,4,12,0,0,4,12,0,0]6115; AVX512-NEXT:    vpshufb %xmm13, %xmm6, %xmm146116; AVX512-NEXT:    vpshufb %xmm13, %xmm10, %xmm156117; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]6118; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86119; AVX512-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146120; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]6121; AVX512-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,4,12,0,0,0,0,0,0,0,0,0,0,0,0]6122; AVX512-NEXT:    vpshufb %xmm14, %xmm12, %xmm156123; AVX512-NEXT:    vpshufb %xmm14, %xmm11, %xmm146124; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]6125; AVX512-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146126; AVX512-NEXT:    vpsrlq $32, %ymm2, %ymm156127; AVX512-NEXT:    vpmovqb %ymm15, %xmm156128; AVX512-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156129; AVX512-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]6130; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]6131; AVX512-NEXT:    vpshufb %xmm0, %xmm3, %xmm146132; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm06133; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]6134; AVX512-NEXT:    vpshufb %xmm13, %xmm7, %xmm146135; AVX512-NEXT:    vpshufb %xmm13, %xmm9, %xmm136136; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]6137; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]6138; AVX512-NEXT:    vpsrlq $32, %zmm16, %zmm136139; AVX512-NEXT:    vpmovqb %zmm13, %xmm136140; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]6141; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]6142; AVX512-NEXT:    vmovdqa64 %ymm0, %ymm216143; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,5,13,0,0,5,13,0,0,5,13,0,0,5,13]6144; AVX512-NEXT:    vpshufb %xmm0, %xmm1, %xmm86145; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm136146; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]6147; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [5,13,0,0,5,13,0,0,5,13,0,0,5,13,0,0]6148; AVX512-NEXT:    vpshufb %xmm13, %xmm6, %xmm156149; AVX512-NEXT:    vpshufb %xmm13, %xmm10, %xmm146150; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]6151; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86152; AVX512-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146153; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]6154; AVX512-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,5,13,0,0,0,0,0,0,0,0,0,0,0,0]6155; AVX512-NEXT:    vpshufb %xmm14, %xmm12, %xmm156156; AVX512-NEXT:    vpshufb %xmm14, %xmm11, %xmm146157; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]6158; AVX512-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146159; AVX512-NEXT:    vpsrlq $40, %ymm2, %ymm156160; AVX512-NEXT:    vpmovqb %ymm15, %xmm156161; AVX512-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156162; AVX512-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]6163; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]6164; AVX512-NEXT:    vpshufb %xmm0, %xmm3, %xmm146165; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm06166; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]6167; AVX512-NEXT:    vpshufb %xmm13, %xmm7, %xmm146168; AVX512-NEXT:    vpshufb %xmm13, %xmm9, %xmm136169; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]6170; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]6171; AVX512-NEXT:    vpsrlq $40, %zmm16, %zmm136172; AVX512-NEXT:    vpmovqb %zmm13, %xmm136173; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]6174; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]6175; AVX512-NEXT:    vmovdqa64 %ymm0, %ymm226176; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,6,14,0,0,6,14,0,0,6,14,0,0,6,14]6177; AVX512-NEXT:    vpshufb %xmm0, %xmm1, %xmm86178; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm146179; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm14[0],xmm8[0],xmm14[1],xmm8[1],xmm14[2],xmm8[2],xmm14[3],xmm8[3]6180; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [6,14,0,0,6,14,0,0,6,14,0,0,6,14,0,0]6181; AVX512-NEXT:    vpshufb %xmm14, %xmm6, %xmm156182; AVX512-NEXT:    vpshufb %xmm14, %xmm10, %xmm136183; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1],xmm13[2],xmm15[2],xmm13[3],xmm15[3]6184; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86185; AVX512-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136186; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm13[0,1,2,3,4,5,6],ymm8[7]6187; AVX512-NEXT:    vmovd {{.*#+}} xmm13 = [0,0,6,14,0,0,0,0,0,0,0,0,0,0,0,0]6188; AVX512-NEXT:    vpshufb %xmm13, %xmm12, %xmm156189; AVX512-NEXT:    vpshufb %xmm13, %xmm11, %xmm136190; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1],xmm13[2],xmm15[2],xmm13[3],xmm15[3]6191; AVX512-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136192; AVX512-NEXT:    vpsrlq $48, %ymm2, %ymm156193; AVX512-NEXT:    vpmovqb %ymm15, %xmm156194; AVX512-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156195; AVX512-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4],ymm13[5],ymm15[6,7]6196; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm13[0,1,2,3,4,5],ymm8[6,7]6197; AVX512-NEXT:    vpshufb %xmm0, %xmm3, %xmm136198; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm06199; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm13[0],xmm0[1],xmm13[1],xmm0[2],xmm13[2],xmm0[3],xmm13[3]6200; AVX512-NEXT:    vpshufb %xmm14, %xmm7, %xmm136201; AVX512-NEXT:    vpshufb %xmm14, %xmm9, %xmm146202; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]6203; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]6204; AVX512-NEXT:    vpsrlq $48, %zmm16, %zmm136205; AVX512-NEXT:    vpmovqb %zmm13, %xmm136206; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]6207; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm8[4,5,6,7]6208; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,7,15,0,0,7,15,0,0,7,15,0,0,7,15]6209; AVX512-NEXT:    vpshufb %xmm0, %xmm1, %xmm16210; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm56211; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]6212; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [7,15,0,0,7,15,0,0,7,15,0,0,7,15,0,0]6213; AVX512-NEXT:    vpshufb %xmm5, %xmm6, %xmm66214; AVX512-NEXT:    vpshufb %xmm5, %xmm10, %xmm106215; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm10[0],xmm6[0],xmm10[1],xmm6[1],xmm10[2],xmm6[2],xmm10[3],xmm6[3]6216; AVX512-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm16217; AVX512-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66218; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,6],ymm1[7]6219; AVX512-NEXT:    vmovd {{.*#+}} xmm6 = [0,0,7,15,0,0,0,0,0,0,0,0,0,0,0,0]6220; AVX512-NEXT:    vpshufb %xmm6, %xmm12, %xmm106221; AVX512-NEXT:    vpshufb %xmm6, %xmm11, %xmm66222; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm10[0],xmm6[1],xmm10[1],xmm6[2],xmm10[2],xmm6[3],xmm10[3]6223; AVX512-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66224; AVX512-NEXT:    vpsrlq $56, %ymm2, %ymm26225; AVX512-NEXT:    vpmovqb %ymm2, %xmm26226; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm26227; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm6[5],ymm2[6,7]6228; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]6229; AVX512-NEXT:    vpshufb %xmm0, %xmm3, %xmm26230; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm06231; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]6232; AVX512-NEXT:    vpshufb %xmm5, %xmm7, %xmm26233; AVX512-NEXT:    vpshufb %xmm5, %xmm9, %xmm36234; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]6235; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]6236; AVX512-NEXT:    vpsrlq $56, %zmm16, %zmm26237; AVX512-NEXT:    vpmovqb %zmm2, %xmm26238; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]6239; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6240; AVX512-NEXT:    vmovdqa64 %ymm17, (%rsi)6241; AVX512-NEXT:    vmovdqa64 %ymm18, (%rdx)6242; AVX512-NEXT:    vmovdqa64 %ymm19, (%rcx)6243; AVX512-NEXT:    vmovdqa64 %ymm20, (%r8)6244; AVX512-NEXT:    vmovdqa64 %ymm21, (%r9)6245; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax6246; AVX512-NEXT:    vmovdqa64 %ymm22, (%rax)6247; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax6248; AVX512-NEXT:    vmovdqa %ymm8, (%rax)6249; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax6250; AVX512-NEXT:    vmovdqa %ymm0, (%rax)6251; AVX512-NEXT:    vzeroupper6252; AVX512-NEXT:    retq6253;6254; AVX512-FCP-LABEL: load_i8_stride8_vf32:6255; AVX512-FCP:       # %bb.0:6256; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm206257; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm10 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]6258; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,2,3,0,2,4,6]6259; AVX512-FCP-NEXT:    vmovdqa64 224(%rdi), %ymm166260; AVX512-FCP-NEXT:    vpermd %ymm16, %ymm0, %ymm16261; AVX512-FCP-NEXT:    vpshufb %ymm10, %ymm1, %ymm36262; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm13 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]6263; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm176264; AVX512-FCP-NEXT:    vpermd %ymm17, %ymm0, %ymm26265; AVX512-FCP-NEXT:    vpshufb %ymm13, %ymm2, %ymm46266; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm4[0,1,2,3,4,5,6],ymm3[7]6267; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]6268; AVX512-FCP-NEXT:    vmovdqa64 160(%rdi), %ymm186269; AVX512-FCP-NEXT:    vpermd %ymm18, %ymm0, %ymm36270; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm3, %ymm66271; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]6272; AVX512-FCP-NEXT:    vmovdqa 128(%rdi), %ymm116273; AVX512-FCP-NEXT:    vpermd %ymm11, %ymm0, %ymm46274; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm4, %ymm06275; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm6[5],ymm0[6,7]6276; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm5[6,7]6277; AVX512-FCP-NEXT:    vmovdqa 96(%rdi), %ymm126278; AVX512-FCP-NEXT:    vpmovqd %ymm12, %xmm76279; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm7[u,u,u,u,u,u,u,u,u,u,u,u,0,4,8,12]6280; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm196281; AVX512-FCP-NEXT:    vpmovqd %ymm19, %xmm96282; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm9[u,u,u,u,u,u,u,u,0,4,8,12,u,u,u,u]6283; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1,2],xmm5[3]6284; AVX512-FCP-NEXT:    vpmovqb %zmm20, %xmm66285; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3]6286; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]6287; AVX512-FCP-NEXT:    vmovdqa64 %ymm0, %ymm216288; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm1[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]6289; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm2[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]6290; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5,6],ymm0[7]6291; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u]6292; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u,u,u,u,u]6293; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4],ymm5[5],ymm6[6,7]6294; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5],ymm0[6,7]6295; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm7[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]6296; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm9[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]6297; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1,2],xmm5[3]6298; AVX512-FCP-NEXT:    vpsrlq $8, %zmm20, %zmm66299; AVX512-FCP-NEXT:    vpmovqb %zmm6, %xmm66300; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3]6301; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]6302; AVX512-FCP-NEXT:    vmovdqa64 %ymm0, %ymm226303; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6304; AVX512-FCP-NEXT:    vpshufb %ymm5, %ymm1, %ymm06305; AVX512-FCP-NEXT:    vmovdqa64 %ymm5, %ymm316306; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6307; AVX512-FCP-NEXT:    vpshufb %ymm6, %ymm2, %ymm56308; AVX512-FCP-NEXT:    vmovdqa64 %ymm6, %ymm306309; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5,6],ymm0[7]6310; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6311; AVX512-FCP-NEXT:    vpshufb %ymm6, %ymm3, %ymm56312; AVX512-FCP-NEXT:    vmovdqa64 %ymm6, %ymm296313; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6314; AVX512-FCP-NEXT:    vpshufb %ymm8, %ymm4, %ymm66315; AVX512-FCP-NEXT:    vmovdqa64 %ymm8, %ymm286316; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4],ymm5[5],ymm6[6,7]6317; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5],ymm0[6,7]6318; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm6 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6319; AVX512-FCP-NEXT:    vpshufb %xmm6, %xmm7, %xmm56320; AVX512-FCP-NEXT:    vmovdqa64 %xmm6, %xmm276321; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6322; AVX512-FCP-NEXT:    vpshufb %xmm8, %xmm9, %xmm66323; AVX512-FCP-NEXT:    vmovdqa64 %xmm8, %xmm266324; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1,2],xmm5[3]6325; AVX512-FCP-NEXT:    vpsrlq $16, %zmm20, %zmm66326; AVX512-FCP-NEXT:    vpmovqb %zmm6, %xmm66327; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3]6328; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm5[0,1,2,3],ymm0[4,5,6,7]6329; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6330; AVX512-FCP-NEXT:    vpshufb %ymm5, %ymm1, %ymm06331; AVX512-FCP-NEXT:    vmovdqa64 %ymm5, %ymm256332; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6333; AVX512-FCP-NEXT:    vpshufb %ymm5, %ymm2, %ymm16334; AVX512-FCP-NEXT:    vmovdqa64 %ymm5, %ymm246335; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]6336; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm2 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6337; AVX512-FCP-NEXT:    vpshufb %ymm2, %ymm3, %ymm16338; AVX512-FCP-NEXT:    vmovdqa64 %ymm2, %ymm236339; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6340; AVX512-FCP-NEXT:    vpshufb %ymm8, %ymm4, %ymm26341; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]6342; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6343; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6344; AVX512-FCP-NEXT:    vpshufb %xmm5, %xmm7, %xmm16345; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm3 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6346; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm9, %xmm26347; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1,2],xmm1[3]6348; AVX512-FCP-NEXT:    vpsrlq $24, %zmm20, %zmm26349; AVX512-FCP-NEXT:    vpmovqb %zmm2, %xmm26350; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]6351; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm0[4,5,6,7]6352; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,2,3,1,3,5,7]6353; AVX512-FCP-NEXT:    vpermd %ymm16, %ymm0, %ymm46354; AVX512-FCP-NEXT:    vpshufb %ymm10, %ymm4, %ymm16355; AVX512-FCP-NEXT:    vpermd %ymm17, %ymm0, %ymm76356; AVX512-FCP-NEXT:    vpshufb %ymm13, %ymm7, %ymm96357; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,6],ymm1[7]6358; AVX512-FCP-NEXT:    vpermd %ymm18, %ymm0, %ymm96359; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm9, %ymm146360; AVX512-FCP-NEXT:    vpermd %ymm11, %ymm0, %ymm116361; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm11, %ymm06362; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm14[5],ymm0[6,7]6363; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5],ymm1[6,7]6364; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,5,7,5,7,6,7]6365; AVX512-FCP-NEXT:    vpermd %ymm12, %ymm0, %ymm146366; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm14[u,u,u,u,u,u,u,u,u,u,u,u,0,4,8,12]6367; AVX512-FCP-NEXT:    vpermd %ymm19, %ymm0, %ymm06368; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm0[u,u,u,u,u,u,u,u,0,4,8,12,u,u,u,u]6369; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm15[0,1,2],xmm12[3]6370; AVX512-FCP-NEXT:    vpsrlq $32, %zmm20, %zmm156371; AVX512-FCP-NEXT:    vpmovqb %zmm15, %xmm156372; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm15[0,1],xmm12[2,3]6373; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm1[4,5,6,7]6374; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]6375; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]6376; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm15[0,1,2,3,4,5,6],ymm1[7]6377; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm9[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u]6378; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = ymm11[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u,u,u,u,u]6379; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4],ymm15[5],ymm13[6,7]6380; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm13[0,1,2,3,4,5],ymm1[6,7]6381; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm14[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]6382; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm0[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]6383; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1,2],xmm13[3]6384; AVX512-FCP-NEXT:    vpsrlq $40, %zmm20, %zmm156385; AVX512-FCP-NEXT:    vpmovqb %zmm15, %xmm156386; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1],xmm13[2,3]6387; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm13[0,1,2,3],ymm1[4,5,6,7]6388; AVX512-FCP-NEXT:    vmovdqa64 %ymm31, %ymm106389; AVX512-FCP-NEXT:    vpshufb %ymm10, %ymm4, %ymm136390; AVX512-FCP-NEXT:    vmovdqa64 %ymm30, %ymm106391; AVX512-FCP-NEXT:    vpshufb %ymm10, %ymm7, %ymm156392; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5,6],ymm13[7]6393; AVX512-FCP-NEXT:    vmovdqa64 %ymm29, %ymm106394; AVX512-FCP-NEXT:    vpshufb %ymm10, %ymm9, %ymm156395; AVX512-FCP-NEXT:    vmovdqa64 %ymm28, %ymm106396; AVX512-FCP-NEXT:    vpshufb %ymm10, %ymm11, %ymm106397; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4],ymm15[5],ymm10[6,7]6398; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],ymm13[6,7]6399; AVX512-FCP-NEXT:    vmovdqa64 %xmm27, %xmm136400; AVX512-FCP-NEXT:    vpshufb %xmm13, %xmm14, %xmm136401; AVX512-FCP-NEXT:    vmovdqa64 %xmm26, %xmm156402; AVX512-FCP-NEXT:    vpshufb %xmm15, %xmm0, %xmm156403; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1,2],xmm13[3]6404; AVX512-FCP-NEXT:    vpsrlq $48, %zmm20, %zmm156405; AVX512-FCP-NEXT:    vpmovqb %zmm15, %xmm156406; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1],xmm13[2,3]6407; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm13[0,1,2,3],ymm10[4,5,6,7]6408; AVX512-FCP-NEXT:    vmovdqa64 %ymm25, %ymm136409; AVX512-FCP-NEXT:    vpshufb %ymm13, %ymm4, %ymm46410; AVX512-FCP-NEXT:    vmovdqa64 %ymm24, %ymm136411; AVX512-FCP-NEXT:    vpshufb %ymm13, %ymm7, %ymm76412; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3,4,5,6],ymm4[7]6413; AVX512-FCP-NEXT:    vmovdqa64 %ymm23, %ymm76414; AVX512-FCP-NEXT:    vpshufb %ymm7, %ymm9, %ymm76415; AVX512-FCP-NEXT:    vpshufb %ymm8, %ymm11, %ymm86416; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4],ymm7[5],ymm8[6,7]6417; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3,4,5],ymm4[6,7]6418; AVX512-FCP-NEXT:    vpshufb %xmm5, %xmm14, %xmm56419; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm0, %xmm06420; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm5[3]6421; AVX512-FCP-NEXT:    vpsrlq $56, %zmm20, %zmm36422; AVX512-FCP-NEXT:    vpmovqb %zmm3, %xmm36423; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]6424; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]6425; AVX512-FCP-NEXT:    vmovdqa64 %ymm21, (%rsi)6426; AVX512-FCP-NEXT:    vmovdqa64 %ymm22, (%rdx)6427; AVX512-FCP-NEXT:    vmovdqa %ymm6, (%rcx)6428; AVX512-FCP-NEXT:    vmovdqa %ymm2, (%r8)6429; AVX512-FCP-NEXT:    vmovdqa %ymm12, (%r9)6430; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6431; AVX512-FCP-NEXT:    vmovdqa %ymm1, (%rax)6432; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6433; AVX512-FCP-NEXT:    vmovdqa %ymm10, (%rax)6434; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6435; AVX512-FCP-NEXT:    vmovdqa %ymm0, (%rax)6436; AVX512-FCP-NEXT:    vzeroupper6437; AVX512-FCP-NEXT:    retq6438;6439; AVX512DQ-LABEL: load_i8_stride8_vf32:6440; AVX512DQ:       # %bb.0:6441; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm166442; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm16443; AVX512DQ-NEXT:    vpmovqb %zmm1, %xmm26444; AVX512DQ-NEXT:    vmovdqa 240(%rdi), %xmm16445; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8]6446; AVX512DQ-NEXT:    vpshufb %xmm7, %xmm1, %xmm36447; AVX512DQ-NEXT:    vmovdqa 224(%rdi), %xmm56448; AVX512DQ-NEXT:    vpshufb %xmm7, %xmm5, %xmm46449; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]6450; AVX512DQ-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm36451; AVX512DQ-NEXT:    vmovdqa 208(%rdi), %xmm66452; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0]6453; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm6, %xmm46454; AVX512DQ-NEXT:    vmovdqa 192(%rdi), %xmm106455; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm10, %xmm96456; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]6457; AVX512DQ-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm46458; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]6459; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm46460; AVX512DQ-NEXT:    vmovdqa 128(%rdi), %ymm26461; AVX512DQ-NEXT:    vpmovqb %ymm2, %xmm96462; AVX512DQ-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm96463; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm4 = ymm9[0,1,2,3,4],ymm4[5],ymm9[6,7]6464; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm11 = ymm4[0,1,2,3,4,5],ymm3[6,7]6465; AVX512DQ-NEXT:    vmovdqa 112(%rdi), %xmm36466; AVX512DQ-NEXT:    vpshufb %xmm7, %xmm3, %xmm96467; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %xmm46468; AVX512DQ-NEXT:    vpshufb %xmm7, %xmm4, %xmm76469; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm7[0],xmm9[0],xmm7[1],xmm9[1],xmm7[2],xmm9[2],xmm7[3],xmm9[3]6470; AVX512DQ-NEXT:    vmovdqa 80(%rdi), %xmm76471; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm7, %xmm136472; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %xmm96473; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm9, %xmm86474; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1],xmm8[2],xmm13[2],xmm8[3],xmm13[3]6475; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0,1,2],xmm12[3]6476; AVX512DQ-NEXT:    vpmovqb %zmm16, %xmm126477; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm8 = xmm12[0,1],xmm8[2,3]6478; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm11[4,5,6,7]6479; AVX512DQ-NEXT:    vmovdqa64 %ymm0, %ymm176480; AVX512DQ-NEXT:    vmovdqa 160(%rdi), %xmm116481; AVX512DQ-NEXT:    vmovdqa 176(%rdi), %xmm126482; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [0,0,1,9,0,0,1,9,0,0,1,9,0,0,1,9]6483; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm1, %xmm136484; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm5, %xmm146485; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]6486; AVX512DQ-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136487; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [1,9,0,0,1,9,0,0,1,9,0,0,1,9,0,0]6488; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm6, %xmm156489; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm10, %xmm06490; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm15[0],xmm0[1],xmm15[1],xmm0[2],xmm15[2],xmm0[3],xmm15[3]6491; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06492; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm13[7]6493; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm13 = [0,0,1,9,0,0,0,0,0,0,0,0,0,0,0,0]6494; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm12, %xmm156495; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm11, %xmm136496; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1],xmm13[2],xmm15[2],xmm13[3],xmm15[3]6497; AVX512DQ-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136498; AVX512DQ-NEXT:    vpsrlq $8, %ymm2, %ymm156499; AVX512DQ-NEXT:    vpmovqb %ymm15, %xmm156500; AVX512DQ-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156501; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4],ymm13[5],ymm15[6,7]6502; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]6503; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm3, %xmm136504; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm4, %xmm86505; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1],xmm8[2],xmm13[2],xmm8[3],xmm13[3]6506; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm7, %xmm136507; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm9, %xmm146508; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]6509; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm8 = xmm13[0,1,2],xmm8[3]6510; AVX512DQ-NEXT:    vpsrlq $8, %zmm16, %zmm136511; AVX512DQ-NEXT:    vpmovqb %zmm13, %xmm136512; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm8 = xmm13[0,1],xmm8[2,3]6513; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]6514; AVX512DQ-NEXT:    vmovdqa64 %ymm0, %ymm186515; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,2,10,0,0,2,10,0,0,2,10,0,0,2,10]6516; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm1, %xmm86517; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm136518; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]6519; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [2,10,0,0,2,10,0,0,2,10,0,0,2,10,0,0]6520; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm6, %xmm146521; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm10, %xmm156522; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]6523; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86524; AVX512DQ-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146525; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]6526; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,2,10,0,0,0,0,0,0,0,0,0,0,0,0]6527; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm12, %xmm156528; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm11, %xmm146529; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]6530; AVX512DQ-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146531; AVX512DQ-NEXT:    vpsrlq $16, %ymm2, %ymm156532; AVX512DQ-NEXT:    vpmovqb %ymm15, %xmm156533; AVX512DQ-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156534; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]6535; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]6536; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm3, %xmm146537; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm06538; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]6539; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm7, %xmm146540; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm9, %xmm136541; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]6542; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]6543; AVX512DQ-NEXT:    vpsrlq $16, %zmm16, %zmm136544; AVX512DQ-NEXT:    vpmovqb %zmm13, %xmm136545; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]6546; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]6547; AVX512DQ-NEXT:    vmovdqa64 %ymm0, %ymm196548; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,3,11,0,0,3,11,0,0,3,11,0,0,3,11]6549; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm1, %xmm86550; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm136551; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]6552; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [3,11,0,0,3,11,0,0,3,11,0,0,3,11,0,0]6553; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm6, %xmm146554; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm10, %xmm156555; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]6556; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86557; AVX512DQ-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146558; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]6559; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,3,11,0,0,0,0,0,0,0,0,0,0,0,0]6560; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm12, %xmm156561; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm11, %xmm146562; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]6563; AVX512DQ-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146564; AVX512DQ-NEXT:    vpsrlq $24, %ymm2, %ymm156565; AVX512DQ-NEXT:    vpmovqb %ymm15, %xmm156566; AVX512DQ-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156567; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]6568; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]6569; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm3, %xmm146570; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm06571; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]6572; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm7, %xmm146573; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm9, %xmm136574; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]6575; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]6576; AVX512DQ-NEXT:    vpsrlq $24, %zmm16, %zmm136577; AVX512DQ-NEXT:    vpmovqb %zmm13, %xmm136578; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]6579; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]6580; AVX512DQ-NEXT:    vmovdqa64 %ymm0, %ymm206581; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,4,12,0,0,4,12,0,0,4,12,0,0,4,12]6582; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm1, %xmm86583; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm136584; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]6585; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [4,12,0,0,4,12,0,0,4,12,0,0,4,12,0,0]6586; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm6, %xmm146587; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm10, %xmm156588; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]6589; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86590; AVX512DQ-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146591; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]6592; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,4,12,0,0,0,0,0,0,0,0,0,0,0,0]6593; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm12, %xmm156594; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm11, %xmm146595; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]6596; AVX512DQ-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146597; AVX512DQ-NEXT:    vpsrlq $32, %ymm2, %ymm156598; AVX512DQ-NEXT:    vpmovqb %ymm15, %xmm156599; AVX512DQ-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156600; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]6601; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]6602; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm3, %xmm146603; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm06604; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]6605; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm7, %xmm146606; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm9, %xmm136607; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]6608; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]6609; AVX512DQ-NEXT:    vpsrlq $32, %zmm16, %zmm136610; AVX512DQ-NEXT:    vpmovqb %zmm13, %xmm136611; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]6612; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]6613; AVX512DQ-NEXT:    vmovdqa64 %ymm0, %ymm216614; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,5,13,0,0,5,13,0,0,5,13,0,0,5,13]6615; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm1, %xmm86616; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm136617; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]6618; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [5,13,0,0,5,13,0,0,5,13,0,0,5,13,0,0]6619; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm6, %xmm156620; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm10, %xmm146621; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]6622; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86623; AVX512DQ-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146624; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]6625; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm14 = [0,0,5,13,0,0,0,0,0,0,0,0,0,0,0,0]6626; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm12, %xmm156627; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm11, %xmm146628; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]6629; AVX512DQ-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146630; AVX512DQ-NEXT:    vpsrlq $40, %ymm2, %ymm156631; AVX512DQ-NEXT:    vpmovqb %ymm15, %xmm156632; AVX512DQ-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156633; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]6634; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]6635; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm3, %xmm146636; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm06637; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]6638; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm7, %xmm146639; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm9, %xmm136640; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]6641; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]6642; AVX512DQ-NEXT:    vpsrlq $40, %zmm16, %zmm136643; AVX512DQ-NEXT:    vpmovqb %zmm13, %xmm136644; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]6645; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]6646; AVX512DQ-NEXT:    vmovdqa64 %ymm0, %ymm226647; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,6,14,0,0,6,14,0,0,6,14,0,0,6,14]6648; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm1, %xmm86649; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm146650; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm14[0],xmm8[0],xmm14[1],xmm8[1],xmm14[2],xmm8[2],xmm14[3],xmm8[3]6651; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [6,14,0,0,6,14,0,0,6,14,0,0,6,14,0,0]6652; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm6, %xmm156653; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm10, %xmm136654; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1],xmm13[2],xmm15[2],xmm13[3],xmm15[3]6655; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86656; AVX512DQ-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136657; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm13[0,1,2,3,4,5,6],ymm8[7]6658; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm13 = [0,0,6,14,0,0,0,0,0,0,0,0,0,0,0,0]6659; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm12, %xmm156660; AVX512DQ-NEXT:    vpshufb %xmm13, %xmm11, %xmm136661; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1],xmm13[2],xmm15[2],xmm13[3],xmm15[3]6662; AVX512DQ-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136663; AVX512DQ-NEXT:    vpsrlq $48, %ymm2, %ymm156664; AVX512DQ-NEXT:    vpmovqb %ymm15, %xmm156665; AVX512DQ-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156666; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4],ymm13[5],ymm15[6,7]6667; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm13[0,1,2,3,4,5],ymm8[6,7]6668; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm3, %xmm136669; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm06670; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm13[0],xmm0[1],xmm13[1],xmm0[2],xmm13[2],xmm0[3],xmm13[3]6671; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm7, %xmm136672; AVX512DQ-NEXT:    vpshufb %xmm14, %xmm9, %xmm146673; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]6674; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]6675; AVX512DQ-NEXT:    vpsrlq $48, %zmm16, %zmm136676; AVX512DQ-NEXT:    vpmovqb %zmm13, %xmm136677; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]6678; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm8[4,5,6,7]6679; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,7,15,0,0,7,15,0,0,7,15,0,0,7,15]6680; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm1, %xmm16681; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm56682; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]6683; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [7,15,0,0,7,15,0,0,7,15,0,0,7,15,0,0]6684; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm6, %xmm66685; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm10, %xmm106686; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm10[0],xmm6[0],xmm10[1],xmm6[1],xmm10[2],xmm6[2],xmm10[3],xmm6[3]6687; AVX512DQ-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm16688; AVX512DQ-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66689; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4,5,6],ymm1[7]6690; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm6 = [0,0,7,15,0,0,0,0,0,0,0,0,0,0,0,0]6691; AVX512DQ-NEXT:    vpshufb %xmm6, %xmm12, %xmm106692; AVX512DQ-NEXT:    vpshufb %xmm6, %xmm11, %xmm66693; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm10[0],xmm6[1],xmm10[1],xmm6[2],xmm10[2],xmm6[3],xmm10[3]6694; AVX512DQ-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66695; AVX512DQ-NEXT:    vpsrlq $56, %ymm2, %ymm26696; AVX512DQ-NEXT:    vpmovqb %ymm2, %xmm26697; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm26698; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm6[5],ymm2[6,7]6699; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]6700; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm3, %xmm26701; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm06702; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]6703; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm7, %xmm26704; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm9, %xmm36705; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]6706; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]6707; AVX512DQ-NEXT:    vpsrlq $56, %zmm16, %zmm26708; AVX512DQ-NEXT:    vpmovqb %zmm2, %xmm26709; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]6710; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6711; AVX512DQ-NEXT:    vmovdqa64 %ymm17, (%rsi)6712; AVX512DQ-NEXT:    vmovdqa64 %ymm18, (%rdx)6713; AVX512DQ-NEXT:    vmovdqa64 %ymm19, (%rcx)6714; AVX512DQ-NEXT:    vmovdqa64 %ymm20, (%r8)6715; AVX512DQ-NEXT:    vmovdqa64 %ymm21, (%r9)6716; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax6717; AVX512DQ-NEXT:    vmovdqa64 %ymm22, (%rax)6718; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax6719; AVX512DQ-NEXT:    vmovdqa %ymm8, (%rax)6720; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax6721; AVX512DQ-NEXT:    vmovdqa %ymm0, (%rax)6722; AVX512DQ-NEXT:    vzeroupper6723; AVX512DQ-NEXT:    retq6724;6725; AVX512DQ-FCP-LABEL: load_i8_stride8_vf32:6726; AVX512DQ-FCP:       # %bb.0:6727; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm206728; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm10 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]6729; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,2,3,0,2,4,6]6730; AVX512DQ-FCP-NEXT:    vmovdqa64 224(%rdi), %ymm166731; AVX512DQ-FCP-NEXT:    vpermd %ymm16, %ymm0, %ymm16732; AVX512DQ-FCP-NEXT:    vpshufb %ymm10, %ymm1, %ymm36733; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm13 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]6734; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm176735; AVX512DQ-FCP-NEXT:    vpermd %ymm17, %ymm0, %ymm26736; AVX512DQ-FCP-NEXT:    vpshufb %ymm13, %ymm2, %ymm46737; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm4[0,1,2,3,4,5,6],ymm3[7]6738; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]6739; AVX512DQ-FCP-NEXT:    vmovdqa64 160(%rdi), %ymm186740; AVX512DQ-FCP-NEXT:    vpermd %ymm18, %ymm0, %ymm36741; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm3, %ymm66742; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]6743; AVX512DQ-FCP-NEXT:    vmovdqa 128(%rdi), %ymm116744; AVX512DQ-FCP-NEXT:    vpermd %ymm11, %ymm0, %ymm46745; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm4, %ymm06746; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm6[5],ymm0[6,7]6747; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm5[6,7]6748; AVX512DQ-FCP-NEXT:    vmovdqa 96(%rdi), %ymm126749; AVX512DQ-FCP-NEXT:    vpmovqd %ymm12, %xmm76750; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm7[u,u,u,u,u,u,u,u,u,u,u,u,0,4,8,12]6751; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm196752; AVX512DQ-FCP-NEXT:    vpmovqd %ymm19, %xmm96753; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm9[u,u,u,u,u,u,u,u,0,4,8,12,u,u,u,u]6754; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1,2],xmm5[3]6755; AVX512DQ-FCP-NEXT:    vpmovqb %zmm20, %xmm66756; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3]6757; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]6758; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm0, %ymm216759; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm1[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]6760; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm2[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]6761; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5,6],ymm0[7]6762; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u]6763; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u,u,u,u,u]6764; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4],ymm5[5],ymm6[6,7]6765; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5],ymm0[6,7]6766; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm7[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]6767; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm9[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]6768; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1,2],xmm5[3]6769; AVX512DQ-FCP-NEXT:    vpsrlq $8, %zmm20, %zmm66770; AVX512DQ-FCP-NEXT:    vpmovqb %zmm6, %xmm66771; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3]6772; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]6773; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm0, %ymm226774; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6775; AVX512DQ-FCP-NEXT:    vpshufb %ymm5, %ymm1, %ymm06776; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm5, %ymm316777; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6778; AVX512DQ-FCP-NEXT:    vpshufb %ymm6, %ymm2, %ymm56779; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm6, %ymm306780; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5,6],ymm0[7]6781; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6782; AVX512DQ-FCP-NEXT:    vpshufb %ymm6, %ymm3, %ymm56783; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm6, %ymm296784; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6785; AVX512DQ-FCP-NEXT:    vpshufb %ymm8, %ymm4, %ymm66786; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm8, %ymm286787; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4],ymm5[5],ymm6[6,7]6788; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5],ymm0[6,7]6789; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm6 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6790; AVX512DQ-FCP-NEXT:    vpshufb %xmm6, %xmm7, %xmm56791; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm6, %xmm276792; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm8 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]6793; AVX512DQ-FCP-NEXT:    vpshufb %xmm8, %xmm9, %xmm66794; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm8, %xmm266795; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1,2],xmm5[3]6796; AVX512DQ-FCP-NEXT:    vpsrlq $16, %zmm20, %zmm66797; AVX512DQ-FCP-NEXT:    vpmovqb %zmm6, %xmm66798; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3]6799; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm5[0,1,2,3],ymm0[4,5,6,7]6800; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6801; AVX512DQ-FCP-NEXT:    vpshufb %ymm5, %ymm1, %ymm06802; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm5, %ymm256803; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6804; AVX512DQ-FCP-NEXT:    vpshufb %ymm5, %ymm2, %ymm16805; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm5, %ymm246806; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]6807; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm2 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6808; AVX512DQ-FCP-NEXT:    vpshufb %ymm2, %ymm3, %ymm16809; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm2, %ymm236810; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6811; AVX512DQ-FCP-NEXT:    vpshufb %ymm8, %ymm4, %ymm26812; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]6813; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]6814; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6815; AVX512DQ-FCP-NEXT:    vpshufb %xmm5, %xmm7, %xmm16816; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm3 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]6817; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm9, %xmm26818; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1,2],xmm1[3]6819; AVX512DQ-FCP-NEXT:    vpsrlq $24, %zmm20, %zmm26820; AVX512DQ-FCP-NEXT:    vpmovqb %zmm2, %xmm26821; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]6822; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm1[0,1,2,3],ymm0[4,5,6,7]6823; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,2,3,1,3,5,7]6824; AVX512DQ-FCP-NEXT:    vpermd %ymm16, %ymm0, %ymm46825; AVX512DQ-FCP-NEXT:    vpshufb %ymm10, %ymm4, %ymm16826; AVX512DQ-FCP-NEXT:    vpermd %ymm17, %ymm0, %ymm76827; AVX512DQ-FCP-NEXT:    vpshufb %ymm13, %ymm7, %ymm96828; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm9[0,1,2,3,4,5,6],ymm1[7]6829; AVX512DQ-FCP-NEXT:    vpermd %ymm18, %ymm0, %ymm96830; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm9, %ymm146831; AVX512DQ-FCP-NEXT:    vpermd %ymm11, %ymm0, %ymm116832; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm11, %ymm06833; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm14[5],ymm0[6,7]6834; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5],ymm1[6,7]6835; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,5,7,5,7,6,7]6836; AVX512DQ-FCP-NEXT:    vpermd %ymm12, %ymm0, %ymm146837; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm14[u,u,u,u,u,u,u,u,u,u,u,u,0,4,8,12]6838; AVX512DQ-FCP-NEXT:    vpermd %ymm19, %ymm0, %ymm06839; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm0[u,u,u,u,u,u,u,u,0,4,8,12,u,u,u,u]6840; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm15[0,1,2],xmm12[3]6841; AVX512DQ-FCP-NEXT:    vpsrlq $32, %zmm20, %zmm156842; AVX512DQ-FCP-NEXT:    vpmovqb %zmm15, %xmm156843; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm15[0,1],xmm12[2,3]6844; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3],ymm1[4,5,6,7]6845; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]6846; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]6847; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm15[0,1,2,3,4,5,6],ymm1[7]6848; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm9[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u]6849; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = ymm11[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u,u,u,u,u,u,u,u,u]6850; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4],ymm15[5],ymm13[6,7]6851; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm13[0,1,2,3,4,5],ymm1[6,7]6852; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm14[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]6853; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm0[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]6854; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1,2],xmm13[3]6855; AVX512DQ-FCP-NEXT:    vpsrlq $40, %zmm20, %zmm156856; AVX512DQ-FCP-NEXT:    vpmovqb %zmm15, %xmm156857; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1],xmm13[2,3]6858; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm13[0,1,2,3],ymm1[4,5,6,7]6859; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm31, %ymm106860; AVX512DQ-FCP-NEXT:    vpshufb %ymm10, %ymm4, %ymm136861; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm30, %ymm106862; AVX512DQ-FCP-NEXT:    vpshufb %ymm10, %ymm7, %ymm156863; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5,6],ymm13[7]6864; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm29, %ymm106865; AVX512DQ-FCP-NEXT:    vpshufb %ymm10, %ymm9, %ymm156866; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm28, %ymm106867; AVX512DQ-FCP-NEXT:    vpshufb %ymm10, %ymm11, %ymm106868; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4],ymm15[5],ymm10[6,7]6869; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5],ymm13[6,7]6870; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm27, %xmm136871; AVX512DQ-FCP-NEXT:    vpshufb %xmm13, %xmm14, %xmm136872; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm26, %xmm156873; AVX512DQ-FCP-NEXT:    vpshufb %xmm15, %xmm0, %xmm156874; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1,2],xmm13[3]6875; AVX512DQ-FCP-NEXT:    vpsrlq $48, %zmm20, %zmm156876; AVX512DQ-FCP-NEXT:    vpmovqb %zmm15, %xmm156877; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1],xmm13[2,3]6878; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm13[0,1,2,3],ymm10[4,5,6,7]6879; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm25, %ymm136880; AVX512DQ-FCP-NEXT:    vpshufb %ymm13, %ymm4, %ymm46881; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm24, %ymm136882; AVX512DQ-FCP-NEXT:    vpshufb %ymm13, %ymm7, %ymm76883; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3,4,5,6],ymm4[7]6884; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm23, %ymm76885; AVX512DQ-FCP-NEXT:    vpshufb %ymm7, %ymm9, %ymm76886; AVX512DQ-FCP-NEXT:    vpshufb %ymm8, %ymm11, %ymm86887; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4],ymm7[5],ymm8[6,7]6888; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm7[0,1,2,3,4,5],ymm4[6,7]6889; AVX512DQ-FCP-NEXT:    vpshufb %xmm5, %xmm14, %xmm56890; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm0, %xmm06891; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm5[3]6892; AVX512DQ-FCP-NEXT:    vpsrlq $56, %zmm20, %zmm36893; AVX512DQ-FCP-NEXT:    vpmovqb %zmm3, %xmm36894; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]6895; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]6896; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm21, (%rsi)6897; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm22, (%rdx)6898; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, (%rcx)6899; AVX512DQ-FCP-NEXT:    vmovdqa %ymm2, (%r8)6900; AVX512DQ-FCP-NEXT:    vmovdqa %ymm12, (%r9)6901; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6902; AVX512DQ-FCP-NEXT:    vmovdqa %ymm1, (%rax)6903; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6904; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, (%rax)6905; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6906; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, (%rax)6907; AVX512DQ-FCP-NEXT:    vzeroupper6908; AVX512DQ-FCP-NEXT:    retq6909;6910; AVX512BW-LABEL: load_i8_stride8_vf32:6911; AVX512BW:       # %bb.0:6912; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax6913; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r106914; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r116915; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm176916; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm16917; AVX512BW-NEXT:    vpmovqb %zmm1, %xmm26918; AVX512BW-NEXT:    vmovdqa 240(%rdi), %xmm16919; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm7 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]6920; AVX512BW-NEXT:    vpshufb %xmm7, %xmm1, %xmm36921; AVX512BW-NEXT:    vmovdqa 224(%rdi), %xmm46922; AVX512BW-NEXT:    vpshufb %xmm7, %xmm4, %xmm56923; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3]6924; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm36925; AVX512BW-NEXT:    vmovdqa 208(%rdi), %xmm56926; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]6927; AVX512BW-NEXT:    vpshufb %xmm8, %xmm5, %xmm66928; AVX512BW-NEXT:    vmovdqa 192(%rdi), %xmm96929; AVX512BW-NEXT:    vpshufb %xmm8, %xmm9, %xmm106930; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm10[0],xmm6[0],xmm10[1],xmm6[1],xmm10[2],xmm6[2],xmm10[3],xmm6[3]6931; AVX512BW-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66932; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5,6],ymm3[7]6933; AVX512BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm66934; AVX512BW-NEXT:    vmovdqa 128(%rdi), %ymm26935; AVX512BW-NEXT:    vpmovqb %ymm2, %xmm106936; AVX512BW-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm106937; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4],ymm6[5],ymm10[6,7]6938; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm11 = ymm6[0,1,2,3,4,5],ymm3[6,7]6939; AVX512BW-NEXT:    vmovdqa 112(%rdi), %xmm36940; AVX512BW-NEXT:    vpshufb %xmm7, %xmm3, %xmm106941; AVX512BW-NEXT:    vmovdqa 96(%rdi), %xmm66942; AVX512BW-NEXT:    vpshufb %xmm7, %xmm6, %xmm76943; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm7[0],xmm10[0],xmm7[1],xmm10[1],xmm7[2],xmm10[2],xmm7[3],xmm10[3]6944; AVX512BW-NEXT:    vmovdqa 80(%rdi), %xmm76945; AVX512BW-NEXT:    vpshufb %xmm8, %xmm7, %xmm136946; AVX512BW-NEXT:    vmovdqa 64(%rdi), %xmm106947; AVX512BW-NEXT:    vpshufb %xmm8, %xmm10, %xmm86948; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1],xmm8[2],xmm13[2],xmm8[3],xmm13[3]6949; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0,1,2],xmm12[3]6950; AVX512BW-NEXT:    vpmovqb %zmm17, %xmm126951; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm12[0,1],xmm8[2,3]6952; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm11[4,5,6,7]6953; AVX512BW-NEXT:    vmovdqa64 %ymm0, %ymm186954; AVX512BW-NEXT:    vmovdqa 160(%rdi), %xmm116955; AVX512BW-NEXT:    vmovdqa 176(%rdi), %xmm126956; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]6957; AVX512BW-NEXT:    vpshufb %xmm8, %xmm1, %xmm136958; AVX512BW-NEXT:    vpshufb %xmm8, %xmm4, %xmm146959; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]6960; AVX512BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136961; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]6962; AVX512BW-NEXT:    vpshufb %xmm14, %xmm5, %xmm156963; AVX512BW-NEXT:    vpshufb %xmm14, %xmm9, %xmm166964; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm16[0],xmm15[0],xmm16[1],xmm15[1],xmm16[2],xmm15[2],xmm16[3],xmm15[3]6965; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156966; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5,6],ymm13[7]6967; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm15 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]6968; AVX512BW-NEXT:    vpshufb %xmm15, %xmm12, %xmm166969; AVX512BW-NEXT:    vpshufb %xmm15, %xmm11, %xmm156970; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm15[0],xmm16[0],xmm15[1],xmm16[1],xmm15[2],xmm16[2],xmm15[3],xmm16[3]6971; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156972; AVX512BW-NEXT:    vpsrlq $8, %ymm2, %ymm166973; AVX512BW-NEXT:    vpmovqb %ymm16, %xmm166974; AVX512BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm06975; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm15[5],ymm0[6,7]6976; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm13[6,7]6977; AVX512BW-NEXT:    vpshufb %xmm8, %xmm3, %xmm136978; AVX512BW-NEXT:    vpshufb %xmm8, %xmm6, %xmm86979; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1],xmm8[2],xmm13[2],xmm8[3],xmm13[3]6980; AVX512BW-NEXT:    vpshufb %xmm14, %xmm7, %xmm136981; AVX512BW-NEXT:    vpshufb %xmm14, %xmm10, %xmm146982; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]6983; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm13[0,1,2],xmm8[3]6984; AVX512BW-NEXT:    vpsrlq $8, %zmm17, %zmm136985; AVX512BW-NEXT:    vpmovqb %zmm13, %xmm136986; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm13[0,1],xmm8[2,3]6987; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]6988; AVX512BW-NEXT:    vmovdqa64 %ymm0, %ymm196989; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]6990; AVX512BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm86991; AVX512BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm136992; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]6993; AVX512BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86994; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]6995; AVX512BW-NEXT:    vpshufb %xmm13, %xmm5, %xmm146996; AVX512BW-NEXT:    vpshufb %xmm13, %xmm9, %xmm156997; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]6998; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146999; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]7000; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]7001; AVX512BW-NEXT:    vpshufb %xmm14, %xmm12, %xmm157002; AVX512BW-NEXT:    vpshufb %xmm14, %xmm11, %xmm147003; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]7004; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147005; AVX512BW-NEXT:    vpsrlq $16, %ymm2, %ymm157006; AVX512BW-NEXT:    vpmovqb %ymm15, %xmm157007; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157008; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]7009; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]7010; AVX512BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm147011; AVX512BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07012; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]7013; AVX512BW-NEXT:    vpshufb %xmm13, %xmm7, %xmm147014; AVX512BW-NEXT:    vpshufb %xmm13, %xmm10, %xmm137015; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]7016; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]7017; AVX512BW-NEXT:    vpsrlq $16, %zmm17, %zmm137018; AVX512BW-NEXT:    vpmovqb %zmm13, %xmm137019; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]7020; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]7021; AVX512BW-NEXT:    vmovdqa64 %ymm0, %ymm207022; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]7023; AVX512BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm87024; AVX512BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm137025; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]7026; AVX512BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87027; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]7028; AVX512BW-NEXT:    vpshufb %xmm13, %xmm5, %xmm147029; AVX512BW-NEXT:    vpshufb %xmm13, %xmm9, %xmm157030; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]7031; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147032; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]7033; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]7034; AVX512BW-NEXT:    vpshufb %xmm14, %xmm12, %xmm157035; AVX512BW-NEXT:    vpshufb %xmm14, %xmm11, %xmm147036; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]7037; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147038; AVX512BW-NEXT:    vpsrlq $24, %ymm2, %ymm157039; AVX512BW-NEXT:    vpmovqb %ymm15, %xmm157040; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157041; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]7042; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]7043; AVX512BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm147044; AVX512BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07045; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]7046; AVX512BW-NEXT:    vpshufb %xmm13, %xmm7, %xmm147047; AVX512BW-NEXT:    vpshufb %xmm13, %xmm10, %xmm137048; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]7049; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]7050; AVX512BW-NEXT:    vpsrlq $24, %zmm17, %zmm137051; AVX512BW-NEXT:    vpmovqb %zmm13, %xmm137052; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]7053; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]7054; AVX512BW-NEXT:    vmovdqa64 %ymm0, %ymm217055; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]7056; AVX512BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm87057; AVX512BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm137058; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]7059; AVX512BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87060; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]7061; AVX512BW-NEXT:    vpshufb %xmm13, %xmm5, %xmm147062; AVX512BW-NEXT:    vpshufb %xmm13, %xmm9, %xmm167063; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm16[0],xmm14[0],xmm16[1],xmm14[1],xmm16[2],xmm14[2],xmm16[3],xmm14[3]7064; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147065; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]7066; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]7067; AVX512BW-NEXT:    vpshufb %xmm14, %xmm12, %xmm167068; AVX512BW-NEXT:    vpshufb %xmm14, %xmm11, %xmm147069; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm16[0],xmm14[1],xmm16[1],xmm14[2],xmm16[2],xmm14[3],xmm16[3]7070; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147071; AVX512BW-NEXT:    vpsrlq $32, %ymm2, %ymm167072; AVX512BW-NEXT:    vpmovqb %ymm16, %xmm167073; AVX512BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm157074; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]7075; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]7076; AVX512BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm147077; AVX512BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07078; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]7079; AVX512BW-NEXT:    vpshufb %xmm13, %xmm7, %xmm147080; AVX512BW-NEXT:    vpshufb %xmm13, %xmm10, %xmm137081; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]7082; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]7083; AVX512BW-NEXT:    vpsrlq $32, %zmm17, %zmm137084; AVX512BW-NEXT:    vpmovqb %zmm13, %xmm137085; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]7086; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]7087; AVX512BW-NEXT:    vmovdqa64 %ymm0, %ymm227088; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]7089; AVX512BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm87090; AVX512BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm137091; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]7092; AVX512BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87093; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]7094; AVX512BW-NEXT:    vpshufb %xmm13, %xmm5, %xmm157095; AVX512BW-NEXT:    vpshufb %xmm13, %xmm9, %xmm167096; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm16[0],xmm15[0],xmm16[1],xmm15[1],xmm16[2],xmm15[2],xmm16[3],xmm15[3]7097; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157098; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm15[0,1,2,3,4,5,6],ymm8[7]7099; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm15 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]7100; AVX512BW-NEXT:    vpshufb %xmm15, %xmm12, %xmm167101; AVX512BW-NEXT:    vpshufb %xmm15, %xmm11, %xmm157102; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm15[0],xmm16[0],xmm15[1],xmm16[1],xmm15[2],xmm16[2],xmm15[3],xmm16[3]7103; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157104; AVX512BW-NEXT:    vpsrlq $40, %ymm2, %ymm167105; AVX512BW-NEXT:    vpmovqb %ymm16, %xmm167106; AVX512BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm147107; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3,4],ymm15[5],ymm14[6,7]7108; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]7109; AVX512BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm147110; AVX512BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07111; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]7112; AVX512BW-NEXT:    vpshufb %xmm13, %xmm7, %xmm147113; AVX512BW-NEXT:    vpshufb %xmm13, %xmm10, %xmm137114; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]7115; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]7116; AVX512BW-NEXT:    vpsrlq $40, %zmm17, %zmm137117; AVX512BW-NEXT:    vpmovqb %zmm13, %xmm137118; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]7119; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]7120; AVX512BW-NEXT:    vmovdqa64 %ymm0, %ymm237121; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]7122; AVX512BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm87123; AVX512BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm147124; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm14[0],xmm8[0],xmm14[1],xmm8[1],xmm14[2],xmm8[2],xmm14[3],xmm8[3]7125; AVX512BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87126; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]7127; AVX512BW-NEXT:    vpshufb %xmm14, %xmm5, %xmm157128; AVX512BW-NEXT:    vpshufb %xmm14, %xmm9, %xmm167129; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm16[0],xmm15[0],xmm16[1],xmm15[1],xmm16[2],xmm15[2],xmm16[3],xmm15[3]7130; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157131; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm15[0,1,2,3,4,5,6],ymm8[7]7132; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm15 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]7133; AVX512BW-NEXT:    vpshufb %xmm15, %xmm12, %xmm167134; AVX512BW-NEXT:    vpshufb %xmm15, %xmm11, %xmm157135; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm15[0],xmm16[0],xmm15[1],xmm16[1],xmm15[2],xmm16[2],xmm15[3],xmm16[3]7136; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157137; AVX512BW-NEXT:    vpsrlq $48, %ymm2, %ymm167138; AVX512BW-NEXT:    vpmovqb %ymm16, %xmm167139; AVX512BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm137140; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4],ymm15[5],ymm13[6,7]7141; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm13[0,1,2,3,4,5],ymm8[6,7]7142; AVX512BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm137143; AVX512BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07144; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm13[0],xmm0[1],xmm13[1],xmm0[2],xmm13[2],xmm0[3],xmm13[3]7145; AVX512BW-NEXT:    vpshufb %xmm14, %xmm7, %xmm137146; AVX512BW-NEXT:    vpshufb %xmm14, %xmm10, %xmm147147; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]7148; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]7149; AVX512BW-NEXT:    vpsrlq $48, %zmm17, %zmm137150; AVX512BW-NEXT:    vpmovqb %zmm13, %xmm137151; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]7152; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm8[4,5,6,7]7153; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]7154; AVX512BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm17155; AVX512BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm47156; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]7157; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm17158; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]7159; AVX512BW-NEXT:    vpshufb %xmm4, %xmm5, %xmm57160; AVX512BW-NEXT:    vpshufb %xmm4, %xmm9, %xmm97161; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]7162; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm57163; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5,6],ymm1[7]7164; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]7165; AVX512BW-NEXT:    vpshufb %xmm5, %xmm12, %xmm97166; AVX512BW-NEXT:    vpshufb %xmm5, %xmm11, %xmm57167; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm9[0],xmm5[1],xmm9[1],xmm5[2],xmm9[2],xmm5[3],xmm9[3]7168; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm57169; AVX512BW-NEXT:    vpsrlq $56, %ymm2, %ymm27170; AVX512BW-NEXT:    vpmovqb %ymm2, %xmm27171; AVX512BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm27172; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm5[5],ymm2[6,7]7173; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]7174; AVX512BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm27175; AVX512BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07176; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]7177; AVX512BW-NEXT:    vpshufb %xmm4, %xmm7, %xmm27178; AVX512BW-NEXT:    vpshufb %xmm4, %xmm10, %xmm37179; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]7180; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]7181; AVX512BW-NEXT:    vpsrlq $56, %zmm17, %zmm27182; AVX512BW-NEXT:    vpmovqb %zmm2, %xmm27183; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]7184; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7185; AVX512BW-NEXT:    vmovdqa64 %ymm18, (%rsi)7186; AVX512BW-NEXT:    vmovdqa64 %ymm19, (%rdx)7187; AVX512BW-NEXT:    vmovdqa64 %ymm20, (%rcx)7188; AVX512BW-NEXT:    vmovdqa64 %ymm21, (%r8)7189; AVX512BW-NEXT:    vmovdqa64 %ymm22, (%r9)7190; AVX512BW-NEXT:    vmovdqa64 %ymm23, (%r11)7191; AVX512BW-NEXT:    vmovdqa %ymm8, (%r10)7192; AVX512BW-NEXT:    vmovdqa %ymm0, (%rax)7193; AVX512BW-NEXT:    vzeroupper7194; AVX512BW-NEXT:    retq7195;7196; AVX512BW-FCP-LABEL: load_i8_stride8_vf32:7197; AVX512BW-FCP:       # %bb.0:7198; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm47199; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,2,3,0,2,4,6]7200; AVX512BW-FCP-NEXT:    vmovdqa 224(%rdi), %ymm57201; AVX512BW-FCP-NEXT:    vpermd %ymm5, %ymm0, %ymm77202; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28]7203; AVX512BW-FCP-NEXT:    vmovdqa 192(%rdi), %ymm87204; AVX512BW-FCP-NEXT:    vpermd %ymm8, %ymm0, %ymm307205; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm3 = ymm30[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u]7206; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]7207; AVX512BW-FCP-NEXT:    vmovdqa 160(%rdi), %ymm117208; AVX512BW-FCP-NEXT:    vpermd %ymm11, %ymm0, %ymm37209; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u]7210; AVX512BW-FCP-NEXT:    vmovdqa 128(%rdi), %ymm157211; AVX512BW-FCP-NEXT:    vpermd %ymm15, %ymm0, %ymm27212; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm9 = ymm2[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u,u,u,u,u]7213; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3,4],ymm6[5],ymm9[6,7]7214; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm1[6,7]7215; AVX512BW-FCP-NEXT:    vmovdqa 96(%rdi), %ymm127216; AVX512BW-FCP-NEXT:    vpmovqd %ymm12, %xmm17217; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm1[u,u,u,u,u,u,u,u,u,u,u,u,0,4,8,12]7218; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm167219; AVX512BW-FCP-NEXT:    vpmovqd %ymm16, %xmm07220; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm0[u,u,u,u,u,u,u,u,0,4,8,12,u,u,u,u]7221; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1,2],xmm9[3]7222; AVX512BW-FCP-NEXT:    vpmovqb %zmm4, %xmm147223; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1],xmm9[2,3]7224; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]7225; AVX512BW-FCP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7226; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]7227; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm9 = ymm30[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]7228; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3,4,5,6],ymm6[7]7229; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm31 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]7230; AVX512BW-FCP-NEXT:    vpshufb %ymm31, %ymm3, %ymm97231; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm19 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]7232; AVX512BW-FCP-NEXT:    vpshufb %ymm19, %ymm2, %ymm107233; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]7234; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3,4,5],ymm6[6,7]7235; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm20 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]7236; AVX512BW-FCP-NEXT:    vpshufb %xmm20, %xmm1, %xmm97237; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm21 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]7238; AVX512BW-FCP-NEXT:    vpshufb %xmm21, %xmm0, %xmm107239; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]7240; AVX512BW-FCP-NEXT:    vpsrlq $8, %zmm4, %zmm107241; AVX512BW-FCP-NEXT:    vpmovqb %zmm10, %xmm107242; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]7243; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]7244; AVX512BW-FCP-NEXT:    vmovdqa64 %ymm6, %ymm187245; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm22 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7246; AVX512BW-FCP-NEXT:    vpshufb %ymm22, %ymm7, %ymm67247; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm23 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7248; AVX512BW-FCP-NEXT:    vpshufb %ymm23, %ymm30, %ymm107249; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4,5,6],ymm6[7]7250; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm24 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7251; AVX512BW-FCP-NEXT:    vpshufb %ymm24, %ymm3, %ymm107252; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm25 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7253; AVX512BW-FCP-NEXT:    vpshufb %ymm25, %ymm2, %ymm137254; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm13[0,1,2,3,4],ymm10[5],ymm13[6,7]7255; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4,5],ymm6[6,7]7256; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm26 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7257; AVX512BW-FCP-NEXT:    vpshufb %xmm26, %xmm1, %xmm107258; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm27 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7259; AVX512BW-FCP-NEXT:    vpshufb %xmm27, %xmm0, %xmm137260; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm13[0,1,2],xmm10[3]7261; AVX512BW-FCP-NEXT:    vpsrlq $16, %zmm4, %zmm137262; AVX512BW-FCP-NEXT:    vpmovqb %zmm13, %xmm137263; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm13[0,1],xmm10[2,3]7264; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3],ymm6[4,5,6,7]7265; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm28 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7266; AVX512BW-FCP-NEXT:    vpshufb %ymm28, %ymm7, %ymm77267; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm29 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7268; AVX512BW-FCP-NEXT:    vpshufb %ymm29, %ymm30, %ymm107269; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm7[7]7270; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm30 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7271; AVX512BW-FCP-NEXT:    vpshufb %ymm30, %ymm3, %ymm37272; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm17 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7273; AVX512BW-FCP-NEXT:    vpshufb %ymm17, %ymm2, %ymm27274; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]7275; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5],ymm10[6,7]7276; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm2 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7277; AVX512BW-FCP-NEXT:    vpshufb %xmm2, %xmm1, %xmm107278; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7279; AVX512BW-FCP-NEXT:    vpshufb %xmm1, %xmm0, %xmm07280; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm10[3]7281; AVX512BW-FCP-NEXT:    vpsrlq $24, %zmm4, %zmm107282; AVX512BW-FCP-NEXT:    vpmovqb %zmm10, %xmm107283; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm10[0,1],xmm0[2,3]7284; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm0[0,1,2,3],ymm3[4,5,6,7]7285; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,2,3,1,3,5,7]7286; AVX512BW-FCP-NEXT:    vpermd %ymm5, %ymm0, %ymm107287; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28]7288; AVX512BW-FCP-NEXT:    vpermd %ymm8, %ymm0, %ymm87289; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u]7290; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3,4,5,6],ymm5[7]7291; AVX512BW-FCP-NEXT:    vpermd %ymm11, %ymm0, %ymm117292; AVX512BW-FCP-NEXT:    vpermd %ymm15, %ymm0, %ymm137293; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm11[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u]7294; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm13[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u,u,u,u,u]7295; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]7296; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm5[6,7]7297; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm5 = [1,3,5,7,5,7,6,7]7298; AVX512BW-FCP-NEXT:    vpermd %ymm12, %ymm5, %ymm127299; AVX512BW-FCP-NEXT:    vpermd %ymm16, %ymm5, %ymm157300; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm12[u,u,u,u,u,u,u,u,u,u,u,u,0,4,8,12]7301; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm15[u,u,u,u,u,u,u,u,0,4,8,12,u,u,u,u]7302; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm14[0,1,2],xmm5[3]7303; AVX512BW-FCP-NEXT:    vpsrlq $32, %zmm4, %zmm147304; AVX512BW-FCP-NEXT:    vpmovqb %zmm14, %xmm147305; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm14[0,1],xmm5[2,3]7306; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]7307; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]7308; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]7309; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm14[0,1,2,3,4,5,6],ymm5[7]7310; AVX512BW-FCP-NEXT:    vpshufb %ymm31, %ymm11, %ymm147311; AVX512BW-FCP-NEXT:    vpshufb %ymm19, %ymm13, %ymm97312; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4],ymm14[5],ymm9[6,7]7313; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]7314; AVX512BW-FCP-NEXT:    vpshufb %xmm20, %xmm12, %xmm97315; AVX512BW-FCP-NEXT:    vpshufb %xmm21, %xmm15, %xmm147316; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1,2],xmm9[3]7317; AVX512BW-FCP-NEXT:    vpsrlq $40, %zmm4, %zmm147318; AVX512BW-FCP-NEXT:    vpmovqb %zmm14, %xmm147319; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1],xmm9[2,3]7320; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]7321; AVX512BW-FCP-NEXT:    vpshufb %ymm22, %ymm10, %ymm97322; AVX512BW-FCP-NEXT:    vpshufb %ymm23, %ymm8, %ymm147323; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm14[0,1,2,3,4,5,6],ymm9[7]7324; AVX512BW-FCP-NEXT:    vpshufb %ymm24, %ymm11, %ymm147325; AVX512BW-FCP-NEXT:    vpshufb %ymm25, %ymm13, %ymm77326; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4],ymm14[5],ymm7[6,7]7327; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm9[6,7]7328; AVX512BW-FCP-NEXT:    vpshufb %xmm26, %xmm12, %xmm97329; AVX512BW-FCP-NEXT:    vpshufb %xmm27, %xmm15, %xmm147330; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1,2],xmm9[3]7331; AVX512BW-FCP-NEXT:    vpsrlq $48, %zmm4, %zmm147332; AVX512BW-FCP-NEXT:    vpmovqb %zmm14, %xmm147333; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1],xmm9[2,3]7334; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]7335; AVX512BW-FCP-NEXT:    vpshufb %ymm28, %ymm10, %ymm97336; AVX512BW-FCP-NEXT:    vpshufb %ymm29, %ymm8, %ymm87337; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5,6],ymm9[7]7338; AVX512BW-FCP-NEXT:    vpshufb %ymm30, %ymm11, %ymm97339; AVX512BW-FCP-NEXT:    vpshufb %ymm17, %ymm13, %ymm107340; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]7341; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4,5],ymm8[6,7]7342; AVX512BW-FCP-NEXT:    vpshufb %xmm2, %xmm12, %xmm27343; AVX512BW-FCP-NEXT:    vpshufb %xmm1, %xmm15, %xmm17344; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[3]7345; AVX512BW-FCP-NEXT:    vpsrlq $56, %zmm4, %zmm27346; AVX512BW-FCP-NEXT:    vpmovqb %zmm2, %xmm27347; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]7348; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm8[4,5,6,7]7349; AVX512BW-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload7350; AVX512BW-FCP-NEXT:    vmovaps %ymm2, (%rsi)7351; AVX512BW-FCP-NEXT:    vmovdqa64 %ymm18, (%rdx)7352; AVX512BW-FCP-NEXT:    vmovdqa %ymm6, (%rcx)7353; AVX512BW-FCP-NEXT:    vmovdqa %ymm3, (%r8)7354; AVX512BW-FCP-NEXT:    vmovdqa %ymm0, (%r9)7355; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7356; AVX512BW-FCP-NEXT:    vmovdqa %ymm5, (%rax)7357; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7358; AVX512BW-FCP-NEXT:    vmovdqa %ymm7, (%rax)7359; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7360; AVX512BW-FCP-NEXT:    vmovdqa %ymm1, (%rax)7361; AVX512BW-FCP-NEXT:    vzeroupper7362; AVX512BW-FCP-NEXT:    retq7363;7364; AVX512DQ-BW-LABEL: load_i8_stride8_vf32:7365; AVX512DQ-BW:       # %bb.0:7366; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax7367; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r107368; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r117369; AVX512DQ-BW-NEXT:    vmovdqa64 (%rdi), %zmm177370; AVX512DQ-BW-NEXT:    vmovdqa64 128(%rdi), %zmm17371; AVX512DQ-BW-NEXT:    vpmovqb %zmm1, %xmm27372; AVX512DQ-BW-NEXT:    vmovdqa 240(%rdi), %xmm17373; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm7 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]7374; AVX512DQ-BW-NEXT:    vpshufb %xmm7, %xmm1, %xmm37375; AVX512DQ-BW-NEXT:    vmovdqa 224(%rdi), %xmm47376; AVX512DQ-BW-NEXT:    vpshufb %xmm7, %xmm4, %xmm57377; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3]7378; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm37379; AVX512DQ-BW-NEXT:    vmovdqa 208(%rdi), %xmm57380; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]7381; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm5, %xmm67382; AVX512DQ-BW-NEXT:    vmovdqa 192(%rdi), %xmm97383; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm9, %xmm107384; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm10[0],xmm6[0],xmm10[1],xmm6[1],xmm10[2],xmm6[2],xmm10[3],xmm6[3]7385; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm67386; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3,4,5,6],ymm3[7]7387; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm67388; AVX512DQ-BW-NEXT:    vmovdqa 128(%rdi), %ymm27389; AVX512DQ-BW-NEXT:    vpmovqb %ymm2, %xmm107390; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm107391; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4],ymm6[5],ymm10[6,7]7392; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm11 = ymm6[0,1,2,3,4,5],ymm3[6,7]7393; AVX512DQ-BW-NEXT:    vmovdqa 112(%rdi), %xmm37394; AVX512DQ-BW-NEXT:    vpshufb %xmm7, %xmm3, %xmm107395; AVX512DQ-BW-NEXT:    vmovdqa 96(%rdi), %xmm67396; AVX512DQ-BW-NEXT:    vpshufb %xmm7, %xmm6, %xmm77397; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm7[0],xmm10[0],xmm7[1],xmm10[1],xmm7[2],xmm10[2],xmm7[3],xmm10[3]7398; AVX512DQ-BW-NEXT:    vmovdqa 80(%rdi), %xmm77399; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm7, %xmm137400; AVX512DQ-BW-NEXT:    vmovdqa 64(%rdi), %xmm107401; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm10, %xmm87402; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1],xmm8[2],xmm13[2],xmm8[3],xmm13[3]7403; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm8[0,1,2],xmm12[3]7404; AVX512DQ-BW-NEXT:    vpmovqb %zmm17, %xmm127405; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm12[0,1],xmm8[2,3]7406; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm11[4,5,6,7]7407; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm0, %ymm187408; AVX512DQ-BW-NEXT:    vmovdqa 160(%rdi), %xmm117409; AVX512DQ-BW-NEXT:    vmovdqa 176(%rdi), %xmm127410; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]7411; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm1, %xmm137412; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm4, %xmm147413; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]7414; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm137415; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]7416; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm5, %xmm157417; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm9, %xmm167418; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm16[0],xmm15[0],xmm16[1],xmm15[1],xmm16[2],xmm15[2],xmm16[3],xmm15[3]7419; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157420; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5,6],ymm13[7]7421; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm15 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]7422; AVX512DQ-BW-NEXT:    vpshufb %xmm15, %xmm12, %xmm167423; AVX512DQ-BW-NEXT:    vpshufb %xmm15, %xmm11, %xmm157424; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm15[0],xmm16[0],xmm15[1],xmm16[1],xmm15[2],xmm16[2],xmm15[3],xmm16[3]7425; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157426; AVX512DQ-BW-NEXT:    vpsrlq $8, %ymm2, %ymm167427; AVX512DQ-BW-NEXT:    vpmovqb %ymm16, %xmm167428; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm07429; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm15[5],ymm0[6,7]7430; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm13[6,7]7431; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm3, %xmm137432; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm6, %xmm87433; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1],xmm8[2],xmm13[2],xmm8[3],xmm13[3]7434; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm7, %xmm137435; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm10, %xmm147436; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]7437; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm13[0,1,2],xmm8[3]7438; AVX512DQ-BW-NEXT:    vpsrlq $8, %zmm17, %zmm137439; AVX512DQ-BW-NEXT:    vpmovqb %zmm13, %xmm137440; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm8 = xmm13[0,1],xmm8[2,3]7441; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm0[4,5,6,7]7442; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm0, %ymm197443; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]7444; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm87445; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm137446; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]7447; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87448; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]7449; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm5, %xmm147450; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm9, %xmm157451; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]7452; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147453; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]7454; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]7455; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm12, %xmm157456; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm11, %xmm147457; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]7458; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147459; AVX512DQ-BW-NEXT:    vpsrlq $16, %ymm2, %ymm157460; AVX512DQ-BW-NEXT:    vpmovqb %ymm15, %xmm157461; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157462; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]7463; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]7464; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm147465; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07466; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]7467; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm7, %xmm147468; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm10, %xmm137469; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]7470; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]7471; AVX512DQ-BW-NEXT:    vpsrlq $16, %zmm17, %zmm137472; AVX512DQ-BW-NEXT:    vpmovqb %zmm13, %xmm137473; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]7474; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]7475; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm0, %ymm207476; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]7477; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm87478; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm137479; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]7480; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87481; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]7482; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm5, %xmm147483; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm9, %xmm157484; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]7485; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147486; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]7487; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]7488; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm12, %xmm157489; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm11, %xmm147490; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]7491; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147492; AVX512DQ-BW-NEXT:    vpsrlq $24, %ymm2, %ymm157493; AVX512DQ-BW-NEXT:    vpmovqb %ymm15, %xmm157494; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157495; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]7496; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]7497; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm147498; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07499; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]7500; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm7, %xmm147501; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm10, %xmm137502; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]7503; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]7504; AVX512DQ-BW-NEXT:    vpsrlq $24, %zmm17, %zmm137505; AVX512DQ-BW-NEXT:    vpmovqb %zmm13, %xmm137506; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]7507; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]7508; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm0, %ymm217509; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]7510; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm87511; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm137512; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]7513; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87514; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]7515; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm5, %xmm147516; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm9, %xmm167517; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm16[0],xmm14[0],xmm16[1],xmm14[1],xmm16[2],xmm14[2],xmm16[3],xmm14[3]7518; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147519; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5,6],ymm8[7]7520; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]7521; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm12, %xmm167522; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm11, %xmm147523; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm16[0],xmm14[1],xmm16[1],xmm14[2],xmm16[2],xmm14[3],xmm16[3]7524; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147525; AVX512DQ-BW-NEXT:    vpsrlq $32, %ymm2, %ymm167526; AVX512DQ-BW-NEXT:    vpmovqb %ymm16, %xmm167527; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm157528; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]7529; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]7530; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm147531; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07532; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]7533; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm7, %xmm147534; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm10, %xmm137535; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]7536; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]7537; AVX512DQ-BW-NEXT:    vpsrlq $32, %zmm17, %zmm137538; AVX512DQ-BW-NEXT:    vpmovqb %zmm13, %xmm137539; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]7540; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]7541; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm0, %ymm227542; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]7543; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm87544; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm137545; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]7546; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87547; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]7548; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm5, %xmm157549; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm9, %xmm167550; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm16[0],xmm15[0],xmm16[1],xmm15[1],xmm16[2],xmm15[2],xmm16[3],xmm15[3]7551; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157552; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm15[0,1,2,3,4,5,6],ymm8[7]7553; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm15 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]7554; AVX512DQ-BW-NEXT:    vpshufb %xmm15, %xmm12, %xmm167555; AVX512DQ-BW-NEXT:    vpshufb %xmm15, %xmm11, %xmm157556; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm15[0],xmm16[0],xmm15[1],xmm16[1],xmm15[2],xmm16[2],xmm15[3],xmm16[3]7557; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157558; AVX512DQ-BW-NEXT:    vpsrlq $40, %ymm2, %ymm167559; AVX512DQ-BW-NEXT:    vpmovqb %ymm16, %xmm167560; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm147561; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3,4],ymm15[5],ymm14[6,7]7562; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3,4,5],ymm8[6,7]7563; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm147564; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07565; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm14[0],xmm0[1],xmm14[1],xmm0[2],xmm14[2],xmm0[3],xmm14[3]7566; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm7, %xmm147567; AVX512DQ-BW-NEXT:    vpshufb %xmm13, %xmm10, %xmm137568; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm14[0],xmm13[1],xmm14[1],xmm13[2],xmm14[2],xmm13[3],xmm14[3]7569; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]7570; AVX512DQ-BW-NEXT:    vpsrlq $40, %zmm17, %zmm137571; AVX512DQ-BW-NEXT:    vpmovqb %zmm13, %xmm137572; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]7573; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm8[4,5,6,7]7574; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm0, %ymm237575; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]7576; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm87577; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm147578; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm14[0],xmm8[0],xmm14[1],xmm8[1],xmm14[2],xmm8[2],xmm14[3],xmm8[3]7579; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87580; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]7581; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm5, %xmm157582; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm9, %xmm167583; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm16[0],xmm15[0],xmm16[1],xmm15[1],xmm16[2],xmm15[2],xmm16[3],xmm15[3]7584; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157585; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm15[0,1,2,3,4,5,6],ymm8[7]7586; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm15 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]7587; AVX512DQ-BW-NEXT:    vpshufb %xmm15, %xmm12, %xmm167588; AVX512DQ-BW-NEXT:    vpshufb %xmm15, %xmm11, %xmm157589; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm15[0],xmm16[0],xmm15[1],xmm16[1],xmm15[2],xmm16[2],xmm15[3],xmm16[3]7590; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157591; AVX512DQ-BW-NEXT:    vpsrlq $48, %ymm2, %ymm167592; AVX512DQ-BW-NEXT:    vpmovqb %ymm16, %xmm167593; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm137594; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4],ymm15[5],ymm13[6,7]7595; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm13[0,1,2,3,4,5],ymm8[6,7]7596; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm137597; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07598; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm13[0],xmm0[1],xmm13[1],xmm0[2],xmm13[2],xmm0[3],xmm13[3]7599; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm7, %xmm137600; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm10, %xmm147601; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]7602; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1,2],xmm0[3]7603; AVX512DQ-BW-NEXT:    vpsrlq $48, %zmm17, %zmm137604; AVX512DQ-BW-NEXT:    vpmovqb %zmm13, %xmm137605; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm13[0,1],xmm0[2,3]7606; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm0[0,1,2,3],ymm8[4,5,6,7]7607; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]7608; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm17609; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm47610; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]7611; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm17612; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]7613; AVX512DQ-BW-NEXT:    vpshufb %xmm4, %xmm5, %xmm57614; AVX512DQ-BW-NEXT:    vpshufb %xmm4, %xmm9, %xmm97615; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]7616; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm57617; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5,6],ymm1[7]7618; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm5 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]7619; AVX512DQ-BW-NEXT:    vpshufb %xmm5, %xmm12, %xmm97620; AVX512DQ-BW-NEXT:    vpshufb %xmm5, %xmm11, %xmm57621; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm9[0],xmm5[1],xmm9[1],xmm5[2],xmm9[2],xmm5[3],xmm9[3]7622; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm57623; AVX512DQ-BW-NEXT:    vpsrlq $56, %ymm2, %ymm27624; AVX512DQ-BW-NEXT:    vpmovqb %ymm2, %xmm27625; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm27626; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm5[5],ymm2[6,7]7627; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]7628; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm3, %xmm27629; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm07630; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]7631; AVX512DQ-BW-NEXT:    vpshufb %xmm4, %xmm7, %xmm27632; AVX512DQ-BW-NEXT:    vpshufb %xmm4, %xmm10, %xmm37633; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]7634; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]7635; AVX512DQ-BW-NEXT:    vpsrlq $56, %zmm17, %zmm27636; AVX512DQ-BW-NEXT:    vpmovqb %zmm2, %xmm27637; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]7638; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]7639; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm18, (%rsi)7640; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm19, (%rdx)7641; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm20, (%rcx)7642; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm21, (%r8)7643; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm22, (%r9)7644; AVX512DQ-BW-NEXT:    vmovdqa64 %ymm23, (%r11)7645; AVX512DQ-BW-NEXT:    vmovdqa %ymm8, (%r10)7646; AVX512DQ-BW-NEXT:    vmovdqa %ymm0, (%rax)7647; AVX512DQ-BW-NEXT:    vzeroupper7648; AVX512DQ-BW-NEXT:    retq7649;7650; AVX512DQ-BW-FCP-LABEL: load_i8_stride8_vf32:7651; AVX512DQ-BW-FCP:       # %bb.0:7652; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm47653; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,2,3,0,2,4,6]7654; AVX512DQ-BW-FCP-NEXT:    vmovdqa 224(%rdi), %ymm57655; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm5, %ymm0, %ymm77656; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28]7657; AVX512DQ-BW-FCP-NEXT:    vmovdqa 192(%rdi), %ymm87658; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm8, %ymm0, %ymm307659; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm3 = ymm30[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u]7660; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]7661; AVX512DQ-BW-FCP-NEXT:    vmovdqa 160(%rdi), %ymm117662; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm11, %ymm0, %ymm37663; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u]7664; AVX512DQ-BW-FCP-NEXT:    vmovdqa 128(%rdi), %ymm157665; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm15, %ymm0, %ymm27666; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm9 = ymm2[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u,u,u,u,u]7667; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3,4],ymm6[5],ymm9[6,7]7668; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm1[6,7]7669; AVX512DQ-BW-FCP-NEXT:    vmovdqa 96(%rdi), %ymm127670; AVX512DQ-BW-FCP-NEXT:    vpmovqd %ymm12, %xmm17671; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm1[u,u,u,u,u,u,u,u,u,u,u,u,0,4,8,12]7672; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm167673; AVX512DQ-BW-FCP-NEXT:    vpmovqd %ymm16, %xmm07674; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm0[u,u,u,u,u,u,u,u,0,4,8,12,u,u,u,u]7675; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1,2],xmm9[3]7676; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm4, %xmm147677; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1],xmm9[2,3]7678; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]7679; AVX512DQ-BW-FCP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill7680; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]7681; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm9 = ymm30[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]7682; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3,4,5,6],ymm6[7]7683; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm31 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]7684; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm31, %ymm3, %ymm97685; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm19 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]7686; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm19, %ymm2, %ymm107687; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]7688; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3,4,5],ymm6[6,7]7689; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm20 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]7690; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm20, %xmm1, %xmm97691; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm21 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]7692; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm21, %xmm0, %xmm107693; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]7694; AVX512DQ-BW-FCP-NEXT:    vpsrlq $8, %zmm4, %zmm107695; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm10, %xmm107696; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]7697; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]7698; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %ymm6, %ymm187699; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm22 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7700; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm22, %ymm7, %ymm67701; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm23 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7702; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm23, %ymm30, %ymm107703; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4,5,6],ymm6[7]7704; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm24 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7705; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm24, %ymm3, %ymm107706; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm25 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7707; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm25, %ymm2, %ymm137708; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm13[0,1,2,3,4],ymm10[5],ymm13[6,7]7709; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4,5],ymm6[6,7]7710; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm26 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7711; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm26, %xmm1, %xmm107712; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm27 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]7713; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm27, %xmm0, %xmm137714; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm13[0,1,2],xmm10[3]7715; AVX512DQ-BW-FCP-NEXT:    vpsrlq $16, %zmm4, %zmm137716; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm13, %xmm137717; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm13[0,1],xmm10[2,3]7718; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3],ymm6[4,5,6,7]7719; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm28 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7720; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm28, %ymm7, %ymm77721; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm29 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7722; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm29, %ymm30, %ymm107723; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm7[7]7724; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm30 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7725; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm30, %ymm3, %ymm37726; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm17 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7727; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm17, %ymm2, %ymm27728; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]7729; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm2[0,1,2,3,4,5],ymm10[6,7]7730; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm2 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7731; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm2, %xmm1, %xmm107732; AVX512DQ-BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]7733; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm1, %xmm0, %xmm07734; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm10[3]7735; AVX512DQ-BW-FCP-NEXT:    vpsrlq $24, %zmm4, %zmm107736; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm10, %xmm107737; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm10[0,1],xmm0[2,3]7738; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm0[0,1,2,3],ymm3[4,5,6,7]7739; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,2,3,1,3,5,7]7740; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm5, %ymm0, %ymm107741; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28]7742; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm8, %ymm0, %ymm87743; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u]7744; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm13[0,1,2,3,4,5,6],ymm5[7]7745; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm11, %ymm0, %ymm117746; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm15, %ymm0, %ymm137747; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm11[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u]7748; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm13[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u,u,u,u,u]7749; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5],ymm15[6,7]7750; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm5[6,7]7751; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm5 = [1,3,5,7,5,7,6,7]7752; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm12, %ymm5, %ymm127753; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm16, %ymm5, %ymm157754; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm12[u,u,u,u,u,u,u,u,u,u,u,u,0,4,8,12]7755; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm15[u,u,u,u,u,u,u,u,0,4,8,12,u,u,u,u]7756; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm14[0,1,2],xmm5[3]7757; AVX512DQ-BW-FCP-NEXT:    vpsrlq $32, %zmm4, %zmm147758; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm14, %xmm147759; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm14[0,1],xmm5[2,3]7760; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3],ymm0[4,5,6,7]7761; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]7762; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]7763; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm14[0,1,2,3,4,5,6],ymm5[7]7764; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm31, %ymm11, %ymm147765; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm19, %ymm13, %ymm97766; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4],ymm14[5],ymm9[6,7]7767; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]7768; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm20, %xmm12, %xmm97769; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm21, %xmm15, %xmm147770; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1,2],xmm9[3]7771; AVX512DQ-BW-FCP-NEXT:    vpsrlq $40, %zmm4, %zmm147772; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm14, %xmm147773; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1],xmm9[2,3]7774; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]7775; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm22, %ymm10, %ymm97776; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm23, %ymm8, %ymm147777; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm14[0,1,2,3,4,5,6],ymm9[7]7778; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm24, %ymm11, %ymm147779; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm25, %ymm13, %ymm77780; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4],ymm14[5],ymm7[6,7]7781; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5],ymm9[6,7]7782; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm26, %xmm12, %xmm97783; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm27, %xmm15, %xmm147784; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1,2],xmm9[3]7785; AVX512DQ-BW-FCP-NEXT:    vpsrlq $48, %zmm4, %zmm147786; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm14, %xmm147787; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm14[0,1],xmm9[2,3]7788; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3],ymm7[4,5,6,7]7789; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm28, %ymm10, %ymm97790; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm29, %ymm8, %ymm87791; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5,6],ymm9[7]7792; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm30, %ymm11, %ymm97793; AVX512DQ-BW-FCP-NEXT:    vpshufb %ymm17, %ymm13, %ymm107794; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]7795; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4,5],ymm8[6,7]7796; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm2, %xmm12, %xmm27797; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm1, %xmm15, %xmm17798; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[3]7799; AVX512DQ-BW-FCP-NEXT:    vpsrlq $56, %zmm4, %zmm27800; AVX512DQ-BW-FCP-NEXT:    vpmovqb %zmm2, %xmm27801; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]7802; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm8[4,5,6,7]7803; AVX512DQ-BW-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload7804; AVX512DQ-BW-FCP-NEXT:    vmovaps %ymm2, (%rsi)7805; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %ymm18, (%rdx)7806; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm6, (%rcx)7807; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm3, (%r8)7808; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm0, (%r9)7809; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7810; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm5, (%rax)7811; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7812; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm7, (%rax)7813; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax7814; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm1, (%rax)7815; AVX512DQ-BW-FCP-NEXT:    vzeroupper7816; AVX512DQ-BW-FCP-NEXT:    retq7817  %wide.vec = load <256 x i8>, ptr %in.vec, align 647818  %strided.vec0 = shufflevector <256 x i8> %wide.vec, <256 x i8> 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>7819  %strided.vec1 = shufflevector <256 x i8> %wide.vec, <256 x i8> 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>7820  %strided.vec2 = shufflevector <256 x i8> %wide.vec, <256 x i8> 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>7821  %strided.vec3 = shufflevector <256 x i8> %wide.vec, <256 x i8> 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>7822  %strided.vec4 = shufflevector <256 x i8> %wide.vec, <256 x i8> 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>7823  %strided.vec5 = shufflevector <256 x i8> %wide.vec, <256 x i8> 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>7824  %strided.vec6 = shufflevector <256 x i8> %wide.vec, <256 x i8> 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>7825  %strided.vec7 = shufflevector <256 x i8> %wide.vec, <256 x i8> 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>7826  store <32 x i8> %strided.vec0, ptr %out.vec0, align 647827  store <32 x i8> %strided.vec1, ptr %out.vec1, align 647828  store <32 x i8> %strided.vec2, ptr %out.vec2, align 647829  store <32 x i8> %strided.vec3, ptr %out.vec3, align 647830  store <32 x i8> %strided.vec4, ptr %out.vec4, align 647831  store <32 x i8> %strided.vec5, ptr %out.vec5, align 647832  store <32 x i8> %strided.vec6, ptr %out.vec6, align 647833  store <32 x i8> %strided.vec7, ptr %out.vec7, align 647834  ret void7835}7836 7837define void @load_i8_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 {7838; SSE-LABEL: load_i8_stride8_vf64:7839; SSE:       # %bb.0:7840; SSE-NEXT:    subq $2040, %rsp # imm = 0x7F87841; SSE-NEXT:    movdqa 64(%rdi), %xmm67842; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7843; SSE-NEXT:    movdqa 80(%rdi), %xmm87844; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7845; SSE-NEXT:    movdqa 96(%rdi), %xmm117846; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7847; SSE-NEXT:    movdqa 128(%rdi), %xmm57848; SSE-NEXT:    movdqa 144(%rdi), %xmm107849; SSE-NEXT:    movdqa 160(%rdi), %xmm77850; SSE-NEXT:    movdqa 176(%rdi), %xmm137851; SSE-NEXT:    movdqa 192(%rdi), %xmm37852; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7853; SSE-NEXT:    movdqa 208(%rdi), %xmm27854; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7855; SSE-NEXT:    movdqa 224(%rdi), %xmm97856; SSE-NEXT:    movdqa 240(%rdi), %xmm127857; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [255,0,0,0,255,0,0,0]7858; SSE-NEXT:    movdqa %xmm12, %xmm07859; SSE-NEXT:    pand %xmm4, %xmm07860; SSE-NEXT:    movdqa %xmm9, %xmm17861; SSE-NEXT:    pand %xmm4, %xmm17862; SSE-NEXT:    packuswb %xmm0, %xmm17863; SSE-NEXT:    packuswb %xmm1, %xmm07864; SSE-NEXT:    movdqa %xmm2, %xmm17865; SSE-NEXT:    pand %xmm4, %xmm17866; SSE-NEXT:    movdqa %xmm3, %xmm27867; SSE-NEXT:    pand %xmm4, %xmm27868; SSE-NEXT:    packuswb %xmm1, %xmm27869; SSE-NEXT:    packuswb %xmm2, %xmm27870; SSE-NEXT:    packuswb %xmm0, %xmm27871; SSE-NEXT:    movdqa %xmm13, %xmm07872; SSE-NEXT:    pand %xmm4, %xmm07873; SSE-NEXT:    movdqa %xmm7, %xmm17874; SSE-NEXT:    pand %xmm4, %xmm17875; SSE-NEXT:    packuswb %xmm0, %xmm17876; SSE-NEXT:    movdqa %xmm10, %xmm07877; SSE-NEXT:    pand %xmm4, %xmm07878; SSE-NEXT:    movdqa %xmm5, %xmm37879; SSE-NEXT:    pand %xmm4, %xmm37880; SSE-NEXT:    packuswb %xmm0, %xmm37881; SSE-NEXT:    movdqa 112(%rdi), %xmm147882; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7883; SSE-NEXT:    packuswb %xmm1, %xmm07884; SSE-NEXT:    packuswb %xmm3, %xmm37885; SSE-NEXT:    packuswb %xmm0, %xmm37886; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,3],xmm2[0,3]7887; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7888; SSE-NEXT:    movdqa %xmm14, %xmm07889; SSE-NEXT:    pand %xmm4, %xmm07890; SSE-NEXT:    movdqa %xmm11, %xmm17891; SSE-NEXT:    pand %xmm4, %xmm17892; SSE-NEXT:    packuswb %xmm0, %xmm17893; SSE-NEXT:    movdqa %xmm8, %xmm07894; SSE-NEXT:    pand %xmm4, %xmm07895; SSE-NEXT:    movdqa %xmm6, %xmm27896; SSE-NEXT:    pand %xmm4, %xmm27897; SSE-NEXT:    packuswb %xmm0, %xmm27898; SSE-NEXT:    packuswb %xmm1, %xmm07899; SSE-NEXT:    packuswb %xmm2, %xmm27900; SSE-NEXT:    packuswb %xmm0, %xmm27901; SSE-NEXT:    movdqa 48(%rdi), %xmm147902; SSE-NEXT:    movdqa %xmm14, %xmm07903; SSE-NEXT:    pand %xmm4, %xmm07904; SSE-NEXT:    movdqa 32(%rdi), %xmm157905; SSE-NEXT:    movdqa %xmm15, %xmm17906; SSE-NEXT:    pand %xmm4, %xmm17907; SSE-NEXT:    packuswb %xmm0, %xmm17908; SSE-NEXT:    movdqa 16(%rdi), %xmm87909; SSE-NEXT:    movdqa %xmm8, %xmm07910; SSE-NEXT:    pand %xmm4, %xmm07911; SSE-NEXT:    movdqa (%rdi), %xmm117912; SSE-NEXT:    movdqa %xmm11, %xmm37913; SSE-NEXT:    pand %xmm4, %xmm37914; SSE-NEXT:    packuswb %xmm0, %xmm37915; SSE-NEXT:    packuswb %xmm1, %xmm07916; SSE-NEXT:    packuswb %xmm3, %xmm37917; SSE-NEXT:    packuswb %xmm0, %xmm37918; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,3],xmm2[0,3]7919; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7920; SSE-NEXT:    movdqa 496(%rdi), %xmm07921; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7922; SSE-NEXT:    pand %xmm4, %xmm07923; SSE-NEXT:    movdqa 480(%rdi), %xmm17924; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7925; SSE-NEXT:    pand %xmm4, %xmm17926; SSE-NEXT:    packuswb %xmm0, %xmm17927; SSE-NEXT:    movdqa 464(%rdi), %xmm07928; SSE-NEXT:    movdqa %xmm0, (%rsp) # 16-byte Spill7929; SSE-NEXT:    pand %xmm4, %xmm07930; SSE-NEXT:    movdqa 448(%rdi), %xmm27931; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7932; SSE-NEXT:    pand %xmm4, %xmm27933; SSE-NEXT:    packuswb %xmm0, %xmm27934; SSE-NEXT:    packuswb %xmm1, %xmm07935; SSE-NEXT:    packuswb %xmm2, %xmm27936; SSE-NEXT:    packuswb %xmm0, %xmm27937; SSE-NEXT:    movdqa 432(%rdi), %xmm07938; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7939; SSE-NEXT:    pand %xmm4, %xmm07940; SSE-NEXT:    movdqa 416(%rdi), %xmm17941; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7942; SSE-NEXT:    pand %xmm4, %xmm17943; SSE-NEXT:    packuswb %xmm0, %xmm17944; SSE-NEXT:    movdqa 400(%rdi), %xmm07945; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7946; SSE-NEXT:    pand %xmm4, %xmm07947; SSE-NEXT:    movdqa 384(%rdi), %xmm37948; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7949; SSE-NEXT:    pand %xmm4, %xmm37950; SSE-NEXT:    packuswb %xmm0, %xmm37951; SSE-NEXT:    packuswb %xmm1, %xmm07952; SSE-NEXT:    packuswb %xmm3, %xmm37953; SSE-NEXT:    packuswb %xmm0, %xmm37954; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,3],xmm2[0,3]7955; SSE-NEXT:    movaps %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7956; SSE-NEXT:    movdqa 368(%rdi), %xmm07957; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7958; SSE-NEXT:    pand %xmm4, %xmm07959; SSE-NEXT:    movdqa 352(%rdi), %xmm17960; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7961; SSE-NEXT:    pand %xmm4, %xmm17962; SSE-NEXT:    packuswb %xmm0, %xmm17963; SSE-NEXT:    movdqa 336(%rdi), %xmm07964; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7965; SSE-NEXT:    pand %xmm4, %xmm07966; SSE-NEXT:    movdqa 320(%rdi), %xmm27967; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7968; SSE-NEXT:    pand %xmm4, %xmm27969; SSE-NEXT:    packuswb %xmm0, %xmm27970; SSE-NEXT:    packuswb %xmm1, %xmm07971; SSE-NEXT:    packuswb %xmm2, %xmm27972; SSE-NEXT:    packuswb %xmm0, %xmm27973; SSE-NEXT:    movdqa 304(%rdi), %xmm07974; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7975; SSE-NEXT:    pand %xmm4, %xmm07976; SSE-NEXT:    movdqa 288(%rdi), %xmm17977; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7978; SSE-NEXT:    pand %xmm4, %xmm17979; SSE-NEXT:    packuswb %xmm0, %xmm17980; SSE-NEXT:    movdqa 272(%rdi), %xmm07981; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7982; SSE-NEXT:    pand %xmm4, %xmm07983; SSE-NEXT:    movdqa 256(%rdi), %xmm37984; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7985; SSE-NEXT:    pand %xmm3, %xmm47986; SSE-NEXT:    packuswb %xmm0, %xmm47987; SSE-NEXT:    packuswb %xmm1, %xmm07988; SSE-NEXT:    packuswb %xmm4, %xmm47989; SSE-NEXT:    packuswb %xmm0, %xmm47990; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,3],xmm2[0,3]7991; SSE-NEXT:    movaps %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7992; SSE-NEXT:    pxor %xmm6, %xmm67993; SSE-NEXT:    movdqa %xmm10, %xmm07994; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7995; SSE-NEXT:    movdqa %xmm10, %xmm17996; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]7997; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7998; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xmm6[3],xmm0[4],xmm6[4],xmm0[5],xmm6[5],xmm0[6],xmm6[6],xmm0[7],xmm6[7]7999; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8000; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]8001; SSE-NEXT:    packuswb %xmm0, %xmm08002; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8003; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [65535,0,65535,65535,65535,65535,65535,65535]8004; SSE-NEXT:    movdqa %xmm10, %xmm18005; SSE-NEXT:    pandn %xmm0, %xmm18006; SSE-NEXT:    movdqa %xmm5, %xmm08007; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8008; SSE-NEXT:    movdqa %xmm5, %xmm28009; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm6[8],xmm2[9],xmm6[9],xmm2[10],xmm6[10],xmm2[11],xmm6[11],xmm2[12],xmm6[12],xmm2[13],xmm6[13],xmm2[14],xmm6[14],xmm2[15],xmm6[15]8010; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8011; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xmm6[3],xmm0[4],xmm6[4],xmm0[5],xmm6[5],xmm0[6],xmm6[6],xmm0[7],xmm6[7]8012; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8013; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]8014; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8015; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm0[1,1,1,1]8016; SSE-NEXT:    packuswb %xmm5, %xmm58017; SSE-NEXT:    pand %xmm10, %xmm58018; SSE-NEXT:    por %xmm1, %xmm58019; SSE-NEXT:    movdqa %xmm13, %xmm28020; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8021; SSE-NEXT:    movdqa %xmm13, %xmm18022; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8023; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8024; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3],xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7]8025; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8026; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8027; SSE-NEXT:    packuswb %xmm2, %xmm28028; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8029; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,0,2,3]8030; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [65535,65535,65535,0,65535,65535,65535,65535]8031; SSE-NEXT:    movdqa %xmm13, %xmm28032; SSE-NEXT:    pandn %xmm1, %xmm28033; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8034; SSE-NEXT:    movdqa %xmm7, %xmm18035; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8036; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8037; SSE-NEXT:    punpcklbw {{.*#+}} xmm7 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3],xmm7[4],xmm6[4],xmm7[5],xmm6[5],xmm7[6],xmm6[6],xmm7[7],xmm6[7]8038; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8039; SSE-NEXT:    punpcklwd {{.*#+}} xmm7 = xmm7[0],xmm1[0],xmm7[1],xmm1[1],xmm7[2],xmm1[2],xmm7[3],xmm1[3]8040; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8041; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[0,1,1,3]8042; SSE-NEXT:    packuswb %xmm1, %xmm18043; SSE-NEXT:    pand %xmm13, %xmm18044; SSE-NEXT:    por %xmm2, %xmm18045; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]8046; SSE-NEXT:    punpckldq {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1]8047; SSE-NEXT:    movdqa %xmm12, %xmm18048; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8049; SSE-NEXT:    movdqa %xmm12, %xmm28050; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm6[8],xmm2[9],xmm6[9],xmm2[10],xmm6[10],xmm2[11],xmm6[11],xmm2[12],xmm6[12],xmm2[13],xmm6[13],xmm2[14],xmm6[14],xmm2[15],xmm6[15]8051; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8052; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm6[0],xmm1[1],xmm6[1],xmm1[2],xmm6[2],xmm1[3],xmm6[3],xmm1[4],xmm6[4],xmm1[5],xmm6[5],xmm1[6],xmm6[6],xmm1[7],xmm6[7]8053; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8054; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]8055; SSE-NEXT:    packuswb %xmm1, %xmm18056; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8057; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]8058; SSE-NEXT:    movdqa {{.*#+}} xmm12 = [65535,65535,65535,65535,65535,65535,65535,0]8059; SSE-NEXT:    movdqa %xmm12, %xmm28060; SSE-NEXT:    pandn %xmm1, %xmm28061; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8062; SSE-NEXT:    movdqa %xmm9, %xmm18063; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8064; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8065; SSE-NEXT:    punpcklbw {{.*#+}} xmm9 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3],xmm9[4],xmm6[4],xmm9[5],xmm6[5],xmm9[6],xmm6[6],xmm9[7],xmm6[7]8066; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8067; SSE-NEXT:    punpcklwd {{.*#+}} xmm9 = xmm9[0],xmm1[0],xmm9[1],xmm1[1],xmm9[2],xmm1[2],xmm9[3],xmm1[3]8068; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8069; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm9[0,1,1,3]8070; SSE-NEXT:    packuswb %xmm1, %xmm18071; SSE-NEXT:    pand %xmm12, %xmm18072; SSE-NEXT:    por %xmm2, %xmm18073; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8074; SSE-NEXT:    movdqa %xmm2, %xmm38075; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm6[8],xmm3[9],xmm6[9],xmm3[10],xmm6[10],xmm3[11],xmm6[11],xmm3[12],xmm6[12],xmm3[13],xmm6[13],xmm3[14],xmm6[14],xmm3[15],xmm6[15]8076; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8077; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3],xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7]8078; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8079; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]8080; SSE-NEXT:    packuswb %xmm2, %xmm38081; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8082; SSE-NEXT:    movdqa {{.*#+}} xmm9 = [65535,65535,65535,65535,65535,0,65535,65535]8083; SSE-NEXT:    movdqa %xmm9, %xmm28084; SSE-NEXT:    pandn %xmm3, %xmm28085; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8086; SSE-NEXT:    movdqa %xmm3, %xmm48087; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm6[8],xmm4[9],xmm6[9],xmm4[10],xmm6[10],xmm4[11],xmm6[11],xmm4[12],xmm6[12],xmm4[13],xmm6[13],xmm4[14],xmm6[14],xmm4[15],xmm6[15]8088; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8089; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1],xmm3[2],xmm6[2],xmm3[3],xmm6[3],xmm3[4],xmm6[4],xmm3[5],xmm6[5],xmm3[6],xmm6[6],xmm3[7],xmm6[7]8090; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8091; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]8092; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8093; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[1,1,1,1]8094; SSE-NEXT:    packuswb %xmm3, %xmm38095; SSE-NEXT:    pand %xmm9, %xmm38096; SSE-NEXT:    por %xmm2, %xmm38097; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[2,2,2,2]8098; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]8099; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm5[0],xmm2[1]8100; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8101; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8102; SSE-NEXT:    movdqa %xmm8, %xmm18103; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8104; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8105; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm6[0],xmm8[1],xmm6[1],xmm8[2],xmm6[2],xmm8[3],xmm6[3],xmm8[4],xmm6[4],xmm8[5],xmm6[5],xmm8[6],xmm6[6],xmm8[7],xmm6[7]8106; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8107; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm1[0],xmm8[1],xmm1[1],xmm8[2],xmm1[2],xmm8[3],xmm1[3]8108; SSE-NEXT:    packuswb %xmm8, %xmm88109; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8110; SSE-NEXT:    movdqa %xmm10, %xmm18111; SSE-NEXT:    pandn %xmm8, %xmm18112; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8113; SSE-NEXT:    movdqa %xmm11, %xmm28114; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm6[8],xmm2[9],xmm6[9],xmm2[10],xmm6[10],xmm2[11],xmm6[11],xmm2[12],xmm6[12],xmm2[13],xmm6[13],xmm2[14],xmm6[14],xmm2[15],xmm6[15]8115; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8116; SSE-NEXT:    punpcklbw {{.*#+}} xmm11 = xmm11[0],xmm6[0],xmm11[1],xmm6[1],xmm11[2],xmm6[2],xmm11[3],xmm6[3],xmm11[4],xmm6[4],xmm11[5],xmm6[5],xmm11[6],xmm6[6],xmm11[7],xmm6[7]8117; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8118; SSE-NEXT:    punpcklwd {{.*#+}} xmm11 = xmm11[0],xmm2[0],xmm11[1],xmm2[1],xmm11[2],xmm2[2],xmm11[3],xmm2[3]8119; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8120; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm11[1,1,1,1]8121; SSE-NEXT:    packuswb %xmm0, %xmm08122; SSE-NEXT:    pand %xmm10, %xmm08123; SSE-NEXT:    por %xmm1, %xmm08124; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8125; SSE-NEXT:    movdqa %xmm14, %xmm18126; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8127; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8128; SSE-NEXT:    punpcklbw {{.*#+}} xmm14 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3],xmm14[4],xmm6[4],xmm14[5],xmm6[5],xmm14[6],xmm6[6],xmm14[7],xmm6[7]8129; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8130; SSE-NEXT:    punpcklwd {{.*#+}} xmm14 = xmm14[0],xmm1[0],xmm14[1],xmm1[1],xmm14[2],xmm1[2],xmm14[3],xmm1[3]8131; SSE-NEXT:    packuswb %xmm14, %xmm148132; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8133; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm14[0,0,2,3]8134; SSE-NEXT:    movdqa %xmm13, %xmm28135; SSE-NEXT:    pandn %xmm1, %xmm28136; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8137; SSE-NEXT:    movdqa %xmm15, %xmm18138; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8139; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8140; SSE-NEXT:    punpcklbw {{.*#+}} xmm15 = xmm15[0],xmm6[0],xmm15[1],xmm6[1],xmm15[2],xmm6[2],xmm15[3],xmm6[3],xmm15[4],xmm6[4],xmm15[5],xmm6[5],xmm15[6],xmm6[6],xmm15[7],xmm6[7]8141; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8142; SSE-NEXT:    punpcklwd {{.*#+}} xmm15 = xmm15[0],xmm1[0],xmm15[1],xmm1[1],xmm15[2],xmm1[2],xmm15[3],xmm1[3]8143; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8144; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm15[0,1,1,3]8145; SSE-NEXT:    packuswb %xmm1, %xmm18146; SSE-NEXT:    pand %xmm13, %xmm18147; SSE-NEXT:    por %xmm2, %xmm18148; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]8149; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]8150; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8151; SSE-NEXT:    movdqa %xmm1, %xmm28152; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm6[8],xmm2[9],xmm6[9],xmm2[10],xmm6[10],xmm2[11],xmm6[11],xmm2[12],xmm6[12],xmm2[13],xmm6[13],xmm2[14],xmm6[14],xmm2[15],xmm6[15]8153; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8154; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm6[0],xmm1[1],xmm6[1],xmm1[2],xmm6[2],xmm1[3],xmm6[3],xmm1[4],xmm6[4],xmm1[5],xmm6[5],xmm1[6],xmm6[6],xmm1[7],xmm6[7]8155; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8156; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]8157; SSE-NEXT:    packuswb %xmm1, %xmm18158; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8159; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]8160; SSE-NEXT:    movdqa %xmm12, %xmm28161; SSE-NEXT:    pandn %xmm1, %xmm28162; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8163; SSE-NEXT:    movdqa %xmm3, %xmm18164; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8165; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8166; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1],xmm3[2],xmm6[2],xmm3[3],xmm6[3],xmm3[4],xmm6[4],xmm3[5],xmm6[5],xmm3[6],xmm6[6],xmm3[7],xmm6[7]8167; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8168; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]8169; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8170; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,1,1,3]8171; SSE-NEXT:    packuswb %xmm1, %xmm18172; SSE-NEXT:    pand %xmm12, %xmm18173; SSE-NEXT:    por %xmm2, %xmm18174; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8175; SSE-NEXT:    movdqa %xmm2, %xmm38176; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm6[8],xmm3[9],xmm6[9],xmm3[10],xmm6[10],xmm3[11],xmm6[11],xmm3[12],xmm6[12],xmm3[13],xmm6[13],xmm3[14],xmm6[14],xmm3[15],xmm6[15]8177; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8178; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3],xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7]8179; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8180; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]8181; SSE-NEXT:    packuswb %xmm2, %xmm38182; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8183; SSE-NEXT:    movdqa %xmm9, %xmm28184; SSE-NEXT:    pandn %xmm3, %xmm28185; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8186; SSE-NEXT:    movdqa %xmm3, %xmm48187; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm6[8],xmm4[9],xmm6[9],xmm4[10],xmm6[10],xmm4[11],xmm6[11],xmm4[12],xmm6[12],xmm4[13],xmm6[13],xmm4[14],xmm6[14],xmm4[15],xmm6[15]8188; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8189; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1],xmm3[2],xmm6[2],xmm3[3],xmm6[3],xmm3[4],xmm6[4],xmm3[5],xmm6[5],xmm3[6],xmm6[6],xmm3[7],xmm6[7]8190; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8191; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]8192; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8193; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[1,1,1,1]8194; SSE-NEXT:    packuswb %xmm3, %xmm38195; SSE-NEXT:    pand %xmm9, %xmm38196; SSE-NEXT:    por %xmm2, %xmm38197; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[2,2,2,2]8198; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]8199; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]8200; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8201; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8202; SSE-NEXT:    movdqa %xmm14, %xmm08203; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm6[8],xmm0[9],xmm6[9],xmm0[10],xmm6[10],xmm0[11],xmm6[11],xmm0[12],xmm6[12],xmm0[13],xmm6[13],xmm0[14],xmm6[14],xmm0[15],xmm6[15]8204; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8205; SSE-NEXT:    punpcklbw {{.*#+}} xmm14 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3],xmm14[4],xmm6[4],xmm14[5],xmm6[5],xmm14[6],xmm6[6],xmm14[7],xmm6[7]8206; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8207; SSE-NEXT:    punpcklwd {{.*#+}} xmm14 = xmm14[0],xmm0[0],xmm14[1],xmm0[1],xmm14[2],xmm0[2],xmm14[3],xmm0[3]8208; SSE-NEXT:    packuswb %xmm14, %xmm148209; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8210; SSE-NEXT:    movdqa %xmm10, %xmm18211; SSE-NEXT:    pandn %xmm14, %xmm18212; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8213; SSE-NEXT:    movdqa %xmm0, %xmm28214; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm6[8],xmm2[9],xmm6[9],xmm2[10],xmm6[10],xmm2[11],xmm6[11],xmm2[12],xmm6[12],xmm2[13],xmm6[13],xmm2[14],xmm6[14],xmm2[15],xmm6[15]8215; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8216; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xmm6[3],xmm0[4],xmm6[4],xmm0[5],xmm6[5],xmm0[6],xmm6[6],xmm0[7],xmm6[7]8217; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8218; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]8219; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8220; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]8221; SSE-NEXT:    packuswb %xmm0, %xmm08222; SSE-NEXT:    pand %xmm10, %xmm08223; SSE-NEXT:    por %xmm1, %xmm08224; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8225; SSE-NEXT:    movdqa %xmm14, %xmm18226; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8227; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8228; SSE-NEXT:    punpcklbw {{.*#+}} xmm14 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3],xmm14[4],xmm6[4],xmm14[5],xmm6[5],xmm14[6],xmm6[6],xmm14[7],xmm6[7]8229; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8230; SSE-NEXT:    punpcklwd {{.*#+}} xmm14 = xmm14[0],xmm1[0],xmm14[1],xmm1[1],xmm14[2],xmm1[2],xmm14[3],xmm1[3]8231; SSE-NEXT:    packuswb %xmm14, %xmm148232; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm14[0,0,2,3]8233; SSE-NEXT:    movdqa %xmm13, %xmm28234; SSE-NEXT:    pandn %xmm1, %xmm28235; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8236; SSE-NEXT:    movdqa %xmm3, %xmm18237; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8238; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8239; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1],xmm3[2],xmm6[2],xmm3[3],xmm6[3],xmm3[4],xmm6[4],xmm3[5],xmm6[5],xmm3[6],xmm6[6],xmm3[7],xmm6[7]8240; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8241; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]8242; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8243; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,1,1,3]8244; SSE-NEXT:    packuswb %xmm1, %xmm18245; SSE-NEXT:    pand %xmm13, %xmm18246; SSE-NEXT:    por %xmm2, %xmm18247; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]8248; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]8249; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8250; SSE-NEXT:    movdqa %xmm1, %xmm28251; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm6[8],xmm2[9],xmm6[9],xmm2[10],xmm6[10],xmm2[11],xmm6[11],xmm2[12],xmm6[12],xmm2[13],xmm6[13],xmm2[14],xmm6[14],xmm2[15],xmm6[15]8252; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8253; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm6[0],xmm1[1],xmm6[1],xmm1[2],xmm6[2],xmm1[3],xmm6[3],xmm1[4],xmm6[4],xmm1[5],xmm6[5],xmm1[6],xmm6[6],xmm1[7],xmm6[7]8254; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8255; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]8256; SSE-NEXT:    packuswb %xmm1, %xmm18257; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8258; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]8259; SSE-NEXT:    movdqa %xmm12, %xmm28260; SSE-NEXT:    pandn %xmm1, %xmm28261; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8262; SSE-NEXT:    movdqa %xmm3, %xmm18263; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8264; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8265; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1],xmm3[2],xmm6[2],xmm3[3],xmm6[3],xmm3[4],xmm6[4],xmm3[5],xmm6[5],xmm3[6],xmm6[6],xmm3[7],xmm6[7]8266; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8267; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]8268; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8269; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,1,1,3]8270; SSE-NEXT:    packuswb %xmm1, %xmm18271; SSE-NEXT:    pand %xmm12, %xmm18272; SSE-NEXT:    por %xmm2, %xmm18273; SSE-NEXT:    movdqa (%rsp), %xmm2 # 16-byte Reload8274; SSE-NEXT:    movdqa %xmm2, %xmm38275; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm6[8],xmm3[9],xmm6[9],xmm3[10],xmm6[10],xmm3[11],xmm6[11],xmm3[12],xmm6[12],xmm3[13],xmm6[13],xmm3[14],xmm6[14],xmm3[15],xmm6[15]8276; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8277; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3],xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7]8278; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8279; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]8280; SSE-NEXT:    packuswb %xmm2, %xmm38281; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8282; SSE-NEXT:    movdqa %xmm9, %xmm28283; SSE-NEXT:    pandn %xmm3, %xmm28284; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8285; SSE-NEXT:    movdqa %xmm3, %xmm48286; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm6[8],xmm4[9],xmm6[9],xmm4[10],xmm6[10],xmm4[11],xmm6[11],xmm4[12],xmm6[12],xmm4[13],xmm6[13],xmm4[14],xmm6[14],xmm4[15],xmm6[15]8287; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8288; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1],xmm3[2],xmm6[2],xmm3[3],xmm6[3],xmm3[4],xmm6[4],xmm3[5],xmm6[5],xmm3[6],xmm6[6],xmm3[7],xmm6[7]8289; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8290; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]8291; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8292; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[1,1,1,1]8293; SSE-NEXT:    packuswb %xmm3, %xmm38294; SSE-NEXT:    pand %xmm9, %xmm38295; SSE-NEXT:    por %xmm2, %xmm38296; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[2,2,2,2]8297; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]8298; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]8299; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8300; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload8301; SSE-NEXT:    movdqa %xmm8, %xmm08302; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm6[8],xmm0[9],xmm6[9],xmm0[10],xmm6[10],xmm0[11],xmm6[11],xmm0[12],xmm6[12],xmm0[13],xmm6[13],xmm0[14],xmm6[14],xmm0[15],xmm6[15]8303; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8304; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm6[0],xmm8[1],xmm6[1],xmm8[2],xmm6[2],xmm8[3],xmm6[3],xmm8[4],xmm6[4],xmm8[5],xmm6[5],xmm8[6],xmm6[6],xmm8[7],xmm6[7]8305; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8306; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm0[0],xmm8[1],xmm0[1],xmm8[2],xmm0[2],xmm8[3],xmm0[3]8307; SSE-NEXT:    packuswb %xmm8, %xmm88308; SSE-NEXT:    movdqa %xmm10, %xmm18309; SSE-NEXT:    pandn %xmm8, %xmm18310; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8311; SSE-NEXT:    movdqa %xmm0, %xmm28312; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm6[8],xmm2[9],xmm6[9],xmm2[10],xmm6[10],xmm2[11],xmm6[11],xmm2[12],xmm6[12],xmm2[13],xmm6[13],xmm2[14],xmm6[14],xmm2[15],xmm6[15]8313; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8314; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xmm6[3],xmm0[4],xmm6[4],xmm0[5],xmm6[5],xmm0[6],xmm6[6],xmm0[7],xmm6[7]8315; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8316; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]8317; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8318; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]8319; SSE-NEXT:    packuswb %xmm0, %xmm08320; SSE-NEXT:    pand %xmm10, %xmm08321; SSE-NEXT:    por %xmm1, %xmm08322; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8323; SSE-NEXT:    movdqa %xmm4, %xmm18324; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8325; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8326; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm6[0],xmm4[1],xmm6[1],xmm4[2],xmm6[2],xmm4[3],xmm6[3],xmm4[4],xmm6[4],xmm4[5],xmm6[5],xmm4[6],xmm6[6],xmm4[7],xmm6[7]8327; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8328; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]8329; SSE-NEXT:    packuswb %xmm4, %xmm48330; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[0,0,2,3]8331; SSE-NEXT:    movdqa %xmm13, %xmm58332; SSE-NEXT:    pandn %xmm1, %xmm58333; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8334; SSE-NEXT:    movdqa %xmm2, %xmm18335; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8336; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8337; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3],xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7]8338; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8339; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]8340; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8341; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,1,1,3]8342; SSE-NEXT:    packuswb %xmm1, %xmm18343; SSE-NEXT:    pand %xmm13, %xmm18344; SSE-NEXT:    por %xmm5, %xmm18345; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]8346; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]8347; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8348; SSE-NEXT:    movdqa %xmm1, %xmm28349; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm6[8],xmm2[9],xmm6[9],xmm2[10],xmm6[10],xmm2[11],xmm6[11],xmm2[12],xmm6[12],xmm2[13],xmm6[13],xmm2[14],xmm6[14],xmm2[15],xmm6[15]8350; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8351; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm6[0],xmm1[1],xmm6[1],xmm1[2],xmm6[2],xmm1[3],xmm6[3],xmm1[4],xmm6[4],xmm1[5],xmm6[5],xmm1[6],xmm6[6],xmm1[7],xmm6[7]8352; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8353; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]8354; SSE-NEXT:    packuswb %xmm1, %xmm18355; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8356; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]8357; SSE-NEXT:    movdqa %xmm12, %xmm58358; SSE-NEXT:    pandn %xmm1, %xmm58359; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload8360; SSE-NEXT:    movdqa %xmm11, %xmm18361; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm6[8],xmm1[9],xmm6[9],xmm1[10],xmm6[10],xmm1[11],xmm6[11],xmm1[12],xmm6[12],xmm1[13],xmm6[13],xmm1[14],xmm6[14],xmm1[15],xmm6[15]8362; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8363; SSE-NEXT:    punpcklbw {{.*#+}} xmm11 = xmm11[0],xmm6[0],xmm11[1],xmm6[1],xmm11[2],xmm6[2],xmm11[3],xmm6[3],xmm11[4],xmm6[4],xmm11[5],xmm6[5],xmm11[6],xmm6[6],xmm11[7],xmm6[7]8364; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8365; SSE-NEXT:    punpcklwd {{.*#+}} xmm11 = xmm11[0],xmm1[0],xmm11[1],xmm1[1],xmm11[2],xmm1[2],xmm11[3],xmm1[3]8366; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm11[0,1,1,3]8367; SSE-NEXT:    packuswb %xmm1, %xmm18368; SSE-NEXT:    pand %xmm12, %xmm18369; SSE-NEXT:    por %xmm5, %xmm18370; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload8371; SSE-NEXT:    movdqa %xmm5, %xmm28372; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm6[8],xmm2[9],xmm6[9],xmm2[10],xmm6[10],xmm2[11],xmm6[11],xmm2[12],xmm6[12],xmm2[13],xmm6[13],xmm2[14],xmm6[14],xmm2[15],xmm6[15]8373; SSE-NEXT:    movdqa %xmm2, %xmm158374; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8375; SSE-NEXT:    punpcklbw {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3],xmm5[4],xmm6[4],xmm5[5],xmm6[5],xmm5[6],xmm6[6],xmm5[7],xmm6[7]8376; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8377; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8378; SSE-NEXT:    movdqa %xmm3, %xmm28379; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm6[8],xmm2[9],xmm6[9],xmm2[10],xmm6[10],xmm2[11],xmm6[11],xmm2[12],xmm6[12],xmm2[13],xmm6[13],xmm2[14],xmm6[14],xmm2[15],xmm6[15]8380; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8381; SSE-NEXT:    movdqa %xmm3, %xmm78382; SSE-NEXT:    punpcklbw {{.*#+}} xmm7 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3],xmm7[4],xmm6[4],xmm7[5],xmm6[5],xmm7[6],xmm6[6],xmm7[7],xmm6[7]8383; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8384; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm15[0],xmm5[1],xmm15[1],xmm5[2],xmm15[2],xmm5[3],xmm15[3]8385; SSE-NEXT:    packuswb %xmm5, %xmm68386; SSE-NEXT:    movdqa %xmm9, %xmm58387; SSE-NEXT:    pandn %xmm6, %xmm58388; SSE-NEXT:    punpcklwd {{.*#+}} xmm7 = xmm7[0],xmm2[0],xmm7[1],xmm2[1],xmm7[2],xmm2[2],xmm7[3],xmm2[3]8389; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8390; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm7[1,1,1,1]8391; SSE-NEXT:    packuswb %xmm15, %xmm158392; SSE-NEXT:    pand %xmm9, %xmm158393; SSE-NEXT:    por %xmm5, %xmm158394; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm15[2,2,2,2]8395; SSE-NEXT:    punpckhdq {{.*#+}} xmm5 = xmm5[2],xmm1[2],xmm5[3],xmm1[3]8396; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm0[0],xmm5[1]8397; SSE-NEXT:    movapd %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8398; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [255,255,255,255,255,255,255,255]8399; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8400; SSE-NEXT:    pand %xmm2, %xmm08401; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8402; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]8403; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,1,3,4,5,6,7]8404; SSE-NEXT:    packuswb %xmm0, %xmm08405; SSE-NEXT:    movdqa %xmm10, %xmm58406; SSE-NEXT:    pandn %xmm0, %xmm58407; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8408; SSE-NEXT:    pand %xmm2, %xmm08409; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8410; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]8411; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,3,2,3,4,5,6,7]8412; SSE-NEXT:    packuswb %xmm0, %xmm08413; SSE-NEXT:    pand %xmm10, %xmm08414; SSE-NEXT:    por %xmm5, %xmm08415; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8416; SSE-NEXT:    pand %xmm2, %xmm18417; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8418; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8419; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,5,7,5]8420; SSE-NEXT:    packuswb %xmm5, %xmm58421; SSE-NEXT:    movdqa %xmm13, %xmm158422; SSE-NEXT:    pandn %xmm5, %xmm158423; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8424; SSE-NEXT:    pand %xmm2, %xmm18425; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8426; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8427; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,7,5,6,7]8428; SSE-NEXT:    packuswb %xmm5, %xmm58429; SSE-NEXT:    pand %xmm13, %xmm58430; SSE-NEXT:    por %xmm15, %xmm58431; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[1,1,1,1]8432; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1]8433; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8434; SSE-NEXT:    pand %xmm2, %xmm18435; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8436; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8437; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,5,7,5]8438; SSE-NEXT:    packuswb %xmm5, %xmm58439; SSE-NEXT:    movdqa %xmm12, %xmm158440; SSE-NEXT:    pandn %xmm5, %xmm158441; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8442; SSE-NEXT:    pand %xmm2, %xmm18443; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8444; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8445; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,7,5,6,7]8446; SSE-NEXT:    packuswb %xmm5, %xmm58447; SSE-NEXT:    pand %xmm12, %xmm58448; SSE-NEXT:    por %xmm15, %xmm58449; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8450; SSE-NEXT:    pand %xmm2, %xmm18451; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8452; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm1[0,2,2,3]8453; SSE-NEXT:    pshuflw {{.*#+}} xmm15 = xmm15[0,1,1,3,4,5,6,7]8454; SSE-NEXT:    packuswb %xmm15, %xmm158455; SSE-NEXT:    movdqa %xmm9, %xmm78456; SSE-NEXT:    pandn %xmm15, %xmm78457; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8458; SSE-NEXT:    pand %xmm2, %xmm18459; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8460; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm1[0,2,2,3]8461; SSE-NEXT:    pshuflw {{.*#+}} xmm15 = xmm15[1,3,2,3,4,5,6,7]8462; SSE-NEXT:    packuswb %xmm15, %xmm158463; SSE-NEXT:    pand %xmm9, %xmm158464; SSE-NEXT:    por %xmm7, %xmm158465; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm15[2,2,2,2]8466; SSE-NEXT:    punpckhdq {{.*#+}} xmm7 = xmm7[2],xmm5[2],xmm7[3],xmm5[3]8467; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm0[0],xmm7[1]8468; SSE-NEXT:    movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8469; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8470; SSE-NEXT:    pand %xmm2, %xmm08471; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8472; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]8473; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,1,3,4,5,6,7]8474; SSE-NEXT:    packuswb %xmm0, %xmm08475; SSE-NEXT:    movdqa %xmm10, %xmm58476; SSE-NEXT:    pandn %xmm0, %xmm58477; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8478; SSE-NEXT:    pand %xmm2, %xmm08479; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8480; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]8481; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm0[1,3,2,3,4,5,6,7]8482; SSE-NEXT:    packuswb %xmm1, %xmm18483; SSE-NEXT:    pand %xmm10, %xmm18484; SSE-NEXT:    por %xmm5, %xmm18485; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8486; SSE-NEXT:    pand %xmm2, %xmm08487; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8488; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm0[0,1,2,0]8489; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,5,7,5]8490; SSE-NEXT:    packuswb %xmm5, %xmm58491; SSE-NEXT:    movdqa %xmm13, %xmm78492; SSE-NEXT:    pandn %xmm5, %xmm78493; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8494; SSE-NEXT:    pand %xmm2, %xmm08495; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8496; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm0[0,1,2,0]8497; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,7,5,6,7]8498; SSE-NEXT:    packuswb %xmm5, %xmm58499; SSE-NEXT:    pand %xmm13, %xmm58500; SSE-NEXT:    por %xmm7, %xmm58501; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[1,1,1,1]8502; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1]8503; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8504; SSE-NEXT:    pand %xmm2, %xmm08505; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8506; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm0[0,1,2,0]8507; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,5,7,5]8508; SSE-NEXT:    packuswb %xmm5, %xmm58509; SSE-NEXT:    movdqa %xmm12, %xmm78510; SSE-NEXT:    pandn %xmm5, %xmm78511; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8512; SSE-NEXT:    pand %xmm2, %xmm08513; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8514; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm0[0,1,2,0]8515; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,7,5,6,7]8516; SSE-NEXT:    packuswb %xmm5, %xmm58517; SSE-NEXT:    pand %xmm12, %xmm58518; SSE-NEXT:    por %xmm7, %xmm58519; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8520; SSE-NEXT:    pand %xmm2, %xmm08521; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8522; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm0[0,2,2,3]8523; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[0,1,1,3,4,5,6,7]8524; SSE-NEXT:    packuswb %xmm7, %xmm78525; SSE-NEXT:    movdqa %xmm9, %xmm158526; SSE-NEXT:    pandn %xmm7, %xmm158527; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8528; SSE-NEXT:    pand %xmm2, %xmm08529; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8530; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm0[0,2,2,3]8531; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[1,3,2,3,4,5,6,7]8532; SSE-NEXT:    packuswb %xmm7, %xmm78533; SSE-NEXT:    pand %xmm9, %xmm78534; SSE-NEXT:    por %xmm15, %xmm78535; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[2,2,2,2]8536; SSE-NEXT:    punpckhdq {{.*#+}} xmm7 = xmm7[2],xmm5[2],xmm7[3],xmm5[3]8537; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm1[0],xmm7[1]8538; SSE-NEXT:    movapd %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8539; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8540; SSE-NEXT:    pand %xmm2, %xmm08541; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8542; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]8543; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,1,3,4,5,6,7]8544; SSE-NEXT:    packuswb %xmm0, %xmm08545; SSE-NEXT:    movdqa %xmm10, %xmm58546; SSE-NEXT:    pandn %xmm0, %xmm58547; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8548; SSE-NEXT:    pand %xmm2, %xmm08549; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8550; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]8551; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,3,2,3,4,5,6,7]8552; SSE-NEXT:    packuswb %xmm0, %xmm08553; SSE-NEXT:    pand %xmm10, %xmm08554; SSE-NEXT:    por %xmm5, %xmm08555; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8556; SSE-NEXT:    pand %xmm2, %xmm18557; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8558; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8559; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,5,7,5]8560; SSE-NEXT:    packuswb %xmm5, %xmm58561; SSE-NEXT:    movdqa %xmm13, %xmm78562; SSE-NEXT:    pandn %xmm5, %xmm78563; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8564; SSE-NEXT:    pand %xmm2, %xmm18565; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8566; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8567; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,7,5,6,7]8568; SSE-NEXT:    packuswb %xmm5, %xmm58569; SSE-NEXT:    pand %xmm13, %xmm58570; SSE-NEXT:    por %xmm7, %xmm58571; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[1,1,1,1]8572; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1]8573; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8574; SSE-NEXT:    pand %xmm2, %xmm18575; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8576; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8577; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,5,7,5]8578; SSE-NEXT:    packuswb %xmm5, %xmm58579; SSE-NEXT:    movdqa %xmm12, %xmm78580; SSE-NEXT:    pandn %xmm5, %xmm78581; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8582; SSE-NEXT:    pand %xmm2, %xmm18583; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8584; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8585; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,7,5,6,7]8586; SSE-NEXT:    packuswb %xmm5, %xmm58587; SSE-NEXT:    pand %xmm12, %xmm58588; SSE-NEXT:    por %xmm7, %xmm58589; SSE-NEXT:    movdqa (%rsp), %xmm1 # 16-byte Reload8590; SSE-NEXT:    pand %xmm2, %xmm18591; SSE-NEXT:    movdqa %xmm1, (%rsp) # 16-byte Spill8592; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm1[0,2,2,3]8593; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[0,1,1,3,4,5,6,7]8594; SSE-NEXT:    packuswb %xmm7, %xmm78595; SSE-NEXT:    movdqa %xmm9, %xmm158596; SSE-NEXT:    pandn %xmm7, %xmm158597; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8598; SSE-NEXT:    pand %xmm2, %xmm18599; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8600; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm1[0,2,2,3]8601; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[1,3,2,3,4,5,6,7]8602; SSE-NEXT:    packuswb %xmm7, %xmm78603; SSE-NEXT:    pand %xmm9, %xmm78604; SSE-NEXT:    por %xmm15, %xmm78605; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[2,2,2,2]8606; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm5[2],xmm1[3],xmm5[3]8607; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8608; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8609; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8610; SSE-NEXT:    pand %xmm2, %xmm08611; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8612; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]8613; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,1,3,4,5,6,7]8614; SSE-NEXT:    packuswb %xmm0, %xmm08615; SSE-NEXT:    movdqa %xmm10, %xmm58616; SSE-NEXT:    pandn %xmm0, %xmm58617; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8618; SSE-NEXT:    pand %xmm2, %xmm08619; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8620; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]8621; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,3,2,3,4,5,6,7]8622; SSE-NEXT:    packuswb %xmm0, %xmm08623; SSE-NEXT:    pand %xmm10, %xmm08624; SSE-NEXT:    por %xmm5, %xmm08625; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8626; SSE-NEXT:    pand %xmm2, %xmm18627; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8628; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8629; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,5,7,5]8630; SSE-NEXT:    packuswb %xmm5, %xmm58631; SSE-NEXT:    movdqa %xmm13, %xmm78632; SSE-NEXT:    pandn %xmm5, %xmm78633; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8634; SSE-NEXT:    pand %xmm2, %xmm18635; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8636; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8637; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,7,5,6,7]8638; SSE-NEXT:    packuswb %xmm5, %xmm58639; SSE-NEXT:    pand %xmm13, %xmm58640; SSE-NEXT:    por %xmm7, %xmm58641; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[1,1,1,1]8642; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1]8643; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8644; SSE-NEXT:    pand %xmm2, %xmm18645; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8646; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8647; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,5,7,5]8648; SSE-NEXT:    packuswb %xmm5, %xmm58649; SSE-NEXT:    movdqa %xmm12, %xmm78650; SSE-NEXT:    pandn %xmm5, %xmm78651; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8652; SSE-NEXT:    pand %xmm2, %xmm18653; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8654; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm1[0,1,2,0]8655; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,7,5,6,7]8656; SSE-NEXT:    packuswb %xmm5, %xmm58657; SSE-NEXT:    pand %xmm12, %xmm58658; SSE-NEXT:    por %xmm7, %xmm58659; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8660; SSE-NEXT:    pand %xmm2, %xmm18661; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8662; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm1[0,2,2,3]8663; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[0,1,1,3,4,5,6,7]8664; SSE-NEXT:    packuswb %xmm7, %xmm78665; SSE-NEXT:    movdqa %xmm9, %xmm158666; SSE-NEXT:    pandn %xmm7, %xmm158667; SSE-NEXT:    movdqa %xmm3, %xmm18668; SSE-NEXT:    pand %xmm2, %xmm18669; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8670; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]8671; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,3,2,3,4,5,6,7]8672; SSE-NEXT:    packuswb %xmm1, %xmm18673; SSE-NEXT:    pand %xmm9, %xmm18674; SSE-NEXT:    por %xmm15, %xmm18675; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]8676; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm5[2],xmm1[3],xmm5[3]8677; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8678; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8679; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8680; SSE-NEXT:    # xmm0 = mem[1,1,2,3]8681; SSE-NEXT:    movdqa %xmm10, %xmm18682; SSE-NEXT:    pandn %xmm0, %xmm18683; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8684; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8685; SSE-NEXT:    packuswb %xmm0, %xmm08686; SSE-NEXT:    pand %xmm10, %xmm08687; SSE-NEXT:    por %xmm1, %xmm08688; SSE-NEXT:    movdqa %xmm13, %xmm18689; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8690; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload8691; SSE-NEXT:    # xmm5 = mem[2,2,3,3]8692; SSE-NEXT:    packuswb %xmm5, %xmm58693; SSE-NEXT:    pand %xmm13, %xmm58694; SSE-NEXT:    por %xmm1, %xmm58695; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm5[1,1,1,1]8696; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]8697; SSE-NEXT:    movdqa %xmm12, %xmm18698; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8699; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload8700; SSE-NEXT:    # xmm5 = mem[2,2,3,3]8701; SSE-NEXT:    packuswb %xmm5, %xmm58702; SSE-NEXT:    pand %xmm12, %xmm58703; SSE-NEXT:    por %xmm1, %xmm58704; SSE-NEXT:    pshufd $244, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8705; SSE-NEXT:    # xmm1 = mem[0,1,3,3]8706; SSE-NEXT:    movdqa %xmm9, %xmm78707; SSE-NEXT:    pandn %xmm1, %xmm78708; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8709; SSE-NEXT:    # xmm1 = mem[3,3,3,3]8710; SSE-NEXT:    packuswb %xmm1, %xmm18711; SSE-NEXT:    pand %xmm9, %xmm18712; SSE-NEXT:    por %xmm7, %xmm18713; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]8714; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm5[2],xmm1[3],xmm5[3]8715; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8716; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8717; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8718; SSE-NEXT:    # xmm0 = mem[1,1,2,3]8719; SSE-NEXT:    movdqa %xmm10, %xmm18720; SSE-NEXT:    pandn %xmm0, %xmm18721; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8722; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8723; SSE-NEXT:    packuswb %xmm0, %xmm08724; SSE-NEXT:    pand %xmm10, %xmm08725; SSE-NEXT:    por %xmm1, %xmm08726; SSE-NEXT:    movdqa %xmm13, %xmm18727; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8728; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload8729; SSE-NEXT:    # xmm5 = mem[2,2,3,3]8730; SSE-NEXT:    packuswb %xmm5, %xmm58731; SSE-NEXT:    pand %xmm13, %xmm58732; SSE-NEXT:    por %xmm1, %xmm58733; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm5[1,1,1,1]8734; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]8735; SSE-NEXT:    movdqa %xmm12, %xmm18736; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8737; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload8738; SSE-NEXT:    # xmm5 = mem[2,2,3,3]8739; SSE-NEXT:    packuswb %xmm5, %xmm58740; SSE-NEXT:    pand %xmm12, %xmm58741; SSE-NEXT:    por %xmm1, %xmm58742; SSE-NEXT:    pshufd $244, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8743; SSE-NEXT:    # xmm1 = mem[0,1,3,3]8744; SSE-NEXT:    movdqa %xmm9, %xmm78745; SSE-NEXT:    pandn %xmm1, %xmm78746; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8747; SSE-NEXT:    # xmm1 = mem[3,3,3,3]8748; SSE-NEXT:    packuswb %xmm1, %xmm18749; SSE-NEXT:    pand %xmm9, %xmm18750; SSE-NEXT:    por %xmm7, %xmm18751; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]8752; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm5[2],xmm1[3],xmm5[3]8753; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8754; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8755; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8756; SSE-NEXT:    # xmm0 = mem[1,1,2,3]8757; SSE-NEXT:    movdqa %xmm10, %xmm18758; SSE-NEXT:    pandn %xmm0, %xmm18759; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8760; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8761; SSE-NEXT:    packuswb %xmm0, %xmm08762; SSE-NEXT:    pand %xmm10, %xmm08763; SSE-NEXT:    por %xmm1, %xmm08764; SSE-NEXT:    movdqa %xmm13, %xmm18765; SSE-NEXT:    pandn %xmm14, %xmm18766; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload8767; SSE-NEXT:    # xmm5 = mem[2,2,3,3]8768; SSE-NEXT:    packuswb %xmm5, %xmm58769; SSE-NEXT:    pand %xmm13, %xmm58770; SSE-NEXT:    por %xmm1, %xmm58771; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm5[1,1,1,1]8772; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]8773; SSE-NEXT:    movdqa %xmm12, %xmm18774; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8775; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload8776; SSE-NEXT:    # xmm5 = mem[2,2,3,3]8777; SSE-NEXT:    packuswb %xmm5, %xmm58778; SSE-NEXT:    pand %xmm12, %xmm58779; SSE-NEXT:    por %xmm1, %xmm58780; SSE-NEXT:    pshufd $244, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8781; SSE-NEXT:    # xmm1 = mem[0,1,3,3]8782; SSE-NEXT:    movdqa %xmm9, %xmm78783; SSE-NEXT:    pandn %xmm1, %xmm78784; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8785; SSE-NEXT:    # xmm1 = mem[3,3,3,3]8786; SSE-NEXT:    packuswb %xmm1, %xmm18787; SSE-NEXT:    pand %xmm9, %xmm18788; SSE-NEXT:    por %xmm7, %xmm18789; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]8790; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm5[2],xmm1[3],xmm5[3]8791; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8792; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8793; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm8[1,1,2,3]8794; SSE-NEXT:    movdqa %xmm10, %xmm18795; SSE-NEXT:    pandn %xmm0, %xmm18796; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8797; SSE-NEXT:    # xmm0 = mem[3,3,3,3]8798; SSE-NEXT:    packuswb %xmm0, %xmm08799; SSE-NEXT:    pand %xmm10, %xmm08800; SSE-NEXT:    por %xmm1, %xmm08801; SSE-NEXT:    movdqa %xmm13, %xmm18802; SSE-NEXT:    pandn %xmm4, %xmm18803; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8804; SSE-NEXT:    # xmm2 = mem[2,2,3,3]8805; SSE-NEXT:    packuswb %xmm2, %xmm28806; SSE-NEXT:    pand %xmm13, %xmm28807; SSE-NEXT:    por %xmm1, %xmm28808; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[1,1,1,1]8809; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]8810; SSE-NEXT:    movdqa %xmm12, %xmm18811; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8812; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm11[2,2,3,3]8813; SSE-NEXT:    packuswb %xmm2, %xmm28814; SSE-NEXT:    pand %xmm12, %xmm28815; SSE-NEXT:    por %xmm1, %xmm28816; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm6[0,1,3,3]8817; SSE-NEXT:    movdqa %xmm9, %xmm38818; SSE-NEXT:    pandn %xmm1, %xmm38819; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8820; SSE-NEXT:    # xmm1 = mem[3,3,3,3]8821; SSE-NEXT:    packuswb %xmm1, %xmm18822; SSE-NEXT:    pand %xmm9, %xmm18823; SSE-NEXT:    por %xmm3, %xmm18824; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]8825; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm2[2],xmm1[3],xmm2[3]8826; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]8827; SSE-NEXT:    movapd %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8828; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload8829; SSE-NEXT:    # xmm7 = mem[3,1,2,3]8830; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm7[0,1,2,0,4,5,6,7]8831; SSE-NEXT:    packuswb %xmm0, %xmm08832; SSE-NEXT:    movdqa %xmm10, %xmm18833; SSE-NEXT:    pandn %xmm0, %xmm18834; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8835; SSE-NEXT:    # xmm0 = mem[3,1,2,3]8836; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8837; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,0,2,3,4,5,6,7]8838; SSE-NEXT:    packuswb %xmm0, %xmm08839; SSE-NEXT:    pand %xmm10, %xmm08840; SSE-NEXT:    por %xmm1, %xmm08841; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8842; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8843; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8844; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]8845; SSE-NEXT:    packuswb %xmm1, %xmm18846; SSE-NEXT:    movdqa %xmm13, %xmm28847; SSE-NEXT:    pandn %xmm1, %xmm28848; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8849; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8850; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8851; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]8852; SSE-NEXT:    packuswb %xmm1, %xmm18853; SSE-NEXT:    pand %xmm13, %xmm18854; SSE-NEXT:    por %xmm2, %xmm18855; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]8856; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]8857; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8858; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8859; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8860; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]8861; SSE-NEXT:    packuswb %xmm1, %xmm18862; SSE-NEXT:    movdqa %xmm12, %xmm28863; SSE-NEXT:    pandn %xmm1, %xmm28864; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8865; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8866; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8867; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]8868; SSE-NEXT:    packuswb %xmm1, %xmm18869; SSE-NEXT:    pand %xmm12, %xmm18870; SSE-NEXT:    por %xmm2, %xmm18871; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8872; SSE-NEXT:    # xmm2 = mem[3,1,2,3]8873; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8874; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,1,2,0,4,5,6,7]8875; SSE-NEXT:    packuswb %xmm2, %xmm28876; SSE-NEXT:    movdqa %xmm9, %xmm38877; SSE-NEXT:    pandn %xmm2, %xmm38878; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8879; SSE-NEXT:    # xmm2 = mem[3,1,2,3]8880; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8881; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[2,0,2,3,4,5,6,7]8882; SSE-NEXT:    packuswb %xmm2, %xmm28883; SSE-NEXT:    pand %xmm9, %xmm28884; SSE-NEXT:    por %xmm3, %xmm28885; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,2,2,2]8886; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]8887; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]8888; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8889; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload8890; SSE-NEXT:    # xmm14 = mem[3,1,2,3]8891; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm14[0,1,2,0,4,5,6,7]8892; SSE-NEXT:    packuswb %xmm0, %xmm08893; SSE-NEXT:    movdqa %xmm10, %xmm18894; SSE-NEXT:    pandn %xmm0, %xmm18895; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8896; SSE-NEXT:    # xmm0 = mem[3,1,2,3]8897; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8898; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,0,2,3,4,5,6,7]8899; SSE-NEXT:    packuswb %xmm0, %xmm08900; SSE-NEXT:    pand %xmm10, %xmm08901; SSE-NEXT:    por %xmm1, %xmm08902; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8903; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8904; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8905; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]8906; SSE-NEXT:    packuswb %xmm1, %xmm18907; SSE-NEXT:    movdqa %xmm13, %xmm28908; SSE-NEXT:    pandn %xmm1, %xmm28909; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8910; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8911; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8912; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]8913; SSE-NEXT:    packuswb %xmm1, %xmm18914; SSE-NEXT:    pand %xmm13, %xmm18915; SSE-NEXT:    por %xmm2, %xmm18916; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]8917; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]8918; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8919; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8920; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8921; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]8922; SSE-NEXT:    packuswb %xmm1, %xmm18923; SSE-NEXT:    movdqa %xmm12, %xmm28924; SSE-NEXT:    pandn %xmm1, %xmm28925; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8926; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8927; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8928; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]8929; SSE-NEXT:    packuswb %xmm1, %xmm18930; SSE-NEXT:    pand %xmm12, %xmm18931; SSE-NEXT:    por %xmm2, %xmm18932; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8933; SSE-NEXT:    # xmm2 = mem[3,1,2,3]8934; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8935; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,1,2,0,4,5,6,7]8936; SSE-NEXT:    packuswb %xmm2, %xmm28937; SSE-NEXT:    movdqa %xmm9, %xmm38938; SSE-NEXT:    pandn %xmm2, %xmm38939; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Folded Reload8940; SSE-NEXT:    # xmm11 = mem[3,1,2,3]8941; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm11[2,0,2,3,4,5,6,7]8942; SSE-NEXT:    packuswb %xmm2, %xmm28943; SSE-NEXT:    pand %xmm9, %xmm28944; SSE-NEXT:    por %xmm3, %xmm28945; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,2,2,2]8946; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]8947; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]8948; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8949; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8950; SSE-NEXT:    # xmm0 = mem[3,1,2,3]8951; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8952; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,2,0,4,5,6,7]8953; SSE-NEXT:    packuswb %xmm0, %xmm08954; SSE-NEXT:    movdqa %xmm10, %xmm18955; SSE-NEXT:    pandn %xmm0, %xmm18956; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8957; SSE-NEXT:    # xmm0 = mem[3,1,2,3]8958; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8959; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,0,2,3,4,5,6,7]8960; SSE-NEXT:    packuswb %xmm0, %xmm08961; SSE-NEXT:    pand %xmm10, %xmm08962; SSE-NEXT:    por %xmm1, %xmm08963; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8964; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8965; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8966; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]8967; SSE-NEXT:    packuswb %xmm1, %xmm18968; SSE-NEXT:    movdqa %xmm13, %xmm28969; SSE-NEXT:    pandn %xmm1, %xmm28970; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8971; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8972; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8973; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]8974; SSE-NEXT:    packuswb %xmm1, %xmm18975; SSE-NEXT:    pand %xmm13, %xmm18976; SSE-NEXT:    por %xmm2, %xmm18977; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]8978; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]8979; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8980; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8981; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8982; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]8983; SSE-NEXT:    packuswb %xmm1, %xmm18984; SSE-NEXT:    movdqa %xmm12, %xmm28985; SSE-NEXT:    pandn %xmm1, %xmm28986; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8987; SSE-NEXT:    # xmm1 = mem[0,1,1,3]8988; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8989; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]8990; SSE-NEXT:    packuswb %xmm1, %xmm18991; SSE-NEXT:    pand %xmm12, %xmm18992; SSE-NEXT:    por %xmm2, %xmm18993; SSE-NEXT:    pshufd $231, (%rsp), %xmm2 # 16-byte Folded Reload8994; SSE-NEXT:    # xmm2 = mem[3,1,2,3]8995; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8996; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,1,2,0,4,5,6,7]8997; SSE-NEXT:    packuswb %xmm2, %xmm28998; SSE-NEXT:    movdqa %xmm9, %xmm38999; SSE-NEXT:    pandn %xmm2, %xmm39000; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9001; SSE-NEXT:    # xmm2 = mem[3,1,2,3]9002; SSE-NEXT:    movdqa %xmm2, (%rsp) # 16-byte Spill9003; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[2,0,2,3,4,5,6,7]9004; SSE-NEXT:    packuswb %xmm2, %xmm29005; SSE-NEXT:    pand %xmm9, %xmm29006; SSE-NEXT:    por %xmm3, %xmm29007; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,2,2,2]9008; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]9009; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]9010; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9011; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9012; SSE-NEXT:    # xmm0 = mem[3,1,2,3]9013; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9014; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,2,0,4,5,6,7]9015; SSE-NEXT:    packuswb %xmm0, %xmm09016; SSE-NEXT:    movdqa %xmm10, %xmm19017; SSE-NEXT:    pandn %xmm0, %xmm19018; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9019; SSE-NEXT:    # xmm0 = mem[3,1,2,3]9020; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9021; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,0,2,3,4,5,6,7]9022; SSE-NEXT:    packuswb %xmm0, %xmm09023; SSE-NEXT:    pand %xmm10, %xmm09024; SSE-NEXT:    por %xmm1, %xmm09025; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9026; SSE-NEXT:    # xmm1 = mem[0,1,1,3]9027; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9028; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]9029; SSE-NEXT:    packuswb %xmm1, %xmm19030; SSE-NEXT:    movdqa %xmm13, %xmm29031; SSE-NEXT:    pandn %xmm1, %xmm29032; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9033; SSE-NEXT:    # xmm1 = mem[0,1,1,3]9034; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9035; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]9036; SSE-NEXT:    packuswb %xmm1, %xmm19037; SSE-NEXT:    pand %xmm13, %xmm19038; SSE-NEXT:    por %xmm2, %xmm19039; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]9040; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9041; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9042; SSE-NEXT:    # xmm1 = mem[0,1,1,3]9043; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9044; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,6]9045; SSE-NEXT:    packuswb %xmm1, %xmm19046; SSE-NEXT:    movdqa %xmm12, %xmm29047; SSE-NEXT:    pandn %xmm1, %xmm29048; SSE-NEXT:    pshufd $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9049; SSE-NEXT:    # xmm1 = mem[0,1,1,3]9050; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9051; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]9052; SSE-NEXT:    packuswb %xmm1, %xmm19053; SSE-NEXT:    pand %xmm12, %xmm19054; SSE-NEXT:    por %xmm2, %xmm19055; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9056; SSE-NEXT:    # xmm2 = mem[3,1,2,3]9057; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9058; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,1,2,0,4,5,6,7]9059; SSE-NEXT:    packuswb %xmm2, %xmm29060; SSE-NEXT:    movdqa %xmm9, %xmm39061; SSE-NEXT:    pandn %xmm2, %xmm39062; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9063; SSE-NEXT:    # xmm2 = mem[3,1,2,3]9064; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9065; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[2,0,2,3,4,5,6,7]9066; SSE-NEXT:    packuswb %xmm2, %xmm29067; SSE-NEXT:    pand %xmm9, %xmm29068; SSE-NEXT:    por %xmm3, %xmm29069; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,2,2,2]9070; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]9071; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]9072; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9073; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9074; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9075; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]9076; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9077; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9078; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9079; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9080; SSE-NEXT:    packuswb %xmm2, %xmm29081; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9082; SSE-NEXT:    movdqa %xmm10, %xmm19083; SSE-NEXT:    pandn %xmm2, %xmm19084; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]9085; SSE-NEXT:    packuswb %xmm0, %xmm09086; SSE-NEXT:    pand %xmm10, %xmm09087; SSE-NEXT:    por %xmm1, %xmm09088; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9089; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9090; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9091; SSE-NEXT:    packuswb %xmm1, %xmm19092; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9093; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,2,3]9094; SSE-NEXT:    movdqa %xmm13, %xmm29095; SSE-NEXT:    pandn %xmm1, %xmm29096; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9097; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9098; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9099; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9100; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]9101; SSE-NEXT:    packuswb %xmm1, %xmm19102; SSE-NEXT:    pand %xmm13, %xmm19103; SSE-NEXT:    por %xmm2, %xmm19104; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]9105; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9106; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9107; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9108; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9109; SSE-NEXT:    packuswb %xmm1, %xmm19110; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9111; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]9112; SSE-NEXT:    movdqa %xmm12, %xmm29113; SSE-NEXT:    pandn %xmm1, %xmm29114; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9115; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9116; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9117; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9118; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]9119; SSE-NEXT:    packuswb %xmm1, %xmm19120; SSE-NEXT:    pand %xmm12, %xmm19121; SSE-NEXT:    por %xmm2, %xmm19122; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9123; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9124; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]9125; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9126; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload9127; SSE-NEXT:    # xmm4 = xmm4[4],mem[4],xmm4[5],mem[5],xmm4[6],mem[6],xmm4[7],mem[7]9128; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9129; SSE-NEXT:    packuswb %xmm2, %xmm39130; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9131; SSE-NEXT:    movdqa %xmm9, %xmm29132; SSE-NEXT:    pandn %xmm3, %xmm29133; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm4[1,1,1,1]9134; SSE-NEXT:    packuswb %xmm3, %xmm39135; SSE-NEXT:    pand %xmm9, %xmm39136; SSE-NEXT:    por %xmm2, %xmm39137; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[2,2,2,2]9138; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]9139; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]9140; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9141; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9142; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9143; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]9144; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9145; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9146; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9147; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9148; SSE-NEXT:    packuswb %xmm2, %xmm29149; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9150; SSE-NEXT:    movdqa %xmm10, %xmm19151; SSE-NEXT:    pandn %xmm2, %xmm19152; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]9153; SSE-NEXT:    packuswb %xmm0, %xmm09154; SSE-NEXT:    pand %xmm10, %xmm09155; SSE-NEXT:    por %xmm1, %xmm09156; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9157; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9158; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9159; SSE-NEXT:    packuswb %xmm1, %xmm19160; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9161; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,2,3]9162; SSE-NEXT:    movdqa %xmm13, %xmm29163; SSE-NEXT:    pandn %xmm1, %xmm29164; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9165; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9166; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9167; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9168; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]9169; SSE-NEXT:    packuswb %xmm1, %xmm19170; SSE-NEXT:    pand %xmm13, %xmm19171; SSE-NEXT:    por %xmm2, %xmm19172; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]9173; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9174; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9175; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9176; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9177; SSE-NEXT:    packuswb %xmm1, %xmm19178; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9179; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]9180; SSE-NEXT:    movdqa %xmm12, %xmm29181; SSE-NEXT:    pandn %xmm1, %xmm29182; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9183; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9184; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9185; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9186; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]9187; SSE-NEXT:    packuswb %xmm1, %xmm19188; SSE-NEXT:    pand %xmm12, %xmm19189; SSE-NEXT:    por %xmm2, %xmm19190; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9191; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9192; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]9193; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9194; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload9195; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]9196; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9197; SSE-NEXT:    packuswb %xmm2, %xmm89198; SSE-NEXT:    movdqa %xmm9, %xmm29199; SSE-NEXT:    pandn %xmm8, %xmm29200; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[1,1,1,1]9201; SSE-NEXT:    packuswb %xmm3, %xmm39202; SSE-NEXT:    pand %xmm9, %xmm39203; SSE-NEXT:    por %xmm2, %xmm39204; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[2,2,2,2]9205; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]9206; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]9207; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9208; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9209; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9210; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9211; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9212; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9213; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]9214; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9215; SSE-NEXT:    packuswb %xmm0, %xmm09216; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9217; SSE-NEXT:    movdqa %xmm10, %xmm19218; SSE-NEXT:    pandn %xmm0, %xmm19219; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[1,1,1,1]9220; SSE-NEXT:    packuswb %xmm0, %xmm09221; SSE-NEXT:    pand %xmm10, %xmm09222; SSE-NEXT:    por %xmm1, %xmm09223; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9224; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9225; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9226; SSE-NEXT:    packuswb %xmm1, %xmm19227; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9228; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,2,3]9229; SSE-NEXT:    movdqa %xmm13, %xmm29230; SSE-NEXT:    pandn %xmm1, %xmm29231; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9232; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9233; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9234; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9235; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]9236; SSE-NEXT:    packuswb %xmm1, %xmm19237; SSE-NEXT:    pand %xmm13, %xmm19238; SSE-NEXT:    por %xmm2, %xmm19239; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]9240; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9241; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9242; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9243; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9244; SSE-NEXT:    packuswb %xmm1, %xmm19245; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9246; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]9247; SSE-NEXT:    movdqa %xmm12, %xmm29248; SSE-NEXT:    pandn %xmm1, %xmm29249; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9250; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9251; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9252; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9253; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]9254; SSE-NEXT:    packuswb %xmm1, %xmm19255; SSE-NEXT:    pand %xmm12, %xmm19256; SSE-NEXT:    por %xmm2, %xmm19257; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9258; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9259; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]9260; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9261; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload9262; SSE-NEXT:    # xmm4 = xmm4[4],mem[4],xmm4[5],mem[5],xmm4[6],mem[6],xmm4[7],mem[7]9263; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9264; SSE-NEXT:    packuswb %xmm2, %xmm39265; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9266; SSE-NEXT:    movdqa %xmm9, %xmm29267; SSE-NEXT:    pandn %xmm3, %xmm29268; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm4[1,1,1,1]9269; SSE-NEXT:    packuswb %xmm3, %xmm39270; SSE-NEXT:    pand %xmm9, %xmm39271; SSE-NEXT:    por %xmm2, %xmm39272; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[2,2,2,2]9273; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]9274; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]9275; SSE-NEXT:    movapd %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9276; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9277; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9278; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]9279; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9280; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9281; SSE-NEXT:    # xmm0 = xmm0[4],mem[4],xmm0[5],mem[5],xmm0[6],mem[6],xmm0[7],mem[7]9282; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9283; SSE-NEXT:    packuswb %xmm2, %xmm29284; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9285; SSE-NEXT:    movdqa %xmm10, %xmm19286; SSE-NEXT:    pandn %xmm2, %xmm19287; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]9288; SSE-NEXT:    packuswb %xmm0, %xmm09289; SSE-NEXT:    pand %xmm10, %xmm09290; SSE-NEXT:    por %xmm1, %xmm09291; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9292; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9293; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9294; SSE-NEXT:    packuswb %xmm1, %xmm19295; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9296; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,2,3]9297; SSE-NEXT:    movdqa %xmm13, %xmm29298; SSE-NEXT:    pandn %xmm1, %xmm29299; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9300; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9301; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9302; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9303; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,1,3]9304; SSE-NEXT:    packuswb %xmm1, %xmm19305; SSE-NEXT:    pand %xmm13, %xmm19306; SSE-NEXT:    por %xmm2, %xmm19307; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]9308; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9309; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9310; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9311; SSE-NEXT:    # xmm1 = xmm1[4],mem[4],xmm1[5],mem[5],xmm1[6],mem[6],xmm1[7],mem[7]9312; SSE-NEXT:    packuswb %xmm1, %xmm19313; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9314; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,2]9315; SSE-NEXT:    movdqa %xmm12, %xmm29316; SSE-NEXT:    pandn %xmm1, %xmm29317; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload9318; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload9319; SSE-NEXT:    # xmm6 = xmm6[4],mem[4],xmm6[5],mem[5],xmm6[6],mem[6],xmm6[7],mem[7]9320; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm6[0,1,1,3]9321; SSE-NEXT:    packuswb %xmm1, %xmm19322; SSE-NEXT:    pand %xmm12, %xmm19323; SSE-NEXT:    por %xmm2, %xmm19324; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9325; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9326; SSE-NEXT:    # xmm2 = xmm2[4],mem[4],xmm2[5],mem[5],xmm2[6],mem[6],xmm2[7],mem[7]9327; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9328; SSE-NEXT:    punpckhwd {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload9329; SSE-NEXT:    # xmm3 = xmm3[4],mem[4],xmm3[5],mem[5],xmm3[6],mem[6],xmm3[7],mem[7]9330; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9331; SSE-NEXT:    packuswb %xmm2, %xmm49332; SSE-NEXT:    movdqa %xmm9, %xmm29333; SSE-NEXT:    pandn %xmm4, %xmm29334; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[1,1,1,1]9335; SSE-NEXT:    packuswb %xmm3, %xmm39336; SSE-NEXT:    pand %xmm9, %xmm39337; SSE-NEXT:    por %xmm2, %xmm39338; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm3[2,2,2,2]9339; SSE-NEXT:    punpckhdq {{.*#+}} xmm15 = xmm15[2],xmm1[2],xmm15[3],xmm1[3]9340; SSE-NEXT:    movsd {{.*#+}} xmm15 = xmm0[0],xmm15[1]9341; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm14[0,1,3,1,4,5,6,7]9342; SSE-NEXT:    packuswb %xmm0, %xmm09343; SSE-NEXT:    movdqa %xmm10, %xmm19344; SSE-NEXT:    pandn %xmm0, %xmm19345; SSE-NEXT:    pshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9346; SSE-NEXT:    # xmm0 = mem[3,1,2,3,4,5,6,7]9347; SSE-NEXT:    packuswb %xmm0, %xmm09348; SSE-NEXT:    pand %xmm10, %xmm09349; SSE-NEXT:    por %xmm1, %xmm09350; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9351; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]9352; SSE-NEXT:    packuswb %xmm1, %xmm19353; SSE-NEXT:    movdqa %xmm13, %xmm29354; SSE-NEXT:    pandn %xmm1, %xmm29355; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9356; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]9357; SSE-NEXT:    packuswb %xmm1, %xmm19358; SSE-NEXT:    pand %xmm13, %xmm19359; SSE-NEXT:    por %xmm2, %xmm19360; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]9361; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9362; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9363; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]9364; SSE-NEXT:    packuswb %xmm1, %xmm19365; SSE-NEXT:    movdqa %xmm12, %xmm29366; SSE-NEXT:    pandn %xmm1, %xmm29367; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9368; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]9369; SSE-NEXT:    packuswb %xmm1, %xmm19370; SSE-NEXT:    pand %xmm12, %xmm19371; SSE-NEXT:    por %xmm2, %xmm19372; SSE-NEXT:    pshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9373; SSE-NEXT:    # xmm2 = mem[0,1,3,1,4,5,6,7]9374; SSE-NEXT:    packuswb %xmm2, %xmm29375; SSE-NEXT:    movdqa %xmm9, %xmm39376; SSE-NEXT:    pandn %xmm2, %xmm39377; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm11[3,1,2,3,4,5,6,7]9378; SSE-NEXT:    packuswb %xmm2, %xmm29379; SSE-NEXT:    pand %xmm9, %xmm29380; SSE-NEXT:    por %xmm3, %xmm29381; SSE-NEXT:    pshufd {{.*#+}} xmm14 = xmm2[2,2,2,2]9382; SSE-NEXT:    punpckhdq {{.*#+}} xmm14 = xmm14[2],xmm1[2],xmm14[3],xmm1[3]9383; SSE-NEXT:    movsd {{.*#+}} xmm14 = xmm0[0],xmm14[1]9384; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm7[0,1,3,1,4,5,6,7]9385; SSE-NEXT:    packuswb %xmm0, %xmm09386; SSE-NEXT:    movdqa %xmm10, %xmm19387; SSE-NEXT:    pandn %xmm0, %xmm19388; SSE-NEXT:    pshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9389; SSE-NEXT:    # xmm0 = mem[3,1,2,3,4,5,6,7]9390; SSE-NEXT:    packuswb %xmm0, %xmm09391; SSE-NEXT:    pand %xmm10, %xmm09392; SSE-NEXT:    por %xmm1, %xmm09393; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9394; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]9395; SSE-NEXT:    packuswb %xmm1, %xmm19396; SSE-NEXT:    movdqa %xmm13, %xmm29397; SSE-NEXT:    pandn %xmm1, %xmm29398; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9399; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]9400; SSE-NEXT:    packuswb %xmm1, %xmm19401; SSE-NEXT:    pand %xmm13, %xmm19402; SSE-NEXT:    por %xmm2, %xmm19403; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]9404; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9405; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9406; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]9407; SSE-NEXT:    packuswb %xmm1, %xmm19408; SSE-NEXT:    movdqa %xmm12, %xmm29409; SSE-NEXT:    pandn %xmm1, %xmm29410; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9411; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]9412; SSE-NEXT:    packuswb %xmm1, %xmm19413; SSE-NEXT:    pand %xmm12, %xmm19414; SSE-NEXT:    por %xmm2, %xmm19415; SSE-NEXT:    pshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9416; SSE-NEXT:    # xmm2 = mem[0,1,3,1,4,5,6,7]9417; SSE-NEXT:    packuswb %xmm2, %xmm29418; SSE-NEXT:    movdqa %xmm9, %xmm39419; SSE-NEXT:    pandn %xmm2, %xmm39420; SSE-NEXT:    pshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9421; SSE-NEXT:    # xmm2 = mem[3,1,2,3,4,5,6,7]9422; SSE-NEXT:    packuswb %xmm2, %xmm29423; SSE-NEXT:    pand %xmm9, %xmm29424; SSE-NEXT:    por %xmm3, %xmm29425; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm2[2,2,2,2]9426; SSE-NEXT:    punpckhdq {{.*#+}} xmm11 = xmm11[2],xmm1[2],xmm11[3],xmm1[3]9427; SSE-NEXT:    movsd {{.*#+}} xmm11 = xmm0[0],xmm11[1]9428; SSE-NEXT:    pshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9429; SSE-NEXT:    # xmm0 = mem[0,1,3,1,4,5,6,7]9430; SSE-NEXT:    packuswb %xmm0, %xmm09431; SSE-NEXT:    movdqa %xmm10, %xmm19432; SSE-NEXT:    pandn %xmm0, %xmm19433; SSE-NEXT:    pshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9434; SSE-NEXT:    # xmm0 = mem[3,1,2,3,4,5,6,7]9435; SSE-NEXT:    packuswb %xmm0, %xmm09436; SSE-NEXT:    pand %xmm10, %xmm09437; SSE-NEXT:    por %xmm1, %xmm09438; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9439; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]9440; SSE-NEXT:    packuswb %xmm1, %xmm19441; SSE-NEXT:    movdqa %xmm13, %xmm29442; SSE-NEXT:    pandn %xmm1, %xmm29443; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9444; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]9445; SSE-NEXT:    packuswb %xmm1, %xmm19446; SSE-NEXT:    pand %xmm13, %xmm19447; SSE-NEXT:    por %xmm2, %xmm19448; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]9449; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9450; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9451; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]9452; SSE-NEXT:    packuswb %xmm1, %xmm19453; SSE-NEXT:    movdqa %xmm12, %xmm29454; SSE-NEXT:    pandn %xmm1, %xmm29455; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9456; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]9457; SSE-NEXT:    packuswb %xmm1, %xmm19458; SSE-NEXT:    pand %xmm12, %xmm19459; SSE-NEXT:    por %xmm2, %xmm19460; SSE-NEXT:    pshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9461; SSE-NEXT:    # xmm2 = mem[0,1,3,1,4,5,6,7]9462; SSE-NEXT:    packuswb %xmm2, %xmm29463; SSE-NEXT:    movdqa %xmm9, %xmm39464; SSE-NEXT:    pandn %xmm2, %xmm39465; SSE-NEXT:    pshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9466; SSE-NEXT:    # xmm2 = mem[3,1,2,3,4,5,6,7]9467; SSE-NEXT:    packuswb %xmm2, %xmm29468; SSE-NEXT:    pand %xmm9, %xmm29469; SSE-NEXT:    por %xmm3, %xmm29470; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm2[2,2,2,2]9471; SSE-NEXT:    punpckhdq {{.*#+}} xmm7 = xmm7[2],xmm1[2],xmm7[3],xmm1[3]9472; SSE-NEXT:    movsd {{.*#+}} xmm7 = xmm0[0],xmm7[1]9473; SSE-NEXT:    pshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9474; SSE-NEXT:    # xmm0 = mem[0,1,3,1,4,5,6,7]9475; SSE-NEXT:    packuswb %xmm0, %xmm09476; SSE-NEXT:    movdqa %xmm10, %xmm19477; SSE-NEXT:    pandn %xmm0, %xmm19478; SSE-NEXT:    pshuflw $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9479; SSE-NEXT:    # xmm0 = mem[3,1,2,3,4,5,6,7]9480; SSE-NEXT:    packuswb %xmm0, %xmm09481; SSE-NEXT:    pand %xmm10, %xmm09482; SSE-NEXT:    por %xmm1, %xmm09483; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9484; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]9485; SSE-NEXT:    packuswb %xmm1, %xmm19486; SSE-NEXT:    movdqa %xmm13, %xmm29487; SSE-NEXT:    pandn %xmm1, %xmm29488; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9489; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]9490; SSE-NEXT:    packuswb %xmm1, %xmm19491; SSE-NEXT:    pand %xmm13, %xmm19492; SSE-NEXT:    por %xmm2, %xmm19493; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]9494; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9495; SSE-NEXT:    pshufhw $212, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9496; SSE-NEXT:    # xmm1 = mem[0,1,2,3,4,5,5,7]9497; SSE-NEXT:    packuswb %xmm1, %xmm19498; SSE-NEXT:    movdqa %xmm12, %xmm29499; SSE-NEXT:    pandn %xmm1, %xmm29500; SSE-NEXT:    pshufhw $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9501; SSE-NEXT:    # xmm1 = mem[0,1,2,3,5,7,6,7]9502; SSE-NEXT:    packuswb %xmm1, %xmm19503; SSE-NEXT:    pand %xmm12, %xmm19504; SSE-NEXT:    por %xmm2, %xmm19505; SSE-NEXT:    pshuflw $116, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9506; SSE-NEXT:    # xmm2 = mem[0,1,3,1,4,5,6,7]9507; SSE-NEXT:    packuswb %xmm2, %xmm29508; SSE-NEXT:    movdqa %xmm9, %xmm39509; SSE-NEXT:    pandn %xmm2, %xmm39510; SSE-NEXT:    pshuflw $231, (%rsp), %xmm2 # 16-byte Folded Reload9511; SSE-NEXT:    # xmm2 = mem[3,1,2,3,4,5,6,7]9512; SSE-NEXT:    packuswb %xmm2, %xmm29513; SSE-NEXT:    pand %xmm9, %xmm29514; SSE-NEXT:    por %xmm3, %xmm29515; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm2[2,2,2,2]9516; SSE-NEXT:    punpckhdq {{.*#+}} xmm5 = xmm5[2],xmm1[2],xmm5[3],xmm1[3]9517; SSE-NEXT:    movsd {{.*#+}} xmm5 = xmm0[0],xmm5[1]9518; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9519; SSE-NEXT:    # xmm0 = mem[1,1,2,3]9520; SSE-NEXT:    movdqa %xmm10, %xmm19521; SSE-NEXT:    pandn %xmm0, %xmm19522; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9523; SSE-NEXT:    # xmm0 = mem[3,3,3,3]9524; SSE-NEXT:    packuswb %xmm0, %xmm09525; SSE-NEXT:    pand %xmm10, %xmm09526; SSE-NEXT:    por %xmm1, %xmm09527; SSE-NEXT:    movdqa %xmm13, %xmm19528; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9529; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9530; SSE-NEXT:    # xmm2 = mem[2,2,3,3]9531; SSE-NEXT:    packuswb %xmm2, %xmm29532; SSE-NEXT:    pand %xmm13, %xmm29533; SSE-NEXT:    por %xmm1, %xmm29534; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[1,1,1,1]9535; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9536; SSE-NEXT:    movdqa %xmm12, %xmm19537; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9538; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9539; SSE-NEXT:    # xmm2 = mem[2,2,3,3]9540; SSE-NEXT:    packuswb %xmm2, %xmm29541; SSE-NEXT:    pand %xmm12, %xmm29542; SSE-NEXT:    por %xmm1, %xmm29543; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm8[0,1,3,3]9544; SSE-NEXT:    movdqa %xmm9, %xmm39545; SSE-NEXT:    pandn %xmm1, %xmm39546; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9547; SSE-NEXT:    # xmm1 = mem[3,3,3,3]9548; SSE-NEXT:    packuswb %xmm1, %xmm19549; SSE-NEXT:    pand %xmm9, %xmm19550; SSE-NEXT:    por %xmm3, %xmm19551; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm1[2,2,2,2]9552; SSE-NEXT:    punpckhdq {{.*#+}} xmm3 = xmm3[2],xmm2[2],xmm3[3],xmm2[3]9553; SSE-NEXT:    movsd {{.*#+}} xmm3 = xmm0[0],xmm3[1]9554; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9555; SSE-NEXT:    # xmm0 = mem[1,1,2,3]9556; SSE-NEXT:    movdqa %xmm10, %xmm19557; SSE-NEXT:    pandn %xmm0, %xmm19558; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9559; SSE-NEXT:    # xmm0 = mem[3,3,3,3]9560; SSE-NEXT:    packuswb %xmm0, %xmm09561; SSE-NEXT:    pand %xmm10, %xmm09562; SSE-NEXT:    por %xmm1, %xmm09563; SSE-NEXT:    movdqa %xmm13, %xmm19564; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9565; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9566; SSE-NEXT:    # xmm2 = mem[2,2,3,3]9567; SSE-NEXT:    packuswb %xmm2, %xmm29568; SSE-NEXT:    pand %xmm13, %xmm29569; SSE-NEXT:    por %xmm1, %xmm29570; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[1,1,1,1]9571; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9572; SSE-NEXT:    movdqa %xmm12, %xmm89573; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload9574; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9575; SSE-NEXT:    # xmm2 = mem[2,2,3,3]9576; SSE-NEXT:    packuswb %xmm2, %xmm19577; SSE-NEXT:    pand %xmm12, %xmm19578; SSE-NEXT:    por %xmm8, %xmm19579; SSE-NEXT:    pshufd $244, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9580; SSE-NEXT:    # xmm2 = mem[0,1,3,3]9581; SSE-NEXT:    movdqa %xmm9, %xmm89582; SSE-NEXT:    pandn %xmm2, %xmm89583; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9584; SSE-NEXT:    # xmm2 = mem[3,3,3,3]9585; SSE-NEXT:    packuswb %xmm2, %xmm29586; SSE-NEXT:    pand %xmm9, %xmm29587; SSE-NEXT:    por %xmm8, %xmm29588; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,2,2,2]9589; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]9590; SSE-NEXT:    movsd {{.*#+}} xmm2 = xmm0[0],xmm2[1]9591; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9592; SSE-NEXT:    # xmm0 = mem[1,1,2,3]9593; SSE-NEXT:    movdqa %xmm10, %xmm19594; SSE-NEXT:    pandn %xmm0, %xmm19595; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9596; SSE-NEXT:    # xmm0 = mem[3,3,3,3]9597; SSE-NEXT:    packuswb %xmm0, %xmm09598; SSE-NEXT:    pand %xmm10, %xmm09599; SSE-NEXT:    por %xmm1, %xmm09600; SSE-NEXT:    movdqa %xmm13, %xmm19601; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9602; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload9603; SSE-NEXT:    # xmm8 = mem[2,2,3,3]9604; SSE-NEXT:    packuswb %xmm8, %xmm89605; SSE-NEXT:    pand %xmm13, %xmm89606; SSE-NEXT:    por %xmm1, %xmm89607; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm8[1,1,1,1]9608; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]9609; SSE-NEXT:    movdqa %xmm12, %xmm19610; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9611; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm6[2,2,3,3]9612; SSE-NEXT:    packuswb %xmm8, %xmm89613; SSE-NEXT:    pand %xmm12, %xmm89614; SSE-NEXT:    por %xmm1, %xmm89615; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[0,1,3,3]9616; SSE-NEXT:    movdqa %xmm9, %xmm49617; SSE-NEXT:    pandn %xmm1, %xmm49618; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9619; SSE-NEXT:    # xmm1 = mem[3,3,3,3]9620; SSE-NEXT:    packuswb %xmm1, %xmm19621; SSE-NEXT:    pand %xmm9, %xmm19622; SSE-NEXT:    por %xmm4, %xmm19623; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,2,2,2]9624; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm8[2],xmm1[3],xmm8[3]9625; SSE-NEXT:    movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]9626; SSE-NEXT:    pshufd $229, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9627; SSE-NEXT:    # xmm0 = mem[1,1,2,3]9628; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload9629; SSE-NEXT:    # xmm4 = mem[3,3,3,3]9630; SSE-NEXT:    packuswb %xmm4, %xmm49631; SSE-NEXT:    pand %xmm10, %xmm49632; SSE-NEXT:    pandn %xmm0, %xmm109633; SSE-NEXT:    por %xmm4, %xmm109634; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9635; SSE-NEXT:    # xmm0 = mem[2,2,3,3]9636; SSE-NEXT:    packuswb %xmm0, %xmm09637; SSE-NEXT:    pand %xmm13, %xmm09638; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Folded Reload9639; SSE-NEXT:    por %xmm0, %xmm139640; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm13[1,1,1,1]9641; SSE-NEXT:    punpckldq {{.*#+}} xmm10 = xmm10[0],xmm0[0],xmm10[1],xmm0[1]9642; SSE-NEXT:    pshufd $250, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9643; SSE-NEXT:    # xmm0 = mem[2,2,3,3]9644; SSE-NEXT:    packuswb %xmm0, %xmm09645; SSE-NEXT:    pand %xmm12, %xmm09646; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload9647; SSE-NEXT:    por %xmm0, %xmm129648; SSE-NEXT:    pshufd $244, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9649; SSE-NEXT:    # xmm0 = mem[0,1,3,3]9650; SSE-NEXT:    pshufd $255, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload9651; SSE-NEXT:    # xmm4 = mem[3,3,3,3]9652; SSE-NEXT:    packuswb %xmm4, %xmm49653; SSE-NEXT:    pand %xmm9, %xmm49654; SSE-NEXT:    pandn %xmm0, %xmm99655; SSE-NEXT:    por %xmm4, %xmm99656; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm9[2,2,2,2]9657; SSE-NEXT:    punpckhdq {{.*#+}} xmm0 = xmm0[2],xmm12[2],xmm0[3],xmm12[3]9658; SSE-NEXT:    movsd {{.*#+}} xmm0 = xmm10[0],xmm0[1]9659; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9660; SSE-NEXT:    movaps %xmm4, 32(%rsi)9661; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9662; SSE-NEXT:    movaps %xmm4, 48(%rsi)9663; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9664; SSE-NEXT:    movaps %xmm4, (%rsi)9665; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9666; SSE-NEXT:    movaps %xmm4, 16(%rsi)9667; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9668; SSE-NEXT:    movaps %xmm4, 32(%rdx)9669; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9670; SSE-NEXT:    movaps %xmm4, 48(%rdx)9671; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9672; SSE-NEXT:    movaps %xmm4, (%rdx)9673; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9674; SSE-NEXT:    movaps %xmm4, 16(%rdx)9675; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9676; SSE-NEXT:    movaps %xmm4, 32(%rcx)9677; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9678; SSE-NEXT:    movaps %xmm4, 48(%rcx)9679; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9680; SSE-NEXT:    movaps %xmm4, (%rcx)9681; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9682; SSE-NEXT:    movaps %xmm4, 16(%rcx)9683; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9684; SSE-NEXT:    movaps %xmm4, 32(%r8)9685; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9686; SSE-NEXT:    movaps %xmm4, 48(%r8)9687; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9688; SSE-NEXT:    movaps %xmm4, (%r8)9689; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9690; SSE-NEXT:    movaps %xmm4, 16(%r8)9691; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9692; SSE-NEXT:    movaps %xmm4, 32(%r9)9693; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9694; SSE-NEXT:    movaps %xmm4, 48(%r9)9695; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9696; SSE-NEXT:    movaps %xmm4, (%r9)9697; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9698; SSE-NEXT:    movaps %xmm4, 16(%r9)9699; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax9700; SSE-NEXT:    movapd %xmm15, 32(%rax)9701; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9702; SSE-NEXT:    movaps %xmm4, 48(%rax)9703; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9704; SSE-NEXT:    movaps %xmm4, (%rax)9705; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9706; SSE-NEXT:    movaps %xmm4, 16(%rax)9707; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax9708; SSE-NEXT:    movapd %xmm5, 48(%rax)9709; SSE-NEXT:    movapd %xmm7, 32(%rax)9710; SSE-NEXT:    movapd %xmm11, 16(%rax)9711; SSE-NEXT:    movapd %xmm14, (%rax)9712; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax9713; SSE-NEXT:    movapd %xmm0, 48(%rax)9714; SSE-NEXT:    movapd %xmm1, 32(%rax)9715; SSE-NEXT:    movapd %xmm2, 16(%rax)9716; SSE-NEXT:    movapd %xmm3, (%rax)9717; SSE-NEXT:    addq $2040, %rsp # imm = 0x7F89718; SSE-NEXT:    retq9719;9720; AVX-LABEL: load_i8_stride8_vf64:9721; AVX:       # %bb.0:9722; AVX-NEXT:    subq $808, %rsp # imm = 0x3289723; AVX-NEXT:    vbroadcastss {{.*#+}} xmm3 = [0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8]9724; AVX-NEXT:    vmovdqa 368(%rdi), %xmm09725; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9726; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm09727; AVX-NEXT:    vmovdqa 352(%rdi), %xmm139728; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm19729; AVX-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9730; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]9731; AVX-NEXT:    vbroadcastss {{.*#+}} xmm1 = [0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0]9732; AVX-NEXT:    vmovdqa 336(%rdi), %xmm159733; AVX-NEXT:    vpshufb %xmm1, %xmm15, %xmm29734; AVX-NEXT:    vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9735; AVX-NEXT:    vmovdqa 320(%rdi), %xmm49736; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9737; AVX-NEXT:    vpshufb %xmm1, %xmm4, %xmm49738; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3]9739; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0,1,2,3,4,5],xmm0[6,7]9740; AVX-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0]9741; AVX-NEXT:    vmovdqa 304(%rdi), %xmm129742; AVX-NEXT:    vpshufb %xmm2, %xmm12, %xmm09743; AVX-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9744; AVX-NEXT:    vmovdqa 288(%rdi), %xmm59745; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9746; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm59747; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm0[0],xmm5[1],xmm0[1],xmm5[2],xmm0[2],xmm5[3],xmm0[3]9748; AVX-NEXT:    vmovd {{.*#+}} xmm9 = [0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0]9749; AVX-NEXT:    vmovdqa 272(%rdi), %xmm119750; AVX-NEXT:    vpshufb %xmm9, %xmm11, %xmm69751; AVX-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9752; AVX-NEXT:    vmovdqa 256(%rdi), %xmm109753; AVX-NEXT:    vpshufb %xmm9, %xmm10, %xmm79754; AVX-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9755; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]9756; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]9757; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]9758; AVX-NEXT:    vmovdqa 496(%rdi), %xmm09759; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9760; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm59761; AVX-NEXT:    vmovdqa 480(%rdi), %xmm09762; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9763; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm69764; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]9765; AVX-NEXT:    vmovdqa 464(%rdi), %xmm09766; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9767; AVX-NEXT:    vpshufb %xmm1, %xmm0, %xmm69768; AVX-NEXT:    vmovdqa 448(%rdi), %xmm09769; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9770; AVX-NEXT:    vpshufb %xmm1, %xmm0, %xmm79771; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]9772; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1,2,3,4,5],xmm5[6,7]9773; AVX-NEXT:    vmovdqa 432(%rdi), %xmm09774; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9775; AVX-NEXT:    vpshufb %xmm2, %xmm0, %xmm69776; AVX-NEXT:    vmovdqa 416(%rdi), %xmm149777; AVX-NEXT:    vpshufb %xmm2, %xmm14, %xmm79778; AVX-NEXT:    vmovdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9779; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]9780; AVX-NEXT:    vmovdqa 400(%rdi), %xmm09781; AVX-NEXT:    vmovdqa %xmm0, (%rsp) # 16-byte Spill9782; AVX-NEXT:    vpshufb %xmm9, %xmm0, %xmm79783; AVX-NEXT:    vmovdqa 384(%rdi), %xmm09784; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9785; AVX-NEXT:    vpshufb %xmm9, %xmm0, %xmm89786; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm8[0],xmm7[0],xmm8[1],xmm7[1],xmm8[2],xmm7[2],xmm8[3],xmm7[3]9787; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm7[0,1],xmm6[2,3],xmm7[4,5,6,7]9788; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm59789; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm69790; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]9791; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]9792; AVX-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9793; AVX-NEXT:    vmovdqa 112(%rdi), %xmm09794; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9795; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm49796; AVX-NEXT:    vmovdqa 96(%rdi), %xmm09797; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9798; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm59799; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]9800; AVX-NEXT:    vmovdqa 80(%rdi), %xmm09801; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9802; AVX-NEXT:    vpshufb %xmm1, %xmm0, %xmm59803; AVX-NEXT:    vmovdqa 64(%rdi), %xmm09804; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9805; AVX-NEXT:    vpshufb %xmm1, %xmm0, %xmm69806; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]9807; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3,4,5],xmm4[6,7]9808; AVX-NEXT:    vmovdqa 32(%rdi), %xmm09809; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9810; AVX-NEXT:    vmovdqa 48(%rdi), %xmm59811; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9812; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm59813; AVX-NEXT:    vpshufb %xmm2, %xmm0, %xmm69814; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]9815; AVX-NEXT:    vmovdqa (%rdi), %xmm09816; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9817; AVX-NEXT:    vmovdqa 16(%rdi), %xmm69818; AVX-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9819; AVX-NEXT:    vpshufb %xmm9, %xmm6, %xmm69820; AVX-NEXT:    vpshufb %xmm9, %xmm0, %xmm79821; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]9822; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]9823; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]9824; AVX-NEXT:    vmovdqa 240(%rdi), %xmm09825; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9826; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm59827; AVX-NEXT:    vmovdqa 224(%rdi), %xmm09828; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9829; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm39830; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]9831; AVX-NEXT:    vmovdqa 208(%rdi), %xmm09832; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9833; AVX-NEXT:    vpshufb %xmm1, %xmm0, %xmm59834; AVX-NEXT:    vmovdqa 192(%rdi), %xmm09835; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9836; AVX-NEXT:    vpshufb %xmm1, %xmm0, %xmm19837; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]9838; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5],xmm3[6,7]9839; AVX-NEXT:    vmovdqa 176(%rdi), %xmm09840; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9841; AVX-NEXT:    vpshufb %xmm2, %xmm0, %xmm39842; AVX-NEXT:    vmovdqa 160(%rdi), %xmm09843; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9844; AVX-NEXT:    vpshufb %xmm2, %xmm0, %xmm29845; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]9846; AVX-NEXT:    vmovdqa 144(%rdi), %xmm09847; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9848; AVX-NEXT:    vpshufb %xmm9, %xmm0, %xmm39849; AVX-NEXT:    vmovdqa 128(%rdi), %xmm09850; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9851; AVX-NEXT:    vpshufb %xmm9, %xmm0, %xmm09852; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]9853; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5,6,7]9854; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19855; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm09856; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]9857; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]9858; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9859; AVX-NEXT:    vbroadcastss {{.*#+}} xmm6 = [0,0,1,9,0,0,1,9,0,0,1,9,0,0,1,9]9860; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9861; AVX-NEXT:    vpshufb %xmm6, %xmm0, %xmm09862; AVX-NEXT:    vpshufb %xmm6, %xmm13, %xmm19863; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]9864; AVX-NEXT:    vbroadcastss {{.*#+}} xmm1 = [1,9,0,0,1,9,0,0,1,9,0,0,1,9,0,0]9865; AVX-NEXT:    vpshufb %xmm1, %xmm15, %xmm39866; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload9867; AVX-NEXT:    vpshufb %xmm1, %xmm13, %xmm49868; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]9869; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm3[0,1,2,3,4,5],xmm0[6,7]9870; AVX-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,1,9,0,0,0,0,0,0,0,0,0,0,0,0]9871; AVX-NEXT:    vpshufb %xmm2, %xmm12, %xmm39872; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload9873; AVX-NEXT:    vpshufb %xmm2, %xmm7, %xmm59874; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3]9875; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]9876; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm09877; AVX-NEXT:    vpshufb %xmm3, %xmm10, %xmm159878; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]9879; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm5[2,3],xmm0[4,5,6,7]9880; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm4[4,5,6,7]9881; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload9882; AVX-NEXT:    vpshufb %xmm6, %xmm12, %xmm49883; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload9884; AVX-NEXT:    vpshufb %xmm6, %xmm9, %xmm59885; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]9886; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9887; AVX-NEXT:    vpshufb %xmm1, %xmm10, %xmm59888; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload9889; AVX-NEXT:    vpshufb %xmm1, %xmm11, %xmm159890; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm15[0],xmm5[0],xmm15[1],xmm5[1],xmm15[2],xmm5[2],xmm15[3],xmm5[3]9891; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3,4,5],xmm4[6,7]9892; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9893; AVX-NEXT:    vpshufb %xmm2, %xmm8, %xmm59894; AVX-NEXT:    vpshufb %xmm2, %xmm14, %xmm159895; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm15[0],xmm5[0],xmm15[1],xmm5[1],xmm15[2],xmm5[2],xmm15[3],xmm5[3]9896; AVX-NEXT:    vmovdqa (%rsp), %xmm14 # 16-byte Reload9897; AVX-NEXT:    vpshufb %xmm3, %xmm14, %xmm159898; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload9899; AVX-NEXT:    vpshufb %xmm3, %xmm14, %xmm149900; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]9901; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm14[0,1],xmm5[2,3],xmm14[4,5,6,7]9902; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm49903; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm59904; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]9905; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]9906; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9907; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9908; AVX-NEXT:    vpshufb %xmm6, %xmm0, %xmm09909; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9910; AVX-NEXT:    vpshufb %xmm6, %xmm4, %xmm49911; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm4[0],xmm0[0],xmm4[1],xmm0[1],xmm4[2],xmm0[2],xmm4[3],xmm0[3]9912; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9913; AVX-NEXT:    vpshufb %xmm1, %xmm4, %xmm49914; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9915; AVX-NEXT:    vpshufb %xmm1, %xmm5, %xmm59916; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]9917; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm4[0,1,2,3,4,5],xmm0[6,7]9918; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9919; AVX-NEXT:    vpshufb %xmm2, %xmm4, %xmm49920; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9921; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm59922; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]9923; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9924; AVX-NEXT:    vpshufb %xmm3, %xmm5, %xmm59925; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload9926; AVX-NEXT:    vpshufb %xmm3, %xmm14, %xmm149927; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm14[0],xmm5[0],xmm14[1],xmm5[1],xmm14[2],xmm5[2],xmm14[3],xmm5[3]9928; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3],xmm5[4,5,6,7]9929; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm4[0,1,2,3],xmm0[4,5,6,7]9930; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9931; AVX-NEXT:    vpshufb %xmm6, %xmm4, %xmm49932; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9933; AVX-NEXT:    vpshufb %xmm6, %xmm5, %xmm59934; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]9935; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9936; AVX-NEXT:    vpshufb %xmm1, %xmm5, %xmm59937; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload9938; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm19939; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]9940; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5],xmm4[6,7]9941; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9942; AVX-NEXT:    vpshufb %xmm2, %xmm4, %xmm49943; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9944; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm29945; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]9946; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9947; AVX-NEXT:    vpshufb %xmm3, %xmm4, %xmm49948; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9949; AVX-NEXT:    vpshufb %xmm3, %xmm5, %xmm39950; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]9951; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3],xmm3[4,5,6,7]9952; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19953; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm29954; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]9955; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]9956; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9957; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,2,10,0,0,2,10,0,0,2,10,0,0,2,10]9958; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9959; AVX-NEXT:    vpshufb %xmm0, %xmm1, %xmm19960; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9961; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm29962; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]9963; AVX-NEXT:    vbroadcastss {{.*#+}} xmm1 = [2,10,0,0,2,10,0,0,2,10,0,0,2,10,0,0]9964; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9965; AVX-NEXT:    vpshufb %xmm1, %xmm3, %xmm39966; AVX-NEXT:    vpshufb %xmm1, %xmm13, %xmm49967; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]9968; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm3[0,1,2,3,4,5],xmm2[6,7]9969; AVX-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,2,10,0,0,0,0,0,0,0,0,0,0,0,0]9970; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9971; AVX-NEXT:    vpshufb %xmm2, %xmm3, %xmm39972; AVX-NEXT:    vpshufb %xmm2, %xmm7, %xmm59973; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3]9974; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [2,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]9975; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload9976; AVX-NEXT:    vpshufb %xmm3, %xmm7, %xmm69977; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload9978; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm149979; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]9980; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]9981; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]9982; AVX-NEXT:    vpshufb %xmm0, %xmm12, %xmm59983; AVX-NEXT:    vpshufb %xmm0, %xmm9, %xmm69984; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]9985; AVX-NEXT:    vpshufb %xmm1, %xmm10, %xmm69986; AVX-NEXT:    vpshufb %xmm1, %xmm11, %xmm149987; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]9988; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1,2,3,4,5],xmm5[6,7]9989; AVX-NEXT:    vpshufb %xmm2, %xmm8, %xmm69990; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload9991; AVX-NEXT:    vpshufb %xmm2, %xmm9, %xmm149992; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]9993; AVX-NEXT:    vmovdqa (%rsp), %xmm10 # 16-byte Reload9994; AVX-NEXT:    vpshufb %xmm3, %xmm10, %xmm149995; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload9996; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm159997; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]9998; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm14[0,1],xmm6[2,3],xmm14[4,5,6,7]9999; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm510000; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm610001; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]10002; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]10003; AVX-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10004; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10005; AVX-NEXT:    vpshufb %xmm0, %xmm12, %xmm410006; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload10007; AVX-NEXT:    vpshufb %xmm0, %xmm8, %xmm510008; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10009; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10010; AVX-NEXT:    vpshufb %xmm1, %xmm5, %xmm510011; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10012; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm610013; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10014; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3,4,5],xmm4[6,7]10015; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10016; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm510017; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10018; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm610019; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10020; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10021; AVX-NEXT:    vpshufb %xmm3, %xmm6, %xmm610022; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10023; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm1410024; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10025; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]10026; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]10027; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10028; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm510029; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10030; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm010031; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]10032; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10033; AVX-NEXT:    vpshufb %xmm1, %xmm5, %xmm510034; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10035; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm110036; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]10037; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]10038; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10039; AVX-NEXT:    vpshufb %xmm2, %xmm1, %xmm110040; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10041; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm210042; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10043; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload10044; AVX-NEXT:    vpshufb %xmm3, %xmm2, %xmm210045; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10046; AVX-NEXT:    vpshufb %xmm3, %xmm5, %xmm310047; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]10048; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3],xmm2[4,5,6,7]10049; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm010050; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm110051; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10052; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]10053; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10054; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,3,11,0,0,3,11,0,0,3,11,0,0,3,11]10055; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10056; AVX-NEXT:    vpshufb %xmm0, %xmm13, %xmm110057; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload10058; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm210059; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10060; AVX-NEXT:    vbroadcastss {{.*#+}} xmm1 = [3,11,0,0,3,11,0,0,3,11,0,0,3,11,0,0]10061; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10062; AVX-NEXT:    vpshufb %xmm1, %xmm3, %xmm310063; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10064; AVX-NEXT:    vpshufb %xmm1, %xmm4, %xmm410065; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]10066; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm3[0,1,2,3,4,5],xmm2[6,7]10067; AVX-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,3,11,0,0,0,0,0,0,0,0,0,0,0,0]10068; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10069; AVX-NEXT:    vpshufb %xmm2, %xmm3, %xmm310070; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10071; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm510072; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3]10073; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [3,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]10074; AVX-NEXT:    vpshufb %xmm3, %xmm7, %xmm610075; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10076; AVX-NEXT:    vpshufb %xmm3, %xmm7, %xmm1410077; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10078; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]10079; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]10080; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10081; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm510082; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10083; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm610084; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10085; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10086; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm610087; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10088; AVX-NEXT:    vpshufb %xmm1, %xmm7, %xmm1410089; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10090; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1,2,3,4,5],xmm5[6,7]10091; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10092; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm610093; AVX-NEXT:    vpshufb %xmm2, %xmm9, %xmm1410094; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10095; AVX-NEXT:    vpshufb %xmm3, %xmm10, %xmm1410096; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm1510097; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]10098; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm14[0,1],xmm6[2,3],xmm14[4,5,6,7]10099; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm510100; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm610101; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]10102; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]10103; AVX-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10104; AVX-NEXT:    vpshufb %xmm0, %xmm12, %xmm410105; AVX-NEXT:    vpshufb %xmm0, %xmm8, %xmm510106; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10107; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10108; AVX-NEXT:    vpshufb %xmm1, %xmm9, %xmm510109; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload10110; AVX-NEXT:    vpshufb %xmm1, %xmm10, %xmm610111; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10112; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3,4,5],xmm4[6,7]10113; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10114; AVX-NEXT:    vpshufb %xmm2, %xmm12, %xmm510115; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10116; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm610117; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10118; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10119; AVX-NEXT:    vpshufb %xmm3, %xmm6, %xmm610120; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10121; AVX-NEXT:    vpshufb %xmm3, %xmm7, %xmm1410122; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10123; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]10124; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]10125; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10126; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm510127; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10128; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm010129; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]10130; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10131; AVX-NEXT:    vpshufb %xmm1, %xmm5, %xmm510132; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10133; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm110134; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]10135; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]10136; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10137; AVX-NEXT:    vpshufb %xmm2, %xmm1, %xmm110138; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10139; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm210140; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10141; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload10142; AVX-NEXT:    vpshufb %xmm3, %xmm2, %xmm210143; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10144; AVX-NEXT:    vpshufb %xmm3, %xmm5, %xmm310145; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]10146; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3],xmm2[4,5,6,7]10147; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm010148; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm110149; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10150; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]10151; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10152; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,4,12,0,0,4,12,0,0,4,12,0,0,4,12]10153; AVX-NEXT:    vpshufb %xmm0, %xmm13, %xmm110154; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload10155; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm210156; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10157; AVX-NEXT:    vbroadcastss {{.*#+}} xmm1 = [4,12,0,0,4,12,0,0,4,12,0,0,4,12,0,0]10158; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10159; AVX-NEXT:    vpshufb %xmm1, %xmm3, %xmm310160; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10161; AVX-NEXT:    vpshufb %xmm1, %xmm4, %xmm410162; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]10163; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm3[0,1,2,3,4,5],xmm2[6,7]10164; AVX-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,4,12,0,0,0,0,0,0,0,0,0,0,0,0]10165; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10166; AVX-NEXT:    vpshufb %xmm2, %xmm7, %xmm310167; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10168; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm510169; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3]10170; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [4,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0]10171; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10172; AVX-NEXT:    vpshufb %xmm3, %xmm6, %xmm610173; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload10174; AVX-NEXT:    vpshufb %xmm3, %xmm8, %xmm1410175; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10176; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]10177; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]10178; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10179; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm510180; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10181; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm610182; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10183; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10184; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm610185; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10186; AVX-NEXT:    vpshufb %xmm1, %xmm13, %xmm1410187; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10188; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1,2,3,4,5],xmm5[6,7]10189; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10190; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm610191; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10192; AVX-NEXT:    vpshufb %xmm2, %xmm13, %xmm1410193; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10194; AVX-NEXT:    vmovdqa (%rsp), %xmm13 # 16-byte Reload10195; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm1410196; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10197; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm1510198; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]10199; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm14[0,1],xmm6[2,3],xmm14[4,5,6,7]10200; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm510201; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm610202; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]10203; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]10204; AVX-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10205; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10206; AVX-NEXT:    vpshufb %xmm0, %xmm4, %xmm410207; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10208; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm510209; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10210; AVX-NEXT:    vpshufb %xmm1, %xmm9, %xmm510211; AVX-NEXT:    vpshufb %xmm1, %xmm10, %xmm610212; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10213; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3,4,5],xmm4[6,7]10214; AVX-NEXT:    vpshufb %xmm2, %xmm12, %xmm510215; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm610216; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10217; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload10218; AVX-NEXT:    vpshufb %xmm3, %xmm10, %xmm610219; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10220; AVX-NEXT:    vpshufb %xmm3, %xmm9, %xmm1410221; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10222; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]10223; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]10224; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10225; AVX-NEXT:    vpshufb %xmm0, %xmm11, %xmm510226; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10227; AVX-NEXT:    vpshufb %xmm0, %xmm12, %xmm010228; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]10229; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10230; AVX-NEXT:    vpshufb %xmm1, %xmm13, %xmm510231; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10232; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm110233; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]10234; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]10235; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10236; AVX-NEXT:    vpshufb %xmm2, %xmm1, %xmm110237; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10238; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm210239; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10240; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload10241; AVX-NEXT:    vpshufb %xmm3, %xmm2, %xmm210242; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10243; AVX-NEXT:    vpshufb %xmm3, %xmm5, %xmm310244; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]10245; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3],xmm2[4,5,6,7]10246; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm010247; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm110248; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10249; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]10250; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10251; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,5,13,0,0,5,13,0,0,5,13,0,0,5,13]10252; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10253; AVX-NEXT:    vpshufb %xmm0, %xmm1, %xmm110254; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload10255; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm210256; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10257; AVX-NEXT:    vbroadcastss {{.*#+}} xmm1 = [5,13,0,0,5,13,0,0,5,13,0,0,5,13,0,0]10258; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10259; AVX-NEXT:    vpshufb %xmm1, %xmm3, %xmm310260; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10261; AVX-NEXT:    vpshufb %xmm1, %xmm4, %xmm410262; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]10263; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm3[0,1,2,3,4,5],xmm2[6,7]10264; AVX-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,5,13,0,0,0,0,0,0,0,0,0,0,0,0]10265; AVX-NEXT:    vpshufb %xmm2, %xmm7, %xmm310266; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10267; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm510268; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3]10269; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [5,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0]10270; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10271; AVX-NEXT:    vpshufb %xmm3, %xmm6, %xmm610272; AVX-NEXT:    vpshufb %xmm3, %xmm8, %xmm1410273; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10274; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]10275; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]10276; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10277; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm510278; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10279; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm610280; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10281; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10282; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm610283; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10284; AVX-NEXT:    vpshufb %xmm1, %xmm7, %xmm1410285; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10286; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1,2,3,4,5],xmm5[6,7]10287; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10288; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm610289; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10290; AVX-NEXT:    vpshufb %xmm2, %xmm7, %xmm1410291; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10292; AVX-NEXT:    vmovdqa (%rsp), %xmm7 # 16-byte Reload10293; AVX-NEXT:    vpshufb %xmm3, %xmm7, %xmm1410294; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10295; AVX-NEXT:    vpshufb %xmm3, %xmm7, %xmm1510296; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]10297; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm14[0,1],xmm6[2,3],xmm14[4,5,6,7]10298; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm510299; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm610300; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]10301; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]10302; AVX-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10303; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10304; AVX-NEXT:    vpshufb %xmm0, %xmm4, %xmm410305; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10306; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm510307; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10308; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10309; AVX-NEXT:    vpshufb %xmm1, %xmm5, %xmm510310; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10311; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm610312; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10313; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3,4,5],xmm4[6,7]10314; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10315; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm510316; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10317; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm610318; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10319; AVX-NEXT:    vpshufb %xmm3, %xmm10, %xmm610320; AVX-NEXT:    vpshufb %xmm3, %xmm9, %xmm1410321; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10322; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]10323; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]10324; AVX-NEXT:    vpshufb %xmm0, %xmm11, %xmm510325; AVX-NEXT:    vpshufb %xmm0, %xmm12, %xmm010326; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]10327; AVX-NEXT:    vpshufb %xmm1, %xmm13, %xmm510328; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10329; AVX-NEXT:    vpshufb %xmm1, %xmm13, %xmm110330; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]10331; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]10332; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10333; AVX-NEXT:    vpshufb %xmm2, %xmm7, %xmm110334; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload10335; AVX-NEXT:    vpshufb %xmm2, %xmm8, %xmm210336; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10337; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10338; AVX-NEXT:    vpshufb %xmm3, %xmm9, %xmm210339; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload10340; AVX-NEXT:    vpshufb %xmm3, %xmm10, %xmm310341; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]10342; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3],xmm2[4,5,6,7]10343; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm010344; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm110345; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10346; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]10347; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10348; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,6,14,0,0,6,14,0,0,6,14,0,0,6,14]10349; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10350; AVX-NEXT:    vpshufb %xmm0, %xmm1, %xmm110351; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10352; AVX-NEXT:    vpshufb %xmm0, %xmm11, %xmm210353; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10354; AVX-NEXT:    vbroadcastss {{.*#+}} xmm1 = [6,14,0,0,6,14,0,0,6,14,0,0,6,14,0,0]10355; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10356; AVX-NEXT:    vpshufb %xmm1, %xmm12, %xmm310357; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10358; AVX-NEXT:    vpshufb %xmm1, %xmm4, %xmm410359; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]10360; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm3[0,1,2,3,4,5],xmm2[6,7]10361; AVX-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,6,14,0,0,0,0,0,0,0,0,0,0,0,0]10362; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10363; AVX-NEXT:    vpshufb %xmm2, %xmm3, %xmm310364; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10365; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm510366; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3]10367; AVX-NEXT:    vmovd {{.*#+}} xmm3 = [6,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0]10368; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10369; AVX-NEXT:    vpshufb %xmm3, %xmm6, %xmm610370; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10371; AVX-NEXT:    vpshufb %xmm3, %xmm14, %xmm1410372; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10373; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]10374; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]10375; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10376; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm510377; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10378; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm610379; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10380; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10381; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm610382; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10383; AVX-NEXT:    vpshufb %xmm1, %xmm14, %xmm1410384; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10385; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1,2,3,4,5],xmm5[6,7]10386; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10387; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm610388; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10389; AVX-NEXT:    vpshufb %xmm2, %xmm14, %xmm1410390; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10391; AVX-NEXT:    vmovdqa (%rsp), %xmm14 # 16-byte Reload10392; AVX-NEXT:    vpshufb %xmm3, %xmm14, %xmm1410393; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload10394; AVX-NEXT:    vpshufb %xmm3, %xmm15, %xmm1510395; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]10396; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm14[0,1],xmm6[2,3],xmm14[4,5,6,7]10397; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm0, %ymm510398; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm610399; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]10400; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]10401; AVX-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10402; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10403; AVX-NEXT:    vpshufb %xmm0, %xmm4, %xmm410404; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10405; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm510406; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10407; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10408; AVX-NEXT:    vpshufb %xmm1, %xmm5, %xmm510409; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10410; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm610411; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10412; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3,4,5],xmm4[6,7]10413; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10414; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm510415; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10416; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm610417; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10418; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10419; AVX-NEXT:    vpshufb %xmm3, %xmm6, %xmm610420; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10421; AVX-NEXT:    vpshufb %xmm3, %xmm14, %xmm1410422; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10423; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm6[0,1],xmm5[2,3],xmm6[4,5,6,7]10424; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]10425; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10426; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm510427; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10428; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm010429; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]10430; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10431; AVX-NEXT:    vpshufb %xmm1, %xmm5, %xmm510432; AVX-NEXT:    vpshufb %xmm1, %xmm13, %xmm110433; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]10434; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4,5],xmm0[6,7]10435; AVX-NEXT:    vpshufb %xmm2, %xmm7, %xmm110436; AVX-NEXT:    vpshufb %xmm2, %xmm8, %xmm210437; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]10438; AVX-NEXT:    vpshufb %xmm3, %xmm9, %xmm210439; AVX-NEXT:    vpshufb %xmm3, %xmm10, %xmm310440; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]10441; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3],xmm2[4,5,6,7]10442; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm010443; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm110444; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]10445; AVX-NEXT:    vblendps {{.*#+}} ymm5 = ymm4[0,1,2,3],ymm0[4,5,6,7]10446; AVX-NEXT:    vbroadcastss {{.*#+}} xmm3 = [0,0,7,15,0,0,7,15,0,0,7,15,0,0,7,15]10447; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10448; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm010449; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm110450; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]10451; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [7,15,0,0,7,15,0,0,7,15,0,0,7,15,0,0]10452; AVX-NEXT:    vpshufb %xmm2, %xmm12, %xmm110453; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10454; AVX-NEXT:    vpshufb %xmm2, %xmm4, %xmm410455; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]10456; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm1[0,1,2,3,4,5],xmm0[6,7]10457; AVX-NEXT:    vmovd {{.*#+}} xmm1 = [0,0,7,15,0,0,0,0,0,0,0,0,0,0,0,0]10458; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10459; AVX-NEXT:    vpshufb %xmm1, %xmm0, %xmm010460; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10461; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm610462; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm0[0],xmm6[1],xmm0[1],xmm6[2],xmm0[2],xmm6[3],xmm0[3]10463; AVX-NEXT:    vmovd {{.*#+}} xmm0 = [7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0]10464; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10465; AVX-NEXT:    vpshufb %xmm0, %xmm11, %xmm1410466; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10467; AVX-NEXT:    vpshufb %xmm0, %xmm11, %xmm1510468; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]10469; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm14[0,1],xmm6[2,3],xmm14[4,5,6,7]10470; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm6[0,1,2,3],xmm4[4,5,6,7]10471; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10472; AVX-NEXT:    vpshufb %xmm3, %xmm6, %xmm610473; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10474; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm1410475; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10476; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10477; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm1410478; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10479; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm1510480; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]10481; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm14[0,1,2,3,4,5],xmm6[6,7]10482; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10483; AVX-NEXT:    vpshufb %xmm1, %xmm11, %xmm1410484; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10485; AVX-NEXT:    vpshufb %xmm1, %xmm11, %xmm1510486; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]10487; AVX-NEXT:    vmovdqa (%rsp), %xmm11 # 16-byte Reload10488; AVX-NEXT:    vpshufb %xmm0, %xmm11, %xmm1510489; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10490; AVX-NEXT:    vpshufb %xmm0, %xmm11, %xmm1310491; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1],xmm13[2],xmm15[2],xmm13[3],xmm15[3]10492; AVX-NEXT:    vpblendw {{.*#+}} xmm13 = xmm13[0,1],xmm14[2,3],xmm13[4,5,6,7]10493; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm0, %ymm610494; AVX-NEXT:    vinsertf128 $1, %xmm13, %ymm0, %ymm1310495; AVX-NEXT:    vblendps {{.*#+}} ymm6 = ymm13[0,1,2,3,4,5],ymm6[6,7]10496; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm6[4,5,6,7]10497; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10498; AVX-NEXT:    vpshufb %xmm3, %xmm6, %xmm610499; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10500; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm1310501; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm13[0],xmm6[0],xmm13[1],xmm6[1],xmm13[2],xmm6[2],xmm13[3],xmm6[3]10502; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10503; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm1310504; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10505; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm1410506; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]10507; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm13[0,1,2,3,4,5],xmm6[6,7]10508; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10509; AVX-NEXT:    vpshufb %xmm1, %xmm11, %xmm1310510; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10511; AVX-NEXT:    vpshufb %xmm1, %xmm11, %xmm1410512; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]10513; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10514; AVX-NEXT:    vpshufb %xmm0, %xmm11, %xmm1410515; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10516; AVX-NEXT:    vpshufb %xmm0, %xmm11, %xmm1510517; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]10518; AVX-NEXT:    vpblendw {{.*#+}} xmm13 = xmm14[0,1],xmm13[2,3],xmm14[4,5,6,7]10519; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm13[0,1,2,3],xmm6[4,5,6,7]10520; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10521; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm1310522; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10523; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm310524; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm13[0],xmm3[1],xmm13[1],xmm3[2],xmm13[2],xmm3[3],xmm13[3]10525; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10526; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm1210527; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10528; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm210529; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm12[0],xmm2[1],xmm12[1],xmm2[2],xmm12[2],xmm2[3],xmm12[3]10530; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5],xmm3[6,7]10531; AVX-NEXT:    vpshufb %xmm1, %xmm7, %xmm310532; AVX-NEXT:    vpshufb %xmm1, %xmm8, %xmm110533; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]10534; AVX-NEXT:    vpshufb %xmm0, %xmm9, %xmm310535; AVX-NEXT:    vpshufb %xmm0, %xmm10, %xmm010536; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]10537; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm1[2,3],xmm0[4,5,6,7]10538; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm110539; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm010540; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]10541; AVX-NEXT:    vblendps {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]10542; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10543; AVX-NEXT:    vmovaps %ymm1, (%rsi)10544; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10545; AVX-NEXT:    vmovaps %ymm1, 32(%rsi)10546; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10547; AVX-NEXT:    vmovaps %ymm1, (%rdx)10548; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10549; AVX-NEXT:    vmovaps %ymm1, 32(%rdx)10550; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10551; AVX-NEXT:    vmovaps %ymm1, (%rcx)10552; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10553; AVX-NEXT:    vmovaps %ymm1, 32(%rcx)10554; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10555; AVX-NEXT:    vmovaps %ymm1, (%r8)10556; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10557; AVX-NEXT:    vmovaps %ymm1, 32(%r8)10558; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10559; AVX-NEXT:    vmovaps %ymm1, (%r9)10560; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10561; AVX-NEXT:    vmovaps %ymm1, 32(%r9)10562; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax10563; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10564; AVX-NEXT:    vmovaps %ymm1, (%rax)10565; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10566; AVX-NEXT:    vmovaps %ymm1, 32(%rax)10567; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax10568; AVX-NEXT:    vmovaps %ymm5, (%rax)10569; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10570; AVX-NEXT:    vmovaps %ymm1, 32(%rax)10571; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax10572; AVX-NEXT:    vmovaps %ymm0, (%rax)10573; AVX-NEXT:    vmovaps %ymm4, 32(%rax)10574; AVX-NEXT:    addq $808, %rsp # imm = 0x32810575; AVX-NEXT:    vzeroupper10576; AVX-NEXT:    retq10577;10578; AVX2-LABEL: load_i8_stride8_vf64:10579; AVX2:       # %bb.0:10580; AVX2-NEXT:    subq $840, %rsp # imm = 0x34810581; AVX2-NEXT:    vmovdqa 368(%rdi), %xmm010582; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10583; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]10584; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm010585; AVX2-NEXT:    vmovdqa 352(%rdi), %xmm1310586; AVX2-NEXT:    vpshufb %xmm2, %xmm13, %xmm110587; AVX2-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10588; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]10589; AVX2-NEXT:    vmovdqa 336(%rdi), %xmm1510590; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]10591; AVX2-NEXT:    vpshufb %xmm3, %xmm15, %xmm110592; AVX2-NEXT:    vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10593; AVX2-NEXT:    vmovdqa 320(%rdi), %xmm410594; AVX2-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10595; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm410596; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]10597; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]10598; AVX2-NEXT:    vmovdqa 304(%rdi), %xmm010599; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10600; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]10601; AVX2-NEXT:    vpshufb %xmm9, %xmm0, %xmm110602; AVX2-NEXT:    vmovdqa 288(%rdi), %xmm1110603; AVX2-NEXT:    vpshufb %xmm9, %xmm11, %xmm510604; AVX2-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10605; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]10606; AVX2-NEXT:    vmovdqa 272(%rdi), %xmm1010607; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]10608; AVX2-NEXT:    vpshufb %xmm1, %xmm10, %xmm610609; AVX2-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10610; AVX2-NEXT:    vmovdqa 256(%rdi), %xmm1210611; AVX2-NEXT:    vpshufb %xmm1, %xmm12, %xmm710612; AVX2-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10613; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]10614; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]10615; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]10616; AVX2-NEXT:    vmovdqa 496(%rdi), %xmm010617; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10618; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm510619; AVX2-NEXT:    vmovdqa 480(%rdi), %xmm010620; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10621; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm610622; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10623; AVX2-NEXT:    vmovdqa 464(%rdi), %xmm010624; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10625; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm610626; AVX2-NEXT:    vmovdqa 448(%rdi), %xmm010627; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10628; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm710629; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]10630; AVX2-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm510631; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610632; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]10633; AVX2-NEXT:    vmovdqa 432(%rdi), %xmm010634; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10635; AVX2-NEXT:    vpshufb %xmm9, %xmm0, %xmm610636; AVX2-NEXT:    vmovdqa 416(%rdi), %xmm010637; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10638; AVX2-NEXT:    vpshufb %xmm9, %xmm0, %xmm710639; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]10640; AVX2-NEXT:    vmovdqa 400(%rdi), %xmm1410641; AVX2-NEXT:    vpshufb %xmm1, %xmm14, %xmm710642; AVX2-NEXT:    vmovdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10643; AVX2-NEXT:    vmovdqa 384(%rdi), %xmm010644; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10645; AVX2-NEXT:    vpshufb %xmm1, %xmm0, %xmm810646; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm8[0],xmm7[0],xmm8[1],xmm7[1],xmm8[2],xmm7[2],xmm8[3],xmm7[3]10647; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610648; AVX2-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm710649; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]10650; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]10651; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]10652; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10653; AVX2-NEXT:    vmovdqa 112(%rdi), %xmm810654; AVX2-NEXT:    vpshufb %xmm2, %xmm8, %xmm410655; AVX2-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10656; AVX2-NEXT:    vmovdqa 96(%rdi), %xmm010657; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10658; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm510659; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10660; AVX2-NEXT:    vmovdqa 80(%rdi), %xmm010661; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10662; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm510663; AVX2-NEXT:    vmovdqa 64(%rdi), %xmm010664; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10665; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm610666; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10667; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]10668; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm010669; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10670; AVX2-NEXT:    vmovdqa 48(%rdi), %xmm510671; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10672; AVX2-NEXT:    vpshufb %xmm9, %xmm5, %xmm510673; AVX2-NEXT:    vpshufb %xmm9, %xmm0, %xmm610674; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10675; AVX2-NEXT:    vmovdqa (%rdi), %xmm010676; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10677; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm610678; AVX2-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10679; AVX2-NEXT:    vpshufb %xmm1, %xmm6, %xmm610680; AVX2-NEXT:    vpshufb %xmm1, %xmm0, %xmm710681; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]10682; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]10683; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]10684; AVX2-NEXT:    vmovdqa 240(%rdi), %xmm010685; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10686; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm510687; AVX2-NEXT:    vmovdqa 224(%rdi), %xmm010688; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10689; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm210690; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]10691; AVX2-NEXT:    vmovdqa 208(%rdi), %xmm010692; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10693; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm510694; AVX2-NEXT:    vmovdqa 192(%rdi), %xmm010695; AVX2-NEXT:    vmovdqa %xmm0, (%rsp) # 16-byte Spill10696; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm310697; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]10698; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm210699; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm310700; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]10701; AVX2-NEXT:    vmovdqa 176(%rdi), %xmm010702; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10703; AVX2-NEXT:    vpshufb %xmm9, %xmm0, %xmm310704; AVX2-NEXT:    vmovdqa 160(%rdi), %xmm010705; AVX2-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10706; AVX2-NEXT:    vpshufb %xmm9, %xmm0, %xmm010707; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]10708; AVX2-NEXT:    vmovdqa 144(%rdi), %xmm310709; AVX2-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10710; AVX2-NEXT:    vpshufb %xmm1, %xmm3, %xmm310711; AVX2-NEXT:    vmovdqa 128(%rdi), %xmm510712; AVX2-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10713; AVX2-NEXT:    vpshufb %xmm1, %xmm5, %xmm110714; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]10715; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm010716; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110717; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]10718; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]10719; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]10720; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10721; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]10722; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10723; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm010724; AVX2-NEXT:    vpshufb %xmm2, %xmm13, %xmm110725; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]10726; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]10727; AVX2-NEXT:    vpshufb %xmm6, %xmm15, %xmm310728; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10729; AVX2-NEXT:    vpshufb %xmm6, %xmm13, %xmm410730; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]10731; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm3[0,1,2],xmm1[3]10732; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]10733; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10734; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm110735; AVX2-NEXT:    vpshufb %xmm3, %xmm11, %xmm510736; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]10737; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]10738; AVX2-NEXT:    vpshufb %xmm1, %xmm10, %xmm010739; AVX2-NEXT:    vpshufb %xmm1, %xmm12, %xmm1510740; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]10741; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm5[1],xmm0[2,3]10742; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm4[2,3]10743; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10744; AVX2-NEXT:    vpshufb %xmm2, %xmm9, %xmm410745; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload10746; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm510747; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10748; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10749; AVX2-NEXT:    vpshufb %xmm6, %xmm11, %xmm510750; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10751; AVX2-NEXT:    vpshufb %xmm6, %xmm12, %xmm1510752; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm15[0],xmm5[0],xmm15[1],xmm5[1],xmm15[2],xmm5[2],xmm15[3],xmm5[3]10753; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm410754; AVX2-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm510755; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]10756; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10757; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm510758; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10759; AVX2-NEXT:    vpshufb %xmm3, %xmm7, %xmm1510760; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm15[0],xmm5[0],xmm15[1],xmm5[1],xmm15[2],xmm5[2],xmm15[3],xmm5[3]10761; AVX2-NEXT:    vpshufb %xmm1, %xmm14, %xmm1510762; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10763; AVX2-NEXT:    vpshufb %xmm1, %xmm7, %xmm1410764; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]10765; AVX2-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm510766; AVX2-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1410767; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm14[0,1,2,3,4],ymm5[5],ymm14[6,7]10768; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]10769; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]10770; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10771; AVX2-NEXT:    vpshufb %xmm2, %xmm8, %xmm010772; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload10773; AVX2-NEXT:    vpshufb %xmm2, %xmm8, %xmm410774; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm4[0],xmm0[0],xmm4[1],xmm0[1],xmm4[2],xmm0[2],xmm4[3],xmm0[3]10775; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10776; AVX2-NEXT:    vpshufb %xmm6, %xmm7, %xmm410777; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10778; AVX2-NEXT:    vpshufb %xmm6, %xmm5, %xmm510779; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10780; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm4[0,1,2],xmm0[3]10781; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10782; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm410783; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10784; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm510785; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10786; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10787; AVX2-NEXT:    vpshufb %xmm1, %xmm5, %xmm510788; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10789; AVX2-NEXT:    vpshufb %xmm1, %xmm14, %xmm1410790; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm14[0],xmm5[0],xmm14[1],xmm5[1],xmm14[2],xmm5[2],xmm14[3],xmm5[3]10791; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]10792; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm4[0,1],xmm0[2,3]10793; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10794; AVX2-NEXT:    vpshufb %xmm2, %xmm4, %xmm410795; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10796; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm210797; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]10798; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10799; AVX2-NEXT:    vpshufb %xmm6, %xmm4, %xmm410800; AVX2-NEXT:    vmovdqa (%rsp), %xmm5 # 16-byte Reload10801; AVX2-NEXT:    vpshufb %xmm6, %xmm5, %xmm510802; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10803; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm210804; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm410805; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5,6],ymm2[7]10806; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10807; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm410808; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10809; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm310810; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]10811; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10812; AVX2-NEXT:    vpshufb %xmm1, %xmm4, %xmm410813; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10814; AVX2-NEXT:    vpshufb %xmm1, %xmm5, %xmm110815; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3]10816; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm310817; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110818; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm3[5],ymm1[6,7]10819; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]10820; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]10821; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10822; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]10823; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10824; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm010825; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10826; AVX2-NEXT:    vpshufb %xmm2, %xmm1, %xmm110827; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]10828; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]10829; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10830; AVX2-NEXT:    vpshufb %xmm3, %xmm1, %xmm110831; AVX2-NEXT:    vpshufb %xmm3, %xmm13, %xmm410832; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]10833; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]10834; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]10835; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10836; AVX2-NEXT:    vpshufb %xmm0, %xmm13, %xmm110837; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10838; AVX2-NEXT:    vpshufb %xmm0, %xmm5, %xmm510839; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]10840; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]10841; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10842; AVX2-NEXT:    vpshufb %xmm1, %xmm6, %xmm610843; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10844; AVX2-NEXT:    vpshufb %xmm1, %xmm14, %xmm1410845; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10846; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]10847; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]10848; AVX2-NEXT:    vpshufb %xmm2, %xmm9, %xmm510849; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm610850; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10851; AVX2-NEXT:    vpshufb %xmm3, %xmm11, %xmm610852; AVX2-NEXT:    vpshufb %xmm3, %xmm12, %xmm1410853; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10854; AVX2-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm510855; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610856; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]10857; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10858; AVX2-NEXT:    vpshufb %xmm0, %xmm9, %xmm610859; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload10860; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm1410861; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10862; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10863; AVX2-NEXT:    vpshufb %xmm1, %xmm11, %xmm1410864; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10865; AVX2-NEXT:    vpshufb %xmm1, %xmm11, %xmm1510866; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]10867; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610868; AVX2-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1410869; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4],ymm6[5],ymm14[6,7]10870; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]10871; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]10872; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10873; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10874; AVX2-NEXT:    vpshufb %xmm2, %xmm4, %xmm410875; AVX2-NEXT:    vpshufb %xmm2, %xmm8, %xmm510876; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10877; AVX2-NEXT:    vpshufb %xmm3, %xmm7, %xmm510878; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload10879; AVX2-NEXT:    vpshufb %xmm3, %xmm8, %xmm610880; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10881; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]10882; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10883; AVX2-NEXT:    vpshufb %xmm0, %xmm5, %xmm510884; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10885; AVX2-NEXT:    vpshufb %xmm0, %xmm7, %xmm610886; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10887; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10888; AVX2-NEXT:    vpshufb %xmm1, %xmm6, %xmm610889; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10890; AVX2-NEXT:    vpshufb %xmm1, %xmm11, %xmm1410891; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10892; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]10893; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]10894; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10895; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm510896; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10897; AVX2-NEXT:    vpshufb %xmm2, %xmm6, %xmm210898; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]10899; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10900; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm510901; AVX2-NEXT:    vmovdqa (%rsp), %xmm6 # 16-byte Reload10902; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm310903; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]10904; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm210905; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm310906; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]10907; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10908; AVX2-NEXT:    vpshufb %xmm0, %xmm3, %xmm310909; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10910; AVX2-NEXT:    vpshufb %xmm0, %xmm5, %xmm010911; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]10912; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10913; AVX2-NEXT:    vpshufb %xmm1, %xmm3, %xmm310914; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10915; AVX2-NEXT:    vpshufb %xmm1, %xmm5, %xmm110916; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]10917; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm010918; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110919; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]10920; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]10921; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]10922; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10923; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]10924; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10925; AVX2-NEXT:    vpshufb %xmm2, %xmm11, %xmm010926; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10927; AVX2-NEXT:    vpshufb %xmm2, %xmm1, %xmm110928; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]10929; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]10930; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload10931; AVX2-NEXT:    vpshufb %xmm3, %xmm1, %xmm110932; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10933; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm410934; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]10935; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]10936; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]10937; AVX2-NEXT:    vpshufb %xmm0, %xmm13, %xmm110938; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10939; AVX2-NEXT:    vpshufb %xmm0, %xmm12, %xmm510940; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]10941; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]10942; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload10943; AVX2-NEXT:    vpshufb %xmm1, %xmm13, %xmm610944; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10945; AVX2-NEXT:    vpshufb %xmm1, %xmm14, %xmm1410946; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10947; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]10948; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]10949; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10950; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm510951; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10952; AVX2-NEXT:    vpshufb %xmm2, %xmm6, %xmm610953; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10954; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10955; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm610956; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10957; AVX2-NEXT:    vpshufb %xmm3, %xmm14, %xmm1410958; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10959; AVX2-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm510960; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610961; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]10962; AVX2-NEXT:    vpshufb %xmm0, %xmm9, %xmm610963; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm1410964; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10965; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10966; AVX2-NEXT:    vpshufb %xmm1, %xmm9, %xmm1410967; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload10968; AVX2-NEXT:    vpshufb %xmm1, %xmm10, %xmm1510969; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]10970; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610971; AVX2-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1410972; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4],ymm6[5],ymm14[6,7]10973; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]10974; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]10975; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10976; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload10977; AVX2-NEXT:    vpshufb %xmm2, %xmm4, %xmm410978; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10979; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm510980; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]10981; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10982; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm510983; AVX2-NEXT:    vpshufb %xmm3, %xmm8, %xmm610984; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10985; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]10986; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload10987; AVX2-NEXT:    vpshufb %xmm0, %xmm8, %xmm510988; AVX2-NEXT:    vpshufb %xmm0, %xmm7, %xmm610989; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]10990; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload10991; AVX2-NEXT:    vpshufb %xmm1, %xmm6, %xmm610992; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload10993; AVX2-NEXT:    vpshufb %xmm1, %xmm7, %xmm1410994; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]10995; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]10996; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]10997; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10998; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm510999; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11000; AVX2-NEXT:    vpshufb %xmm2, %xmm6, %xmm211001; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]11002; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11003; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm511004; AVX2-NEXT:    vmovdqa (%rsp), %xmm6 # 16-byte Reload11005; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm311006; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]11007; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211008; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311009; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]11010; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload11011; AVX2-NEXT:    vpshufb %xmm0, %xmm3, %xmm311012; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11013; AVX2-NEXT:    vpshufb %xmm0, %xmm5, %xmm011014; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]11015; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload11016; AVX2-NEXT:    vpshufb %xmm1, %xmm3, %xmm311017; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11018; AVX2-NEXT:    vpshufb %xmm1, %xmm5, %xmm111019; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]11020; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011021; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111022; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]11023; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]11024; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]11025; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11026; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]11027; AVX2-NEXT:    vpshufb %xmm2, %xmm11, %xmm011028; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11029; AVX2-NEXT:    vpshufb %xmm2, %xmm1, %xmm111030; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11031; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]11032; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11033; AVX2-NEXT:    vpshufb %xmm3, %xmm1, %xmm111034; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11035; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm411036; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]11037; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]11038; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]11039; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11040; AVX2-NEXT:    vpshufb %xmm0, %xmm1, %xmm111041; AVX2-NEXT:    vpshufb %xmm0, %xmm12, %xmm511042; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]11043; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]11044; AVX2-NEXT:    vpshufb %xmm1, %xmm13, %xmm611045; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11046; AVX2-NEXT:    vpshufb %xmm1, %xmm7, %xmm1411047; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11048; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11049; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11050; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11051; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm511052; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11053; AVX2-NEXT:    vpshufb %xmm2, %xmm6, %xmm611054; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11055; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11056; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm611057; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11058; AVX2-NEXT:    vpshufb %xmm3, %xmm7, %xmm1411059; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11060; AVX2-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511061; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611062; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]11063; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11064; AVX2-NEXT:    vpshufb %xmm0, %xmm6, %xmm611065; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11066; AVX2-NEXT:    vpshufb %xmm0, %xmm7, %xmm1411067; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11068; AVX2-NEXT:    vpshufb %xmm1, %xmm9, %xmm1411069; AVX2-NEXT:    vpshufb %xmm1, %xmm10, %xmm1511070; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]11071; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611072; AVX2-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1411073; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4],ymm6[5],ymm14[6,7]11074; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]11075; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]11076; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11077; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11078; AVX2-NEXT:    vpshufb %xmm2, %xmm7, %xmm411079; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11080; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm511081; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11082; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11083; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm511084; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11085; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm611086; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11087; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]11088; AVX2-NEXT:    vpshufb %xmm0, %xmm8, %xmm511089; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11090; AVX2-NEXT:    vpshufb %xmm0, %xmm6, %xmm611091; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11092; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload11093; AVX2-NEXT:    vpshufb %xmm1, %xmm9, %xmm611094; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload11095; AVX2-NEXT:    vpshufb %xmm1, %xmm8, %xmm1411096; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11097; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11098; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11099; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11100; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm511101; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11102; AVX2-NEXT:    vpshufb %xmm2, %xmm11, %xmm211103; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]11104; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload11105; AVX2-NEXT:    vpshufb %xmm3, %xmm12, %xmm511106; AVX2-NEXT:    vmovdqa (%rsp), %xmm13 # 16-byte Reload11107; AVX2-NEXT:    vpshufb %xmm3, %xmm13, %xmm311108; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]11109; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211110; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311111; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]11112; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload11113; AVX2-NEXT:    vpshufb %xmm0, %xmm3, %xmm311114; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11115; AVX2-NEXT:    vpshufb %xmm0, %xmm5, %xmm011116; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]11117; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload11118; AVX2-NEXT:    vpshufb %xmm1, %xmm3, %xmm311119; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11120; AVX2-NEXT:    vpshufb %xmm1, %xmm5, %xmm111121; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]11122; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011123; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111124; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]11125; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]11126; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]11127; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11128; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]11129; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11130; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm011131; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11132; AVX2-NEXT:    vpshufb %xmm2, %xmm1, %xmm111133; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11134; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]11135; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11136; AVX2-NEXT:    vpshufb %xmm3, %xmm1, %xmm111137; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11138; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm411139; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]11140; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]11141; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]11142; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11143; AVX2-NEXT:    vpshufb %xmm0, %xmm1, %xmm111144; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11145; AVX2-NEXT:    vpshufb %xmm0, %xmm5, %xmm511146; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]11147; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]11148; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11149; AVX2-NEXT:    vpshufb %xmm1, %xmm6, %xmm611150; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11151; AVX2-NEXT:    vpshufb %xmm1, %xmm14, %xmm1411152; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11153; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11154; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11155; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11156; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm511157; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11158; AVX2-NEXT:    vpshufb %xmm2, %xmm6, %xmm611159; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11160; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11161; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm611162; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11163; AVX2-NEXT:    vpshufb %xmm3, %xmm14, %xmm1411164; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11165; AVX2-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511166; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611167; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]11168; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11169; AVX2-NEXT:    vpshufb %xmm0, %xmm6, %xmm611170; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11171; AVX2-NEXT:    vpshufb %xmm0, %xmm14, %xmm1411172; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11173; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11174; AVX2-NEXT:    vpshufb %xmm1, %xmm14, %xmm1411175; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload11176; AVX2-NEXT:    vpshufb %xmm1, %xmm15, %xmm1511177; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]11178; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611179; AVX2-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1411180; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4],ymm6[5],ymm14[6,7]11181; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]11182; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]11183; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11184; AVX2-NEXT:    vpshufb %xmm2, %xmm7, %xmm411185; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11186; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm511187; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11188; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11189; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm511190; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11191; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm611192; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11193; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]11194; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11195; AVX2-NEXT:    vpshufb %xmm0, %xmm5, %xmm511196; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11197; AVX2-NEXT:    vpshufb %xmm0, %xmm6, %xmm611198; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11199; AVX2-NEXT:    vpshufb %xmm1, %xmm9, %xmm611200; AVX2-NEXT:    vpshufb %xmm1, %xmm8, %xmm1411201; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11202; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11203; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11204; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm511205; AVX2-NEXT:    vpshufb %xmm2, %xmm11, %xmm211206; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]11207; AVX2-NEXT:    vpshufb %xmm3, %xmm12, %xmm511208; AVX2-NEXT:    vpshufb %xmm3, %xmm13, %xmm311209; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]11210; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211211; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311212; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]11213; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload11214; AVX2-NEXT:    vpshufb %xmm0, %xmm13, %xmm311215; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11216; AVX2-NEXT:    vpshufb %xmm0, %xmm7, %xmm011217; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]11218; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload11219; AVX2-NEXT:    vpshufb %xmm1, %xmm8, %xmm311220; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload11221; AVX2-NEXT:    vpshufb %xmm1, %xmm9, %xmm111222; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]11223; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011224; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111225; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]11226; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]11227; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]11228; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11229; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]11230; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11231; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm011232; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11233; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm111234; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11235; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]11236; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11237; AVX2-NEXT:    vpshufb %xmm3, %xmm11, %xmm111238; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11239; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm411240; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]11241; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]11242; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]11243; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11244; AVX2-NEXT:    vpshufb %xmm0, %xmm1, %xmm111245; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11246; AVX2-NEXT:    vpshufb %xmm0, %xmm5, %xmm511247; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]11248; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]11249; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11250; AVX2-NEXT:    vpshufb %xmm1, %xmm6, %xmm611251; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload11252; AVX2-NEXT:    vpshufb %xmm1, %xmm12, %xmm1411253; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11254; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11255; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11256; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11257; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm511258; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11259; AVX2-NEXT:    vpshufb %xmm2, %xmm6, %xmm611260; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11261; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11262; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm611263; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11264; AVX2-NEXT:    vpshufb %xmm3, %xmm14, %xmm1411265; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11266; AVX2-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511267; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611268; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]11269; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11270; AVX2-NEXT:    vpshufb %xmm0, %xmm6, %xmm611271; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11272; AVX2-NEXT:    vpshufb %xmm0, %xmm14, %xmm1411273; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11274; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11275; AVX2-NEXT:    vpshufb %xmm1, %xmm14, %xmm1411276; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload11277; AVX2-NEXT:    vpshufb %xmm1, %xmm15, %xmm1511278; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]11279; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611280; AVX2-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1411281; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4],ymm6[5],ymm14[6,7]11282; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]11283; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]11284; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11285; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11286; AVX2-NEXT:    vpshufb %xmm2, %xmm4, %xmm411287; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11288; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm511289; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11290; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11291; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm511292; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11293; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm611294; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11295; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]11296; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11297; AVX2-NEXT:    vpshufb %xmm0, %xmm5, %xmm511298; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11299; AVX2-NEXT:    vpshufb %xmm0, %xmm6, %xmm611300; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11301; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11302; AVX2-NEXT:    vpshufb %xmm1, %xmm6, %xmm611303; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11304; AVX2-NEXT:    vpshufb %xmm1, %xmm14, %xmm1411305; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11306; AVX2-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11307; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11308; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11309; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm511310; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11311; AVX2-NEXT:    vpshufb %xmm2, %xmm6, %xmm211312; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]11313; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11314; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm511315; AVX2-NEXT:    vmovdqa (%rsp), %xmm6 # 16-byte Reload11316; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm311317; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]11318; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211319; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311320; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]11321; AVX2-NEXT:    vpshufb %xmm0, %xmm13, %xmm311322; AVX2-NEXT:    vmovdqa %xmm13, %xmm511323; AVX2-NEXT:    vpshufb %xmm0, %xmm7, %xmm011324; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]11325; AVX2-NEXT:    vpshufb %xmm1, %xmm8, %xmm311326; AVX2-NEXT:    vpshufb %xmm1, %xmm9, %xmm111327; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]11328; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011329; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111330; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]11331; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]11332; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]11333; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11334; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]11335; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11336; AVX2-NEXT:    vpshufb %xmm3, %xmm0, %xmm011337; AVX2-NEXT:    vpshufb %xmm3, %xmm10, %xmm111338; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11339; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]11340; AVX2-NEXT:    vpshufb %xmm0, %xmm11, %xmm211341; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11342; AVX2-NEXT:    vpshufb %xmm0, %xmm4, %xmm411343; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3]11344; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm2[0,1,2],xmm1[3]11345; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]11346; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload11347; AVX2-NEXT:    vpshufb %xmm1, %xmm2, %xmm211348; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11349; AVX2-NEXT:    vpshufb %xmm1, %xmm6, %xmm611350; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm2[0],xmm6[1],xmm2[1],xmm6[2],xmm2[2],xmm6[3],xmm2[3]11351; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]11352; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11353; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm1411354; AVX2-NEXT:    vpshufb %xmm2, %xmm12, %xmm1511355; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]11356; AVX2-NEXT:    vpblendd {{.*#+}} xmm6 = xmm14[0],xmm6[1],xmm14[2,3]11357; AVX2-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3]11358; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11359; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm611360; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11361; AVX2-NEXT:    vpshufb %xmm3, %xmm10, %xmm1411362; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11363; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11364; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm1411365; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11366; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm1511367; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]11368; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611369; AVX2-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1411370; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4,5,6],ymm6[7]11371; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11372; AVX2-NEXT:    vpshufb %xmm1, %xmm10, %xmm1411373; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11374; AVX2-NEXT:    vpshufb %xmm1, %xmm10, %xmm1511375; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]11376; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11377; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm1511378; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11379; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm1311380; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1],xmm13[2],xmm15[2],xmm13[3],xmm15[3]11381; AVX2-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1411382; AVX2-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm1311383; AVX2-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4],ymm14[5],ymm13[6,7]11384; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm13[0,1,2,3,4,5],ymm6[6,7]11385; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm6[4,5,6,7]11386; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11387; AVX2-NEXT:    vpshufb %xmm3, %xmm6, %xmm611388; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11389; AVX2-NEXT:    vpshufb %xmm3, %xmm10, %xmm1311390; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm13[0],xmm6[0],xmm13[1],xmm6[1],xmm13[2],xmm6[2],xmm13[3],xmm6[3]11391; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11392; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm1311393; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11394; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm1411395; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]11396; AVX2-NEXT:    vpblendd {{.*#+}} xmm6 = xmm13[0,1,2],xmm6[3]11397; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11398; AVX2-NEXT:    vpshufb %xmm1, %xmm10, %xmm1311399; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11400; AVX2-NEXT:    vpshufb %xmm1, %xmm10, %xmm1411401; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]11402; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11403; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm1411404; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11405; AVX2-NEXT:    vpshufb %xmm2, %xmm10, %xmm1511406; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]11407; AVX2-NEXT:    vpblendd {{.*#+}} xmm13 = xmm14[0],xmm13[1],xmm14[2,3]11408; AVX2-NEXT:    vpblendd {{.*#+}} xmm6 = xmm13[0,1],xmm6[2,3]11409; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11410; AVX2-NEXT:    vpshufb %xmm3, %xmm10, %xmm1311411; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11412; AVX2-NEXT:    vpshufb %xmm3, %xmm10, %xmm311413; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm13[0],xmm3[1],xmm13[1],xmm3[2],xmm13[2],xmm3[3],xmm13[3]11414; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11415; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm1211416; AVX2-NEXT:    vmovdqa (%rsp), %xmm10 # 16-byte Reload11417; AVX2-NEXT:    vpshufb %xmm0, %xmm10, %xmm011418; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm12[0],xmm0[1],xmm12[1],xmm0[2],xmm12[2],xmm0[3],xmm12[3]11419; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311420; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011421; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm3[7]11422; AVX2-NEXT:    vpshufb %xmm1, %xmm5, %xmm311423; AVX2-NEXT:    vpshufb %xmm1, %xmm7, %xmm111424; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]11425; AVX2-NEXT:    vpshufb %xmm2, %xmm8, %xmm311426; AVX2-NEXT:    vpshufb %xmm2, %xmm9, %xmm211427; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]11428; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111429; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211430; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]11431; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]11432; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]11433; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11434; AVX2-NEXT:    vmovaps %ymm1, (%rsi)11435; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11436; AVX2-NEXT:    vmovaps %ymm1, 32(%rsi)11437; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11438; AVX2-NEXT:    vmovaps %ymm1, (%rdx)11439; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11440; AVX2-NEXT:    vmovaps %ymm1, 32(%rdx)11441; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11442; AVX2-NEXT:    vmovaps %ymm1, (%rcx)11443; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11444; AVX2-NEXT:    vmovaps %ymm1, 32(%rcx)11445; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11446; AVX2-NEXT:    vmovaps %ymm1, (%r8)11447; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11448; AVX2-NEXT:    vmovaps %ymm1, 32(%r8)11449; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11450; AVX2-NEXT:    vmovaps %ymm1, (%r9)11451; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11452; AVX2-NEXT:    vmovaps %ymm1, 32(%r9)11453; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax11454; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11455; AVX2-NEXT:    vmovaps %ymm1, (%rax)11456; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11457; AVX2-NEXT:    vmovaps %ymm1, 32(%rax)11458; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax11459; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11460; AVX2-NEXT:    vmovaps %ymm1, (%rax)11461; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11462; AVX2-NEXT:    vmovaps %ymm1, 32(%rax)11463; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax11464; AVX2-NEXT:    vmovdqa %ymm0, (%rax)11465; AVX2-NEXT:    vmovdqa %ymm4, 32(%rax)11466; AVX2-NEXT:    addq $840, %rsp # imm = 0x34811467; AVX2-NEXT:    vzeroupper11468; AVX2-NEXT:    retq11469;11470; AVX2-FP-LABEL: load_i8_stride8_vf64:11471; AVX2-FP:       # %bb.0:11472; AVX2-FP-NEXT:    subq $840, %rsp # imm = 0x34811473; AVX2-FP-NEXT:    vmovdqa 368(%rdi), %xmm011474; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11475; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]11476; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm011477; AVX2-FP-NEXT:    vmovdqa 352(%rdi), %xmm1311478; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm13, %xmm111479; AVX2-FP-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11480; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11481; AVX2-FP-NEXT:    vmovdqa 336(%rdi), %xmm1511482; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]11483; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm15, %xmm111484; AVX2-FP-NEXT:    vmovdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11485; AVX2-FP-NEXT:    vmovdqa 320(%rdi), %xmm411486; AVX2-FP-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11487; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm411488; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]11489; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]11490; AVX2-FP-NEXT:    vmovdqa 304(%rdi), %xmm011491; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11492; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm9 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]11493; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm0, %xmm111494; AVX2-FP-NEXT:    vmovdqa 288(%rdi), %xmm1111495; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm11, %xmm511496; AVX2-FP-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11497; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]11498; AVX2-FP-NEXT:    vmovdqa 272(%rdi), %xmm1011499; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]11500; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm10, %xmm611501; AVX2-FP-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11502; AVX2-FP-NEXT:    vmovdqa 256(%rdi), %xmm1211503; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm12, %xmm711504; AVX2-FP-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11505; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]11506; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11507; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11508; AVX2-FP-NEXT:    vmovdqa 496(%rdi), %xmm011509; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11510; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm511511; AVX2-FP-NEXT:    vmovdqa 480(%rdi), %xmm011512; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11513; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm611514; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11515; AVX2-FP-NEXT:    vmovdqa 464(%rdi), %xmm011516; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11517; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm611518; AVX2-FP-NEXT:    vmovdqa 448(%rdi), %xmm011519; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11520; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm711521; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]11522; AVX2-FP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511523; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611524; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]11525; AVX2-FP-NEXT:    vmovdqa 432(%rdi), %xmm011526; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11527; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm0, %xmm611528; AVX2-FP-NEXT:    vmovdqa 416(%rdi), %xmm011529; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11530; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm0, %xmm711531; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]11532; AVX2-FP-NEXT:    vmovdqa 400(%rdi), %xmm1411533; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm14, %xmm711534; AVX2-FP-NEXT:    vmovdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11535; AVX2-FP-NEXT:    vmovdqa 384(%rdi), %xmm011536; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11537; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm0, %xmm811538; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm8[0],xmm7[0],xmm8[1],xmm7[1],xmm8[2],xmm7[2],xmm8[3],xmm7[3]11539; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611540; AVX2-FP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm711541; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]11542; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]11543; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]11544; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11545; AVX2-FP-NEXT:    vmovdqa 112(%rdi), %xmm811546; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm8, %xmm411547; AVX2-FP-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11548; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %xmm011549; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11550; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm511551; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11552; AVX2-FP-NEXT:    vmovdqa 80(%rdi), %xmm011553; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11554; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm511555; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %xmm011556; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11557; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm611558; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11559; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]11560; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm011561; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11562; AVX2-FP-NEXT:    vmovdqa 48(%rdi), %xmm511563; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11564; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm5, %xmm511565; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm0, %xmm611566; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11567; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm011568; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11569; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm611570; AVX2-FP-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11571; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm6, %xmm611572; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm0, %xmm711573; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]11574; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11575; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11576; AVX2-FP-NEXT:    vmovdqa 240(%rdi), %xmm011577; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11578; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm511579; AVX2-FP-NEXT:    vmovdqa 224(%rdi), %xmm011580; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11581; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm211582; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]11583; AVX2-FP-NEXT:    vmovdqa 208(%rdi), %xmm011584; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11585; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm511586; AVX2-FP-NEXT:    vmovdqa 192(%rdi), %xmm011587; AVX2-FP-NEXT:    vmovdqa %xmm0, (%rsp) # 16-byte Spill11588; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm311589; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]11590; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211591; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311592; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]11593; AVX2-FP-NEXT:    vmovdqa 176(%rdi), %xmm011594; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11595; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm0, %xmm311596; AVX2-FP-NEXT:    vmovdqa 160(%rdi), %xmm011597; AVX2-FP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11598; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm0, %xmm011599; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]11600; AVX2-FP-NEXT:    vmovdqa 144(%rdi), %xmm311601; AVX2-FP-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11602; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm3, %xmm311603; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %xmm511604; AVX2-FP-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11605; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm5, %xmm111606; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]11607; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011608; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111609; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]11610; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]11611; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]11612; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11613; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]11614; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11615; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm011616; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm13, %xmm111617; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11618; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]11619; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm15, %xmm311620; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload11621; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm13, %xmm411622; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]11623; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm3[0,1,2],xmm1[3]11624; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]11625; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11626; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm111627; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm11, %xmm511628; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]11629; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]11630; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm10, %xmm011631; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm12, %xmm1511632; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3]11633; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0],xmm5[1],xmm0[2,3]11634; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm4[2,3]11635; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload11636; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm9, %xmm411637; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11638; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm511639; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11640; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11641; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm11, %xmm511642; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload11643; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm12, %xmm1511644; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm15[0],xmm5[0],xmm15[1],xmm5[1],xmm15[2],xmm5[2],xmm15[3],xmm5[3]11645; AVX2-FP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm411646; AVX2-FP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511647; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]11648; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11649; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm511650; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11651; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm7, %xmm1511652; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm15[0],xmm5[0],xmm15[1],xmm5[1],xmm15[2],xmm5[2],xmm15[3],xmm5[3]11653; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm14, %xmm1511654; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11655; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm7, %xmm1411656; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]11657; AVX2-FP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511658; AVX2-FP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1411659; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm14[0,1,2,3,4],ymm5[5],ymm14[6,7]11660; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5],ymm4[6,7]11661; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]11662; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11663; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm8, %xmm011664; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload11665; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm8, %xmm411666; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm4[0],xmm0[0],xmm4[1],xmm0[1],xmm4[2],xmm0[2],xmm4[3],xmm0[3]11667; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11668; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm7, %xmm411669; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11670; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm5, %xmm511671; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11672; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm4[0,1,2],xmm0[3]11673; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11674; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm411675; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11676; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm511677; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11678; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11679; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm5, %xmm511680; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11681; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm14, %xmm1411682; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm14[0],xmm5[0],xmm14[1],xmm5[1],xmm14[2],xmm5[2],xmm14[3],xmm5[3]11683; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]11684; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm4[0,1],xmm0[2,3]11685; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11686; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm4, %xmm411687; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11688; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm211689; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]11690; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11691; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm4, %xmm411692; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm5 # 16-byte Reload11693; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm5, %xmm511694; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11695; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211696; AVX2-FP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm411697; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5,6],ymm2[7]11698; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11699; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm411700; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11701; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm311702; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]11703; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11704; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm4, %xmm411705; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11706; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm5, %xmm111707; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3]11708; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311709; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111710; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm3[5],ymm1[6,7]11711; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]11712; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]11713; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11714; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]11715; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11716; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm011717; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11718; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm1, %xmm111719; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11720; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]11721; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11722; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm1, %xmm111723; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm13, %xmm411724; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]11725; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]11726; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]11727; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload11728; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm13, %xmm111729; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11730; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm5, %xmm511731; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]11732; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]11733; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11734; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm6, %xmm611735; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11736; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm14, %xmm1411737; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11738; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11739; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11740; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm9, %xmm511741; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm611742; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11743; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm11, %xmm611744; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm12, %xmm1411745; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11746; AVX2-FP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511747; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611748; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]11749; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload11750; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm9, %xmm611751; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11752; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm1411753; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11754; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11755; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm11, %xmm1411756; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11757; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm11, %xmm1511758; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]11759; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611760; AVX2-FP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1411761; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4],ymm6[5],ymm14[6,7]11762; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]11763; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]11764; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11765; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11766; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm4, %xmm411767; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm8, %xmm511768; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11769; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm7, %xmm511770; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload11771; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm8, %xmm611772; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11773; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]11774; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11775; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm5, %xmm511776; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11777; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm7, %xmm611778; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11779; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11780; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm6, %xmm611781; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11782; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm11, %xmm1411783; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11784; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11785; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11786; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11787; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm511788; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11789; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm6, %xmm211790; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]11791; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11792; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm511793; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm6 # 16-byte Reload11794; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm311795; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]11796; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211797; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311798; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]11799; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload11800; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm3, %xmm311801; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11802; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm5, %xmm011803; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]11804; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload11805; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm3, %xmm311806; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11807; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm5, %xmm111808; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]11809; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011810; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111811; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]11812; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]11813; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]11814; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11815; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]11816; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11817; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm11, %xmm011818; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11819; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm1, %xmm111820; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11821; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]11822; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11823; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm1, %xmm111824; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11825; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm411826; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]11827; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]11828; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]11829; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm13, %xmm111830; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload11831; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm12, %xmm511832; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]11833; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]11834; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload11835; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm13, %xmm611836; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11837; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm14, %xmm1411838; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11839; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11840; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11841; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11842; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm511843; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11844; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm6, %xmm611845; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11846; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11847; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm611848; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload11849; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm14, %xmm1411850; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11851; AVX2-FP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511852; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611853; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]11854; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm9, %xmm611855; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm1411856; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11857; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload11858; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm9, %xmm1411859; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11860; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm10, %xmm1511861; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]11862; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611863; AVX2-FP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1411864; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4],ymm6[5],ymm14[6,7]11865; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]11866; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]11867; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11868; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11869; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm4, %xmm411870; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11871; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm511872; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11873; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11874; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm511875; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm8, %xmm611876; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11877; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]11878; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload11879; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm8, %xmm511880; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm7, %xmm611881; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11882; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11883; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm6, %xmm611884; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11885; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm7, %xmm1411886; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11887; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11888; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11889; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11890; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm511891; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11892; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm6, %xmm211893; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]11894; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11895; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm511896; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm6 # 16-byte Reload11897; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm311898; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]11899; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211900; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311901; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]11902; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload11903; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm3, %xmm311904; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11905; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm5, %xmm011906; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]11907; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload11908; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm3, %xmm311909; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11910; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm5, %xmm111911; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]11912; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011913; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111914; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]11915; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]11916; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]11917; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11918; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]11919; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm11, %xmm011920; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11921; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm1, %xmm111922; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]11923; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]11924; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11925; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm1, %xmm111926; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload11927; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm411928; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]11929; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]11930; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]11931; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload11932; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm1, %xmm111933; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm12, %xmm511934; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]11935; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]11936; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm13, %xmm611937; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11938; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm7, %xmm1411939; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11940; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11941; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11942; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11943; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm511944; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11945; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm6, %xmm611946; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11947; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11948; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm611949; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11950; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm7, %xmm1411951; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11952; AVX2-FP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511953; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611954; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]11955; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11956; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm6, %xmm611957; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11958; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm7, %xmm1411959; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11960; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm9, %xmm1411961; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm10, %xmm1511962; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]11963; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611964; AVX2-FP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1411965; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4],ymm6[5],ymm14[6,7]11966; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]11967; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]11968; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11969; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload11970; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm7, %xmm411971; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11972; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm511973; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]11974; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload11975; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm511976; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11977; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm611978; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11979; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]11980; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm8, %xmm511981; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload11982; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm6, %xmm611983; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]11984; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload11985; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm9, %xmm611986; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload11987; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm8, %xmm1411988; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]11989; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]11990; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]11991; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload11992; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm511993; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11994; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm11, %xmm211995; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]11996; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload11997; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm12, %xmm511998; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm13 # 16-byte Reload11999; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm13, %xmm312000; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]12001; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm212002; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312003; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]12004; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload12005; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm3, %xmm312006; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12007; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm5, %xmm012008; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]12009; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload12010; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm3, %xmm312011; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12012; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm5, %xmm112013; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]12014; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012015; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm112016; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]12017; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]12018; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]12019; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12020; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]12021; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12022; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm012023; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload12024; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm1, %xmm112025; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]12026; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]12027; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload12028; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm1, %xmm112029; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload12030; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm412031; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]12032; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]12033; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]12034; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload12035; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm1, %xmm112036; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12037; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm5, %xmm512038; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]12039; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]12040; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12041; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm6, %xmm612042; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12043; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm14, %xmm1412044; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]12045; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]12046; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]12047; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12048; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm512049; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12050; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm6, %xmm612051; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]12052; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12053; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm612054; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12055; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm14, %xmm1412056; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]12057; AVX2-FP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm512058; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm612059; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]12060; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12061; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm6, %xmm612062; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12063; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm14, %xmm1412064; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]12065; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12066; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm14, %xmm1412067; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload12068; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm15, %xmm1512069; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]12070; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm612071; AVX2-FP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1412072; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4],ymm6[5],ymm14[6,7]12073; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]12074; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]12075; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12076; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm7, %xmm412077; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12078; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm512079; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]12080; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12081; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm512082; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12083; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm612084; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]12085; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]12086; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12087; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm5, %xmm512088; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12089; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm6, %xmm612090; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]12091; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm9, %xmm612092; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm8, %xmm1412093; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]12094; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]12095; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]12096; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm512097; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm11, %xmm212098; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]12099; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm12, %xmm512100; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm13, %xmm312101; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]12102; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm212103; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312104; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]12105; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload12106; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm13, %xmm312107; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload12108; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm7, %xmm012109; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]12110; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload12111; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm8, %xmm312112; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload12113; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm9, %xmm112114; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]12115; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012116; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm112117; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]12118; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]12119; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]12120; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12121; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]12122; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12123; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm012124; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12125; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm112126; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]12127; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]12128; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload12129; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm11, %xmm112130; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload12131; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm412132; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]12133; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm1[0,1,2],xmm0[3]12134; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]12135; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload12136; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm1, %xmm112137; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12138; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm5, %xmm512139; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]12140; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]12141; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12142; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm6, %xmm612143; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload12144; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm12, %xmm1412145; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]12146; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]12147; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]12148; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12149; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm512150; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12151; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm6, %xmm612152; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]12153; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12154; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm612155; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12156; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm14, %xmm1412157; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]12158; AVX2-FP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm512159; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm612160; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5,6],ymm5[7]12161; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12162; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm6, %xmm612163; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12164; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm14, %xmm1412165; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]12166; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12167; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm14, %xmm1412168; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload12169; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm15, %xmm1512170; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]12171; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm612172; AVX2-FP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1412173; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4],ymm6[5],ymm14[6,7]12174; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]12175; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm5[4,5,6,7]12176; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12177; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload12178; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm4, %xmm412179; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12180; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm512181; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]12182; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12183; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm512184; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12185; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm612186; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]12187; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]12188; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12189; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm5, %xmm512190; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12191; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm6, %xmm612192; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]12193; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12194; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm6, %xmm612195; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12196; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm14, %xmm1412197; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]12198; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm5 = xmm6[0],xmm5[1],xmm6[2,3]12199; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]12200; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12201; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm512202; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12203; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm6, %xmm212204; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm5[0],xmm2[1],xmm5[1],xmm2[2],xmm5[2],xmm2[3],xmm5[3]12205; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload12206; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm512207; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm6 # 16-byte Reload12208; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm312209; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]12210; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm212211; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312212; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]12213; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm13, %xmm312214; AVX2-FP-NEXT:    vmovdqa %xmm13, %xmm512215; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm7, %xmm012216; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]12217; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm8, %xmm312218; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm9, %xmm112219; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]12220; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012221; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm112222; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4],ymm0[5],ymm1[6,7]12223; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]12224; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3],ymm0[4,5,6,7]12225; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12226; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]12227; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload12228; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm0, %xmm012229; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm10, %xmm112230; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]12231; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]12232; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm11, %xmm212233; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload12234; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm4, %xmm412235; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3]12236; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm2[0,1,2],xmm1[3]12237; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]12238; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload12239; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm2, %xmm212240; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12241; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm6, %xmm612242; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm2[0],xmm6[1],xmm2[1],xmm6[2],xmm2[2],xmm6[3],xmm2[3]12243; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]12244; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12245; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm1412246; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm12, %xmm1512247; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]12248; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm14[0],xmm6[1],xmm14[2,3]12249; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3]12250; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12251; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm612252; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12253; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm10, %xmm1412254; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm14[0],xmm6[0],xmm14[1],xmm6[1],xmm14[2],xmm6[2],xmm14[3],xmm6[3]12255; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12256; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm1412257; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12258; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm1512259; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]12260; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm612261; AVX2-FP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1412262; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3,4,5,6],ymm6[7]12263; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12264; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm10, %xmm1412265; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12266; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm10, %xmm1512267; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]12268; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12269; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm1512270; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12271; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm1312272; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1],xmm13[2],xmm15[2],xmm13[3],xmm15[3]12273; AVX2-FP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1412274; AVX2-FP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm1312275; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4],ymm14[5],ymm13[6,7]12276; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm13[0,1,2,3,4,5],ymm6[6,7]12277; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm6[4,5,6,7]12278; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload12279; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm6, %xmm612280; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12281; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm10, %xmm1312282; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm13[0],xmm6[0],xmm13[1],xmm6[1],xmm13[2],xmm6[2],xmm13[3],xmm6[3]12283; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12284; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm1312285; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12286; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm1412287; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]12288; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm13[0,1,2],xmm6[3]12289; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12290; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm10, %xmm1312291; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12292; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm10, %xmm1412293; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3]12294; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12295; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm1412296; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12297; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm10, %xmm1512298; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]12299; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm14[0],xmm13[1],xmm14[2,3]12300; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm13[0,1],xmm6[2,3]12301; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12302; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm10, %xmm1312303; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12304; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm10, %xmm312305; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm13[0],xmm3[1],xmm13[1],xmm3[2],xmm13[2],xmm3[3],xmm13[3]12306; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload12307; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm1212308; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm10 # 16-byte Reload12309; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm10, %xmm012310; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm12[0],xmm0[1],xmm12[1],xmm0[2],xmm12[2],xmm0[3],xmm12[3]12311; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312312; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012313; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm3[7]12314; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm5, %xmm312315; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm7, %xmm112316; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]12317; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm8, %xmm312318; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm9, %xmm212319; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]12320; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm112321; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm212322; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5],ymm2[6,7]12323; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12324; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2,3],ymm0[4,5,6,7]12325; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12326; AVX2-FP-NEXT:    vmovaps %ymm1, (%rsi)12327; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12328; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rsi)12329; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12330; AVX2-FP-NEXT:    vmovaps %ymm1, (%rdx)12331; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12332; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rdx)12333; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12334; AVX2-FP-NEXT:    vmovaps %ymm1, (%rcx)12335; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12336; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rcx)12337; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12338; AVX2-FP-NEXT:    vmovaps %ymm1, (%r8)12339; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12340; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%r8)12341; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12342; AVX2-FP-NEXT:    vmovaps %ymm1, (%r9)12343; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12344; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%r9)12345; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12346; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12347; AVX2-FP-NEXT:    vmovaps %ymm1, (%rax)12348; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12349; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rax)12350; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12351; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12352; AVX2-FP-NEXT:    vmovaps %ymm1, (%rax)12353; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12354; AVX2-FP-NEXT:    vmovaps %ymm1, 32(%rax)12355; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12356; AVX2-FP-NEXT:    vmovdqa %ymm0, (%rax)12357; AVX2-FP-NEXT:    vmovdqa %ymm4, 32(%rax)12358; AVX2-FP-NEXT:    addq $840, %rsp # imm = 0x34812359; AVX2-FP-NEXT:    vzeroupper12360; AVX2-FP-NEXT:    retq12361;12362; AVX2-FCP-LABEL: load_i8_stride8_vf64:12363; AVX2-FCP:       # %bb.0:12364; AVX2-FCP-NEXT:    subq $1096, %rsp # imm = 0x44812365; AVX2-FCP-NEXT:    vmovdqa 384(%rdi), %ymm412366; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12367; AVX2-FCP-NEXT:    vmovdqa 416(%rdi), %ymm512368; AVX2-FCP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12369; AVX2-FCP-NEXT:    vmovdqa 448(%rdi), %ymm312370; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12371; AVX2-FCP-NEXT:    vmovdqa 480(%rdi), %ymm012372; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12373; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm1 = [0,2,2,3,0,2,4,6]12374; AVX2-FCP-NEXT:    vpermd %ymm0, %ymm1, %ymm1012375; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12376; AVX2-FCP-NEXT:    vpshufb %ymm15, %ymm10, %ymm012377; AVX2-FCP-NEXT:    vmovdqu %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12378; AVX2-FCP-NEXT:    vpermd %ymm3, %ymm1, %ymm1312379; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm9 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12380; AVX2-FCP-NEXT:    vpshufb %ymm9, %ymm13, %ymm212381; AVX2-FCP-NEXT:    vmovdqu %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12382; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]12383; AVX2-FCP-NEXT:    vpermd %ymm5, %ymm1, %ymm212384; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12385; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm2 = ymm2[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u]12386; AVX2-FCP-NEXT:    vpermd %ymm4, %ymm1, %ymm312387; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12388; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12389; AVX2-FCP-NEXT:    vpshufb %ymm11, %ymm3, %ymm312390; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]12391; AVX2-FCP-NEXT:    vmovdqa 320(%rdi), %ymm512392; AVX2-FCP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12393; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm0[6,7]12394; AVX2-FCP-NEXT:    vmovdqa 352(%rdi), %ymm312395; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12396; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,4,6,4,6,6,7]12397; AVX2-FCP-NEXT:    vpermd %ymm3, %ymm0, %ymm312398; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12399; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm12 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12400; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm3, %xmm312401; AVX2-FCP-NEXT:    vpermd %ymm5, %ymm0, %ymm412402; AVX2-FCP-NEXT:    vmovdqu %ymm4, (%rsp) # 32-byte Spill12403; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12404; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm4, %xmm412405; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1,2],xmm3[3]12406; AVX2-FCP-NEXT:    vmovdqa 256(%rdi), %ymm512407; AVX2-FCP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12408; AVX2-FCP-NEXT:    vmovdqa 288(%rdi), %ymm412409; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12410; AVX2-FCP-NEXT:    vpermd %ymm4, %ymm0, %ymm812411; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm8[u,u,u,u,0,4,8,12,u,u,u,u,u,u,u,u]12412; AVX2-FCP-NEXT:    vpermd %ymm5, %ymm0, %ymm512413; AVX2-FCP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12414; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm6 = [0,4,8,12,0,0,0,0,0,0,0,0,0,0,0,0]12415; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm5, %xmm512416; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]12417; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]12418; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]12419; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12420; AVX2-FCP-NEXT:    vmovdqa 192(%rdi), %ymm312421; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12422; AVX2-FCP-NEXT:    vmovdqa 224(%rdi), %ymm212423; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12424; AVX2-FCP-NEXT:    vpermd %ymm2, %ymm1, %ymm212425; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12426; AVX2-FCP-NEXT:    vpshufb %ymm15, %ymm2, %ymm212427; AVX2-FCP-NEXT:    vpermd %ymm3, %ymm1, %ymm412428; AVX2-FCP-NEXT:    vpshufb %ymm9, %ymm4, %ymm312429; AVX2-FCP-NEXT:    vmovdqa %ymm4, %ymm912430; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4,5,6],ymm2[7]12431; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %ymm312432; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12433; AVX2-FCP-NEXT:    vmovdqa 160(%rdi), %ymm412434; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12435; AVX2-FCP-NEXT:    vpermd %ymm4, %ymm1, %ymm412436; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12437; AVX2-FCP-NEXT:    vpermd %ymm3, %ymm1, %ymm312438; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12439; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,20,24,28,u,u,u,u,u,u,u,u]12440; AVX2-FCP-NEXT:    vpshufb %ymm11, %ymm3, %ymm312441; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4],ymm1[5],ymm3[6,7]12442; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]12443; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %ymm312444; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12445; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %ymm212446; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12447; AVX2-FCP-NEXT:    vpermd %ymm2, %ymm0, %ymm212448; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12449; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm2, %xmm212450; AVX2-FCP-NEXT:    vpermd %ymm3, %ymm0, %ymm312451; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12452; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm3, %xmm1512453; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm15 = xmm15[0,1,2],xmm2[3]12454; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm212455; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12456; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm312457; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12458; AVX2-FCP-NEXT:    vpermd %ymm3, %ymm0, %ymm1112459; AVX2-FCP-NEXT:    vpermd %ymm2, %ymm0, %ymm212460; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12461; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm11[u,u,u,u,0,4,8,12,u,u,u,u,u,u,u,u]12462; AVX2-FCP-NEXT:    vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12463; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm2, %xmm1412464; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm14[0],xmm0[1],xmm14[2,3]12465; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm15[2,3]12466; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12467; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12468; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]12469; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm13[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]12470; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12471; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm4 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]12472; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload12473; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm12, %ymm112474; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm10 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]12475; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload12476; AVX2-FCP-NEXT:    vpshufb %ymm10, %ymm7, %ymm1412477; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm14[0,1,2,3,4],ymm1[5],ymm14[6,7]12478; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm1[0,1,2,3,4,5],ymm0[6,7]12479; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload12480; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm13[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]12481; AVX2-FCP-NEXT:    vmovdqu (%rsp), %ymm5 # 32-byte Reload12482; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm5[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]12483; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1,2],xmm1[3]12484; AVX2-FCP-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12485; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm8[u,u,u,u,1,5,9,13,u,u,u,u,u,u,u,u]12486; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload12487; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm6[1,5,9,13,u,u,u,u,u,u,u,u,u,u,u,u]12488; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0],xmm14[1],xmm15[2,3]12489; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1],xmm1[2,3]12490; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm2[4,5,6,7]12491; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12492; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12493; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm2[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29]12494; AVX2-FCP-NEXT:    vmovdqa %ymm9, %ymm312495; AVX2-FCP-NEXT:    vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12496; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm9[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,17,21,25,29,u,u,u,u]12497; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12498; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload12499; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm9, %ymm112500; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12501; AVX2-FCP-NEXT:    vpshufb %ymm10, %ymm4, %ymm1412502; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm14[0,1,2,3,4],ymm1[5],ymm14[6,7]12503; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12504; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload12505; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm10[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]12506; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm14 # 32-byte Reload12507; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]12508; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1,2],xmm1[3]12509; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm11[u,u,u,u,1,5,9,13,u,u,u,u,u,u,u,u]12510; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload12511; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm11[1,5,9,13,u,u,u,u,u,u,u,u,u,u,u,u]12512; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0],xmm14[1],xmm15[2,3]12513; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1],xmm1[2,3]12514; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12515; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12516; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12517; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30]12518; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12519; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30,u,u,u,u]12520; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12521; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]12522; AVX2-FCP-NEXT:    vpshufb %ymm11, %ymm12, %ymm112523; AVX2-FCP-NEXT:    vmovdqa %ymm11, %ymm1212524; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]12525; AVX2-FCP-NEXT:    vpshufb %ymm11, %ymm7, %ymm1412526; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm14[0,1,2,3,4],ymm1[5],ymm14[6,7]12527; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12528; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]12529; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm13, %xmm112530; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]12531; AVX2-FCP-NEXT:    vpshufb %xmm13, %xmm5, %xmm1412532; AVX2-FCP-NEXT:    vmovdqa %xmm13, %xmm512533; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1,2],xmm1[3]12534; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]12535; AVX2-FCP-NEXT:    vpshufb %xmm13, %xmm8, %xmm1412536; AVX2-FCP-NEXT:    vmovdqa %xmm13, %xmm812537; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm13 = [2,6,10,14,0,0,0,0,0,0,0,0,0,0,0,0]12538; AVX2-FCP-NEXT:    vpshufb %xmm13, %xmm6, %xmm1512539; AVX2-FCP-NEXT:    vmovdqa %xmm13, %xmm612540; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0],xmm14[1],xmm15[2,3]12541; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1],xmm1[2,3]12542; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12543; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12544; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm2[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30]12545; AVX2-FCP-NEXT:    vmovdqa %ymm2, %ymm1312546; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,18,22,26,30,u,u,u,u]12547; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12548; AVX2-FCP-NEXT:    vpshufb %ymm12, %ymm9, %ymm112549; AVX2-FCP-NEXT:    vpshufb %ymm11, %ymm4, %ymm1412550; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm14[0,1,2,3,4],ymm1[5],ymm14[6,7]12551; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12552; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm10, %xmm112553; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload12554; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm7, %xmm1412555; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1,2],xmm1[3]12556; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload12557; AVX2-FCP-NEXT:    vpshufb %xmm8, %xmm3, %xmm1412558; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload12559; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm5, %xmm1512560; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0],xmm14[1],xmm15[2,3]12561; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm14[0,1],xmm1[2,3]12562; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12563; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12564; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm9 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12565; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12566; AVX2-FCP-NEXT:    vpshufb %ymm9, %ymm0, %ymm012567; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12568; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12569; AVX2-FCP-NEXT:    vpshufb %ymm15, %ymm1, %ymm112570; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12571; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12572; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12573; AVX2-FCP-NEXT:    vpshufb %ymm6, %ymm1, %ymm112574; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm2 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12575; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12576; AVX2-FCP-NEXT:    vpshufb %ymm2, %ymm4, %ymm1412577; AVX2-FCP-NEXT:    vmovdqa %ymm2, %ymm412578; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm14[0,1,2,3,4],ymm1[5],ymm14[6,7]12579; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12580; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12581; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12582; AVX2-FCP-NEXT:    vpshufb %xmm14, %xmm1, %xmm112583; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm2 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12584; AVX2-FCP-NEXT:    vmovdqu (%rsp), %ymm8 # 32-byte Reload12585; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm8, %xmm1212586; AVX2-FCP-NEXT:    vmovdqa %xmm2, %xmm812587; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm12[0,1,2],xmm1[3]12588; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm12 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12589; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload12590; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm10, %xmm1112591; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm2 = [3,7,11,15,0,0,0,0,0,0,0,0,0,0,0,0]12592; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload12593; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm10, %xmm1012594; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm10[0],xmm11[1],xmm10[2,3]12595; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm10[0,1],xmm1[2,3]12596; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12597; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12598; AVX2-FCP-NEXT:    vpshufb %ymm9, %ymm13, %ymm012599; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12600; AVX2-FCP-NEXT:    vpshufb %ymm15, %ymm1, %ymm112601; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12602; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12603; AVX2-FCP-NEXT:    vpshufb %ymm6, %ymm1, %ymm112604; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload12605; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm6, %ymm612606; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm6[0,1,2,3,4],ymm1[5],ymm6[6,7]12607; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12608; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12609; AVX2-FCP-NEXT:    vpshufb %xmm14, %xmm1, %xmm112610; AVX2-FCP-NEXT:    vpshufb %xmm8, %xmm7, %xmm412611; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1,2],xmm1[3]12612; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm3, %xmm312613; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm5, %xmm212614; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm3[1],xmm2[2,3]12615; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]12616; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12617; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12618; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm1 = [1,3,2,3,1,3,5,7]12619; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm0 # 32-byte Folded Reload12620; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12621; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm3 # 32-byte Folded Reload12622; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12623; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm2 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12624; AVX2-FCP-NEXT:    vpshufb %ymm2, %ymm0, %ymm012625; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm13 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12626; AVX2-FCP-NEXT:    vpshufb %ymm13, %ymm3, %ymm312627; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3,4,5,6],ymm0[7]12628; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm3 # 32-byte Folded Reload12629; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12630; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm4 # 32-byte Folded Reload12631; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12632; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12633; AVX2-FCP-NEXT:    vpshufb %ymm15, %ymm3, %ymm512634; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12635; AVX2-FCP-NEXT:    vpshufb %ymm14, %ymm4, %ymm612636; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4],ymm5[5],ymm6[6,7]12637; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm5[0,1,2,3,4,5],ymm0[6,7]12638; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,5,7,5,7,6,7]12639; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm3 # 32-byte Folded Reload12640; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12641; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload12642; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12643; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12644; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm3, %xmm712645; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm3 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12646; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm4, %xmm812647; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm8[0,1,2],xmm7[3]12648; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload12649; AVX2-FCP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12650; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm7 # 32-byte Folded Reload12651; AVX2-FCP-NEXT:    vmovdqu %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12652; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm4 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]12653; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm6, %xmm1112654; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm8 = [0,4,8,12,0,0,0,0,0,0,0,0,0,0,0,0]12655; AVX2-FCP-NEXT:    vpshufb %xmm8, %xmm7, %xmm1212656; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm11 = xmm12[0],xmm11[1],xmm12[2,3]12657; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm11[0,1],xmm10[2,3]12658; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3],ymm9[4,5,6,7]12659; AVX2-FCP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12660; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload12661; AVX2-FCP-NEXT:    vpshufb %ymm2, %ymm10, %ymm1112662; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload12663; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12664; AVX2-FCP-NEXT:    vpshufb %ymm13, %ymm2, %ymm1212665; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm12[0,1,2,3,4,5,6],ymm11[7]12666; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm2 # 32-byte Folded Reload12667; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12668; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm6 # 32-byte Folded Reload12669; AVX2-FCP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12670; AVX2-FCP-NEXT:    vpshufb %ymm15, %ymm2, %ymm112671; AVX2-FCP-NEXT:    vpshufb %ymm14, %ymm6, %ymm1512672; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm15[0,1,2,3,4],ymm1[5],ymm15[6,7]12673; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm13[6,7]12674; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload12675; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12676; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm2, %xmm212677; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm5 # 32-byte Folded Reload12678; AVX2-FCP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12679; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm5, %xmm1412680; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm14[0,1,2],xmm2[3]12681; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload12682; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12683; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm3 # 32-byte Folded Reload12684; AVX2-FCP-NEXT:    vmovdqu %ymm3, (%rsp) # 32-byte Spill12685; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm2, %xmm012686; AVX2-FCP-NEXT:    vpshufb %xmm8, %xmm3, %xmm412687; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm4[0],xmm0[1],xmm4[2,3]12688; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1],xmm14[2,3]12689; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]12690; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12691; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]12692; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload12693; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm3, %ymm012694; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]12695; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload12696; AVX2-FCP-NEXT:    vpshufb %ymm6, %ymm12, %ymm112697; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12698; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm7 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]12699; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload12700; AVX2-FCP-NEXT:    vpshufb %ymm7, %ymm13, %ymm112701; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]12702; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm15 # 32-byte Reload12703; AVX2-FCP-NEXT:    vpshufb %ymm8, %ymm15, %ymm412704; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4],ymm1[5],ymm4[6,7]12705; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12706; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload12707; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm11[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]12708; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12709; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]12710; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1,2],xmm1[3]12711; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12712; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[u,u,u,u,1,5,9,13,u,u,u,u,u,u,u,u]12713; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload12714; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm9[1,5,9,13,u,u,u,u,u,u,u,u,u,u,u,u]12715; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm14[0],xmm4[1],xmm14[2,3]12716; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]12717; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12718; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12719; AVX2-FCP-NEXT:    vmovdqu %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12720; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm10, %ymm012721; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12722; AVX2-FCP-NEXT:    vpshufb %ymm6, %ymm1, %ymm112723; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12724; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload12725; AVX2-FCP-NEXT:    vpshufb %ymm7, %ymm9, %ymm112726; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12727; AVX2-FCP-NEXT:    vpshufb %ymm8, %ymm4, %ymm412728; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4],ymm1[5],ymm4[6,7]12729; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12730; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12731; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u,u,u,u,u,u,u,u,u,1,5,9,13]12732; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12733; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,u,u,u,u,1,5,9,13,u,u,u,u]12734; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1,2],xmm1[3]12735; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12736; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,1,5,9,13,u,u,u,u,u,u,u,u]12737; AVX2-FCP-NEXT:    vmovdqu (%rsp), %ymm5 # 32-byte Reload12738; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm5[1,5,9,13,u,u,u,u,u,u,u,u,u,u,u,u]12739; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm14[0],xmm4[1],xmm14[2,3]12740; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]12741; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12742; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12743; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]12744; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm3, %ymm012745; AVX2-FCP-NEXT:    vmovdqa %ymm5, %ymm312746; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]12747; AVX2-FCP-NEXT:    vpshufb %ymm6, %ymm12, %ymm112748; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12749; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm7 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]12750; AVX2-FCP-NEXT:    vpshufb %ymm7, %ymm13, %ymm112751; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]12752; AVX2-FCP-NEXT:    vpshufb %ymm8, %ymm15, %ymm412753; AVX2-FCP-NEXT:    vmovdqa %ymm15, %ymm512754; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4],ymm1[5],ymm4[6,7]12755; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12756; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm11[u,u,u,u,u,u,u,u,u,u,u,u,2,6,10,14]12757; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload12758; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm11[u,u,u,u,u,u,u,u,2,6,10,14,u,u,u,u]12759; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1,2],xmm1[3]12760; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[u,u,u,u,2,6,10,14,u,u,u,u,u,u,u,u]12761; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload12762; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm12[2,6,10,14,u,u,u,u,u,u,u,u,u,u,u,u]12763; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm14[0],xmm4[1],xmm14[2,3]12764; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]12765; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12766; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12767; AVX2-FCP-NEXT:    vpshufb %ymm3, %ymm10, %ymm012768; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload12769; AVX2-FCP-NEXT:    vpshufb %ymm6, %ymm13, %ymm112770; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12771; AVX2-FCP-NEXT:    vpshufb %ymm7, %ymm9, %ymm112772; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12773; AVX2-FCP-NEXT:    vpshufb %ymm8, %ymm2, %ymm412774; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4],ymm1[5],ymm4[6,7]12775; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12776; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload12777; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm3[u,u,u,u,u,u,u,u,u,u,u,u,2,6,10,14]12778; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload12779; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm9[u,u,u,u,u,u,u,u,2,6,10,14,u,u,u,u]12780; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1,2],xmm1[3]12781; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload12782; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm10[u,u,u,u,2,6,10,14,u,u,u,u,u,u,u,u]12783; AVX2-FCP-NEXT:    vmovdqu (%rsp), %ymm15 # 32-byte Reload12784; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm15[2,6,10,14,u,u,u,u,u,u,u,u,u,u,u,u]12785; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm14[0],xmm4[1],xmm14[2,3]12786; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]12787; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12788; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12789; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12790; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12791; AVX2-FCP-NEXT:    vpshufb %ymm6, %ymm0, %ymm012792; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12793; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12794; AVX2-FCP-NEXT:    vpshufb %ymm14, %ymm1, %ymm112795; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5,6],ymm0[7]12796; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm7 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12797; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12798; AVX2-FCP-NEXT:    vpshufb %ymm7, %ymm1, %ymm112799; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]12800; AVX2-FCP-NEXT:    vpshufb %ymm8, %ymm5, %ymm412801; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4],ymm1[5],ymm4[6,7]12802; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3,4,5],ymm0[6,7]12803; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload12804; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u,u,u,u,u,u,u,u,u,3,7,11,15]12805; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm11[u,u,u,u,u,u,u,u,3,7,11,15,u,u,u,u]12806; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1,2],xmm1[3]12807; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12808; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,3,7,11,15,u,u,u,u,u,u,u,u]12809; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm12[3,7,11,15,u,u,u,u,u,u,u,u,u,u,u,u]12810; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0],xmm4[1],xmm5[2,3]12811; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm4[0,1],xmm1[2,3]12812; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm0[4,5,6,7]12813; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload12814; AVX2-FCP-NEXT:    vpshufb %ymm6, %ymm0, %ymm012815; AVX2-FCP-NEXT:    vpshufb %ymm14, %ymm13, %ymm412816; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5,6],ymm0[7]12817; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12818; AVX2-FCP-NEXT:    vpshufb %ymm7, %ymm4, %ymm412819; AVX2-FCP-NEXT:    vpshufb %ymm8, %ymm2, %ymm512820; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]12821; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5],ymm0[6,7]12822; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm3[u,u,u,u,u,u,u,u,u,u,u,u,3,7,11,15]12823; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm9[u,u,u,u,u,u,u,u,3,7,11,15,u,u,u,u]12824; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]12825; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm10[u,u,u,u,3,7,11,15,u,u,u,u,u,u,u,u]12826; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm15[3,7,11,15,u,u,u,u,u,u,u,u,u,u,u,u]12827; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0],xmm3[1],xmm2[2,3]12828; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm2[0,1],xmm4[2,3]12829; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]12830; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12831; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rsi)12832; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12833; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%rsi)12834; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12835; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rdx)12836; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12837; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%rdx)12838; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12839; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rcx)12840; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12841; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%rcx)12842; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12843; AVX2-FCP-NEXT:    vmovaps %ymm2, (%r8)12844; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12845; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%r8)12846; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12847; AVX2-FCP-NEXT:    vmovaps %ymm2, (%r9)12848; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12849; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%r9)12850; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12851; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12852; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rax)12853; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12854; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%rax)12855; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12856; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12857; AVX2-FCP-NEXT:    vmovaps %ymm2, (%rax)12858; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload12859; AVX2-FCP-NEXT:    vmovaps %ymm2, 32(%rax)12860; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12861; AVX2-FCP-NEXT:    vmovdqa %ymm0, (%rax)12862; AVX2-FCP-NEXT:    vmovdqa %ymm1, 32(%rax)12863; AVX2-FCP-NEXT:    addq $1096, %rsp # imm = 0x44812864; AVX2-FCP-NEXT:    vzeroupper12865; AVX2-FCP-NEXT:    retq12866;12867; AVX512-LABEL: load_i8_stride8_vf64:12868; AVX512:       # %bb.0:12869; AVX512-NEXT:    subq $440, %rsp # imm = 0x1B812870; AVX512-NEXT:    vmovdqa64 256(%rdi), %zmm3012871; AVX512-NEXT:    vmovdqa64 384(%rdi), %zmm012872; AVX512-NEXT:    vpmovqb %zmm0, %xmm212873; AVX512-NEXT:    vmovdqa 496(%rdi), %xmm612874; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8]12875; AVX512-NEXT:    vpshufb %xmm0, %xmm6, %xmm112876; AVX512-NEXT:    vmovdqa 480(%rdi), %xmm912877; AVX512-NEXT:    vpshufb %xmm0, %xmm9, %xmm312878; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]12879; AVX512-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm312880; AVX512-NEXT:    vmovdqa 464(%rdi), %xmm1312881; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0]12882; AVX512-NEXT:    vpshufb %xmm1, %xmm13, %xmm412883; AVX512-NEXT:    vmovdqa 448(%rdi), %xmm812884; AVX512-NEXT:    vpshufb %xmm1, %xmm8, %xmm512885; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]12886; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm412887; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]12888; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm212889; AVX512-NEXT:    vmovdqa64 384(%rdi), %ymm1812890; AVX512-NEXT:    vpmovqb %ymm18, %xmm412891; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm412892; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4],ymm2[5],ymm4[6,7]12893; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]12894; AVX512-NEXT:    vmovdqa 368(%rdi), %xmm1012895; AVX512-NEXT:    vpshufb %xmm0, %xmm10, %xmm312896; AVX512-NEXT:    vmovdqa 352(%rdi), %xmm1212897; AVX512-NEXT:    vpshufb %xmm0, %xmm12, %xmm412898; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]12899; AVX512-NEXT:    vmovdqa 336(%rdi), %xmm512900; AVX512-NEXT:    vpshufb %xmm1, %xmm5, %xmm412901; AVX512-NEXT:    vmovdqa64 %xmm5, %xmm2112902; AVX512-NEXT:    vmovdqa 320(%rdi), %xmm712903; AVX512-NEXT:    vpshufb %xmm1, %xmm7, %xmm512904; AVX512-NEXT:    vmovdqa64 %xmm7, %xmm1612905; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]12906; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1,2],xmm3[3]12907; AVX512-NEXT:    vpmovqb %zmm30, %xmm412908; AVX512-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]12909; AVX512-NEXT:    vinserti32x4 $2, %xmm3, %zmm0, %zmm312910; AVX512-NEXT:    movb $-64, %al12911; AVX512-NEXT:    kmovw %eax, %k112912; AVX512-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm3 {%k1}12913; AVX512-NEXT:    vmovdqa 240(%rdi), %xmm412914; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm212915; AVX512-NEXT:    vmovdqa64 %xmm4, %xmm2512916; AVX512-NEXT:    vmovdqa 224(%rdi), %xmm1112917; AVX512-NEXT:    vpshufb %xmm0, %xmm11, %xmm412918; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3]12919; AVX512-NEXT:    vmovdqa 208(%rdi), %xmm512920; AVX512-NEXT:    vpshufb %xmm1, %xmm5, %xmm412921; AVX512-NEXT:    vmovdqa64 %xmm5, %xmm2212922; AVX512-NEXT:    vmovdqa 192(%rdi), %xmm1412923; AVX512-NEXT:    vpshufb %xmm1, %xmm14, %xmm512924; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]12925; AVX512-NEXT:    vmovdqa64 128(%rdi), %zmm512926; AVX512-NEXT:    vpmovqb %zmm5, %xmm512927; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm212928; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm412929; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5,6],ymm2[7]12930; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm412931; AVX512-NEXT:    vmovdqa64 128(%rdi), %ymm1912932; AVX512-NEXT:    vpmovqb %ymm19, %xmm512933; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm512934; AVX512-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]12935; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5],ymm2[6,7]12936; AVX512-NEXT:    vmovdqa 112(%rdi), %xmm412937; AVX512-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12938; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm412939; AVX512-NEXT:    vmovdqa 96(%rdi), %xmm512940; AVX512-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12941; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm012942; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]12943; AVX512-NEXT:    vmovdqa 80(%rdi), %xmm412944; AVX512-NEXT:    vmovdqa %xmm4, (%rsp) # 16-byte Spill12945; AVX512-NEXT:    vpshufb %xmm1, %xmm4, %xmm412946; AVX512-NEXT:    vmovdqa 64(%rdi), %xmm512947; AVX512-NEXT:    vpshufb %xmm1, %xmm5, %xmm112948; AVX512-NEXT:    vmovdqa64 %xmm5, %xmm2712949; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3]12950; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]12951; AVX512-NEXT:    vmovdqa64 (%rdi), %zmm2012952; AVX512-NEXT:    vpmovqb %zmm20, %xmm112953; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]12954; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]12955; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm012956; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12957; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [0,0,1,9,0,0,1,9,0,0,1,9,0,0,1,9]12958; AVX512-NEXT:    vpshufb %xmm5, %xmm6, %xmm012959; AVX512-NEXT:    vmovdqa64 %xmm6, %xmm2312960; AVX512-NEXT:    vpshufb %xmm5, %xmm9, %xmm212961; AVX512-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12962; AVX512-NEXT:    vmovdqa64 %xmm9, %xmm3112963; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]12964; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [1,9,0,0,1,9,0,0,1,9,0,0,1,9,0,0]12965; AVX512-NEXT:    vpshufb %xmm1, %xmm13, %xmm312966; AVX512-NEXT:    vmovdqa64 %xmm13, %xmm2612967; AVX512-NEXT:    vpshufb %xmm1, %xmm8, %xmm412968; AVX512-NEXT:    vmovdqa %xmm8, %xmm612969; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]12970; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm212971; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312972; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm2[7]12973; AVX512-NEXT:    vmovdqa 416(%rdi), %xmm012974; AVX512-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12975; AVX512-NEXT:    vmovdqa 432(%rdi), %xmm712976; AVX512-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,1,9,0,0,0,0,0,0,0,0,0,0,0,0]12977; AVX512-NEXT:    vpshufb %xmm2, %xmm7, %xmm412978; AVX512-NEXT:    vmovdqa64 %xmm7, %xmm2912979; AVX512-NEXT:    vpshufb %xmm2, %xmm0, %xmm912980; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]12981; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm412982; AVX512-NEXT:    vpsrlq $8, %ymm18, %ymm912983; AVX512-NEXT:    vpmovqb %ymm9, %xmm912984; AVX512-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm912985; AVX512-NEXT:    vpblendd {{.*#+}} ymm4 = ymm9[0,1,2,3,4],ymm4[5],ymm9[6,7]12986; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]12987; AVX512-NEXT:    vpshufb %xmm5, %xmm10, %xmm412988; AVX512-NEXT:    vmovdqa64 %xmm10, %xmm2412989; AVX512-NEXT:    vpshufb %xmm5, %xmm12, %xmm912990; AVX512-NEXT:    vmovdqa %xmm12, %xmm1312991; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]12992; AVX512-NEXT:    vmovdqa64 %xmm21, %xmm1212993; AVX512-NEXT:    vpshufb %xmm1, %xmm12, %xmm912994; AVX512-NEXT:    vmovdqa64 %xmm16, %xmm012995; AVX512-NEXT:    vpshufb %xmm1, %xmm0, %xmm1012996; AVX512-NEXT:    vmovdqa64 %xmm16, %xmm2812997; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]12998; AVX512-NEXT:    vpblendd {{.*#+}} xmm4 = xmm9[0,1,2],xmm4[3]12999; AVX512-NEXT:    vpsrlq $8, %zmm30, %zmm913000; AVX512-NEXT:    vpmovqb %zmm9, %xmm913001; AVX512-NEXT:    vpblendd {{.*#+}} xmm4 = xmm9[0,1],xmm4[2,3]13002; AVX512-NEXT:    vinserti32x4 $2, %xmm4, %zmm0, %zmm913003; AVX512-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm9 {%k1}13004; AVX512-NEXT:    vmovdqa64 %xmm25, %xmm713005; AVX512-NEXT:    vpshufb %xmm5, %xmm7, %xmm313006; AVX512-NEXT:    vpshufb %xmm5, %xmm11, %xmm413007; AVX512-NEXT:    vmovdqa %xmm11, %xmm1513008; AVX512-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13009; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]13010; AVX512-NEXT:    vmovdqa64 %xmm22, %xmm1113011; AVX512-NEXT:    vpshufb %xmm1, %xmm11, %xmm413012; AVX512-NEXT:    vpshufb %xmm1, %xmm14, %xmm1013013; AVX512-NEXT:    vmovdqa64 %xmm14, %xmm2213014; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm10[0],xmm4[0],xmm10[1],xmm4[1],xmm10[2],xmm4[2],xmm10[3],xmm4[3]13015; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313016; AVX512-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm413017; AVX512-NEXT:    vpblendd {{.*#+}} ymm10 = ymm4[0,1,2,3,4,5,6],ymm3[7]13018; AVX512-NEXT:    vmovdqa 160(%rdi), %xmm1413019; AVX512-NEXT:    vmovdqa 176(%rdi), %xmm813020; AVX512-NEXT:    vpshufb %xmm2, %xmm8, %xmm013021; AVX512-NEXT:    vpshufb %xmm2, %xmm14, %xmm213022; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]13023; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm013024; AVX512-NEXT:    vpsrlq $8, %ymm19, %ymm213025; AVX512-NEXT:    vpmovqb %ymm2, %xmm213026; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213027; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4],ymm0[5],ymm2[6,7]13028; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm10[6,7]13029; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload13030; AVX512-NEXT:    vpshufb %xmm5, %xmm2, %xmm213031; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload13032; AVX512-NEXT:    vpshufb %xmm5, %xmm3, %xmm513033; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm5[0],xmm2[0],xmm5[1],xmm2[1],xmm5[2],xmm2[2],xmm5[3],xmm2[3]13034; AVX512-NEXT:    vmovdqa (%rsp), %xmm3 # 16-byte Reload13035; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm513036; AVX512-NEXT:    vmovdqa64 %xmm27, %xmm313037; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm113038; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]13039; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[3]13040; AVX512-NEXT:    vpsrlq $8, %zmm20, %zmm213041; AVX512-NEXT:    vpmovqb %zmm2, %xmm213042; AVX512-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]13043; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13044; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm013045; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13046; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,2,10,0,0,2,10,0,0,2,10,0,0,2,10]13047; AVX512-NEXT:    vmovdqa64 %xmm23, %xmm413048; AVX512-NEXT:    vmovdqa64 %xmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13049; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm113050; AVX512-NEXT:    vmovdqa64 %xmm31, %xmm213051; AVX512-NEXT:    vpshufb %xmm0, %xmm2, %xmm213052; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13053; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [2,10,0,0,2,10,0,0,2,10,0,0,2,10,0,0]13054; AVX512-NEXT:    vmovdqa64 %xmm26, %xmm313055; AVX512-NEXT:    vmovdqa64 %xmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13056; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm513057; AVX512-NEXT:    vpshufb %xmm1, %xmm6, %xmm913058; AVX512-NEXT:    vmovdqa64 %xmm6, %xmm1613059; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]13060; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213061; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513062; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]13063; AVX512-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,2,10,0,0,0,0,0,0,0,0,0,0,0,0]13064; AVX512-NEXT:    vmovdqa64 %xmm29, %xmm613065; AVX512-NEXT:    vpshufb %xmm2, %xmm6, %xmm913066; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload13067; AVX512-NEXT:    vpshufb %xmm2, %xmm6, %xmm1013068; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]13069; AVX512-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm913070; AVX512-NEXT:    vpsrlq $16, %ymm18, %ymm1013071; AVX512-NEXT:    vpmovqb %ymm10, %xmm1013072; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013073; AVX512-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]13074; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]13075; AVX512-NEXT:    vmovdqa64 %xmm24, %xmm613076; AVX512-NEXT:    vmovdqa64 %xmm24, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13077; AVX512-NEXT:    vpshufb %xmm0, %xmm6, %xmm913078; AVX512-NEXT:    vpshufb %xmm0, %xmm13, %xmm1013079; AVX512-NEXT:    vmovdqa64 %xmm13, %xmm3113080; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]13081; AVX512-NEXT:    vpshufb %xmm1, %xmm12, %xmm1013082; AVX512-NEXT:    vmovdqa64 %xmm21, %xmm2313083; AVX512-NEXT:    vmovdqa64 %xmm28, %xmm1213084; AVX512-NEXT:    vpshufb %xmm1, %xmm12, %xmm1213085; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]13086; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]13087; AVX512-NEXT:    vmovdqa64 %zmm30, %zmm2113088; AVX512-NEXT:    vpsrlq $16, %zmm30, %zmm1013089; AVX512-NEXT:    vpmovqb %zmm10, %xmm1013090; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]13091; AVX512-NEXT:    vinserti32x4 $2, %xmm9, %zmm0, %zmm913092; AVX512-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm9 {%k1}13093; AVX512-NEXT:    vpshufb %xmm0, %xmm7, %xmm513094; AVX512-NEXT:    vmovdqa64 %xmm25, %xmm1713095; AVX512-NEXT:    vpshufb %xmm0, %xmm15, %xmm1013096; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]13097; AVX512-NEXT:    vpshufb %xmm1, %xmm11, %xmm1013098; AVX512-NEXT:    vmovdqa64 %xmm11, %xmm2413099; AVX512-NEXT:    vmovdqa64 %xmm22, %xmm1313100; AVX512-NEXT:    vpshufb %xmm1, %xmm13, %xmm1213101; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]13102; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513103; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013104; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]13105; AVX512-NEXT:    vpshufb %xmm2, %xmm8, %xmm1013106; AVX512-NEXT:    vmovdqa64 %xmm8, %xmm2213107; AVX512-NEXT:    vpshufb %xmm2, %xmm14, %xmm213108; AVX512-NEXT:    vmovdqa64 %xmm14, %xmm2513109; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3]13110; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213111; AVX512-NEXT:    vpsrlq $16, %ymm19, %ymm1013112; AVX512-NEXT:    vpmovqb %ymm10, %xmm1013113; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013114; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm10[0,1,2,3,4],ymm2[5],ymm10[6,7]13115; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]13116; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload13117; AVX512-NEXT:    vpshufb %xmm0, %xmm14, %xmm513118; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload13119; AVX512-NEXT:    vpshufb %xmm0, %xmm15, %xmm013120; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]13121; AVX512-NEXT:    vmovdqa (%rsp), %xmm11 # 16-byte Reload13122; AVX512-NEXT:    vpshufb %xmm1, %xmm11, %xmm513123; AVX512-NEXT:    vmovdqa64 %xmm27, %xmm713124; AVX512-NEXT:    vpshufb %xmm1, %xmm7, %xmm113125; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]13126; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]13127; AVX512-NEXT:    vpsrlq $16, %zmm20, %zmm113128; AVX512-NEXT:    vpmovqb %zmm1, %xmm113129; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13130; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13131; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm013132; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13133; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,3,11,0,0,3,11,0,0,3,11,0,0,3,11]13134; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm113135; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload13136; AVX512-NEXT:    vpshufb %xmm0, %xmm2, %xmm213137; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13138; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [3,11,0,0,3,11,0,0,3,11,0,0,3,11,0,0]13139; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm513140; AVX512-NEXT:    vmovdqa64 %xmm16, %xmm313141; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm913142; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]13143; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213144; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513145; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]13146; AVX512-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,3,11,0,0,0,0,0,0,0,0,0,0,0,0]13147; AVX512-NEXT:    vmovdqa64 %xmm29, %xmm813148; AVX512-NEXT:    vmovdqa64 %xmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13149; AVX512-NEXT:    vpshufb %xmm2, %xmm8, %xmm913150; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload13151; AVX512-NEXT:    vpshufb %xmm2, %xmm7, %xmm1013152; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]13153; AVX512-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm913154; AVX512-NEXT:    vpsrlq $24, %ymm18, %ymm1013155; AVX512-NEXT:    vpmovqb %ymm10, %xmm1013156; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013157; AVX512-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]13158; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]13159; AVX512-NEXT:    vpshufb %xmm0, %xmm6, %xmm913160; AVX512-NEXT:    vmovdqa64 %xmm31, %xmm313161; AVX512-NEXT:    vpshufb %xmm0, %xmm3, %xmm1013162; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]13163; AVX512-NEXT:    vmovdqa64 %xmm23, %xmm313164; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm1013165; AVX512-NEXT:    vmovdqa64 %xmm28, %xmm313166; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm1213167; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]13168; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]13169; AVX512-NEXT:    vpsrlq $24, %zmm30, %zmm1013170; AVX512-NEXT:    vpmovqb %zmm10, %xmm1013171; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]13172; AVX512-NEXT:    vinserti32x4 $2, %xmm9, %zmm0, %zmm913173; AVX512-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm9 {%k1}13174; AVX512-NEXT:    vmovdqa64 %xmm17, %xmm413175; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm513176; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload13177; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm1013178; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]13179; AVX512-NEXT:    vmovdqa64 %xmm24, %xmm413180; AVX512-NEXT:    vpshufb %xmm1, %xmm4, %xmm1013181; AVX512-NEXT:    vpshufb %xmm1, %xmm13, %xmm1213182; AVX512-NEXT:    vmovdqa64 %xmm13, %xmm2613183; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]13184; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513185; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013186; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]13187; AVX512-NEXT:    vmovdqa64 %xmm22, %xmm413188; AVX512-NEXT:    vpshufb %xmm2, %xmm4, %xmm1013189; AVX512-NEXT:    vmovdqa64 %xmm25, %xmm413190; AVX512-NEXT:    vpshufb %xmm2, %xmm4, %xmm213191; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3]13192; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213193; AVX512-NEXT:    vpsrlq $24, %ymm19, %ymm1013194; AVX512-NEXT:    vpmovqb %ymm10, %xmm1013195; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013196; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm10[0,1,2,3,4],ymm2[5],ymm10[6,7]13197; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]13198; AVX512-NEXT:    vpshufb %xmm0, %xmm14, %xmm513199; AVX512-NEXT:    vmovdqa64 %xmm14, %xmm2813200; AVX512-NEXT:    vpshufb %xmm0, %xmm15, %xmm013201; AVX512-NEXT:    vmovdqa64 %xmm15, %xmm2913202; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]13203; AVX512-NEXT:    vpshufb %xmm1, %xmm11, %xmm513204; AVX512-NEXT:    vmovdqa64 %xmm11, %xmm3013205; AVX512-NEXT:    vmovdqa64 %xmm27, %xmm413206; AVX512-NEXT:    vpshufb %xmm1, %xmm4, %xmm113207; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]13208; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]13209; AVX512-NEXT:    vpsrlq $24, %zmm20, %zmm113210; AVX512-NEXT:    vpmovqb %zmm1, %xmm113211; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13212; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13213; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm013214; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13215; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,4,12,0,0,4,12,0,0,4,12,0,0,4,12]13216; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13217; AVX512-NEXT:    vpshufb %xmm0, %xmm1, %xmm113218; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload13219; AVX512-NEXT:    vpshufb %xmm0, %xmm6, %xmm213220; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13221; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [4,12,0,0,4,12,0,0,4,12,0,0,4,12,0,0]13222; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload13223; AVX512-NEXT:    vpshufb %xmm1, %xmm5, %xmm513224; AVX512-NEXT:    vmovdqa64 %xmm16, %xmm1513225; AVX512-NEXT:    vpshufb %xmm1, %xmm15, %xmm913226; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]13227; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213228; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513229; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]13230; AVX512-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,4,12,0,0,0,0,0,0,0,0,0,0,0,0]13231; AVX512-NEXT:    vpshufb %xmm2, %xmm8, %xmm913232; AVX512-NEXT:    vpshufb %xmm2, %xmm7, %xmm1013233; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]13234; AVX512-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm913235; AVX512-NEXT:    vpsrlq $32, %ymm18, %ymm1013236; AVX512-NEXT:    vpmovqb %ymm10, %xmm1013237; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013238; AVX512-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]13239; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]13240; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload13241; AVX512-NEXT:    vpshufb %xmm0, %xmm7, %xmm913242; AVX512-NEXT:    vmovdqa64 %xmm31, %xmm813243; AVX512-NEXT:    vmovdqa64 %xmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13244; AVX512-NEXT:    vpshufb %xmm0, %xmm8, %xmm1013245; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]13246; AVX512-NEXT:    vmovdqa64 %xmm23, %xmm1313247; AVX512-NEXT:    vpshufb %xmm1, %xmm13, %xmm1013248; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm1213249; AVX512-NEXT:    vmovdqa64 %xmm3, %xmm3113250; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]13251; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]13252; AVX512-NEXT:    vmovdqa64 %zmm21, %zmm2313253; AVX512-NEXT:    vpsrlq $32, %zmm21, %zmm1013254; AVX512-NEXT:    vpmovqb %zmm10, %xmm1013255; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]13256; AVX512-NEXT:    vinserti32x4 $2, %xmm9, %zmm0, %zmm913257; AVX512-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm9 {%k1}13258; AVX512-NEXT:    vmovdqa64 %xmm17, %xmm313259; AVX512-NEXT:    vpshufb %xmm0, %xmm3, %xmm513260; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload13261; AVX512-NEXT:    vpshufb %xmm0, %xmm7, %xmm1013262; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]13263; AVX512-NEXT:    vmovdqa64 %xmm24, %xmm1413264; AVX512-NEXT:    vpshufb %xmm1, %xmm14, %xmm1013265; AVX512-NEXT:    vmovdqa64 %xmm26, %xmm713266; AVX512-NEXT:    vpshufb %xmm1, %xmm7, %xmm1213267; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]13268; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513269; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013270; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]13271; AVX512-NEXT:    vmovdqa64 %xmm22, %xmm1113272; AVX512-NEXT:    vpshufb %xmm2, %xmm11, %xmm1013273; AVX512-NEXT:    vmovdqa64 %xmm25, %xmm713274; AVX512-NEXT:    vpshufb %xmm2, %xmm7, %xmm213275; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3]13276; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213277; AVX512-NEXT:    vpsrlq $32, %ymm19, %ymm1013278; AVX512-NEXT:    vpmovqb %ymm10, %xmm1013279; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013280; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm10[0,1,2,3,4],ymm2[5],ymm10[6,7]13281; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]13282; AVX512-NEXT:    vmovdqa64 %xmm28, %xmm513283; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm513284; AVX512-NEXT:    vmovdqa64 %xmm29, %xmm1013285; AVX512-NEXT:    vpshufb %xmm0, %xmm10, %xmm013286; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]13287; AVX512-NEXT:    vmovdqa64 %xmm30, %xmm513288; AVX512-NEXT:    vpshufb %xmm1, %xmm5, %xmm513289; AVX512-NEXT:    vpshufb %xmm1, %xmm4, %xmm113290; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]13291; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]13292; AVX512-NEXT:    vpsrlq $32, %zmm20, %zmm113293; AVX512-NEXT:    vpmovqb %zmm1, %xmm113294; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13295; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13296; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm013297; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13298; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,5,13,0,0,5,13,0,0,5,13,0,0,5,13]13299; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload13300; AVX512-NEXT:    vpshufb %xmm0, %xmm1, %xmm113301; AVX512-NEXT:    vpshufb %xmm0, %xmm6, %xmm213302; AVX512-NEXT:    vmovdqa64 %xmm6, %xmm2113303; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13304; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [5,13,0,0,5,13,0,0,5,13,0,0,5,13,0,0]13305; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload13306; AVX512-NEXT:    vpshufb %xmm1, %xmm4, %xmm513307; AVX512-NEXT:    vpshufb %xmm1, %xmm15, %xmm913308; AVX512-NEXT:    vmovdqa64 %xmm16, %xmm2213309; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]13310; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213311; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513312; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]13313; AVX512-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,5,13,0,0,0,0,0,0,0,0,0,0,0,0]13314; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload13315; AVX512-NEXT:    vpshufb %xmm2, %xmm4, %xmm913316; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload13317; AVX512-NEXT:    vpshufb %xmm2, %xmm4, %xmm1013318; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]13319; AVX512-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm913320; AVX512-NEXT:    vpsrlq $40, %ymm18, %ymm1013321; AVX512-NEXT:    vpmovqb %ymm10, %xmm1013322; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013323; AVX512-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]13324; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]13325; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload13326; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm913327; AVX512-NEXT:    vpshufb %xmm0, %xmm8, %xmm1013328; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]13329; AVX512-NEXT:    vpshufb %xmm1, %xmm13, %xmm1013330; AVX512-NEXT:    vmovdqa64 %xmm13, %xmm2413331; AVX512-NEXT:    vmovdqa64 %xmm31, %xmm413332; AVX512-NEXT:    vpshufb %xmm1, %xmm4, %xmm1213333; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]13334; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]13335; AVX512-NEXT:    vpsrlq $40, %zmm23, %zmm1013336; AVX512-NEXT:    vpmovqb %zmm10, %xmm1013337; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]13338; AVX512-NEXT:    vinserti32x4 $2, %xmm9, %zmm0, %zmm913339; AVX512-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm9 {%k1}13340; AVX512-NEXT:    vpshufb %xmm0, %xmm3, %xmm513341; AVX512-NEXT:    vmovdqa64 %xmm17, %xmm2513342; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload13343; AVX512-NEXT:    vpshufb %xmm0, %xmm15, %xmm1013344; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]13345; AVX512-NEXT:    vpshufb %xmm1, %xmm14, %xmm1013346; AVX512-NEXT:    vmovdqa64 %xmm14, %xmm1713347; AVX512-NEXT:    vmovdqa64 %xmm26, %xmm313348; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm1213349; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]13350; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513351; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013352; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]13353; AVX512-NEXT:    vpshufb %xmm2, %xmm11, %xmm1013354; AVX512-NEXT:    vmovdqa64 %xmm11, %xmm1613355; AVX512-NEXT:    vpshufb %xmm2, %xmm7, %xmm213356; AVX512-NEXT:    vmovdqa64 %xmm7, %xmm2613357; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3]13358; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213359; AVX512-NEXT:    vpsrlq $40, %ymm19, %ymm1013360; AVX512-NEXT:    vpmovqb %ymm10, %xmm1013361; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013362; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm10[0,1,2,3,4],ymm2[5],ymm10[6,7]13363; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]13364; AVX512-NEXT:    vmovdqa64 %xmm28, %xmm413365; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm513366; AVX512-NEXT:    vmovdqa64 %xmm29, %xmm813367; AVX512-NEXT:    vpshufb %xmm0, %xmm8, %xmm013368; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]13369; AVX512-NEXT:    vmovdqa64 %xmm30, %xmm613370; AVX512-NEXT:    vpshufb %xmm1, %xmm6, %xmm513371; AVX512-NEXT:    vmovdqa64 %xmm27, %xmm713372; AVX512-NEXT:    vpshufb %xmm1, %xmm7, %xmm113373; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]13374; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]13375; AVX512-NEXT:    vpsrlq $40, %zmm20, %zmm113376; AVX512-NEXT:    vpmovqb %zmm1, %xmm113377; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13378; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13379; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm013380; AVX512-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13381; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,6,14,0,0,6,14,0,0,6,14,0,0,6,14]13382; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload13383; AVX512-NEXT:    vpshufb %xmm0, %xmm11, %xmm113384; AVX512-NEXT:    vmovdqa64 %xmm21, %xmm213385; AVX512-NEXT:    vpshufb %xmm0, %xmm2, %xmm213386; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13387; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [6,14,0,0,6,14,0,0,6,14,0,0,6,14,0,0]13388; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload13389; AVX512-NEXT:    vpshufb %xmm1, %xmm7, %xmm513390; AVX512-NEXT:    vmovdqa64 %xmm22, %xmm913391; AVX512-NEXT:    vpshufb %xmm1, %xmm9, %xmm913392; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]13393; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213394; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513395; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]13396; AVX512-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,6,14,0,0,0,0,0,0,0,0,0,0,0,0]13397; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload13398; AVX512-NEXT:    vpshufb %xmm2, %xmm9, %xmm913399; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload13400; AVX512-NEXT:    vpshufb %xmm2, %xmm10, %xmm1013401; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]13402; AVX512-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm913403; AVX512-NEXT:    vpsrlq $48, %ymm18, %ymm1013404; AVX512-NEXT:    vpmovqb %ymm10, %xmm1013405; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013406; AVX512-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]13407; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]13408; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload13409; AVX512-NEXT:    vpshufb %xmm0, %xmm13, %xmm913410; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload13411; AVX512-NEXT:    vpshufb %xmm0, %xmm10, %xmm1013412; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]13413; AVX512-NEXT:    vmovdqa64 %xmm24, %xmm1013414; AVX512-NEXT:    vpshufb %xmm1, %xmm10, %xmm1013415; AVX512-NEXT:    vmovdqa64 %xmm31, %xmm1413416; AVX512-NEXT:    vpshufb %xmm1, %xmm14, %xmm1213417; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]13418; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]13419; AVX512-NEXT:    vpsrlq $48, %zmm23, %zmm1013420; AVX512-NEXT:    vpmovqb %zmm10, %xmm1013421; AVX512-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]13422; AVX512-NEXT:    vinserti32x4 $2, %xmm9, %zmm0, %zmm913423; AVX512-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm9 {%k1}13424; AVX512-NEXT:    vmovdqa64 %xmm25, %xmm513425; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm513426; AVX512-NEXT:    vpshufb %xmm0, %xmm15, %xmm1013427; AVX512-NEXT:    vmovdqa64 %xmm15, %xmm2813428; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]13429; AVX512-NEXT:    vmovdqa64 %xmm17, %xmm1513430; AVX512-NEXT:    vpshufb %xmm1, %xmm15, %xmm1013431; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm1213432; AVX512-NEXT:    vmovdqa64 %xmm3, %xmm1713433; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]13434; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513435; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013436; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]13437; AVX512-NEXT:    vmovdqa64 %xmm16, %xmm313438; AVX512-NEXT:    vpshufb %xmm2, %xmm3, %xmm1013439; AVX512-NEXT:    vmovdqa64 %xmm26, %xmm1213440; AVX512-NEXT:    vpshufb %xmm2, %xmm12, %xmm213441; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3]13442; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213443; AVX512-NEXT:    vpsrlq $48, %ymm19, %ymm1013444; AVX512-NEXT:    vpmovqb %ymm10, %xmm1013445; AVX512-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013446; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm10[0,1,2,3,4],ymm2[5],ymm10[6,7]13447; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]13448; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm513449; AVX512-NEXT:    vpshufb %xmm0, %xmm8, %xmm013450; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]13451; AVX512-NEXT:    vpshufb %xmm1, %xmm6, %xmm513452; AVX512-NEXT:    vmovdqa64 %xmm27, %xmm1013453; AVX512-NEXT:    vpshufb %xmm1, %xmm10, %xmm113454; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]13455; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]13456; AVX512-NEXT:    vpsrlq $48, %zmm20, %zmm113457; AVX512-NEXT:    vpmovqb %zmm1, %xmm113458; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13459; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13460; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm2613461; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,7,15,0,0,7,15,0,0,7,15,0,0,7,15]13462; AVX512-NEXT:    vpshufb %xmm0, %xmm11, %xmm113463; AVX512-NEXT:    vmovdqa64 %xmm21, %xmm213464; AVX512-NEXT:    vpshufb %xmm0, %xmm2, %xmm213465; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]13466; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [7,15,0,0,7,15,0,0,7,15,0,0,7,15,0,0]13467; AVX512-NEXT:    vpshufb %xmm1, %xmm7, %xmm513468; AVX512-NEXT:    vmovdqa64 %xmm22, %xmm613469; AVX512-NEXT:    vpshufb %xmm1, %xmm6, %xmm913470; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]13471; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213472; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513473; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]13474; AVX512-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,7,15,0,0,0,0,0,0,0,0,0,0,0,0]13475; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload13476; AVX512-NEXT:    vpshufb %xmm2, %xmm6, %xmm613477; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload13478; AVX512-NEXT:    vpshufb %xmm2, %xmm7, %xmm713479; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]13480; AVX512-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm613481; AVX512-NEXT:    vpsrlq $56, %ymm18, %ymm713482; AVX512-NEXT:    vpmovqb %ymm7, %xmm713483; AVX512-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm713484; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]13485; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]13486; AVX512-NEXT:    vpshufb %xmm0, %xmm13, %xmm613487; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload13488; AVX512-NEXT:    vpshufb %xmm0, %xmm7, %xmm713489; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]13490; AVX512-NEXT:    vmovdqa64 %xmm24, %xmm713491; AVX512-NEXT:    vpshufb %xmm1, %xmm7, %xmm713492; AVX512-NEXT:    vpshufb %xmm1, %xmm14, %xmm913493; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm9[0],xmm7[0],xmm9[1],xmm7[1],xmm9[2],xmm7[2],xmm9[3],xmm7[3]13494; AVX512-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1,2],xmm6[3]13495; AVX512-NEXT:    vpsrlq $56, %zmm23, %zmm713496; AVX512-NEXT:    vpmovqb %zmm7, %xmm713497; AVX512-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1],xmm6[2,3]13498; AVX512-NEXT:    vinserti32x4 $2, %xmm6, %zmm0, %zmm613499; AVX512-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm6 {%k1}13500; AVX512-NEXT:    vmovdqa64 %xmm25, %xmm513501; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm513502; AVX512-NEXT:    vmovdqa64 %xmm28, %xmm713503; AVX512-NEXT:    vpshufb %xmm0, %xmm7, %xmm713504; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm7[0],xmm5[0],xmm7[1],xmm5[1],xmm7[2],xmm5[2],xmm7[3],xmm5[3]13505; AVX512-NEXT:    vpshufb %xmm1, %xmm15, %xmm713506; AVX512-NEXT:    vmovdqa64 %xmm17, %xmm913507; AVX512-NEXT:    vpshufb %xmm1, %xmm9, %xmm913508; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm9[0],xmm7[0],xmm9[1],xmm7[1],xmm9[2],xmm7[2],xmm9[3],xmm7[3]13509; AVX512-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm513510; AVX512-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm713511; AVX512-NEXT:    vpblendd {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5,6],ymm5[7]13512; AVX512-NEXT:    vpshufb %xmm2, %xmm3, %xmm313513; AVX512-NEXT:    vpshufb %xmm2, %xmm12, %xmm213514; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]13515; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213516; AVX512-NEXT:    vpsrlq $56, %ymm19, %ymm313517; AVX512-NEXT:    vpmovqb %ymm3, %xmm313518; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313519; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]13520; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]13521; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm313522; AVX512-NEXT:    vpshufb %xmm0, %xmm8, %xmm013523; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]13524; AVX512-NEXT:    vmovdqa64 %xmm30, %xmm313525; AVX512-NEXT:    vpshufb %xmm1, %xmm3, %xmm313526; AVX512-NEXT:    vpshufb %xmm1, %xmm10, %xmm113527; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]13528; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]13529; AVX512-NEXT:    vpsrlq $56, %zmm20, %zmm113530; AVX512-NEXT:    vpmovqb %zmm1, %xmm113531; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13532; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13533; AVX512-NEXT:    vinserti64x4 $0, %ymm0, %zmm6, %zmm013534; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13535; AVX512-NEXT:    vmovaps %zmm1, (%rsi)13536; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13537; AVX512-NEXT:    vmovaps %zmm1, (%rdx)13538; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13539; AVX512-NEXT:    vmovaps %zmm1, (%rcx)13540; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13541; AVX512-NEXT:    vmovaps %zmm1, (%r8)13542; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13543; AVX512-NEXT:    vmovaps %zmm1, (%r9)13544; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax13545; AVX512-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload13546; AVX512-NEXT:    vmovaps %zmm1, (%rax)13547; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax13548; AVX512-NEXT:    vmovdqa64 %zmm26, (%rax)13549; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax13550; AVX512-NEXT:    vmovdqa64 %zmm0, (%rax)13551; AVX512-NEXT:    addq $440, %rsp # imm = 0x1B813552; AVX512-NEXT:    vzeroupper13553; AVX512-NEXT:    retq13554;13555; AVX512-FCP-LABEL: load_i8_stride8_vf64:13556; AVX512-FCP:       # %bb.0:13557; AVX512-FCP-NEXT:    subq $232, %rsp13558; AVX512-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm2913559; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13560; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,2,3,0,2,4,6]13561; AVX512-FCP-NEXT:    vmovdqa 480(%rdi), %ymm113562; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13563; AVX512-FCP-NEXT:    vpermd %ymm1, %ymm0, %ymm313564; AVX512-FCP-NEXT:    vpshufb %ymm8, %ymm3, %ymm113565; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2313566; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm10 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13567; AVX512-FCP-NEXT:    vmovdqa 448(%rdi), %ymm213568; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13569; AVX512-FCP-NEXT:    vpermd %ymm2, %ymm0, %ymm513570; AVX512-FCP-NEXT:    vpshufb %ymm10, %ymm5, %ymm213571; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13572; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13573; AVX512-FCP-NEXT:    vmovdqa 416(%rdi), %ymm213574; AVX512-FCP-NEXT:    vmovdqu %ymm2, (%rsp) # 32-byte Spill13575; AVX512-FCP-NEXT:    vpermd %ymm2, %ymm0, %ymm413576; AVX512-FCP-NEXT:    vpshufb %ymm6, %ymm4, %ymm213577; AVX512-FCP-NEXT:    vmovdqa64 %ymm4, %ymm2213578; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13579; AVX512-FCP-NEXT:    vmovdqa 384(%rdi), %ymm313580; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13581; AVX512-FCP-NEXT:    vpermd %ymm3, %ymm0, %ymm713582; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm7, %ymm313583; AVX512-FCP-NEXT:    vmovdqa64 %ymm7, %ymm1913584; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]13585; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]13586; AVX512-FCP-NEXT:    vmovdqa 352(%rdi), %ymm213587; AVX512-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13588; AVX512-FCP-NEXT:    vpmovqd %ymm2, %xmm413589; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13590; AVX512-FCP-NEXT:    vpshufb %xmm7, %xmm4, %xmm213591; AVX512-FCP-NEXT:    vmovdqa64 %xmm4, %xmm1713592; AVX512-FCP-NEXT:    vmovdqa 320(%rdi), %ymm313593; AVX512-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13594; AVX512-FCP-NEXT:    vpmovqd %ymm3, %xmm1213595; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm4 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13596; AVX512-FCP-NEXT:    vpshufb %xmm4, %xmm12, %xmm313597; AVX512-FCP-NEXT:    vmovdqa64 %xmm12, %xmm2113598; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1,2],xmm2[3]13599; AVX512-FCP-NEXT:    vpmovqb %zmm29, %xmm313600; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]13601; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm1213602; AVX512-FCP-NEXT:    movb $-64, %al13603; AVX512-FCP-NEXT:    kmovw %eax, %k113604; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm12 {%k1}13605; AVX512-FCP-NEXT:    vmovdqa 224(%rdi), %ymm113606; AVX512-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13607; AVX512-FCP-NEXT:    vpermd %ymm1, %ymm0, %ymm213608; AVX512-FCP-NEXT:    vpshufb %ymm8, %ymm2, %ymm113609; AVX512-FCP-NEXT:    vmovdqa64 %ymm2, %ymm1613610; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm3113611; AVX512-FCP-NEXT:    vpermd %ymm31, %ymm0, %ymm313612; AVX512-FCP-NEXT:    vpshufb %ymm10, %ymm3, %ymm213613; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2013614; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13615; AVX512-FCP-NEXT:    vmovdqa64 160(%rdi), %ymm2513616; AVX512-FCP-NEXT:    vpermd %ymm25, %ymm0, %ymm1013617; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %ymm2613618; AVX512-FCP-NEXT:    vpshufb %ymm6, %ymm10, %ymm1413619; AVX512-FCP-NEXT:    vpermd %ymm26, %ymm0, %ymm913620; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm9, %ymm013621; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm14[5],ymm0[6,7]13622; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm0[0,1,2,3,4,5],ymm1[6,7]13623; AVX512-FCP-NEXT:    vmovdqa64 96(%rdi), %ymm2713624; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm2813625; AVX512-FCP-NEXT:    vpmovqd %ymm27, %xmm813626; AVX512-FCP-NEXT:    vpshufb %xmm7, %xmm8, %xmm1513627; AVX512-FCP-NEXT:    vpmovqd %ymm28, %xmm113628; AVX512-FCP-NEXT:    vpshufb %xmm4, %xmm1, %xmm713629; AVX512-FCP-NEXT:    vmovdqa64 %xmm1, %xmm1813630; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm7[0,1,2],xmm15[3]13631; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %zmm3013632; AVX512-FCP-NEXT:    vpmovqb %zmm30, %xmm1513633; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm15[0,1],xmm7[2,3]13634; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm14[4,5,6,7]13635; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm7, %zmm12, %zmm713636; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13637; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm1 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13638; AVX512-FCP-NEXT:    vmovdqa64 %ymm23, %ymm613639; AVX512-FCP-NEXT:    vpshufb %ymm1, %ymm6, %ymm713640; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13641; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm5, %ymm1213642; AVX512-FCP-NEXT:    vmovdqa64 %ymm5, %ymm2313643; AVX512-FCP-NEXT:    vmovdqa64 %ymm14, %ymm2413644; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm12[0,1,2,3,4,5,6],ymm7[7]13645; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13646; AVX512-FCP-NEXT:    vmovdqa64 %ymm22, %ymm313647; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm3, %ymm1213648; AVX512-FCP-NEXT:    vmovdqa64 %ymm14, %ymm2213649; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13650; AVX512-FCP-NEXT:    vmovdqa64 %ymm19, %ymm513651; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm5, %ymm1413652; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm14[0,1,2,3,4],ymm12[5],ymm14[6,7]13653; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm12[0,1,2,3,4,5],ymm7[6,7]13654; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm11 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13655; AVX512-FCP-NEXT:    vmovdqa64 %xmm17, %xmm213656; AVX512-FCP-NEXT:    vpshufb %xmm11, %xmm2, %xmm1213657; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13658; AVX512-FCP-NEXT:    vmovdqa64 %xmm21, %xmm413659; AVX512-FCP-NEXT:    vpshufb %xmm13, %xmm4, %xmm1413660; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1,2],xmm12[3]13661; AVX512-FCP-NEXT:    vpsrlq $8, %zmm29, %zmm1413662; AVX512-FCP-NEXT:    vpmovqb %zmm14, %xmm1413663; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1],xmm12[2,3]13664; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm12, %zmm0, %zmm1213665; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm0, %zmm12 {%k1}13666; AVX512-FCP-NEXT:    vmovdqa64 %ymm16, %ymm013667; AVX512-FCP-NEXT:    vpshufb %ymm1, %ymm0, %ymm713668; AVX512-FCP-NEXT:    vmovdqa64 %ymm20, %ymm113669; AVX512-FCP-NEXT:    vmovdqa64 %ymm24, %ymm1413670; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm1, %ymm1413671; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3,4,5,6],ymm7[7]13672; AVX512-FCP-NEXT:    vmovdqa64 %ymm22, %ymm1413673; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm10, %ymm1413674; AVX512-FCP-NEXT:    vmovdqa64 %ymm10, %ymm1613675; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm9, %ymm1513676; AVX512-FCP-NEXT:    vmovdqa64 %ymm9, %ymm1713677; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]13678; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3,4,5],ymm7[6,7]13679; AVX512-FCP-NEXT:    vpshufb %xmm11, %xmm8, %xmm1413680; AVX512-FCP-NEXT:    vmovdqa %xmm8, %xmm1113681; AVX512-FCP-NEXT:    vmovdqa64 %xmm18, %xmm1013682; AVX512-FCP-NEXT:    vpshufb %xmm13, %xmm10, %xmm1513683; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]13684; AVX512-FCP-NEXT:    vpsrlq $8, %zmm30, %zmm1513685; AVX512-FCP-NEXT:    vpmovqb %zmm15, %xmm1513686; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]13687; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3],ymm7[4,5,6,7]13688; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm7, %zmm12, %zmm713689; AVX512-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13690; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm13 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13691; AVX512-FCP-NEXT:    vpshufb %ymm13, %ymm6, %ymm713692; AVX512-FCP-NEXT:    vmovdqa64 %ymm6, %ymm1813693; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13694; AVX512-FCP-NEXT:    vmovdqa64 %ymm23, %ymm613695; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm6, %ymm1213696; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm12[0,1,2,3,4,5,6],ymm7[7]13697; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm9 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13698; AVX512-FCP-NEXT:    vpshufb %ymm9, %ymm3, %ymm1213699; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2213700; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13701; AVX512-FCP-NEXT:    vpshufb %ymm8, %ymm5, %ymm1413702; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm14[0,1,2,3,4],ymm12[5],ymm14[6,7]13703; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm12[0,1,2,3,4,5],ymm7[6,7]13704; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13705; AVX512-FCP-NEXT:    vpshufb %xmm5, %xmm2, %xmm1213706; AVX512-FCP-NEXT:    vmovdqa64 %xmm2, %xmm2013707; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm3 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13708; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm4, %xmm1413709; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1,2],xmm12[3]13710; AVX512-FCP-NEXT:    vpsrlq $16, %zmm29, %zmm1413711; AVX512-FCP-NEXT:    vpmovqb %zmm14, %xmm1413712; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1],xmm12[2,3]13713; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm12, %zmm0, %zmm1213714; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm0, %zmm12 {%k1}13715; AVX512-FCP-NEXT:    vpshufb %ymm13, %ymm0, %ymm713716; AVX512-FCP-NEXT:    vmovdqa %ymm0, %ymm1313717; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm1, %ymm1413718; AVX512-FCP-NEXT:    vmovdqa64 %ymm1, %ymm2313719; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3,4,5,6],ymm7[7]13720; AVX512-FCP-NEXT:    vmovdqa64 %ymm16, %ymm213721; AVX512-FCP-NEXT:    vpshufb %ymm9, %ymm2, %ymm1413722; AVX512-FCP-NEXT:    vmovdqa64 %ymm17, %ymm113723; AVX512-FCP-NEXT:    vpshufb %ymm8, %ymm1, %ymm1513724; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]13725; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3,4,5],ymm7[6,7]13726; AVX512-FCP-NEXT:    vpshufb %xmm5, %xmm11, %xmm1413727; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm10, %xmm1513728; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]13729; AVX512-FCP-NEXT:    vpsrlq $16, %zmm30, %zmm1513730; AVX512-FCP-NEXT:    vpmovqb %zmm15, %xmm1513731; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]13732; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3],ymm7[4,5,6,7]13733; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm7, %zmm12, %zmm2113734; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13735; AVX512-FCP-NEXT:    vmovdqa64 %ymm18, %ymm313736; AVX512-FCP-NEXT:    vpshufb %ymm5, %ymm3, %ymm713737; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm12 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13738; AVX512-FCP-NEXT:    vpshufb %ymm12, %ymm6, %ymm913739; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3,4,5,6],ymm7[7]13740; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm0 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13741; AVX512-FCP-NEXT:    vmovdqa64 %ymm22, %ymm313742; AVX512-FCP-NEXT:    vpshufb %ymm0, %ymm3, %ymm813743; AVX512-FCP-NEXT:    vmovdqa %ymm0, %ymm313744; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13745; AVX512-FCP-NEXT:    vmovdqa64 %ymm19, %ymm613746; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm6, %ymm913747; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5],ymm9[6,7]13748; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]13749; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13750; AVX512-FCP-NEXT:    vmovdqa64 %xmm20, %xmm613751; AVX512-FCP-NEXT:    vpshufb %xmm9, %xmm6, %xmm813752; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13753; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm4, %xmm613754; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0,1,2],xmm8[3]13755; AVX512-FCP-NEXT:    vpsrlq $24, %zmm29, %zmm813756; AVX512-FCP-NEXT:    vpmovqb %zmm8, %xmm813757; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm8[0,1],xmm6[2,3]13758; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm6, %zmm0, %zmm613759; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm0, %zmm6 {%k1}13760; AVX512-FCP-NEXT:    vpshufb %ymm5, %ymm13, %ymm513761; AVX512-FCP-NEXT:    vmovdqa64 %ymm23, %ymm413762; AVX512-FCP-NEXT:    vpshufb %ymm12, %ymm4, %ymm413763; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,6],ymm5[7]13764; AVX512-FCP-NEXT:    vpshufb %ymm3, %ymm2, %ymm313765; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm1, %ymm213766; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]13767; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm4[6,7]13768; AVX512-FCP-NEXT:    vpshufb %xmm9, %xmm11, %xmm113769; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm10, %xmm013770; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]13771; AVX512-FCP-NEXT:    vpsrlq $24, %zmm30, %zmm113772; AVX512-FCP-NEXT:    vpmovqb %zmm1, %xmm113773; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]13774; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13775; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm6, %zmm1813776; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,2,3,1,3,5,7]13777; AVX512-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm9 # 32-byte Folded Reload13778; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm4 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13779; AVX512-FCP-NEXT:    vpshufb %ymm4, %ymm9, %ymm113780; AVX512-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm10 # 32-byte Folded Reload13781; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13782; AVX512-FCP-NEXT:    vpshufb %ymm5, %ymm10, %ymm213783; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]13784; AVX512-FCP-NEXT:    vpermd (%rsp), %ymm0, %ymm3 # 32-byte Folded Reload13785; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13786; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm3, %ymm213787; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm1913788; AVX512-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload13789; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm12 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13790; AVX512-FCP-NEXT:    vpshufb %ymm12, %ymm6, %ymm313791; AVX512-FCP-NEXT:    vmovdqa64 %ymm6, %ymm2213792; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]13793; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]13794; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm16 = [1,3,5,7,5,7,6,7]13795; AVX512-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm16, %ymm8 # 32-byte Folded Reload13796; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm15 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13797; AVX512-FCP-NEXT:    vpshufb %xmm15, %xmm8, %xmm213798; AVX512-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm16, %ymm7 # 32-byte Folded Reload13799; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]13800; AVX512-FCP-NEXT:    vpshufb %xmm14, %xmm7, %xmm313801; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1,2],xmm2[3]13802; AVX512-FCP-NEXT:    vpsrlq $32, %zmm29, %zmm313803; AVX512-FCP-NEXT:    vpmovqb %zmm3, %xmm313804; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]13805; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm1713806; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm17 {%k1}13807; AVX512-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload13808; AVX512-FCP-NEXT:    vpshufb %ymm4, %ymm2, %ymm113809; AVX512-FCP-NEXT:    vmovdqa64 %ymm2, %ymm2313810; AVX512-FCP-NEXT:    vpermd %ymm31, %ymm0, %ymm413811; AVX512-FCP-NEXT:    vpshufb %ymm5, %ymm4, %ymm213812; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm1[7]13813; AVX512-FCP-NEXT:    vpermd %ymm25, %ymm0, %ymm313814; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm3, %ymm113815; AVX512-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2413816; AVX512-FCP-NEXT:    vpermd %ymm26, %ymm0, %ymm613817; AVX512-FCP-NEXT:    vpshufb %ymm12, %ymm6, %ymm013818; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]13819; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],ymm2[6,7]13820; AVX512-FCP-NEXT:    vpermd %ymm27, %ymm16, %ymm1313821; AVX512-FCP-NEXT:    vpshufb %xmm15, %xmm13, %xmm013822; AVX512-FCP-NEXT:    vpermd %ymm28, %ymm16, %ymm1213823; AVX512-FCP-NEXT:    vpshufb %xmm14, %xmm12, %xmm1513824; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm15[0,1,2],xmm0[3]13825; AVX512-FCP-NEXT:    vpsrlq $32, %zmm30, %zmm1513826; AVX512-FCP-NEXT:    vpmovqb %zmm15, %xmm1513827; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm15[0,1],xmm0[2,3]13828; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13829; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm17, %zmm1613830; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13831; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm9, %ymm013832; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm513833; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13834; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm10, %ymm213835; AVX512-FCP-NEXT:    vmovdqa64 %ymm10, %ymm2513836; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]13837; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm20 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13838; AVX512-FCP-NEXT:    vmovdqa64 %ymm20, %ymm213839; AVX512-FCP-NEXT:    vmovdqa64 %ymm19, %ymm1013840; AVX512-FCP-NEXT:    vpshufb %ymm2, %ymm10, %ymm213841; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm17 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13842; AVX512-FCP-NEXT:    vmovdqa64 %ymm17, %ymm1513843; AVX512-FCP-NEXT:    vmovdqa64 %ymm22, %ymm113844; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm1, %ymm1513845; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3,4],ymm2[5],ymm15[6,7]13846; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]13847; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm19 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13848; AVX512-FCP-NEXT:    vmovdqa64 %xmm19, %xmm213849; AVX512-FCP-NEXT:    vpshufb %xmm2, %xmm8, %xmm213850; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]13851; AVX512-FCP-NEXT:    vpshufb %xmm9, %xmm7, %xmm1513852; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm15[0,1,2],xmm2[3]13853; AVX512-FCP-NEXT:    vpsrlq $40, %zmm29, %zmm1513854; AVX512-FCP-NEXT:    vpmovqb %zmm15, %xmm1513855; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm15[0,1],xmm2[2,3]13856; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm213857; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2 {%k1}13858; AVX512-FCP-NEXT:    vmovdqa64 %ymm23, %ymm313859; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm3, %ymm013860; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm4, %ymm1513861; AVX512-FCP-NEXT:    vmovdqa64 %ymm4, %ymm2213862; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4,5,6],ymm0[7]13863; AVX512-FCP-NEXT:    vmovdqa64 %ymm20, %ymm1113864; AVX512-FCP-NEXT:    vmovdqa64 %ymm24, %ymm413865; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm4, %ymm1513866; AVX512-FCP-NEXT:    vmovdqa64 %ymm17, %ymm1113867; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm6, %ymm1413868; AVX512-FCP-NEXT:    vmovdqa64 %ymm6, %ymm2313869; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3,4],ymm15[5],ymm14[6,7]13870; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]13871; AVX512-FCP-NEXT:    vmovdqa64 %xmm19, %xmm1113872; AVX512-FCP-NEXT:    vpshufb %xmm11, %xmm13, %xmm1413873; AVX512-FCP-NEXT:    vpshufb %xmm9, %xmm12, %xmm1513874; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]13875; AVX512-FCP-NEXT:    vpsrlq $40, %zmm30, %zmm1513876; AVX512-FCP-NEXT:    vpmovqb %zmm15, %xmm1513877; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]13878; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]13879; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm2, %zmm1913880; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13881; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm5, %ymm013882; AVX512-FCP-NEXT:    vmovdqa64 %ymm5, %ymm2613883; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm9 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13884; AVX512-FCP-NEXT:    vmovdqa64 %ymm25, %ymm513885; AVX512-FCP-NEXT:    vpshufb %ymm9, %ymm5, %ymm213886; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]13887; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13888; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm10, %ymm213889; AVX512-FCP-NEXT:    vmovdqa64 %ymm10, %ymm2413890; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm17 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13891; AVX512-FCP-NEXT:    vmovdqa64 %ymm17, %ymm1413892; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm1, %ymm1413893; AVX512-FCP-NEXT:    vmovdqa64 %ymm1, %ymm2513894; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm14[0,1,2,3,4],ymm2[5],ymm14[6,7]13895; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]13896; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm20 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13897; AVX512-FCP-NEXT:    vmovdqa64 %xmm20, %xmm213898; AVX512-FCP-NEXT:    vpshufb %xmm2, %xmm8, %xmm213899; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm10 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]13900; AVX512-FCP-NEXT:    vpshufb %xmm10, %xmm7, %xmm1413901; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1,2],xmm2[3]13902; AVX512-FCP-NEXT:    vpsrlq $48, %zmm29, %zmm1413903; AVX512-FCP-NEXT:    vpmovqb %zmm14, %xmm1413904; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1],xmm2[2,3]13905; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm213906; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2 {%k1}13907; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm3, %ymm013908; AVX512-FCP-NEXT:    vmovdqa64 %ymm22, %ymm613909; AVX512-FCP-NEXT:    vpshufb %ymm9, %ymm6, %ymm1413910; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5,6],ymm0[7]13911; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm4, %ymm1413912; AVX512-FCP-NEXT:    vmovdqa64 %ymm17, %ymm913913; AVX512-FCP-NEXT:    vmovdqa64 %ymm23, %ymm113914; AVX512-FCP-NEXT:    vpshufb %ymm9, %ymm1, %ymm1513915; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]13916; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]13917; AVX512-FCP-NEXT:    vmovdqa64 %xmm20, %xmm913918; AVX512-FCP-NEXT:    vpshufb %xmm9, %xmm13, %xmm1413919; AVX512-FCP-NEXT:    vpshufb %xmm10, %xmm12, %xmm1513920; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]13921; AVX512-FCP-NEXT:    vpsrlq $48, %zmm30, %zmm1513922; AVX512-FCP-NEXT:    vpmovqb %zmm15, %xmm1513923; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]13924; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]13925; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm2, %zmm1713926; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13927; AVX512-FCP-NEXT:    vmovdqa64 %ymm26, %ymm013928; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm0, %ymm213929; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm0 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13930; AVX512-FCP-NEXT:    vpshufb %ymm0, %ymm5, %ymm1113931; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm11[0,1,2,3,4,5,6],ymm2[7]13932; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13933; AVX512-FCP-NEXT:    vmovdqa64 %ymm24, %ymm513934; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm5, %ymm1013935; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13936; AVX512-FCP-NEXT:    vmovdqa64 %ymm25, %ymm513937; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm5, %ymm913938; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4],ymm10[5],ymm9[6,7]13939; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3,4,5],ymm2[6,7]13940; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13941; AVX512-FCP-NEXT:    vpshufb %xmm9, %xmm8, %xmm813942; AVX512-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm10 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]13943; AVX512-FCP-NEXT:    vpshufb %xmm10, %xmm7, %xmm713944; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm7[0,1,2],xmm8[3]13945; AVX512-FCP-NEXT:    vpsrlq $56, %zmm29, %zmm813946; AVX512-FCP-NEXT:    vpmovqb %zmm8, %xmm813947; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1],xmm7[2,3]13948; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm7, %zmm0, %zmm713949; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm7 {%k1}13950; AVX512-FCP-NEXT:    vpshufb %ymm14, %ymm3, %ymm213951; AVX512-FCP-NEXT:    vpshufb %ymm0, %ymm6, %ymm613952; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5,6],ymm2[7]13953; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm4, %ymm513954; AVX512-FCP-NEXT:    vpshufb %ymm15, %ymm1, %ymm413955; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4],ymm5[5],ymm4[6,7]13956; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5],ymm2[6,7]13957; AVX512-FCP-NEXT:    vpshufb %xmm9, %xmm13, %xmm313958; AVX512-FCP-NEXT:    vpshufb %xmm10, %xmm12, %xmm113959; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1,2],xmm3[3]13960; AVX512-FCP-NEXT:    vpsrlq $56, %zmm30, %zmm313961; AVX512-FCP-NEXT:    vpmovqb %zmm3, %xmm313962; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1],xmm1[2,3]13963; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]13964; AVX512-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm7, %zmm113965; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload13966; AVX512-FCP-NEXT:    vmovaps %zmm2, (%rsi)13967; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload13968; AVX512-FCP-NEXT:    vmovaps %zmm2, (%rdx)13969; AVX512-FCP-NEXT:    vmovdqa64 %zmm21, (%rcx)13970; AVX512-FCP-NEXT:    vmovdqa64 %zmm18, (%r8)13971; AVX512-FCP-NEXT:    vmovdqa64 %zmm16, (%r9)13972; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax13973; AVX512-FCP-NEXT:    vmovdqa64 %zmm19, (%rax)13974; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax13975; AVX512-FCP-NEXT:    vmovdqa64 %zmm17, (%rax)13976; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax13977; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, (%rax)13978; AVX512-FCP-NEXT:    addq $232, %rsp13979; AVX512-FCP-NEXT:    vzeroupper13980; AVX512-FCP-NEXT:    retq13981;13982; AVX512DQ-LABEL: load_i8_stride8_vf64:13983; AVX512DQ:       # %bb.0:13984; AVX512DQ-NEXT:    subq $440, %rsp # imm = 0x1B813985; AVX512DQ-NEXT:    vmovdqa64 256(%rdi), %zmm3013986; AVX512DQ-NEXT:    vmovdqa64 384(%rdi), %zmm013987; AVX512DQ-NEXT:    vpmovqb %zmm0, %xmm213988; AVX512DQ-NEXT:    vmovdqa 496(%rdi), %xmm613989; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8]13990; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm6, %xmm113991; AVX512DQ-NEXT:    vmovdqa 480(%rdi), %xmm913992; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm9, %xmm313993; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]13994; AVX512DQ-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm313995; AVX512DQ-NEXT:    vmovdqa 464(%rdi), %xmm1313996; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0]13997; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm13, %xmm413998; AVX512DQ-NEXT:    vmovdqa 448(%rdi), %xmm813999; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm8, %xmm514000; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]14001; AVX512DQ-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm414002; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5,6],ymm3[7]14003; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214004; AVX512DQ-NEXT:    vmovdqa64 384(%rdi), %ymm1814005; AVX512DQ-NEXT:    vpmovqb %ymm18, %xmm414006; AVX512DQ-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm414007; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4],ymm2[5],ymm4[6,7]14008; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]14009; AVX512DQ-NEXT:    vmovdqa 368(%rdi), %xmm1014010; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm10, %xmm314011; AVX512DQ-NEXT:    vmovdqa 352(%rdi), %xmm1214012; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm12, %xmm414013; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]14014; AVX512DQ-NEXT:    vmovdqa 336(%rdi), %xmm514015; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm5, %xmm414016; AVX512DQ-NEXT:    vmovdqa64 %xmm5, %xmm2114017; AVX512DQ-NEXT:    vmovdqa 320(%rdi), %xmm714018; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm7, %xmm514019; AVX512DQ-NEXT:    vmovdqa64 %xmm7, %xmm1614020; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]14021; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1,2],xmm3[3]14022; AVX512DQ-NEXT:    vpmovqb %zmm30, %xmm414023; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]14024; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm3, %zmm0, %zmm314025; AVX512DQ-NEXT:    movb $-64, %al14026; AVX512DQ-NEXT:    kmovw %eax, %k114027; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm3 {%k1}14028; AVX512DQ-NEXT:    vmovdqa 240(%rdi), %xmm414029; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm214030; AVX512DQ-NEXT:    vmovdqa64 %xmm4, %xmm2514031; AVX512DQ-NEXT:    vmovdqa 224(%rdi), %xmm1114032; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm11, %xmm414033; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3]14034; AVX512DQ-NEXT:    vmovdqa 208(%rdi), %xmm514035; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm5, %xmm414036; AVX512DQ-NEXT:    vmovdqa64 %xmm5, %xmm2214037; AVX512DQ-NEXT:    vmovdqa 192(%rdi), %xmm1414038; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm14, %xmm514039; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]14040; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %zmm514041; AVX512DQ-NEXT:    vpmovqb %zmm5, %xmm514042; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214043; AVX512DQ-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm414044; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5,6],ymm2[7]14045; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm414046; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %ymm1914047; AVX512DQ-NEXT:    vpmovqb %ymm19, %xmm514048; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514049; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]14050; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5],ymm2[6,7]14051; AVX512DQ-NEXT:    vmovdqa 112(%rdi), %xmm414052; AVX512DQ-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14053; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm414054; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %xmm514055; AVX512DQ-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14056; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm014057; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]14058; AVX512DQ-NEXT:    vmovdqa 80(%rdi), %xmm414059; AVX512DQ-NEXT:    vmovdqa %xmm4, (%rsp) # 16-byte Spill14060; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm4, %xmm414061; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %xmm514062; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm5, %xmm114063; AVX512DQ-NEXT:    vmovdqa64 %xmm5, %xmm2714064; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3]14065; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]14066; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %zmm2014067; AVX512DQ-NEXT:    vpmovqb %zmm20, %xmm114068; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14069; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14070; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm014071; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14072; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [0,0,1,9,0,0,1,9,0,0,1,9,0,0,1,9]14073; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm6, %xmm014074; AVX512DQ-NEXT:    vmovdqa64 %xmm6, %xmm2314075; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm9, %xmm214076; AVX512DQ-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14077; AVX512DQ-NEXT:    vmovdqa64 %xmm9, %xmm3114078; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]14079; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [1,9,0,0,1,9,0,0,1,9,0,0,1,9,0,0]14080; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm13, %xmm314081; AVX512DQ-NEXT:    vmovdqa64 %xmm13, %xmm2614082; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm8, %xmm414083; AVX512DQ-NEXT:    vmovdqa %xmm8, %xmm614084; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]14085; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214086; AVX512DQ-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314087; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm2[7]14088; AVX512DQ-NEXT:    vmovdqa 416(%rdi), %xmm014089; AVX512DQ-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14090; AVX512DQ-NEXT:    vmovdqa 432(%rdi), %xmm714091; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,1,9,0,0,0,0,0,0,0,0,0,0,0,0]14092; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm7, %xmm414093; AVX512DQ-NEXT:    vmovdqa64 %xmm7, %xmm2914094; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm0, %xmm914095; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]14096; AVX512DQ-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm414097; AVX512DQ-NEXT:    vpsrlq $8, %ymm18, %ymm914098; AVX512DQ-NEXT:    vpmovqb %ymm9, %xmm914099; AVX512DQ-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm914100; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm4 = ymm9[0,1,2,3,4],ymm4[5],ymm9[6,7]14101; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4,5],ymm3[6,7]14102; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm10, %xmm414103; AVX512DQ-NEXT:    vmovdqa64 %xmm10, %xmm2414104; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm12, %xmm914105; AVX512DQ-NEXT:    vmovdqa %xmm12, %xmm1314106; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]14107; AVX512DQ-NEXT:    vmovdqa64 %xmm21, %xmm1214108; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm12, %xmm914109; AVX512DQ-NEXT:    vmovdqa64 %xmm16, %xmm014110; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm0, %xmm1014111; AVX512DQ-NEXT:    vmovdqa64 %xmm16, %xmm2814112; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14113; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm4 = xmm9[0,1,2],xmm4[3]14114; AVX512DQ-NEXT:    vpsrlq $8, %zmm30, %zmm914115; AVX512DQ-NEXT:    vpmovqb %zmm9, %xmm914116; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm4 = xmm9[0,1],xmm4[2,3]14117; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm4, %zmm0, %zmm914118; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm9 {%k1}14119; AVX512DQ-NEXT:    vmovdqa64 %xmm25, %xmm714120; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm7, %xmm314121; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm11, %xmm414122; AVX512DQ-NEXT:    vmovdqa %xmm11, %xmm1514123; AVX512DQ-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14124; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]14125; AVX512DQ-NEXT:    vmovdqa64 %xmm22, %xmm1114126; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm11, %xmm414127; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm14, %xmm1014128; AVX512DQ-NEXT:    vmovdqa64 %xmm14, %xmm2214129; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm10[0],xmm4[0],xmm10[1],xmm4[1],xmm10[2],xmm4[2],xmm10[3],xmm4[3]14130; AVX512DQ-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314131; AVX512DQ-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm414132; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm10 = ymm4[0,1,2,3,4,5,6],ymm3[7]14133; AVX512DQ-NEXT:    vmovdqa 160(%rdi), %xmm1414134; AVX512DQ-NEXT:    vmovdqa 176(%rdi), %xmm814135; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm8, %xmm014136; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm14, %xmm214137; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]14138; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm014139; AVX512DQ-NEXT:    vpsrlq $8, %ymm19, %ymm214140; AVX512DQ-NEXT:    vpmovqb %ymm2, %xmm214141; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214142; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4],ymm0[5],ymm2[6,7]14143; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm10[6,7]14144; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload14145; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm2, %xmm214146; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload14147; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm3, %xmm514148; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm5[0],xmm2[0],xmm5[1],xmm2[1],xmm5[2],xmm2[2],xmm5[3],xmm2[3]14149; AVX512DQ-NEXT:    vmovdqa (%rsp), %xmm3 # 16-byte Reload14150; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm514151; AVX512DQ-NEXT:    vmovdqa64 %xmm27, %xmm314152; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm114153; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]14154; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[3]14155; AVX512DQ-NEXT:    vpsrlq $8, %zmm20, %zmm214156; AVX512DQ-NEXT:    vpmovqb %zmm2, %xmm214157; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]14158; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]14159; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm014160; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14161; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,2,10,0,0,2,10,0,0,2,10,0,0,2,10]14162; AVX512DQ-NEXT:    vmovdqa64 %xmm23, %xmm414163; AVX512DQ-NEXT:    vmovdqa64 %xmm23, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14164; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm114165; AVX512DQ-NEXT:    vmovdqa64 %xmm31, %xmm214166; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm2, %xmm214167; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]14168; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [2,10,0,0,2,10,0,0,2,10,0,0,2,10,0,0]14169; AVX512DQ-NEXT:    vmovdqa64 %xmm26, %xmm314170; AVX512DQ-NEXT:    vmovdqa64 %xmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14171; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm514172; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm6, %xmm914173; AVX512DQ-NEXT:    vmovdqa64 %xmm6, %xmm1614174; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]14175; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214176; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514177; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]14178; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,2,10,0,0,0,0,0,0,0,0,0,0,0,0]14179; AVX512DQ-NEXT:    vmovdqa64 %xmm29, %xmm614180; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm6, %xmm914181; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload14182; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm6, %xmm1014183; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14184; AVX512DQ-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm914185; AVX512DQ-NEXT:    vpsrlq $16, %ymm18, %ymm1014186; AVX512DQ-NEXT:    vpmovqb %ymm10, %xmm1014187; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014188; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]14189; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]14190; AVX512DQ-NEXT:    vmovdqa64 %xmm24, %xmm614191; AVX512DQ-NEXT:    vmovdqa64 %xmm24, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14192; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm6, %xmm914193; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm13, %xmm1014194; AVX512DQ-NEXT:    vmovdqa64 %xmm13, %xmm3114195; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14196; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm12, %xmm1014197; AVX512DQ-NEXT:    vmovdqa64 %xmm21, %xmm2314198; AVX512DQ-NEXT:    vmovdqa64 %xmm28, %xmm1214199; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm12, %xmm1214200; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]14201; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]14202; AVX512DQ-NEXT:    vmovdqa64 %zmm30, %zmm2114203; AVX512DQ-NEXT:    vpsrlq $16, %zmm30, %zmm1014204; AVX512DQ-NEXT:    vpmovqb %zmm10, %xmm1014205; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]14206; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm9, %zmm0, %zmm914207; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm9 {%k1}14208; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm7, %xmm514209; AVX512DQ-NEXT:    vmovdqa64 %xmm25, %xmm1714210; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm15, %xmm1014211; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]14212; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm11, %xmm1014213; AVX512DQ-NEXT:    vmovdqa64 %xmm11, %xmm2414214; AVX512DQ-NEXT:    vmovdqa64 %xmm22, %xmm1314215; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm13, %xmm1214216; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]14217; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514218; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014219; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]14220; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm8, %xmm1014221; AVX512DQ-NEXT:    vmovdqa64 %xmm8, %xmm2214222; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm14, %xmm214223; AVX512DQ-NEXT:    vmovdqa64 %xmm14, %xmm2514224; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3]14225; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214226; AVX512DQ-NEXT:    vpsrlq $16, %ymm19, %ymm1014227; AVX512DQ-NEXT:    vpmovqb %ymm10, %xmm1014228; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014229; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm10[0,1,2,3,4],ymm2[5],ymm10[6,7]14230; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]14231; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload14232; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm14, %xmm514233; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload14234; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm15, %xmm014235; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]14236; AVX512DQ-NEXT:    vmovdqa (%rsp), %xmm11 # 16-byte Reload14237; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm11, %xmm514238; AVX512DQ-NEXT:    vmovdqa64 %xmm27, %xmm714239; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm7, %xmm114240; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]14241; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]14242; AVX512DQ-NEXT:    vpsrlq $16, %zmm20, %zmm114243; AVX512DQ-NEXT:    vpmovqb %zmm1, %xmm114244; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14245; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14246; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm014247; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14248; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,3,11,0,0,3,11,0,0,3,11,0,0,3,11]14249; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm114250; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload14251; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm2, %xmm214252; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]14253; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [3,11,0,0,3,11,0,0,3,11,0,0,3,11,0,0]14254; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm514255; AVX512DQ-NEXT:    vmovdqa64 %xmm16, %xmm314256; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm914257; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]14258; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214259; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514260; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]14261; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,3,11,0,0,0,0,0,0,0,0,0,0,0,0]14262; AVX512DQ-NEXT:    vmovdqa64 %xmm29, %xmm814263; AVX512DQ-NEXT:    vmovdqa64 %xmm29, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14264; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm8, %xmm914265; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload14266; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm7, %xmm1014267; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14268; AVX512DQ-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm914269; AVX512DQ-NEXT:    vpsrlq $24, %ymm18, %ymm1014270; AVX512DQ-NEXT:    vpmovqb %ymm10, %xmm1014271; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014272; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]14273; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]14274; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm6, %xmm914275; AVX512DQ-NEXT:    vmovdqa64 %xmm31, %xmm314276; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm3, %xmm1014277; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14278; AVX512DQ-NEXT:    vmovdqa64 %xmm23, %xmm314279; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm1014280; AVX512DQ-NEXT:    vmovdqa64 %xmm28, %xmm314281; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm1214282; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]14283; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]14284; AVX512DQ-NEXT:    vpsrlq $24, %zmm30, %zmm1014285; AVX512DQ-NEXT:    vpmovqb %zmm10, %xmm1014286; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]14287; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm9, %zmm0, %zmm914288; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm9 {%k1}14289; AVX512DQ-NEXT:    vmovdqa64 %xmm17, %xmm414290; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm514291; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload14292; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm1014293; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]14294; AVX512DQ-NEXT:    vmovdqa64 %xmm24, %xmm414295; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm4, %xmm1014296; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm13, %xmm1214297; AVX512DQ-NEXT:    vmovdqa64 %xmm13, %xmm2614298; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]14299; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514300; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014301; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]14302; AVX512DQ-NEXT:    vmovdqa64 %xmm22, %xmm414303; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm4, %xmm1014304; AVX512DQ-NEXT:    vmovdqa64 %xmm25, %xmm414305; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm4, %xmm214306; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3]14307; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214308; AVX512DQ-NEXT:    vpsrlq $24, %ymm19, %ymm1014309; AVX512DQ-NEXT:    vpmovqb %ymm10, %xmm1014310; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014311; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm10[0,1,2,3,4],ymm2[5],ymm10[6,7]14312; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]14313; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm14, %xmm514314; AVX512DQ-NEXT:    vmovdqa64 %xmm14, %xmm2814315; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm15, %xmm014316; AVX512DQ-NEXT:    vmovdqa64 %xmm15, %xmm2914317; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]14318; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm11, %xmm514319; AVX512DQ-NEXT:    vmovdqa64 %xmm11, %xmm3014320; AVX512DQ-NEXT:    vmovdqa64 %xmm27, %xmm414321; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm4, %xmm114322; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]14323; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]14324; AVX512DQ-NEXT:    vpsrlq $24, %zmm20, %zmm114325; AVX512DQ-NEXT:    vpmovqb %zmm1, %xmm114326; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14327; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14328; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm014329; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14330; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,4,12,0,0,4,12,0,0,4,12,0,0,4,12]14331; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14332; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm1, %xmm114333; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload14334; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm6, %xmm214335; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]14336; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [4,12,0,0,4,12,0,0,4,12,0,0,4,12,0,0]14337; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload14338; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm5, %xmm514339; AVX512DQ-NEXT:    vmovdqa64 %xmm16, %xmm1514340; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm15, %xmm914341; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]14342; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214343; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514344; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]14345; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,4,12,0,0,0,0,0,0,0,0,0,0,0,0]14346; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm8, %xmm914347; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm7, %xmm1014348; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14349; AVX512DQ-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm914350; AVX512DQ-NEXT:    vpsrlq $32, %ymm18, %ymm1014351; AVX512DQ-NEXT:    vpmovqb %ymm10, %xmm1014352; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014353; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]14354; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]14355; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload14356; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm7, %xmm914357; AVX512DQ-NEXT:    vmovdqa64 %xmm31, %xmm814358; AVX512DQ-NEXT:    vmovdqa64 %xmm31, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill14359; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm8, %xmm1014360; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14361; AVX512DQ-NEXT:    vmovdqa64 %xmm23, %xmm1314362; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm13, %xmm1014363; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm1214364; AVX512DQ-NEXT:    vmovdqa64 %xmm3, %xmm3114365; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]14366; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]14367; AVX512DQ-NEXT:    vmovdqa64 %zmm21, %zmm2314368; AVX512DQ-NEXT:    vpsrlq $32, %zmm21, %zmm1014369; AVX512DQ-NEXT:    vpmovqb %zmm10, %xmm1014370; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]14371; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm9, %zmm0, %zmm914372; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm9 {%k1}14373; AVX512DQ-NEXT:    vmovdqa64 %xmm17, %xmm314374; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm3, %xmm514375; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload14376; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm7, %xmm1014377; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]14378; AVX512DQ-NEXT:    vmovdqa64 %xmm24, %xmm1414379; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm14, %xmm1014380; AVX512DQ-NEXT:    vmovdqa64 %xmm26, %xmm714381; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm7, %xmm1214382; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]14383; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514384; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014385; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]14386; AVX512DQ-NEXT:    vmovdqa64 %xmm22, %xmm1114387; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm11, %xmm1014388; AVX512DQ-NEXT:    vmovdqa64 %xmm25, %xmm714389; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm7, %xmm214390; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3]14391; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214392; AVX512DQ-NEXT:    vpsrlq $32, %ymm19, %ymm1014393; AVX512DQ-NEXT:    vpmovqb %ymm10, %xmm1014394; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014395; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm10[0,1,2,3,4],ymm2[5],ymm10[6,7]14396; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]14397; AVX512DQ-NEXT:    vmovdqa64 %xmm28, %xmm514398; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm514399; AVX512DQ-NEXT:    vmovdqa64 %xmm29, %xmm1014400; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm10, %xmm014401; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]14402; AVX512DQ-NEXT:    vmovdqa64 %xmm30, %xmm514403; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm5, %xmm514404; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm4, %xmm114405; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]14406; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]14407; AVX512DQ-NEXT:    vpsrlq $32, %zmm20, %zmm114408; AVX512DQ-NEXT:    vpmovqb %zmm1, %xmm114409; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14410; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14411; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm014412; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14413; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,5,13,0,0,5,13,0,0,5,13,0,0,5,13]14414; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload14415; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm1, %xmm114416; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm6, %xmm214417; AVX512DQ-NEXT:    vmovdqa64 %xmm6, %xmm2114418; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]14419; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [5,13,0,0,5,13,0,0,5,13,0,0,5,13,0,0]14420; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload14421; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm4, %xmm514422; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm15, %xmm914423; AVX512DQ-NEXT:    vmovdqa64 %xmm16, %xmm2214424; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]14425; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214426; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514427; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]14428; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,5,13,0,0,0,0,0,0,0,0,0,0,0,0]14429; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload14430; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm4, %xmm914431; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload14432; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm4, %xmm1014433; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14434; AVX512DQ-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm914435; AVX512DQ-NEXT:    vpsrlq $40, %ymm18, %ymm1014436; AVX512DQ-NEXT:    vpmovqb %ymm10, %xmm1014437; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014438; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]14439; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]14440; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload14441; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm914442; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm8, %xmm1014443; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14444; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm13, %xmm1014445; AVX512DQ-NEXT:    vmovdqa64 %xmm13, %xmm2414446; AVX512DQ-NEXT:    vmovdqa64 %xmm31, %xmm414447; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm4, %xmm1214448; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]14449; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]14450; AVX512DQ-NEXT:    vpsrlq $40, %zmm23, %zmm1014451; AVX512DQ-NEXT:    vpmovqb %zmm10, %xmm1014452; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]14453; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm9, %zmm0, %zmm914454; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm9 {%k1}14455; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm3, %xmm514456; AVX512DQ-NEXT:    vmovdqa64 %xmm17, %xmm2514457; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload14458; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm15, %xmm1014459; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]14460; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm14, %xmm1014461; AVX512DQ-NEXT:    vmovdqa64 %xmm14, %xmm1714462; AVX512DQ-NEXT:    vmovdqa64 %xmm26, %xmm314463; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm1214464; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]14465; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514466; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014467; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]14468; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm11, %xmm1014469; AVX512DQ-NEXT:    vmovdqa64 %xmm11, %xmm1614470; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm7, %xmm214471; AVX512DQ-NEXT:    vmovdqa64 %xmm7, %xmm2614472; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3]14473; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214474; AVX512DQ-NEXT:    vpsrlq $40, %ymm19, %ymm1014475; AVX512DQ-NEXT:    vpmovqb %ymm10, %xmm1014476; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014477; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm10[0,1,2,3,4],ymm2[5],ymm10[6,7]14478; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]14479; AVX512DQ-NEXT:    vmovdqa64 %xmm28, %xmm414480; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm514481; AVX512DQ-NEXT:    vmovdqa64 %xmm29, %xmm814482; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm8, %xmm014483; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]14484; AVX512DQ-NEXT:    vmovdqa64 %xmm30, %xmm614485; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm6, %xmm514486; AVX512DQ-NEXT:    vmovdqa64 %xmm27, %xmm714487; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm7, %xmm114488; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]14489; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]14490; AVX512DQ-NEXT:    vpsrlq $40, %zmm20, %zmm114491; AVX512DQ-NEXT:    vpmovqb %zmm1, %xmm114492; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14493; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14494; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm014495; AVX512DQ-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14496; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,6,14,0,0,6,14,0,0,6,14,0,0,6,14]14497; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload14498; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm11, %xmm114499; AVX512DQ-NEXT:    vmovdqa64 %xmm21, %xmm214500; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm2, %xmm214501; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]14502; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [6,14,0,0,6,14,0,0,6,14,0,0,6,14,0,0]14503; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload14504; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm7, %xmm514505; AVX512DQ-NEXT:    vmovdqa64 %xmm22, %xmm914506; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm9, %xmm914507; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]14508; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214509; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514510; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]14511; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,6,14,0,0,0,0,0,0,0,0,0,0,0,0]14512; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload14513; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm9, %xmm914514; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload14515; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm10, %xmm1014516; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14517; AVX512DQ-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm914518; AVX512DQ-NEXT:    vpsrlq $48, %ymm18, %ymm1014519; AVX512DQ-NEXT:    vpmovqb %ymm10, %xmm1014520; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014521; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3,4],ymm9[5],ymm10[6,7]14522; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3,4,5],ymm5[6,7]14523; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload14524; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm13, %xmm914525; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload14526; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm10, %xmm1014527; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3]14528; AVX512DQ-NEXT:    vmovdqa64 %xmm24, %xmm1014529; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm10, %xmm1014530; AVX512DQ-NEXT:    vmovdqa64 %xmm31, %xmm1414531; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm14, %xmm1214532; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]14533; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3]14534; AVX512DQ-NEXT:    vpsrlq $48, %zmm23, %zmm1014535; AVX512DQ-NEXT:    vpmovqb %zmm10, %xmm1014536; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm9 = xmm10[0,1],xmm9[2,3]14537; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm9, %zmm0, %zmm914538; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm9 {%k1}14539; AVX512DQ-NEXT:    vmovdqa64 %xmm25, %xmm514540; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm514541; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm15, %xmm1014542; AVX512DQ-NEXT:    vmovdqa64 %xmm15, %xmm2814543; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]14544; AVX512DQ-NEXT:    vmovdqa64 %xmm17, %xmm1514545; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm15, %xmm1014546; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm1214547; AVX512DQ-NEXT:    vmovdqa64 %xmm3, %xmm1714548; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm10 = xmm12[0],xmm10[0],xmm12[1],xmm10[1],xmm12[2],xmm10[2],xmm12[3],xmm10[3]14549; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514550; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014551; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm10[0,1,2,3,4,5,6],ymm5[7]14552; AVX512DQ-NEXT:    vmovdqa64 %xmm16, %xmm314553; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm3, %xmm1014554; AVX512DQ-NEXT:    vmovdqa64 %xmm26, %xmm1214555; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm12, %xmm214556; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3]14557; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214558; AVX512DQ-NEXT:    vpsrlq $48, %ymm19, %ymm1014559; AVX512DQ-NEXT:    vpmovqb %ymm10, %xmm1014560; AVX512DQ-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1014561; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm10[0,1,2,3,4],ymm2[5],ymm10[6,7]14562; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]14563; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm514564; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm8, %xmm014565; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]14566; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm6, %xmm514567; AVX512DQ-NEXT:    vmovdqa64 %xmm27, %xmm1014568; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm10, %xmm114569; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]14570; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]14571; AVX512DQ-NEXT:    vpsrlq $48, %zmm20, %zmm114572; AVX512DQ-NEXT:    vpmovqb %zmm1, %xmm114573; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14574; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14575; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm9, %zmm2614576; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [0,0,7,15,0,0,7,15,0,0,7,15,0,0,7,15]14577; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm11, %xmm114578; AVX512DQ-NEXT:    vmovdqa64 %xmm21, %xmm214579; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm2, %xmm214580; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]14581; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [7,15,0,0,7,15,0,0,7,15,0,0,7,15,0,0]14582; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm7, %xmm514583; AVX512DQ-NEXT:    vmovdqa64 %xmm22, %xmm614584; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm6, %xmm914585; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm9[0],xmm5[0],xmm9[1],xmm5[1],xmm9[2],xmm5[2],xmm9[3],xmm5[3]14586; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214587; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514588; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm2[7]14589; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm2 = [0,0,7,15,0,0,0,0,0,0,0,0,0,0,0,0]14590; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload14591; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm6, %xmm614592; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload14593; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm7, %xmm714594; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]14595; AVX512DQ-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm614596; AVX512DQ-NEXT:    vpsrlq $56, %ymm18, %ymm714597; AVX512DQ-NEXT:    vpmovqb %ymm7, %xmm714598; AVX512DQ-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm714599; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3,4],ymm6[5],ymm7[6,7]14600; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3,4,5],ymm5[6,7]14601; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm13, %xmm614602; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload14603; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm7, %xmm714604; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]14605; AVX512DQ-NEXT:    vmovdqa64 %xmm24, %xmm714606; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm7, %xmm714607; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm14, %xmm914608; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm9[0],xmm7[0],xmm9[1],xmm7[1],xmm9[2],xmm7[2],xmm9[3],xmm7[3]14609; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1,2],xmm6[3]14610; AVX512DQ-NEXT:    vpsrlq $56, %zmm23, %zmm714611; AVX512DQ-NEXT:    vpmovqb %zmm7, %xmm714612; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm6 = xmm7[0,1],xmm6[2,3]14613; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm6, %zmm0, %zmm614614; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm5, %zmm0, %zmm6 {%k1}14615; AVX512DQ-NEXT:    vmovdqa64 %xmm25, %xmm514616; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm514617; AVX512DQ-NEXT:    vmovdqa64 %xmm28, %xmm714618; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm7, %xmm714619; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm7[0],xmm5[0],xmm7[1],xmm5[1],xmm7[2],xmm5[2],xmm7[3],xmm5[3]14620; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm15, %xmm714621; AVX512DQ-NEXT:    vmovdqa64 %xmm17, %xmm914622; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm9, %xmm914623; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm9[0],xmm7[0],xmm9[1],xmm7[1],xmm9[2],xmm7[2],xmm9[3],xmm7[3]14624; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm514625; AVX512DQ-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm714626; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm5 = ymm7[0,1,2,3,4,5,6],ymm5[7]14627; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm3, %xmm314628; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm12, %xmm214629; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]14630; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214631; AVX512DQ-NEXT:    vpsrlq $56, %ymm19, %ymm314632; AVX512DQ-NEXT:    vpmovqb %ymm3, %xmm314633; AVX512DQ-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314634; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]14635; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm5[6,7]14636; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm314637; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm8, %xmm014638; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]14639; AVX512DQ-NEXT:    vmovdqa64 %xmm30, %xmm314640; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm3, %xmm314641; AVX512DQ-NEXT:    vpshufb %xmm1, %xmm10, %xmm114642; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3]14643; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1,2],xmm0[3]14644; AVX512DQ-NEXT:    vpsrlq $56, %zmm20, %zmm114645; AVX512DQ-NEXT:    vpmovqb %zmm1, %xmm114646; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14647; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14648; AVX512DQ-NEXT:    vinserti64x4 $0, %ymm0, %zmm6, %zmm014649; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14650; AVX512DQ-NEXT:    vmovaps %zmm1, (%rsi)14651; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14652; AVX512DQ-NEXT:    vmovaps %zmm1, (%rdx)14653; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14654; AVX512DQ-NEXT:    vmovaps %zmm1, (%rcx)14655; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14656; AVX512DQ-NEXT:    vmovaps %zmm1, (%r8)14657; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14658; AVX512DQ-NEXT:    vmovaps %zmm1, (%r9)14659; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax14660; AVX512DQ-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload14661; AVX512DQ-NEXT:    vmovaps %zmm1, (%rax)14662; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax14663; AVX512DQ-NEXT:    vmovdqa64 %zmm26, (%rax)14664; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax14665; AVX512DQ-NEXT:    vmovdqa64 %zmm0, (%rax)14666; AVX512DQ-NEXT:    addq $440, %rsp # imm = 0x1B814667; AVX512DQ-NEXT:    vzeroupper14668; AVX512DQ-NEXT:    retq14669;14670; AVX512DQ-FCP-LABEL: load_i8_stride8_vf64:14671; AVX512DQ-FCP:       # %bb.0:14672; AVX512DQ-FCP-NEXT:    subq $232, %rsp14673; AVX512DQ-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm2914674; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14675; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,2,3,0,2,4,6]14676; AVX512DQ-FCP-NEXT:    vmovdqa 480(%rdi), %ymm114677; AVX512DQ-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14678; AVX512DQ-FCP-NEXT:    vpermd %ymm1, %ymm0, %ymm314679; AVX512DQ-FCP-NEXT:    vpshufb %ymm8, %ymm3, %ymm114680; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2314681; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm10 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14682; AVX512DQ-FCP-NEXT:    vmovdqa 448(%rdi), %ymm214683; AVX512DQ-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14684; AVX512DQ-FCP-NEXT:    vpermd %ymm2, %ymm0, %ymm514685; AVX512DQ-FCP-NEXT:    vpshufb %ymm10, %ymm5, %ymm214686; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]14687; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14688; AVX512DQ-FCP-NEXT:    vmovdqa 416(%rdi), %ymm214689; AVX512DQ-FCP-NEXT:    vmovdqu %ymm2, (%rsp) # 32-byte Spill14690; AVX512DQ-FCP-NEXT:    vpermd %ymm2, %ymm0, %ymm414691; AVX512DQ-FCP-NEXT:    vpshufb %ymm6, %ymm4, %ymm214692; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm4, %ymm2214693; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14694; AVX512DQ-FCP-NEXT:    vmovdqa 384(%rdi), %ymm314695; AVX512DQ-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14696; AVX512DQ-FCP-NEXT:    vpermd %ymm3, %ymm0, %ymm714697; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm7, %ymm314698; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm7, %ymm1914699; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]14700; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]14701; AVX512DQ-FCP-NEXT:    vmovdqa 352(%rdi), %ymm214702; AVX512DQ-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14703; AVX512DQ-FCP-NEXT:    vpmovqd %ymm2, %xmm414704; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm7 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14705; AVX512DQ-FCP-NEXT:    vpshufb %xmm7, %xmm4, %xmm214706; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm4, %xmm1714707; AVX512DQ-FCP-NEXT:    vmovdqa 320(%rdi), %ymm314708; AVX512DQ-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14709; AVX512DQ-FCP-NEXT:    vpmovqd %ymm3, %xmm1214710; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm4 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14711; AVX512DQ-FCP-NEXT:    vpshufb %xmm4, %xmm12, %xmm314712; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm12, %xmm2114713; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1,2],xmm2[3]14714; AVX512DQ-FCP-NEXT:    vpmovqb %zmm29, %xmm314715; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]14716; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm1214717; AVX512DQ-FCP-NEXT:    movb $-64, %al14718; AVX512DQ-FCP-NEXT:    kmovw %eax, %k114719; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm12 {%k1}14720; AVX512DQ-FCP-NEXT:    vmovdqa 224(%rdi), %ymm114721; AVX512DQ-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill14722; AVX512DQ-FCP-NEXT:    vpermd %ymm1, %ymm0, %ymm214723; AVX512DQ-FCP-NEXT:    vpshufb %ymm8, %ymm2, %ymm114724; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm2, %ymm1614725; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm3114726; AVX512DQ-FCP-NEXT:    vpermd %ymm31, %ymm0, %ymm314727; AVX512DQ-FCP-NEXT:    vpshufb %ymm10, %ymm3, %ymm214728; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2014729; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]14730; AVX512DQ-FCP-NEXT:    vmovdqa64 160(%rdi), %ymm2514731; AVX512DQ-FCP-NEXT:    vpermd %ymm25, %ymm0, %ymm1014732; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %ymm2614733; AVX512DQ-FCP-NEXT:    vpshufb %ymm6, %ymm10, %ymm1414734; AVX512DQ-FCP-NEXT:    vpermd %ymm26, %ymm0, %ymm914735; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm9, %ymm014736; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm14[5],ymm0[6,7]14737; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm0[0,1,2,3,4,5],ymm1[6,7]14738; AVX512DQ-FCP-NEXT:    vmovdqa64 96(%rdi), %ymm2714739; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm2814740; AVX512DQ-FCP-NEXT:    vpmovqd %ymm27, %xmm814741; AVX512DQ-FCP-NEXT:    vpshufb %xmm7, %xmm8, %xmm1514742; AVX512DQ-FCP-NEXT:    vpmovqd %ymm28, %xmm114743; AVX512DQ-FCP-NEXT:    vpshufb %xmm4, %xmm1, %xmm714744; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm1, %xmm1814745; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm7[0,1,2],xmm15[3]14746; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %zmm3014747; AVX512DQ-FCP-NEXT:    vpmovqb %zmm30, %xmm1514748; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm15[0,1],xmm7[2,3]14749; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3],ymm14[4,5,6,7]14750; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm7, %zmm12, %zmm714751; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14752; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm1 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14753; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm23, %ymm614754; AVX512DQ-FCP-NEXT:    vpshufb %ymm1, %ymm6, %ymm714755; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14756; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm5, %ymm1214757; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm5, %ymm2314758; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm14, %ymm2414759; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm12[0,1,2,3,4,5,6],ymm7[7]14760; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14761; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm22, %ymm314762; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm3, %ymm1214763; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm14, %ymm2214764; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14765; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm19, %ymm514766; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm5, %ymm1414767; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm14[0,1,2,3,4],ymm12[5],ymm14[6,7]14768; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm12[0,1,2,3,4,5],ymm7[6,7]14769; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm11 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14770; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm17, %xmm214771; AVX512DQ-FCP-NEXT:    vpshufb %xmm11, %xmm2, %xmm1214772; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14773; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm21, %xmm414774; AVX512DQ-FCP-NEXT:    vpshufb %xmm13, %xmm4, %xmm1414775; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1,2],xmm12[3]14776; AVX512DQ-FCP-NEXT:    vpsrlq $8, %zmm29, %zmm1414777; AVX512DQ-FCP-NEXT:    vpmovqb %zmm14, %xmm1414778; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1],xmm12[2,3]14779; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm12, %zmm0, %zmm1214780; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm0, %zmm12 {%k1}14781; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm16, %ymm014782; AVX512DQ-FCP-NEXT:    vpshufb %ymm1, %ymm0, %ymm714783; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm20, %ymm114784; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm24, %ymm1414785; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm1, %ymm1414786; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3,4,5,6],ymm7[7]14787; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm22, %ymm1414788; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm10, %ymm1414789; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm10, %ymm1614790; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm9, %ymm1514791; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm9, %ymm1714792; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]14793; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3,4,5],ymm7[6,7]14794; AVX512DQ-FCP-NEXT:    vpshufb %xmm11, %xmm8, %xmm1414795; AVX512DQ-FCP-NEXT:    vmovdqa %xmm8, %xmm1114796; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm18, %xmm1014797; AVX512DQ-FCP-NEXT:    vpshufb %xmm13, %xmm10, %xmm1514798; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]14799; AVX512DQ-FCP-NEXT:    vpsrlq $8, %zmm30, %zmm1514800; AVX512DQ-FCP-NEXT:    vpmovqb %zmm15, %xmm1514801; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]14802; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3],ymm7[4,5,6,7]14803; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm7, %zmm12, %zmm714804; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill14805; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm13 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]14806; AVX512DQ-FCP-NEXT:    vpshufb %ymm13, %ymm6, %ymm714807; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm6, %ymm1814808; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]14809; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm23, %ymm614810; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm6, %ymm1214811; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm12[0,1,2,3,4,5,6],ymm7[7]14812; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm9 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]14813; AVX512DQ-FCP-NEXT:    vpshufb %ymm9, %ymm3, %ymm1214814; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2214815; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]14816; AVX512DQ-FCP-NEXT:    vpshufb %ymm8, %ymm5, %ymm1414817; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm14[0,1,2,3,4],ymm12[5],ymm14[6,7]14818; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm12[0,1,2,3,4,5],ymm7[6,7]14819; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]14820; AVX512DQ-FCP-NEXT:    vpshufb %xmm5, %xmm2, %xmm1214821; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm2, %xmm2014822; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm3 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]14823; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm4, %xmm1414824; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1,2],xmm12[3]14825; AVX512DQ-FCP-NEXT:    vpsrlq $16, %zmm29, %zmm1414826; AVX512DQ-FCP-NEXT:    vpmovqb %zmm14, %xmm1414827; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1],xmm12[2,3]14828; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm12, %zmm0, %zmm1214829; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm0, %zmm12 {%k1}14830; AVX512DQ-FCP-NEXT:    vpshufb %ymm13, %ymm0, %ymm714831; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, %ymm1314832; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm1, %ymm1414833; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm1, %ymm2314834; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3,4,5,6],ymm7[7]14835; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm16, %ymm214836; AVX512DQ-FCP-NEXT:    vpshufb %ymm9, %ymm2, %ymm1414837; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm17, %ymm114838; AVX512DQ-FCP-NEXT:    vpshufb %ymm8, %ymm1, %ymm1514839; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]14840; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3,4,5],ymm7[6,7]14841; AVX512DQ-FCP-NEXT:    vpshufb %xmm5, %xmm11, %xmm1414842; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm10, %xmm1514843; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]14844; AVX512DQ-FCP-NEXT:    vpsrlq $16, %zmm30, %zmm1514845; AVX512DQ-FCP-NEXT:    vpmovqb %zmm15, %xmm1514846; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]14847; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm14[0,1,2,3],ymm7[4,5,6,7]14848; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm7, %zmm12, %zmm2114849; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]14850; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm18, %ymm314851; AVX512DQ-FCP-NEXT:    vpshufb %ymm5, %ymm3, %ymm714852; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm12 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]14853; AVX512DQ-FCP-NEXT:    vpshufb %ymm12, %ymm6, %ymm914854; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm9[0,1,2,3,4,5,6],ymm7[7]14855; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm0 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]14856; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm22, %ymm314857; AVX512DQ-FCP-NEXT:    vpshufb %ymm0, %ymm3, %ymm814858; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, %ymm314859; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]14860; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm19, %ymm614861; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm6, %ymm914862; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5],ymm9[6,7]14863; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3,4,5],ymm7[6,7]14864; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]14865; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm20, %xmm614866; AVX512DQ-FCP-NEXT:    vpshufb %xmm9, %xmm6, %xmm814867; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm0 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]14868; AVX512DQ-FCP-NEXT:    vpshufb %xmm0, %xmm4, %xmm614869; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0,1,2],xmm8[3]14870; AVX512DQ-FCP-NEXT:    vpsrlq $24, %zmm29, %zmm814871; AVX512DQ-FCP-NEXT:    vpmovqb %zmm8, %xmm814872; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm8[0,1],xmm6[2,3]14873; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm6, %zmm0, %zmm614874; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm0, %zmm6 {%k1}14875; AVX512DQ-FCP-NEXT:    vpshufb %ymm5, %ymm13, %ymm514876; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm23, %ymm414877; AVX512DQ-FCP-NEXT:    vpshufb %ymm12, %ymm4, %ymm414878; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,6],ymm5[7]14879; AVX512DQ-FCP-NEXT:    vpshufb %ymm3, %ymm2, %ymm314880; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm1, %ymm214881; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]14882; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm4[6,7]14883; AVX512DQ-FCP-NEXT:    vpshufb %xmm9, %xmm11, %xmm114884; AVX512DQ-FCP-NEXT:    vpshufb %xmm0, %xmm10, %xmm014885; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]14886; AVX512DQ-FCP-NEXT:    vpsrlq $24, %zmm30, %zmm114887; AVX512DQ-FCP-NEXT:    vpmovqb %zmm1, %xmm114888; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm1[0,1],xmm0[2,3]14889; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14890; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm6, %zmm1814891; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,2,3,1,3,5,7]14892; AVX512DQ-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm9 # 32-byte Folded Reload14893; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm4 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14894; AVX512DQ-FCP-NEXT:    vpshufb %ymm4, %ymm9, %ymm114895; AVX512DQ-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm10 # 32-byte Folded Reload14896; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14897; AVX512DQ-FCP-NEXT:    vpshufb %ymm5, %ymm10, %ymm214898; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]14899; AVX512DQ-FCP-NEXT:    vpermd (%rsp), %ymm0, %ymm3 # 32-byte Folded Reload14900; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14901; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm3, %ymm214902; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm3, %ymm1914903; AVX512DQ-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm6 # 32-byte Folded Reload14904; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm12 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14905; AVX512DQ-FCP-NEXT:    vpshufb %ymm12, %ymm6, %ymm314906; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm6, %ymm2214907; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]14908; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]14909; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm16 = [1,3,5,7,5,7,6,7]14910; AVX512DQ-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm16, %ymm8 # 32-byte Folded Reload14911; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm15 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14912; AVX512DQ-FCP-NEXT:    vpshufb %xmm15, %xmm8, %xmm214913; AVX512DQ-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm16, %ymm7 # 32-byte Folded Reload14914; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm14 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]14915; AVX512DQ-FCP-NEXT:    vpshufb %xmm14, %xmm7, %xmm314916; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1,2],xmm2[3]14917; AVX512DQ-FCP-NEXT:    vpsrlq $32, %zmm29, %zmm314918; AVX512DQ-FCP-NEXT:    vpmovqb %zmm3, %xmm314919; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]14920; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm1714921; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm17 {%k1}14922; AVX512DQ-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 32-byte Folded Reload14923; AVX512DQ-FCP-NEXT:    vpshufb %ymm4, %ymm2, %ymm114924; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm2, %ymm2314925; AVX512DQ-FCP-NEXT:    vpermd %ymm31, %ymm0, %ymm414926; AVX512DQ-FCP-NEXT:    vpshufb %ymm5, %ymm4, %ymm214927; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm1[7]14928; AVX512DQ-FCP-NEXT:    vpermd %ymm25, %ymm0, %ymm314929; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm3, %ymm114930; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2414931; AVX512DQ-FCP-NEXT:    vpermd %ymm26, %ymm0, %ymm614932; AVX512DQ-FCP-NEXT:    vpshufb %ymm12, %ymm6, %ymm014933; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm1[5],ymm0[6,7]14934; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm0[0,1,2,3,4,5],ymm2[6,7]14935; AVX512DQ-FCP-NEXT:    vpermd %ymm27, %ymm16, %ymm1314936; AVX512DQ-FCP-NEXT:    vpshufb %xmm15, %xmm13, %xmm014937; AVX512DQ-FCP-NEXT:    vpermd %ymm28, %ymm16, %ymm1214938; AVX512DQ-FCP-NEXT:    vpshufb %xmm14, %xmm12, %xmm1514939; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm15[0,1,2],xmm0[3]14940; AVX512DQ-FCP-NEXT:    vpsrlq $32, %zmm30, %zmm1514941; AVX512DQ-FCP-NEXT:    vpmovqb %zmm15, %xmm1514942; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm15[0,1],xmm0[2,3]14943; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]14944; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm17, %zmm1614945; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14946; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm9, %ymm014947; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm514948; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14949; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm10, %ymm214950; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm10, %ymm2514951; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]14952; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm20 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14953; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm20, %ymm214954; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm19, %ymm1014955; AVX512DQ-FCP-NEXT:    vpshufb %ymm2, %ymm10, %ymm214956; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm17 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14957; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm17, %ymm1514958; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm22, %ymm114959; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm1, %ymm1514960; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm15[0,1,2,3,4],ymm2[5],ymm15[6,7]14961; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]14962; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm19 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14963; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm19, %xmm214964; AVX512DQ-FCP-NEXT:    vpshufb %xmm2, %xmm8, %xmm214965; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]14966; AVX512DQ-FCP-NEXT:    vpshufb %xmm9, %xmm7, %xmm1514967; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm15[0,1,2],xmm2[3]14968; AVX512DQ-FCP-NEXT:    vpsrlq $40, %zmm29, %zmm1514969; AVX512DQ-FCP-NEXT:    vpmovqb %zmm15, %xmm1514970; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm15[0,1],xmm2[2,3]14971; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm214972; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2 {%k1}14973; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm23, %ymm314974; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm3, %ymm014975; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm4, %ymm1514976; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm4, %ymm2214977; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4,5,6],ymm0[7]14978; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm20, %ymm1114979; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm24, %ymm414980; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm4, %ymm1514981; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm17, %ymm1114982; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm6, %ymm1414983; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm6, %ymm2314984; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3,4],ymm15[5],ymm14[6,7]14985; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]14986; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm19, %xmm1114987; AVX512DQ-FCP-NEXT:    vpshufb %xmm11, %xmm13, %xmm1414988; AVX512DQ-FCP-NEXT:    vpshufb %xmm9, %xmm12, %xmm1514989; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]14990; AVX512DQ-FCP-NEXT:    vpsrlq $40, %zmm30, %zmm1514991; AVX512DQ-FCP-NEXT:    vpmovqb %zmm15, %xmm1514992; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]14993; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]14994; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm2, %zmm1914995; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]14996; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm5, %ymm014997; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm5, %ymm2614998; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm9 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]14999; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm25, %ymm515000; AVX512DQ-FCP-NEXT:    vpshufb %ymm9, %ymm5, %ymm215001; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5,6],ymm0[7]15002; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15003; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm10, %ymm215004; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm10, %ymm2415005; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm17 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15006; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm17, %ymm1415007; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm1, %ymm1415008; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm1, %ymm2515009; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm14[0,1,2,3,4],ymm2[5],ymm14[6,7]15010; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]15011; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm20 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15012; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm20, %xmm215013; AVX512DQ-FCP-NEXT:    vpshufb %xmm2, %xmm8, %xmm215014; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm10 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15015; AVX512DQ-FCP-NEXT:    vpshufb %xmm10, %xmm7, %xmm1415016; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1,2],xmm2[3]15017; AVX512DQ-FCP-NEXT:    vpsrlq $48, %zmm29, %zmm1415018; AVX512DQ-FCP-NEXT:    vpmovqb %zmm14, %xmm1415019; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm14[0,1],xmm2[2,3]15020; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm215021; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2 {%k1}15022; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm3, %ymm015023; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm22, %ymm615024; AVX512DQ-FCP-NEXT:    vpshufb %ymm9, %ymm6, %ymm1415025; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5,6],ymm0[7]15026; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm4, %ymm1415027; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm17, %ymm915028; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm23, %ymm115029; AVX512DQ-FCP-NEXT:    vpshufb %ymm9, %ymm1, %ymm1515030; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm15[0,1,2,3,4],ymm14[5],ymm15[6,7]15031; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]15032; AVX512DQ-FCP-NEXT:    vmovdqa64 %xmm20, %xmm915033; AVX512DQ-FCP-NEXT:    vpshufb %xmm9, %xmm13, %xmm1415034; AVX512DQ-FCP-NEXT:    vpshufb %xmm10, %xmm12, %xmm1515035; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]15036; AVX512DQ-FCP-NEXT:    vpsrlq $48, %zmm30, %zmm1515037; AVX512DQ-FCP-NEXT:    vpmovqb %zmm15, %xmm1515038; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]15039; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]15040; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm2, %zmm1715041; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15042; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm26, %ymm015043; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm0, %ymm215044; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm0 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15045; AVX512DQ-FCP-NEXT:    vpshufb %ymm0, %ymm5, %ymm1115046; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm11[0,1,2,3,4,5,6],ymm2[7]15047; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm11 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15048; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm24, %ymm515049; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm5, %ymm1015050; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm15 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15051; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm25, %ymm515052; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm5, %ymm915053; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4],ymm10[5],ymm9[6,7]15054; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm9[0,1,2,3,4,5],ymm2[6,7]15055; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm9 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15056; AVX512DQ-FCP-NEXT:    vpshufb %xmm9, %xmm8, %xmm815057; AVX512DQ-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm10 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15058; AVX512DQ-FCP-NEXT:    vpshufb %xmm10, %xmm7, %xmm715059; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm7[0,1,2],xmm8[3]15060; AVX512DQ-FCP-NEXT:    vpsrlq $56, %zmm29, %zmm815061; AVX512DQ-FCP-NEXT:    vpmovqb %zmm8, %xmm815062; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm8[0,1],xmm7[2,3]15063; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm7, %zmm0, %zmm715064; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm7 {%k1}15065; AVX512DQ-FCP-NEXT:    vpshufb %ymm14, %ymm3, %ymm215066; AVX512DQ-FCP-NEXT:    vpshufb %ymm0, %ymm6, %ymm615067; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm6[0,1,2,3,4,5,6],ymm2[7]15068; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm4, %ymm515069; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm1, %ymm415070; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4],ymm5[5],ymm4[6,7]15071; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5],ymm2[6,7]15072; AVX512DQ-FCP-NEXT:    vpshufb %xmm9, %xmm13, %xmm315073; AVX512DQ-FCP-NEXT:    vpshufb %xmm10, %xmm12, %xmm115074; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm1[0,1,2],xmm3[3]15075; AVX512DQ-FCP-NEXT:    vpsrlq $56, %zmm30, %zmm315076; AVX512DQ-FCP-NEXT:    vpmovqb %zmm3, %xmm315077; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1],xmm1[2,3]15078; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm2[4,5,6,7]15079; AVX512DQ-FCP-NEXT:    vinserti64x4 $0, %ymm1, %zmm7, %zmm115080; AVX512DQ-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload15081; AVX512DQ-FCP-NEXT:    vmovaps %zmm2, (%rsi)15082; AVX512DQ-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm2 # 64-byte Reload15083; AVX512DQ-FCP-NEXT:    vmovaps %zmm2, (%rdx)15084; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm21, (%rcx)15085; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm18, (%r8)15086; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm16, (%r9)15087; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax15088; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm19, (%rax)15089; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax15090; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm17, (%rax)15091; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax15092; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, (%rax)15093; AVX512DQ-FCP-NEXT:    addq $232, %rsp15094; AVX512DQ-FCP-NEXT:    vzeroupper15095; AVX512DQ-FCP-NEXT:    retq15096;15097; AVX512BW-LABEL: load_i8_stride8_vf64:15098; AVX512BW:       # %bb.0:15099; AVX512BW-NEXT:    subq $552, %rsp # imm = 0x22815100; AVX512BW-NEXT:    vmovdqa64 (%rdi), %zmm1015101; AVX512BW-NEXT:    vmovdqu64 %zmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15102; AVX512BW-NEXT:    vmovdqa64 128(%rdi), %zmm115103; AVX512BW-NEXT:    vpmovqb %zmm1, %xmm1215104; AVX512BW-NEXT:    vmovdqa64 256(%rdi), %zmm015105; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %zmm215106; AVX512BW-NEXT:    vpmovqb %zmm2, %xmm315107; AVX512BW-NEXT:    vmovdqa64 496(%rdi), %xmm2715108; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm17 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]15109; AVX512BW-NEXT:    vpshufb %xmm17, %xmm27, %xmm415110; AVX512BW-NEXT:    vmovdqa64 480(%rdi), %xmm2515111; AVX512BW-NEXT:    vpshufb %xmm17, %xmm25, %xmm515112; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]15113; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415114; AVX512BW-NEXT:    vmovdqa64 464(%rdi), %xmm3115115; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm18 = [0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8]15116; AVX512BW-NEXT:    vpshufb %xmm18, %xmm31, %xmm515117; AVX512BW-NEXT:    vmovdqa64 448(%rdi), %xmm2815118; AVX512BW-NEXT:    vpshufb %xmm18, %xmm28, %xmm815119; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm8[0],xmm5[0],xmm8[1],xmm5[1],xmm8[2],xmm5[2],xmm8[3],xmm5[3]15120; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515121; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]15122; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm515123; AVX512BW-NEXT:    vmovdqa64 384(%rdi), %ymm1615124; AVX512BW-NEXT:    vpmovqb %ymm16, %xmm815125; AVX512BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm815126; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3,4],ymm5[5],ymm8[6,7]15127; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm11 = ymm5[0,1,2,3,4,5],ymm4[6,7]15128; AVX512BW-NEXT:    vmovdqa64 368(%rdi), %xmm2315129; AVX512BW-NEXT:    vpshufb %xmm17, %xmm23, %xmm815130; AVX512BW-NEXT:    vmovdqa64 352(%rdi), %xmm2415131; AVX512BW-NEXT:    vpshufb %xmm17, %xmm24, %xmm915132; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm9[0],xmm8[0],xmm9[1],xmm8[1],xmm9[2],xmm8[2],xmm9[3],xmm8[3]15133; AVX512BW-NEXT:    vmovdqa64 336(%rdi), %xmm2615134; AVX512BW-NEXT:    vpshufb %xmm18, %xmm26, %xmm1415135; AVX512BW-NEXT:    vmovdqa64 320(%rdi), %xmm1915136; AVX512BW-NEXT:    vpshufb %xmm18, %xmm19, %xmm1515137; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]15138; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm13 = xmm14[0,1,2],xmm13[3]15139; AVX512BW-NEXT:    vpmovqb %zmm0, %xmm1415140; AVX512BW-NEXT:    vmovdqa64 %zmm0, %zmm915141; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm13 = xmm14[0,1],xmm13[2,3]15142; AVX512BW-NEXT:    vinserti32x4 $2, %xmm13, %zmm0, %zmm2115143; AVX512BW-NEXT:    movb $-64, %al15144; AVX512BW-NEXT:    kmovd %eax, %k115145; AVX512BW-NEXT:    vinserti64x4 $1, %ymm11, %zmm0, %zmm21 {%k1}15146; AVX512BW-NEXT:    vmovdqa 240(%rdi), %xmm015147; AVX512BW-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15148; AVX512BW-NEXT:    vpshufb %xmm17, %xmm0, %xmm1315149; AVX512BW-NEXT:    vmovdqa 224(%rdi), %xmm015150; AVX512BW-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15151; AVX512BW-NEXT:    vpshufb %xmm17, %xmm0, %xmm1515152; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm13 = xmm15[0],xmm13[0],xmm15[1],xmm13[1],xmm15[2],xmm13[2],xmm15[3],xmm13[3]15153; AVX512BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm1315154; AVX512BW-NEXT:    vmovdqa 208(%rdi), %xmm615155; AVX512BW-NEXT:    vpshufb %xmm18, %xmm6, %xmm1515156; AVX512BW-NEXT:    vmovdqa 192(%rdi), %xmm1415157; AVX512BW-NEXT:    vpshufb %xmm18, %xmm14, %xmm2015158; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm20[0],xmm15[0],xmm20[1],xmm15[1],xmm20[2],xmm15[2],xmm20[3],xmm15[3]15159; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm1515160; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5,6],ymm13[7]15161; AVX512BW-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm1515162; AVX512BW-NEXT:    vmovdqa 128(%rdi), %ymm015163; AVX512BW-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15164; AVX512BW-NEXT:    vpmovqb %ymm0, %xmm2015165; AVX512BW-NEXT:    vinserti32x4 $1, %xmm20, %ymm0, %ymm015166; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm15[5],ymm0[6,7]15167; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm0[0,1,2,3,4,5],ymm13[6,7]15168; AVX512BW-NEXT:    vmovdqa 112(%rdi), %xmm1315169; AVX512BW-NEXT:    vpshufb %xmm17, %xmm13, %xmm2015170; AVX512BW-NEXT:    vmovdqa 96(%rdi), %xmm1515171; AVX512BW-NEXT:    vpshufb %xmm17, %xmm15, %xmm1715172; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm17[0],xmm20[0],xmm17[1],xmm20[1],xmm17[2],xmm20[2],xmm17[3],xmm20[3]15173; AVX512BW-NEXT:    vmovdqa 80(%rdi), %xmm1215174; AVX512BW-NEXT:    vpshufb %xmm18, %xmm12, %xmm2215175; AVX512BW-NEXT:    vmovdqa 64(%rdi), %xmm715176; AVX512BW-NEXT:    vpshufb %xmm18, %xmm7, %xmm1815177; AVX512BW-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15178; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm18[0],xmm22[0],xmm18[1],xmm22[1],xmm18[2],xmm22[2],xmm18[3],xmm22[3]15179; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]15180; AVX512BW-NEXT:    vpmovqb %zmm10, %xmm215181; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]15182; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15183; AVX512BW-NEXT:    vinserti64x4 $0, %ymm0, %zmm21, %zmm015184; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15185; AVX512BW-NEXT:    vmovdqa64 160(%rdi), %xmm2015186; AVX512BW-NEXT:    vmovdqa64 %xmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15187; AVX512BW-NEXT:    vmovdqa64 176(%rdi), %xmm2215188; AVX512BW-NEXT:    vmovdqa64 416(%rdi), %xmm2915189; AVX512BW-NEXT:    vmovdqa 432(%rdi), %xmm815190; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]15191; AVX512BW-NEXT:    vpshufb %xmm0, %xmm27, %xmm115192; AVX512BW-NEXT:    vmovdqa64 %xmm27, %xmm1015193; AVX512BW-NEXT:    vpshufb %xmm0, %xmm25, %xmm215194; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]15195; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115196; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]15197; AVX512BW-NEXT:    vpshufb %xmm2, %xmm31, %xmm2715198; AVX512BW-NEXT:    vmovdqa64 %xmm28, %xmm1115199; AVX512BW-NEXT:    vpshufb %xmm2, %xmm28, %xmm2815200; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm27 = xmm28[0],xmm27[0],xmm28[1],xmm27[1],xmm28[2],xmm27[2],xmm28[3],xmm27[3]15201; AVX512BW-NEXT:    vinserti32x4 $1, %xmm27, %ymm0, %ymm315202; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]15203; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm30 = [1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9]15204; AVX512BW-NEXT:    vpshufb %xmm30, %xmm8, %xmm2715205; AVX512BW-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15206; AVX512BW-NEXT:    vpshufb %xmm30, %xmm29, %xmm2815207; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm27 = xmm28[0],xmm27[0],xmm28[1],xmm27[1],xmm28[2],xmm27[2],xmm28[3],xmm27[3]15208; AVX512BW-NEXT:    vinserti32x4 $1, %xmm27, %ymm0, %ymm315209; AVX512BW-NEXT:    vpsrlq $8, %ymm16, %ymm2715210; AVX512BW-NEXT:    vpmovqb %ymm27, %xmm2715211; AVX512BW-NEXT:    vinserti32x4 $1, %xmm27, %ymm0, %ymm415212; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3,4],ymm3[5],ymm4[6,7]15213; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]15214; AVX512BW-NEXT:    vpshufb %xmm0, %xmm23, %xmm315215; AVX512BW-NEXT:    vpshufb %xmm0, %xmm24, %xmm415216; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]15217; AVX512BW-NEXT:    vpshufb %xmm2, %xmm26, %xmm415218; AVX512BW-NEXT:    vmovdqa64 %xmm19, %xmm1815219; AVX512BW-NEXT:    vpshufb %xmm2, %xmm19, %xmm2715220; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm27[0],xmm4[0],xmm27[1],xmm4[1],xmm27[2],xmm4[2],xmm27[3],xmm4[3]15221; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1,2],xmm3[3]15222; AVX512BW-NEXT:    vpsrlq $8, %zmm9, %zmm415223; AVX512BW-NEXT:    vpmovqb %zmm4, %xmm415224; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm3 = xmm4[0,1],xmm3[2,3]15225; AVX512BW-NEXT:    vinserti32x4 $2, %xmm3, %zmm0, %zmm315226; AVX512BW-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm3 {%k1}15227; AVX512BW-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm21 # 16-byte Reload15228; AVX512BW-NEXT:    vpshufb %xmm0, %xmm21, %xmm115229; AVX512BW-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm17 # 16-byte Reload15230; AVX512BW-NEXT:    vpshufb %xmm0, %xmm17, %xmm415231; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3]15232; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115233; AVX512BW-NEXT:    vpshufb %xmm2, %xmm6, %xmm415234; AVX512BW-NEXT:    vpshufb %xmm2, %xmm14, %xmm2715235; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm27[0],xmm4[0],xmm27[1],xmm4[1],xmm27[2],xmm4[2],xmm27[3],xmm4[3]15236; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415237; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]15238; AVX512BW-NEXT:    vpshufb %xmm30, %xmm22, %xmm415239; AVX512BW-NEXT:    vmovdqa64 %xmm22, %xmm1915240; AVX512BW-NEXT:    vmovdqa64 %xmm22, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15241; AVX512BW-NEXT:    vpshufb %xmm30, %xmm20, %xmm2715242; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm27[0],xmm4[0],xmm27[1],xmm4[1],xmm27[2],xmm4[2],xmm27[3],xmm4[3]15243; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415244; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %ymm22 # 32-byte Reload15245; AVX512BW-NEXT:    vpsrlq $8, %ymm22, %ymm2715246; AVX512BW-NEXT:    vpmovqb %ymm27, %xmm2715247; AVX512BW-NEXT:    vinserti32x4 $1, %xmm27, %ymm0, %ymm515248; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]15249; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]15250; AVX512BW-NEXT:    vpshufb %xmm0, %xmm13, %xmm415251; AVX512BW-NEXT:    vpshufb %xmm0, %xmm15, %xmm015252; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]15253; AVX512BW-NEXT:    vpshufb %xmm2, %xmm12, %xmm415254; AVX512BW-NEXT:    vmovdqa64 %xmm12, %xmm2015255; AVX512BW-NEXT:    vpshufb %xmm2, %xmm7, %xmm215256; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3]15257; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]15258; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %zmm12 # 64-byte Reload15259; AVX512BW-NEXT:    vpsrlq $8, %zmm12, %zmm215260; AVX512BW-NEXT:    vpmovqb %zmm2, %xmm215261; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]15262; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15263; AVX512BW-NEXT:    vinserti64x4 $0, %ymm0, %zmm3, %zmm015264; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15265; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm1 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]15266; AVX512BW-NEXT:    vmovdqa %xmm10, %xmm715267; AVX512BW-NEXT:    vpshufb %xmm1, %xmm10, %xmm215268; AVX512BW-NEXT:    vmovdqa64 %xmm25, %xmm2815269; AVX512BW-NEXT:    vmovdqa64 %xmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15270; AVX512BW-NEXT:    vpshufb %xmm1, %xmm25, %xmm315271; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]15272; AVX512BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm215273; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]15274; AVX512BW-NEXT:    vmovdqa64 %xmm31, %xmm3015275; AVX512BW-NEXT:    vpshufb %xmm3, %xmm31, %xmm415276; AVX512BW-NEXT:    vpshufb %xmm3, %xmm11, %xmm515277; AVX512BW-NEXT:    vmovdqa64 %xmm11, %xmm3115278; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]15279; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415280; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5,6],ymm2[7]15281; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,10,2,10,2,10,2,10,2,10,2,10,2,10,2,10]15282; AVX512BW-NEXT:    vpshufb %xmm4, %xmm8, %xmm515283; AVX512BW-NEXT:    vpshufb %xmm4, %xmm29, %xmm2715284; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm27[0],xmm5[0],xmm27[1],xmm5[1],xmm27[2],xmm5[2],xmm27[3],xmm5[3]15285; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515286; AVX512BW-NEXT:    vmovdqa64 %ymm16, %ymm1015287; AVX512BW-NEXT:    vmovdqu64 %ymm16, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15288; AVX512BW-NEXT:    vpsrlq $16, %ymm16, %ymm2715289; AVX512BW-NEXT:    vpmovqb %ymm27, %xmm2715290; AVX512BW-NEXT:    vinserti32x4 $1, %xmm27, %ymm0, %ymm015291; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm5[5],ymm0[6,7]15292; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm2[6,7]15293; AVX512BW-NEXT:    vmovdqa64 %xmm23, %xmm2515294; AVX512BW-NEXT:    vpshufb %xmm1, %xmm23, %xmm215295; AVX512BW-NEXT:    vmovdqa64 %xmm24, %xmm1615296; AVX512BW-NEXT:    vpshufb %xmm1, %xmm24, %xmm515297; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm5[0],xmm2[0],xmm5[1],xmm2[1],xmm5[2],xmm2[2],xmm5[3],xmm2[3]15298; AVX512BW-NEXT:    vmovdqa64 %xmm26, %xmm815299; AVX512BW-NEXT:    vmovdqa64 %xmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15300; AVX512BW-NEXT:    vpshufb %xmm3, %xmm26, %xmm515301; AVX512BW-NEXT:    vpshufb %xmm3, %xmm18, %xmm2715302; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm27[0],xmm5[0],xmm27[1],xmm5[1],xmm27[2],xmm5[2],xmm27[3],xmm5[3]15303; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1,2],xmm2[3]15304; AVX512BW-NEXT:    vpsrlq $16, %zmm9, %zmm515305; AVX512BW-NEXT:    vpmovqb %zmm5, %xmm515306; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1],xmm2[2,3]15307; AVX512BW-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm215308; AVX512BW-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2 {%k1}15309; AVX512BW-NEXT:    vpshufb %xmm1, %xmm21, %xmm015310; AVX512BW-NEXT:    vpshufb %xmm1, %xmm17, %xmm515311; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm5[0],xmm0[0],xmm5[1],xmm0[1],xmm5[2],xmm0[2],xmm5[3],xmm0[3]15312; AVX512BW-NEXT:    vpshufb %xmm3, %xmm6, %xmm515313; AVX512BW-NEXT:    vmovdqa %xmm6, %xmm1115314; AVX512BW-NEXT:    vpshufb %xmm3, %xmm14, %xmm2715315; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm27[0],xmm5[0],xmm27[1],xmm5[1],xmm27[2],xmm5[2],xmm27[3],xmm5[3]15316; AVX512BW-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm015317; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515318; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm5[0,1,2,3,4,5,6],ymm0[7]15319; AVX512BW-NEXT:    vpshufb %xmm4, %xmm19, %xmm515320; AVX512BW-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm24 # 16-byte Reload15321; AVX512BW-NEXT:    vpshufb %xmm4, %xmm24, %xmm415322; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]15323; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415324; AVX512BW-NEXT:    vpsrlq $16, %ymm22, %ymm515325; AVX512BW-NEXT:    vmovdqa64 %ymm22, %ymm2315326; AVX512BW-NEXT:    vpmovqb %ymm5, %xmm515327; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515328; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]15329; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5],ymm0[6,7]15330; AVX512BW-NEXT:    vpshufb %xmm1, %xmm13, %xmm415331; AVX512BW-NEXT:    vmovdqa64 %xmm13, %xmm1915332; AVX512BW-NEXT:    vpshufb %xmm1, %xmm15, %xmm115333; AVX512BW-NEXT:    vmovdqa64 %xmm15, %xmm2215334; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3]15335; AVX512BW-NEXT:    vpshufb %xmm3, %xmm20, %xmm415336; AVX512BW-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm26 # 16-byte Reload15337; AVX512BW-NEXT:    vpshufb %xmm3, %xmm26, %xmm315338; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]15339; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1,2],xmm1[3]15340; AVX512BW-NEXT:    vpsrlq $16, %zmm12, %zmm315341; AVX512BW-NEXT:    vmovdqa64 %zmm12, %zmm615342; AVX512BW-NEXT:    vpmovqb %zmm3, %xmm315343; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm1 = xmm3[0,1],xmm1[2,3]15344; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15345; AVX512BW-NEXT:    vinserti64x4 $0, %ymm0, %zmm2, %zmm015346; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15347; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]15348; AVX512BW-NEXT:    vpshufb %xmm0, %xmm7, %xmm215349; AVX512BW-NEXT:    vmovdqa %xmm7, %xmm1515350; AVX512BW-NEXT:    vpshufb %xmm0, %xmm28, %xmm315351; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]15352; AVX512BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm215353; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]15354; AVX512BW-NEXT:    vpshufb %xmm3, %xmm30, %xmm415355; AVX512BW-NEXT:    vmovdqa64 %xmm30, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill15356; AVX512BW-NEXT:    vmovdqa64 %xmm31, %xmm2815357; AVX512BW-NEXT:    vpshufb %xmm3, %xmm31, %xmm515358; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]15359; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415360; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm2 = ymm4[0,1,2,3,4,5,6],ymm2[7]15361; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [3,11,3,11,3,11,3,11,3,11,3,11,3,11,3,11]15362; AVX512BW-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload15363; AVX512BW-NEXT:    vpshufb %xmm4, %xmm13, %xmm515364; AVX512BW-NEXT:    vpshufb %xmm4, %xmm29, %xmm2715365; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm27[0],xmm5[0],xmm27[1],xmm5[1],xmm27[2],xmm5[2],xmm27[3],xmm5[3]15366; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515367; AVX512BW-NEXT:    vpsrlq $24, %ymm10, %ymm2715368; AVX512BW-NEXT:    vpmovqb %ymm27, %xmm2715369; AVX512BW-NEXT:    vinserti32x4 $1, %xmm27, %ymm0, %ymm115370; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4],ymm5[5],ymm1[6,7]15371; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5],ymm2[6,7]15372; AVX512BW-NEXT:    vpshufb %xmm0, %xmm25, %xmm215373; AVX512BW-NEXT:    vpshufb %xmm0, %xmm16, %xmm515374; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm5[0],xmm2[0],xmm5[1],xmm2[1],xmm5[2],xmm2[2],xmm5[3],xmm2[3]15375; AVX512BW-NEXT:    vpshufb %xmm3, %xmm8, %xmm515376; AVX512BW-NEXT:    vmovdqa64 %xmm18, (%rsp) # 16-byte Spill15377; AVX512BW-NEXT:    vpshufb %xmm3, %xmm18, %xmm2715378; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm27[0],xmm5[0],xmm27[1],xmm5[1],xmm27[2],xmm5[2],xmm27[3],xmm5[3]15379; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1,2],xmm2[3]15380; AVX512BW-NEXT:    vpsrlq $24, %zmm9, %zmm515381; AVX512BW-NEXT:    vpmovqb %zmm5, %xmm515382; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1],xmm2[2,3]15383; AVX512BW-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm215384; AVX512BW-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm2 {%k1}15385; AVX512BW-NEXT:    vpshufb %xmm0, %xmm21, %xmm115386; AVX512BW-NEXT:    vpshufb %xmm0, %xmm17, %xmm515387; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]15388; AVX512BW-NEXT:    vpshufb %xmm3, %xmm11, %xmm515389; AVX512BW-NEXT:    vpshufb %xmm3, %xmm14, %xmm2715390; AVX512BW-NEXT:    vmovdqa64 %xmm14, %xmm1715391; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm27[0],xmm5[0],xmm27[1],xmm5[1],xmm27[2],xmm5[2],xmm27[3],xmm5[3]15392; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115393; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515394; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5,6],ymm1[7]15395; AVX512BW-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload15396; AVX512BW-NEXT:    vpshufb %xmm4, %xmm7, %xmm515397; AVX512BW-NEXT:    vmovdqa64 %xmm24, %xmm3115398; AVX512BW-NEXT:    vpshufb %xmm4, %xmm24, %xmm415399; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]15400; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415401; AVX512BW-NEXT:    vmovdqa64 %ymm23, %ymm1215402; AVX512BW-NEXT:    vpsrlq $24, %ymm23, %ymm515403; AVX512BW-NEXT:    vpmovqb %ymm5, %xmm515404; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515405; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]15406; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]15407; AVX512BW-NEXT:    vmovdqa64 %xmm19, %xmm1015408; AVX512BW-NEXT:    vpshufb %xmm0, %xmm19, %xmm415409; AVX512BW-NEXT:    vpshufb %xmm0, %xmm22, %xmm015410; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]15411; AVX512BW-NEXT:    vpshufb %xmm3, %xmm20, %xmm415412; AVX512BW-NEXT:    vmovdqa64 %xmm26, %xmm2415413; AVX512BW-NEXT:    vpshufb %xmm3, %xmm26, %xmm315414; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]15415; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm3[0,1,2],xmm0[3]15416; AVX512BW-NEXT:    vpsrlq $24, %zmm6, %zmm315417; AVX512BW-NEXT:    vpmovqb %zmm3, %xmm315418; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]15419; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15420; AVX512BW-NEXT:    vinserti64x4 $0, %ymm0, %zmm2, %zmm015421; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15422; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]15423; AVX512BW-NEXT:    vpshufb %xmm0, %xmm15, %xmm115424; AVX512BW-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload15425; AVX512BW-NEXT:    vpshufb %xmm0, %xmm8, %xmm215426; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]15427; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]15428; AVX512BW-NEXT:    vpshufb %xmm2, %xmm30, %xmm315429; AVX512BW-NEXT:    vpshufb %xmm2, %xmm28, %xmm415430; AVX512BW-NEXT:    vmovdqa64 %xmm28, %xmm2315431; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]15432; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115433; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm315434; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]15435; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [4,12,4,12,4,12,4,12,4,12,4,12,4,12,4,12]15436; AVX512BW-NEXT:    vpshufb %xmm3, %xmm13, %xmm415437; AVX512BW-NEXT:    vmovdqa64 %xmm13, %xmm1915438; AVX512BW-NEXT:    vpshufb %xmm3, %xmm29, %xmm515439; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]15440; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415441; AVX512BW-NEXT:    vmovdqu64 {{[-0-9]+}}(%r{{[sb]}}p), %ymm30 # 32-byte Reload15442; AVX512BW-NEXT:    vpsrlq $32, %ymm30, %ymm515443; AVX512BW-NEXT:    vpmovqb %ymm5, %xmm515444; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515445; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]15446; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]15447; AVX512BW-NEXT:    vpshufb %xmm0, %xmm25, %xmm415448; AVX512BW-NEXT:    vpshufb %xmm0, %xmm16, %xmm515449; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]15450; AVX512BW-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm27 # 16-byte Reload15451; AVX512BW-NEXT:    vpshufb %xmm2, %xmm27, %xmm515452; AVX512BW-NEXT:    vpshufb %xmm2, %xmm18, %xmm2815453; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm28[0],xmm5[0],xmm28[1],xmm5[1],xmm28[2],xmm5[2],xmm28[3],xmm5[3]15454; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]15455; AVX512BW-NEXT:    vpsrlq $32, %zmm9, %zmm515456; AVX512BW-NEXT:    vpmovqb %zmm5, %xmm515457; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]15458; AVX512BW-NEXT:    vinserti32x4 $2, %xmm4, %zmm0, %zmm415459; AVX512BW-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm4 {%k1}15460; AVX512BW-NEXT:    vpshufb %xmm0, %xmm21, %xmm115461; AVX512BW-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload15462; AVX512BW-NEXT:    vpshufb %xmm0, %xmm14, %xmm515463; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]15464; AVX512BW-NEXT:    vpshufb %xmm2, %xmm11, %xmm515465; AVX512BW-NEXT:    vmovdqa64 %xmm11, %xmm1815466; AVX512BW-NEXT:    vmovdqa64 %xmm17, %xmm2615467; AVX512BW-NEXT:    vpshufb %xmm2, %xmm17, %xmm2815468; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm28[0],xmm5[0],xmm28[1],xmm5[1],xmm28[2],xmm5[2],xmm28[3],xmm5[3]15469; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115470; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515471; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5,6],ymm1[7]15472; AVX512BW-NEXT:    vpshufb %xmm3, %xmm7, %xmm515473; AVX512BW-NEXT:    vmovdqa64 %xmm7, %xmm2815474; AVX512BW-NEXT:    vpshufb %xmm3, %xmm31, %xmm315475; AVX512BW-NEXT:    vmovdqa64 %xmm31, %xmm1115476; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]15477; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm315478; AVX512BW-NEXT:    vpsrlq $32, %ymm12, %ymm515479; AVX512BW-NEXT:    vpmovqb %ymm5, %xmm515480; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515481; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4],ymm3[5],ymm5[6,7]15482; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]15483; AVX512BW-NEXT:    vpshufb %xmm0, %xmm10, %xmm315484; AVX512BW-NEXT:    vpshufb %xmm0, %xmm22, %xmm015485; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]15486; AVX512BW-NEXT:    vpshufb %xmm2, %xmm20, %xmm315487; AVX512BW-NEXT:    vpshufb %xmm2, %xmm24, %xmm215488; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]15489; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]15490; AVX512BW-NEXT:    vpsrlq $32, %zmm6, %zmm215491; AVX512BW-NEXT:    vmovdqa64 %zmm6, %zmm715492; AVX512BW-NEXT:    vpmovqb %zmm2, %xmm215493; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]15494; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15495; AVX512BW-NEXT:    vinserti64x4 $0, %ymm0, %zmm4, %zmm015496; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15497; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]15498; AVX512BW-NEXT:    vpshufb %xmm0, %xmm15, %xmm115499; AVX512BW-NEXT:    vmovdqa %xmm8, %xmm1315500; AVX512BW-NEXT:    vpshufb %xmm0, %xmm8, %xmm215501; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]15502; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]15503; AVX512BW-NEXT:    vmovdqa64 {{[-0-9]+}}(%r{{[sb]}}p), %xmm17 # 16-byte Reload15504; AVX512BW-NEXT:    vpshufb %xmm2, %xmm17, %xmm315505; AVX512BW-NEXT:    vmovdqa64 %xmm23, %xmm615506; AVX512BW-NEXT:    vpshufb %xmm2, %xmm23, %xmm415507; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]15508; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115509; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm315510; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]15511; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [5,13,5,13,5,13,5,13,5,13,5,13,5,13,5,13]15512; AVX512BW-NEXT:    vmovdqa64 %xmm19, %xmm3115513; AVX512BW-NEXT:    vpshufb %xmm3, %xmm19, %xmm415514; AVX512BW-NEXT:    vpshufb %xmm3, %xmm29, %xmm515515; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]15516; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415517; AVX512BW-NEXT:    vpsrlq $40, %ymm30, %ymm515518; AVX512BW-NEXT:    vmovdqa64 %ymm30, %ymm1915519; AVX512BW-NEXT:    vpmovqb %ymm5, %xmm515520; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515521; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]15522; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]15523; AVX512BW-NEXT:    vpshufb %xmm0, %xmm25, %xmm415524; AVX512BW-NEXT:    vpshufb %xmm0, %xmm16, %xmm515525; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]15526; AVX512BW-NEXT:    vpshufb %xmm2, %xmm27, %xmm515527; AVX512BW-NEXT:    vmovdqa (%rsp), %xmm8 # 16-byte Reload15528; AVX512BW-NEXT:    vpshufb %xmm2, %xmm8, %xmm3015529; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm30[0],xmm5[0],xmm30[1],xmm5[1],xmm30[2],xmm5[2],xmm30[3],xmm5[3]15530; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]15531; AVX512BW-NEXT:    vpsrlq $40, %zmm9, %zmm515532; AVX512BW-NEXT:    vpmovqb %zmm5, %xmm515533; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]15534; AVX512BW-NEXT:    vinserti32x4 $2, %xmm4, %zmm0, %zmm415535; AVX512BW-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm4 {%k1}15536; AVX512BW-NEXT:    vpshufb %xmm0, %xmm21, %xmm115537; AVX512BW-NEXT:    vpshufb %xmm0, %xmm14, %xmm515538; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]15539; AVX512BW-NEXT:    vmovdqa64 %xmm18, %xmm2315540; AVX512BW-NEXT:    vpshufb %xmm2, %xmm18, %xmm515541; AVX512BW-NEXT:    vpshufb %xmm2, %xmm26, %xmm3015542; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm30[0],xmm5[0],xmm30[1],xmm5[1],xmm30[2],xmm5[2],xmm30[3],xmm5[3]15543; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115544; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515545; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5,6],ymm1[7]15546; AVX512BW-NEXT:    vpshufb %xmm3, %xmm28, %xmm515547; AVX512BW-NEXT:    vmovdqa64 %xmm11, %xmm1815548; AVX512BW-NEXT:    vpshufb %xmm3, %xmm11, %xmm315549; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]15550; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm315551; AVX512BW-NEXT:    vpsrlq $40, %ymm12, %ymm515552; AVX512BW-NEXT:    vpmovqb %ymm5, %xmm515553; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515554; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4],ymm3[5],ymm5[6,7]15555; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]15556; AVX512BW-NEXT:    vpshufb %xmm0, %xmm10, %xmm315557; AVX512BW-NEXT:    vpshufb %xmm0, %xmm22, %xmm015558; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]15559; AVX512BW-NEXT:    vpshufb %xmm2, %xmm20, %xmm315560; AVX512BW-NEXT:    vpshufb %xmm2, %xmm24, %xmm215561; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]15562; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]15563; AVX512BW-NEXT:    vmovdqa64 %zmm7, %zmm1115564; AVX512BW-NEXT:    vpsrlq $40, %zmm7, %zmm215565; AVX512BW-NEXT:    vpmovqb %zmm2, %xmm215566; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]15567; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15568; AVX512BW-NEXT:    vinserti64x4 $0, %ymm0, %zmm4, %zmm015569; AVX512BW-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15570; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]15571; AVX512BW-NEXT:    vpshufb %xmm0, %xmm15, %xmm115572; AVX512BW-NEXT:    vpshufb %xmm0, %xmm13, %xmm315573; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3]15574; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]15575; AVX512BW-NEXT:    vpshufb %xmm3, %xmm17, %xmm415576; AVX512BW-NEXT:    vpshufb %xmm3, %xmm6, %xmm515577; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]15578; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115579; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415580; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5,6],ymm1[7]15581; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [6,14,6,14,6,14,6,14,6,14,6,14,6,14,6,14]15582; AVX512BW-NEXT:    vpshufb %xmm4, %xmm31, %xmm515583; AVX512BW-NEXT:    vpshufb %xmm4, %xmm29, %xmm3015584; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm30[0],xmm5[0],xmm30[1],xmm5[1],xmm30[2],xmm5[2],xmm30[3],xmm5[3]15585; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515586; AVX512BW-NEXT:    vpsrlq $48, %ymm19, %ymm3015587; AVX512BW-NEXT:    vpmovqb %ymm30, %xmm3015588; AVX512BW-NEXT:    vinserti32x4 $1, %xmm30, %ymm0, %ymm215589; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm5[5],ymm2[6,7]15590; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]15591; AVX512BW-NEXT:    vpshufb %xmm0, %xmm25, %xmm215592; AVX512BW-NEXT:    vpshufb %xmm0, %xmm16, %xmm515593; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm5[0],xmm2[0],xmm5[1],xmm2[1],xmm5[2],xmm2[2],xmm5[3],xmm2[3]15594; AVX512BW-NEXT:    vpshufb %xmm3, %xmm27, %xmm515595; AVX512BW-NEXT:    vpshufb %xmm3, %xmm8, %xmm3015596; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm30[0],xmm5[0],xmm30[1],xmm5[1],xmm30[2],xmm5[2],xmm30[3],xmm5[3]15597; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1,2],xmm2[3]15598; AVX512BW-NEXT:    vpsrlq $48, %zmm9, %zmm515599; AVX512BW-NEXT:    vpmovqb %zmm5, %xmm515600; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm2 = xmm5[0,1],xmm2[2,3]15601; AVX512BW-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm215602; AVX512BW-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm2 {%k1}15603; AVX512BW-NEXT:    vpshufb %xmm0, %xmm21, %xmm115604; AVX512BW-NEXT:    vpshufb %xmm0, %xmm14, %xmm515605; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]15606; AVX512BW-NEXT:    vpshufb %xmm3, %xmm23, %xmm515607; AVX512BW-NEXT:    vpshufb %xmm3, %xmm26, %xmm3015608; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm30[0],xmm5[0],xmm30[1],xmm5[1],xmm30[2],xmm5[2],xmm30[3],xmm5[3]15609; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115610; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515611; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5,6],ymm1[7]15612; AVX512BW-NEXT:    vpshufb %xmm4, %xmm28, %xmm515613; AVX512BW-NEXT:    vpshufb %xmm4, %xmm18, %xmm415614; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]15615; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415616; AVX512BW-NEXT:    vpsrlq $48, %ymm12, %ymm515617; AVX512BW-NEXT:    vpmovqb %ymm5, %xmm515618; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515619; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]15620; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]15621; AVX512BW-NEXT:    vpshufb %xmm0, %xmm10, %xmm415622; AVX512BW-NEXT:    vpshufb %xmm0, %xmm22, %xmm015623; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]15624; AVX512BW-NEXT:    vpshufb %xmm3, %xmm20, %xmm415625; AVX512BW-NEXT:    vpshufb %xmm3, %xmm24, %xmm315626; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]15627; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm3[0,1,2],xmm0[3]15628; AVX512BW-NEXT:    vpsrlq $48, %zmm11, %zmm315629; AVX512BW-NEXT:    vpmovqb %zmm3, %xmm315630; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm3[0,1],xmm0[2,3]15631; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15632; AVX512BW-NEXT:    vinserti64x4 $0, %ymm0, %zmm2, %zmm3015633; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm0 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]15634; AVX512BW-NEXT:    vpshufb %xmm0, %xmm15, %xmm115635; AVX512BW-NEXT:    vpshufb %xmm0, %xmm13, %xmm215636; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]15637; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm2 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]15638; AVX512BW-NEXT:    vpshufb %xmm2, %xmm17, %xmm315639; AVX512BW-NEXT:    vpshufb %xmm2, %xmm6, %xmm415640; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]15641; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115642; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm315643; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5,6],ymm1[7]15644; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm3 = [7,15,7,15,7,15,7,15,7,15,7,15,7,15,7,15]15645; AVX512BW-NEXT:    vpshufb %xmm3, %xmm31, %xmm415646; AVX512BW-NEXT:    vpshufb %xmm3, %xmm29, %xmm515647; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]15648; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm415649; AVX512BW-NEXT:    vpsrlq $56, %ymm19, %ymm515650; AVX512BW-NEXT:    vpmovqb %ymm5, %xmm515651; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515652; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5],ymm5[6,7]15653; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm4[0,1,2,3,4,5],ymm1[6,7]15654; AVX512BW-NEXT:    vpshufb %xmm0, %xmm25, %xmm415655; AVX512BW-NEXT:    vpshufb %xmm0, %xmm16, %xmm515656; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]15657; AVX512BW-NEXT:    vpshufb %xmm2, %xmm27, %xmm515658; AVX512BW-NEXT:    vpshufb %xmm2, %xmm8, %xmm615659; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]15660; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3]15661; AVX512BW-NEXT:    vpsrlq $56, %zmm9, %zmm515662; AVX512BW-NEXT:    vpmovqb %zmm5, %xmm515663; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm4 = xmm5[0,1],xmm4[2,3]15664; AVX512BW-NEXT:    vinserti32x4 $2, %xmm4, %zmm0, %zmm415665; AVX512BW-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm4 {%k1}15666; AVX512BW-NEXT:    vpshufb %xmm0, %xmm21, %xmm115667; AVX512BW-NEXT:    vpshufb %xmm0, %xmm14, %xmm515668; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3]15669; AVX512BW-NEXT:    vpshufb %xmm2, %xmm23, %xmm515670; AVX512BW-NEXT:    vpshufb %xmm2, %xmm26, %xmm615671; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3]15672; AVX512BW-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm115673; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515674; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm5[0,1,2,3,4,5,6],ymm1[7]15675; AVX512BW-NEXT:    vpshufb %xmm3, %xmm28, %xmm515676; AVX512BW-NEXT:    vpshufb %xmm3, %xmm18, %xmm315677; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]15678; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm315679; AVX512BW-NEXT:    vpsrlq $56, %ymm12, %ymm515680; AVX512BW-NEXT:    vpmovqb %ymm5, %xmm515681; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm515682; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm3 = ymm5[0,1,2,3,4],ymm3[5],ymm5[6,7]15683; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm3[0,1,2,3,4,5],ymm1[6,7]15684; AVX512BW-NEXT:    vpshufb %xmm0, %xmm10, %xmm315685; AVX512BW-NEXT:    vpshufb %xmm0, %xmm22, %xmm015686; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]15687; AVX512BW-NEXT:    vpshufb %xmm2, %xmm20, %xmm315688; AVX512BW-NEXT:    vpshufb %xmm2, %xmm24, %xmm215689; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]15690; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]15691; AVX512BW-NEXT:    vpsrlq $56, %zmm11, %zmm215692; AVX512BW-NEXT:    vpmovqb %zmm2, %xmm215693; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1],xmm0[2,3]15694; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]15695; AVX512BW-NEXT:    vinserti64x4 $0, %ymm0, %zmm4, %zmm015696; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15697; AVX512BW-NEXT:    vmovaps %zmm1, (%rsi)15698; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15699; AVX512BW-NEXT:    vmovaps %zmm1, (%rdx)15700; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15701; AVX512BW-NEXT:    vmovaps %zmm1, (%rcx)15702; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15703; AVX512BW-NEXT:    vmovaps %zmm1, (%r8)15704; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15705; AVX512BW-NEXT:    vmovaps %zmm1, (%r9)15706; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax15707; AVX512BW-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm1 # 64-byte Reload15708; AVX512BW-NEXT:    vmovaps %zmm1, (%rax)15709; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax15710; AVX512BW-NEXT:    vmovdqa64 %zmm30, (%rax)15711; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax15712; AVX512BW-NEXT:    vmovdqa64 %zmm0, (%rax)15713; AVX512BW-NEXT:    addq $552, %rsp # imm = 0x22815714; AVX512BW-NEXT:    vzeroupper15715; AVX512BW-NEXT:    retq15716;15717; AVX512BW-FCP-LABEL: load_i8_stride8_vf64:15718; AVX512BW-FCP:       # %bb.0:15719; AVX512BW-FCP-NEXT:    subq $264, %rsp # imm = 0x10815720; AVX512BW-FCP-NEXT:    vmovdqa64 256(%rdi), %zmm2615721; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm5 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15722; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [0,2,2,3,0,2,4,6]15723; AVX512BW-FCP-NEXT:    vmovdqa 480(%rdi), %ymm115724; AVX512BW-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15725; AVX512BW-FCP-NEXT:    vpermd %ymm1, %ymm0, %ymm3015726; AVX512BW-FCP-NEXT:    vpshufb %ymm5, %ymm30, %ymm115727; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm8 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15728; AVX512BW-FCP-NEXT:    vmovdqa 448(%rdi), %ymm215729; AVX512BW-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15730; AVX512BW-FCP-NEXT:    vpermd %ymm2, %ymm0, %ymm1215731; AVX512BW-FCP-NEXT:    vpshufb %ymm8, %ymm12, %ymm215732; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5,6],ymm1[7]15733; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm7 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15734; AVX512BW-FCP-NEXT:    vmovdqa64 416(%rdi), %ymm2215735; AVX512BW-FCP-NEXT:    vpermd %ymm22, %ymm0, %ymm2015736; AVX512BW-FCP-NEXT:    vpshufb %ymm7, %ymm20, %ymm215737; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15738; AVX512BW-FCP-NEXT:    vmovdqa64 384(%rdi), %ymm2715739; AVX512BW-FCP-NEXT:    vpermd %ymm27, %ymm0, %ymm915740; AVX512BW-FCP-NEXT:    vpshufb %ymm14, %ymm9, %ymm315741; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5],ymm3[6,7]15742; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3,4,5],ymm1[6,7]15743; AVX512BW-FCP-NEXT:    vmovdqa64 352(%rdi), %ymm2415744; AVX512BW-FCP-NEXT:    vpmovqd %ymm24, %xmm1815745; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm6 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15746; AVX512BW-FCP-NEXT:    vpshufb %xmm6, %xmm18, %xmm215747; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdi), %ymm2315748; AVX512BW-FCP-NEXT:    vpmovqd %ymm23, %xmm1715749; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm13 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15750; AVX512BW-FCP-NEXT:    vpshufb %xmm13, %xmm17, %xmm315751; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1,2],xmm2[3]15752; AVX512BW-FCP-NEXT:    vpmovqb %zmm26, %xmm315753; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm3[0,1],xmm2[2,3]15754; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm1915755; AVX512BW-FCP-NEXT:    movb $-64, %al15756; AVX512BW-FCP-NEXT:    kmovd %eax, %k115757; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm19 {%k1}15758; AVX512BW-FCP-NEXT:    vmovdqa 224(%rdi), %ymm115759; AVX512BW-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15760; AVX512BW-FCP-NEXT:    vpermd %ymm1, %ymm0, %ymm1615761; AVX512BW-FCP-NEXT:    vpshufb %ymm5, %ymm16, %ymm115762; AVX512BW-FCP-NEXT:    vmovdqa 192(%rdi), %ymm215763; AVX512BW-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill15764; AVX512BW-FCP-NEXT:    vpermd %ymm2, %ymm0, %ymm415765; AVX512BW-FCP-NEXT:    vpshufb %ymm8, %ymm4, %ymm215766; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm2[0,1,2,3,4,5,6],ymm1[7]15767; AVX512BW-FCP-NEXT:    vmovdqa64 160(%rdi), %ymm3115768; AVX512BW-FCP-NEXT:    vpermd %ymm31, %ymm0, %ymm1015769; AVX512BW-FCP-NEXT:    vpshufb %ymm7, %ymm10, %ymm1115770; AVX512BW-FCP-NEXT:    vmovdqa64 128(%rdi), %ymm2115771; AVX512BW-FCP-NEXT:    vpermd %ymm21, %ymm0, %ymm715772; AVX512BW-FCP-NEXT:    vpshufb %ymm14, %ymm7, %ymm015773; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4],ymm11[5],ymm0[6,7]15774; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm8[6,7]15775; AVX512BW-FCP-NEXT:    vmovdqa64 96(%rdi), %ymm2815776; AVX512BW-FCP-NEXT:    vpmovqd %ymm28, %xmm515777; AVX512BW-FCP-NEXT:    vpshufb %xmm6, %xmm5, %xmm815778; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm2515779; AVX512BW-FCP-NEXT:    vpmovqd %ymm25, %xmm1115780; AVX512BW-FCP-NEXT:    vpshufb %xmm13, %xmm11, %xmm1315781; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm13[0,1,2],xmm8[3]15782; AVX512BW-FCP-NEXT:    vmovdqa64 (%rdi), %zmm815783; AVX512BW-FCP-NEXT:    vpmovqb %zmm8, %xmm1515784; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1],xmm13[2,3]15785; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3],ymm0[4,5,6,7]15786; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm19, %zmm015787; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15788; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm6 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15789; AVX512BW-FCP-NEXT:    vpshufb %ymm6, %ymm30, %ymm015790; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm19 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15791; AVX512BW-FCP-NEXT:    vpshufb %ymm19, %ymm12, %ymm1315792; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5,6],ymm0[7]15793; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm29 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15794; AVX512BW-FCP-NEXT:    vpshufb %ymm29, %ymm20, %ymm1315795; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm3 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15796; AVX512BW-FCP-NEXT:    vpshufb %ymm3, %ymm9, %ymm1515797; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4],ymm13[5],ymm15[6,7]15798; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]15799; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm2 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15800; AVX512BW-FCP-NEXT:    vpshufb %xmm2, %xmm18, %xmm1315801; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm1 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15802; AVX512BW-FCP-NEXT:    vpshufb %xmm1, %xmm17, %xmm1515803; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1,2],xmm13[3]15804; AVX512BW-FCP-NEXT:    vpsrlq $8, %zmm26, %zmm1515805; AVX512BW-FCP-NEXT:    vpmovqb %zmm15, %xmm1515806; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1],xmm13[2,3]15807; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm13, %zmm0, %zmm1315808; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm13 {%k1}15809; AVX512BW-FCP-NEXT:    vpshufb %ymm6, %ymm16, %ymm015810; AVX512BW-FCP-NEXT:    vpshufb %ymm19, %ymm4, %ymm1515811; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4,5,6],ymm0[7]15812; AVX512BW-FCP-NEXT:    vpshufb %ymm29, %ymm10, %ymm1515813; AVX512BW-FCP-NEXT:    vpshufb %ymm3, %ymm7, %ymm1415814; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3,4],ymm15[5],ymm14[6,7]15815; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]15816; AVX512BW-FCP-NEXT:    vpshufb %xmm2, %xmm5, %xmm1415817; AVX512BW-FCP-NEXT:    vpshufb %xmm1, %xmm11, %xmm1515818; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]15819; AVX512BW-FCP-NEXT:    vpsrlq $8, %zmm8, %zmm1515820; AVX512BW-FCP-NEXT:    vpmovqb %zmm15, %xmm1515821; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]15822; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]15823; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm13, %zmm015824; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15825; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm1 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15826; AVX512BW-FCP-NEXT:    vpshufb %ymm1, %ymm30, %ymm015827; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm2 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15828; AVX512BW-FCP-NEXT:    vpshufb %ymm2, %ymm12, %ymm1315829; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5,6],ymm0[7]15830; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm3 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15831; AVX512BW-FCP-NEXT:    vpshufb %ymm3, %ymm20, %ymm1315832; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm19 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15833; AVX512BW-FCP-NEXT:    vpshufb %ymm19, %ymm9, %ymm1415834; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4],ymm13[5],ymm14[6,7]15835; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm13[0,1,2,3,4,5],ymm0[6,7]15836; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm29 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15837; AVX512BW-FCP-NEXT:    vpshufb %xmm29, %xmm18, %xmm1315838; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm6 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15839; AVX512BW-FCP-NEXT:    vpshufb %xmm6, %xmm17, %xmm1515840; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1,2],xmm13[3]15841; AVX512BW-FCP-NEXT:    vpsrlq $16, %zmm26, %zmm1515842; AVX512BW-FCP-NEXT:    vpmovqb %zmm15, %xmm1515843; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm15[0,1],xmm13[2,3]15844; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm13, %zmm0, %zmm1315845; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm13 {%k1}15846; AVX512BW-FCP-NEXT:    vpshufb %ymm1, %ymm16, %ymm015847; AVX512BW-FCP-NEXT:    vpshufb %ymm2, %ymm4, %ymm1515848; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4,5,6],ymm0[7]15849; AVX512BW-FCP-NEXT:    vpshufb %ymm3, %ymm10, %ymm1515850; AVX512BW-FCP-NEXT:    vpshufb %ymm19, %ymm7, %ymm1415851; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3,4],ymm15[5],ymm14[6,7]15852; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3,4,5],ymm0[6,7]15853; AVX512BW-FCP-NEXT:    vpshufb %xmm29, %xmm5, %xmm1415854; AVX512BW-FCP-NEXT:    vpshufb %xmm6, %xmm11, %xmm1515855; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3]15856; AVX512BW-FCP-NEXT:    vpsrlq $16, %zmm8, %zmm1515857; AVX512BW-FCP-NEXT:    vpmovqb %zmm15, %xmm1515858; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm14 = xmm15[0,1],xmm14[2,3]15859; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm14[0,1,2,3],ymm0[4,5,6,7]15860; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm13, %zmm015861; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill15862; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm1 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15863; AVX512BW-FCP-NEXT:    vpshufb %ymm1, %ymm30, %ymm015864; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm13 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15865; AVX512BW-FCP-NEXT:    vpshufb %ymm13, %ymm12, %ymm1215866; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm12[0,1,2,3,4,5,6],ymm0[7]15867; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm2 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15868; AVX512BW-FCP-NEXT:    vpshufb %ymm2, %ymm20, %ymm1215869; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm30 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15870; AVX512BW-FCP-NEXT:    vpshufb %ymm30, %ymm9, %ymm915871; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4],ymm12[5],ymm9[6,7]15872; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm9[0,1,2,3,4,5],ymm0[6,7]15873; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm29 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15874; AVX512BW-FCP-NEXT:    vpshufb %xmm29, %xmm18, %xmm1215875; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm19 = [3,7,11,15,3,7,11,15,3,7,11,15,3,7,11,15]15876; AVX512BW-FCP-NEXT:    vpshufb %xmm19, %xmm17, %xmm615877; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm6[0,1,2],xmm12[3]15878; AVX512BW-FCP-NEXT:    vpsrlq $24, %zmm26, %zmm1215879; AVX512BW-FCP-NEXT:    vpmovqb %zmm12, %xmm1215880; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm6 = xmm12[0,1],xmm6[2,3]15881; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm6, %zmm0, %zmm615882; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm6 {%k1}15883; AVX512BW-FCP-NEXT:    vpshufb %ymm1, %ymm16, %ymm015884; AVX512BW-FCP-NEXT:    vpshufb %ymm13, %ymm4, %ymm415885; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm4[0,1,2,3,4,5,6],ymm0[7]15886; AVX512BW-FCP-NEXT:    vpshufb %ymm2, %ymm10, %ymm315887; AVX512BW-FCP-NEXT:    vpshufb %ymm30, %ymm7, %ymm215888; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4],ymm3[5],ymm2[6,7]15889; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3,4,5],ymm0[6,7]15890; AVX512BW-FCP-NEXT:    vpshufb %xmm29, %xmm5, %xmm115891; AVX512BW-FCP-NEXT:    vpshufb %xmm19, %xmm11, %xmm215892; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1,2],xmm1[3]15893; AVX512BW-FCP-NEXT:    vpsrlq $24, %zmm8, %zmm215894; AVX512BW-FCP-NEXT:    vpmovqb %zmm2, %xmm215895; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm1 = xmm2[0,1],xmm1[2,3]15896; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]15897; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm0, %zmm6, %zmm015898; AVX512BW-FCP-NEXT:    vmovdqu64 %zmm0, (%rsp) # 64-byte Spill15899; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm6 = [1,3,2,3,1,3,5,7]15900; AVX512BW-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm0 # 32-byte Folded Reload15901; AVX512BW-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm1 # 32-byte Folded Reload15902; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm9 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15903; AVX512BW-FCP-NEXT:    vpshufb %ymm9, %ymm0, %ymm215904; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm10 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15905; AVX512BW-FCP-NEXT:    vpshufb %ymm10, %ymm1, %ymm315906; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm3[0,1,2,3,4,5,6],ymm2[7]15907; AVX512BW-FCP-NEXT:    vpermd %ymm22, %ymm6, %ymm215908; AVX512BW-FCP-NEXT:    vpermd %ymm27, %ymm6, %ymm315909; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm22 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15910; AVX512BW-FCP-NEXT:    vpshufb %ymm22, %ymm2, %ymm515911; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm27 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15912; AVX512BW-FCP-NEXT:    vpshufb %ymm27, %ymm3, %ymm1115913; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm11[0,1,2,3,4],ymm5[5],ymm11[6,7]15914; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm5[0,1,2,3,4,5],ymm4[6,7]15915; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm12 = [1,3,5,7,5,7,6,7]15916; AVX512BW-FCP-NEXT:    vpermd %ymm24, %ymm12, %ymm415917; AVX512BW-FCP-NEXT:    vpermd %ymm23, %ymm12, %ymm515918; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm23 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15919; AVX512BW-FCP-NEXT:    vpshufb %xmm23, %xmm4, %xmm1315920; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm24 = [0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12]15921; AVX512BW-FCP-NEXT:    vpshufb %xmm24, %xmm5, %xmm1415922; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm14[0,1,2],xmm13[3]15923; AVX512BW-FCP-NEXT:    vpsrlq $32, %zmm26, %zmm1415924; AVX512BW-FCP-NEXT:    vpmovqb %zmm14, %xmm1415925; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm14[0,1],xmm13[2,3]15926; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm13, %zmm0, %zmm1415927; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm11, %zmm0, %zmm14 {%k1}15928; AVX512BW-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm11 # 32-byte Folded Reload15929; AVX512BW-FCP-NEXT:    vpshufb %ymm9, %ymm11, %ymm1315930; AVX512BW-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm17 # 32-byte Folded Reload15931; AVX512BW-FCP-NEXT:    vpshufb %ymm10, %ymm17, %ymm1515932; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5,6],ymm13[7]15933; AVX512BW-FCP-NEXT:    vpermd %ymm31, %ymm6, %ymm1615934; AVX512BW-FCP-NEXT:    vpermd %ymm21, %ymm6, %ymm1515935; AVX512BW-FCP-NEXT:    vpshufb %ymm22, %ymm16, %ymm615936; AVX512BW-FCP-NEXT:    vpshufb %ymm27, %ymm15, %ymm1015937; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3,4],ymm6[5],ymm10[6,7]15938; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm13[6,7]15939; AVX512BW-FCP-NEXT:    vpermd %ymm28, %ymm12, %ymm1315940; AVX512BW-FCP-NEXT:    vpermd %ymm25, %ymm12, %ymm1815941; AVX512BW-FCP-NEXT:    vpshufb %xmm23, %xmm13, %xmm1015942; AVX512BW-FCP-NEXT:    vpshufb %xmm24, %xmm18, %xmm1215943; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm12[0,1,2],xmm10[3]15944; AVX512BW-FCP-NEXT:    vpsrlq $32, %zmm8, %zmm1215945; AVX512BW-FCP-NEXT:    vpmovqb %zmm12, %xmm1215946; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm12[0,1],xmm10[2,3]15947; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm10[0,1,2,3],ymm6[4,5,6,7]15948; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm6, %zmm14, %zmm615949; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm9 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15950; AVX512BW-FCP-NEXT:    vpshufb %ymm9, %ymm0, %ymm1015951; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm7 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15952; AVX512BW-FCP-NEXT:    vpshufb %ymm7, %ymm1, %ymm1215953; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3,4,5,6],ymm10[7]15954; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm23 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15955; AVX512BW-FCP-NEXT:    vpshufb %ymm23, %ymm2, %ymm1215956; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm20 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15957; AVX512BW-FCP-NEXT:    vpshufb %ymm20, %ymm3, %ymm1415958; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm14[0,1,2,3,4],ymm12[5],ymm14[6,7]15959; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm12[0,1,2,3,4,5],ymm10[6,7]15960; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm21 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15961; AVX512BW-FCP-NEXT:    vpshufb %xmm21, %xmm4, %xmm1215962; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} xmm22 = [1,5,9,13,1,5,9,13,1,5,9,13,1,5,9,13]15963; AVX512BW-FCP-NEXT:    vpshufb %xmm22, %xmm5, %xmm1415964; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1,2],xmm12[3]15965; AVX512BW-FCP-NEXT:    vpsrlq $40, %zmm26, %zmm1415966; AVX512BW-FCP-NEXT:    vpmovqb %zmm14, %xmm1415967; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm12 = xmm14[0,1],xmm12[2,3]15968; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm12, %zmm0, %zmm1215969; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm10, %zmm0, %zmm12 {%k1}15970; AVX512BW-FCP-NEXT:    vpshufb %ymm9, %ymm11, %ymm1015971; AVX512BW-FCP-NEXT:    vpshufb %ymm7, %ymm17, %ymm1415972; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm14[0,1,2,3,4,5,6],ymm10[7]15973; AVX512BW-FCP-NEXT:    vpshufb %ymm23, %ymm16, %ymm1415974; AVX512BW-FCP-NEXT:    vpshufb %ymm20, %ymm15, %ymm915975; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4],ymm14[5],ymm9[6,7]15976; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5],ymm10[6,7]15977; AVX512BW-FCP-NEXT:    vpshufb %xmm21, %xmm13, %xmm1015978; AVX512BW-FCP-NEXT:    vpshufb %xmm22, %xmm18, %xmm1415979; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm14[0,1,2],xmm10[3]15980; AVX512BW-FCP-NEXT:    vpsrlq $40, %zmm8, %zmm1415981; AVX512BW-FCP-NEXT:    vpmovqb %zmm14, %xmm1415982; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm14[0,1],xmm10[2,3]15983; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm10[0,1,2,3],ymm9[4,5,6,7]15984; AVX512BW-FCP-NEXT:    vinserti64x4 $0, %ymm9, %zmm12, %zmm2115985; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm14 = [2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14,2,6,10,14]15986; AVX512BW-FCP-NEXT:    vpshufb %ymm14, %ymm0, %ymm915987; AVX512BW-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm

File truncated to the first 1 MiB.