brintos

brintos / llvm-project-archived public Read only

0
0
Text · 966.5 KiB · 09d0079 Raw
14810 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_stride7_vf2(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {19; SSE-LABEL: load_i8_stride7_vf2:20; SSE:       # %bb.0:21; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax22; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %r1023; SSE-NEXT:    movdqa (%rdi), %xmm324; SSE-NEXT:    pxor %xmm4, %xmm425; SSE-NEXT:    movdqa %xmm3, %xmm226; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3],xmm2[4],xmm4[4],xmm2[5],xmm4[5],xmm2[6],xmm4[6],xmm2[7],xmm4[7]27; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,3,2,3]28; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm0[0,3,2,3,4,5,6,7]29; SSE-NEXT:    packuswb %xmm1, %xmm130; SSE-NEXT:    movdqa %xmm2, %xmm031; SSE-NEXT:    psrld $16, %xmm032; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm4[8],xmm3[9],xmm4[9],xmm3[10],xmm4[10],xmm3[11],xmm4[11],xmm3[12],xmm4[12],xmm3[13],xmm4[13],xmm3[14],xmm4[14],xmm3[15],xmm4[15]33; SSE-NEXT:    movdqa %xmm0, %xmm434; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]35; SSE-NEXT:    packuswb %xmm4, %xmm436; SSE-NEXT:    movdqa %xmm2, %xmm637; SSE-NEXT:    punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm3[0],xmm6[1],xmm3[1],xmm6[2],xmm3[2],xmm6[3],xmm3[3]38; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm6[2,1,2,3]39; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[0,3,2,3,4,5,6,7]40; SSE-NEXT:    packuswb %xmm5, %xmm541; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm6[0,1,2,3,6,5,6,7]42; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm6[2,2,2,2]43; SSE-NEXT:    packuswb %xmm6, %xmm644; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm2[2,3,2,3]45; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm3[4],xmm0[5],xmm3[5],xmm0[6],xmm3[6],xmm0[7],xmm3[7]46; SSE-NEXT:    punpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]47; SSE-NEXT:    psrlq $48, %xmm348; SSE-NEXT:    punpcklwd {{.*#+}} xmm7 = xmm7[0],xmm3[0],xmm7[1],xmm3[1],xmm7[2],xmm3[2],xmm7[3],xmm3[3]49; SSE-NEXT:    packuswb %xmm7, %xmm750; SSE-NEXT:    packuswb %xmm0, %xmm051; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,1,2,3]52; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,3,2,3,4,5,6,7]53; SSE-NEXT:    packuswb %xmm2, %xmm254; SSE-NEXT:    movd %xmm1, %edi55; SSE-NEXT:    movw %di, (%rsi)56; SSE-NEXT:    movd %xmm4, %esi57; SSE-NEXT:    movw %si, (%rdx)58; SSE-NEXT:    movd %xmm5, %edx59; SSE-NEXT:    movw %dx, (%rcx)60; SSE-NEXT:    movd %xmm6, %ecx61; SSE-NEXT:    movw %cx, (%r8)62; SSE-NEXT:    movd %xmm7, %ecx63; SSE-NEXT:    movw %cx, (%r9)64; SSE-NEXT:    movd %xmm0, %ecx65; SSE-NEXT:    movw %cx, (%r10)66; SSE-NEXT:    movd %xmm2, %ecx67; SSE-NEXT:    movw %cx, (%rax)68; SSE-NEXT:    retq69;70; AVX-LABEL: load_i8_stride7_vf2:71; AVX:       # %bb.0:72; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax73; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r1074; AVX-NEXT:    vmovdqa (%rdi), %xmm075; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]76; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]77; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]78; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]79; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]80; AVX-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]81; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]82; AVX-NEXT:    vpextrw $0, %xmm1, (%rsi)83; AVX-NEXT:    vpextrw $0, %xmm2, (%rdx)84; AVX-NEXT:    vpextrw $0, %xmm3, (%rcx)85; AVX-NEXT:    vpextrw $0, %xmm4, (%r8)86; AVX-NEXT:    vpextrw $0, %xmm5, (%r9)87; AVX-NEXT:    vpextrw $0, %xmm6, (%r10)88; AVX-NEXT:    vpextrw $0, %xmm0, (%rax)89; AVX-NEXT:    retq90;91; AVX2-LABEL: load_i8_stride7_vf2:92; AVX2:       # %bb.0:93; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax94; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r1095; AVX2-NEXT:    vmovdqa (%rdi), %xmm096; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]97; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]98; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]99; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]100; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]101; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]102; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]103; AVX2-NEXT:    vpextrw $0, %xmm1, (%rsi)104; AVX2-NEXT:    vpextrw $0, %xmm2, (%rdx)105; AVX2-NEXT:    vpextrw $0, %xmm3, (%rcx)106; AVX2-NEXT:    vpextrw $0, %xmm4, (%r8)107; AVX2-NEXT:    vpextrw $0, %xmm5, (%r9)108; AVX2-NEXT:    vpextrw $0, %xmm6, (%r10)109; AVX2-NEXT:    vpextrw $0, %xmm0, (%rax)110; AVX2-NEXT:    retq111;112; AVX2-FP-LABEL: load_i8_stride7_vf2:113; AVX2-FP:       # %bb.0:114; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax115; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r10116; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm0117; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]118; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]119; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]120; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]121; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]122; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]123; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]124; AVX2-FP-NEXT:    vpextrw $0, %xmm1, (%rsi)125; AVX2-FP-NEXT:    vpextrw $0, %xmm2, (%rdx)126; AVX2-FP-NEXT:    vpextrw $0, %xmm3, (%rcx)127; AVX2-FP-NEXT:    vpextrw $0, %xmm4, (%r8)128; AVX2-FP-NEXT:    vpextrw $0, %xmm5, (%r9)129; AVX2-FP-NEXT:    vpextrw $0, %xmm6, (%r10)130; AVX2-FP-NEXT:    vpextrw $0, %xmm0, (%rax)131; AVX2-FP-NEXT:    retq132;133; AVX2-FCP-LABEL: load_i8_stride7_vf2:134; AVX2-FCP:       # %bb.0:135; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax136; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10137; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm0138; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]139; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]140; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]141; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]142; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]143; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]144; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]145; AVX2-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)146; AVX2-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)147; AVX2-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)148; AVX2-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)149; AVX2-FCP-NEXT:    vpextrw $0, %xmm5, (%r9)150; AVX2-FCP-NEXT:    vpextrw $0, %xmm6, (%r10)151; AVX2-FCP-NEXT:    vpextrw $0, %xmm0, (%rax)152; AVX2-FCP-NEXT:    retq153;154; AVX512-LABEL: load_i8_stride7_vf2:155; AVX512:       # %bb.0:156; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax157; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r10158; AVX512-NEXT:    vmovdqa (%rdi), %xmm0159; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]160; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]161; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]162; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]163; AVX512-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]164; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]165; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]166; AVX512-NEXT:    vpextrw $0, %xmm1, (%rsi)167; AVX512-NEXT:    vpextrw $0, %xmm2, (%rdx)168; AVX512-NEXT:    vpextrw $0, %xmm3, (%rcx)169; AVX512-NEXT:    vpextrw $0, %xmm4, (%r8)170; AVX512-NEXT:    vpextrw $0, %xmm5, (%r9)171; AVX512-NEXT:    vpextrw $0, %xmm6, (%r10)172; AVX512-NEXT:    vpextrw $0, %xmm0, (%rax)173; AVX512-NEXT:    retq174;175; AVX512-FCP-LABEL: load_i8_stride7_vf2:176; AVX512-FCP:       # %bb.0:177; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax178; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10179; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm0180; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]181; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]182; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]183; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]184; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]185; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]186; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]187; AVX512-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)188; AVX512-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)189; AVX512-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)190; AVX512-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)191; AVX512-FCP-NEXT:    vpextrw $0, %xmm5, (%r9)192; AVX512-FCP-NEXT:    vpextrw $0, %xmm6, (%r10)193; AVX512-FCP-NEXT:    vpextrw $0, %xmm0, (%rax)194; AVX512-FCP-NEXT:    retq195;196; AVX512DQ-LABEL: load_i8_stride7_vf2:197; AVX512DQ:       # %bb.0:198; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax199; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r10200; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm0201; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]202; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]203; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]204; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]205; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]206; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]207; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]208; AVX512DQ-NEXT:    vpextrw $0, %xmm1, (%rsi)209; AVX512DQ-NEXT:    vpextrw $0, %xmm2, (%rdx)210; AVX512DQ-NEXT:    vpextrw $0, %xmm3, (%rcx)211; AVX512DQ-NEXT:    vpextrw $0, %xmm4, (%r8)212; AVX512DQ-NEXT:    vpextrw $0, %xmm5, (%r9)213; AVX512DQ-NEXT:    vpextrw $0, %xmm6, (%r10)214; AVX512DQ-NEXT:    vpextrw $0, %xmm0, (%rax)215; AVX512DQ-NEXT:    retq216;217; AVX512DQ-FCP-LABEL: load_i8_stride7_vf2:218; AVX512DQ-FCP:       # %bb.0:219; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax220; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10221; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm0222; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]223; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]224; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]225; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]226; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]227; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]228; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]229; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)230; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)231; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)232; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)233; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm5, (%r9)234; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm6, (%r10)235; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm0, (%rax)236; AVX512DQ-FCP-NEXT:    retq237;238; AVX512BW-LABEL: load_i8_stride7_vf2:239; AVX512BW:       # %bb.0:240; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax241; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10242; AVX512BW-NEXT:    vmovdqa (%rdi), %xmm0243; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]244; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]245; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]246; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]247; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]248; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]249; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]250; AVX512BW-NEXT:    vpextrw $0, %xmm1, (%rsi)251; AVX512BW-NEXT:    vpextrw $0, %xmm2, (%rdx)252; AVX512BW-NEXT:    vpextrw $0, %xmm3, (%rcx)253; AVX512BW-NEXT:    vpextrw $0, %xmm4, (%r8)254; AVX512BW-NEXT:    vpextrw $0, %xmm5, (%r9)255; AVX512BW-NEXT:    vpextrw $0, %xmm6, (%r10)256; AVX512BW-NEXT:    vpextrw $0, %xmm0, (%rax)257; AVX512BW-NEXT:    retq258;259; AVX512BW-FCP-LABEL: load_i8_stride7_vf2:260; AVX512BW-FCP:       # %bb.0:261; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax262; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10263; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %xmm0264; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]265; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]266; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]267; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]268; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]269; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]270; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]271; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)272; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)273; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)274; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)275; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm5, (%r9)276; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm6, (%r10)277; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm0, (%rax)278; AVX512BW-FCP-NEXT:    retq279;280; AVX512DQ-BW-LABEL: load_i8_stride7_vf2:281; AVX512DQ-BW:       # %bb.0:282; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax283; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10284; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %xmm0285; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]286; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]287; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]288; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]289; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]290; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]291; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]292; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm1, (%rsi)293; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm2, (%rdx)294; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm3, (%rcx)295; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm4, (%r8)296; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm5, (%r9)297; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm6, (%r10)298; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm0, (%rax)299; AVX512DQ-BW-NEXT:    retq300;301; AVX512DQ-BW-FCP-LABEL: load_i8_stride7_vf2:302; AVX512DQ-BW-FCP:       # %bb.0:303; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax304; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10305; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %xmm0306; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]307; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]308; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]309; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]310; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]311; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]312; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]313; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)314; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)315; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)316; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)317; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm5, (%r9)318; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm6, (%r10)319; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm0, (%rax)320; AVX512DQ-BW-FCP-NEXT:    retq321  %wide.vec = load <14 x i8>, ptr %in.vec, align 64322  %strided.vec0 = shufflevector <14 x i8> %wide.vec, <14 x i8> poison, <2 x i32> <i32 0, i32 7>323  %strided.vec1 = shufflevector <14 x i8> %wide.vec, <14 x i8> poison, <2 x i32> <i32 1, i32 8>324  %strided.vec2 = shufflevector <14 x i8> %wide.vec, <14 x i8> poison, <2 x i32> <i32 2, i32 9>325  %strided.vec3 = shufflevector <14 x i8> %wide.vec, <14 x i8> poison, <2 x i32> <i32 3, i32 10>326  %strided.vec4 = shufflevector <14 x i8> %wide.vec, <14 x i8> poison, <2 x i32> <i32 4, i32 11>327  %strided.vec5 = shufflevector <14 x i8> %wide.vec, <14 x i8> poison, <2 x i32> <i32 5, i32 12>328  %strided.vec6 = shufflevector <14 x i8> %wide.vec, <14 x i8> poison, <2 x i32> <i32 6, i32 13>329  store <2 x i8> %strided.vec0, ptr %out.vec0, align 64330  store <2 x i8> %strided.vec1, ptr %out.vec1, align 64331  store <2 x i8> %strided.vec2, ptr %out.vec2, align 64332  store <2 x i8> %strided.vec3, ptr %out.vec3, align 64333  store <2 x i8> %strided.vec4, ptr %out.vec4, align 64334  store <2 x i8> %strided.vec5, ptr %out.vec5, align 64335  store <2 x i8> %strided.vec6, ptr %out.vec6, align 64336  ret void337}338 339define void @load_i8_stride7_vf4(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {340; SSE-LABEL: load_i8_stride7_vf4:341; SSE:       # %bb.0:342; SSE-NEXT:    movdqa (%rdi), %xmm4343; SSE-NEXT:    movdqa 16(%rdi), %xmm0344; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,65535,0,65535,65535,65535,65535,65535]345; SSE-NEXT:    movdqa %xmm4, %xmm1346; SSE-NEXT:    pand %xmm3, %xmm1347; SSE-NEXT:    pandn %xmm0, %xmm3348; SSE-NEXT:    por %xmm1, %xmm3349; SSE-NEXT:    pxor %xmm1, %xmm1350; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3],xmm3[4],xmm1[4],xmm3[5],xmm1[5],xmm3[6],xmm1[6],xmm3[7],xmm1[7]351; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,65535,65535,65535,65535,65535,0,65535]352; SSE-NEXT:    pand %xmm2, %xmm3353; SSE-NEXT:    movdqa %xmm0, %xmm5354; SSE-NEXT:    shufps {{.*#+}} xmm5 = xmm5[1,0],xmm4[0,0]355; SSE-NEXT:    shufps {{.*#+}} xmm5 = xmm5[2,0],xmm4[2,3]356; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [65535,0,65535,65535,0,65535,65535,65535]357; SSE-NEXT:    movdqa %xmm0, %xmm8358; SSE-NEXT:    pand %xmm7, %xmm8359; SSE-NEXT:    pandn %xmm4, %xmm7360; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [65535,0,65535,65535,65535,0,65535,65535]361; SSE-NEXT:    movdqa %xmm0, %xmm9362; SSE-NEXT:    pand %xmm6, %xmm9363; SSE-NEXT:    pandn %xmm4, %xmm6364; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [65535,65535,0,65535,65535,0,65535,65535]365; SSE-NEXT:    movdqa %xmm0, %xmm14366; SSE-NEXT:    pand %xmm13, %xmm14367; SSE-NEXT:    pandn %xmm4, %xmm13368; SSE-NEXT:    pshufd {{.*#+}} xmm12 = xmm4[1,3,2,3]369; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm0[0,2,2,3]370; SSE-NEXT:    movdqa {{.*#+}} xmm11 = [65535,65535,65535,0,65535,65535,0,65535]371; SSE-NEXT:    pand %xmm11, %xmm0372; SSE-NEXT:    pandn %xmm4, %xmm11373; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm1[8],xmm4[9],xmm1[9],xmm4[10],xmm1[10],xmm4[11],xmm1[11],xmm4[12],xmm1[12],xmm4[13],xmm1[13],xmm4[14],xmm1[14],xmm4[15],xmm1[15]374; SSE-NEXT:    pandn %xmm4, %xmm2375; SSE-NEXT:    por %xmm3, %xmm2376; SSE-NEXT:    movdqa {{.*#+}} xmm15 = [0,65535,65535,65535,65535,65535,65535,0]377; SSE-NEXT:    punpcklbw {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3],xmm5[4],xmm1[4],xmm5[5],xmm1[5],xmm5[6],xmm1[6],xmm5[7],xmm1[7]378; SSE-NEXT:    pand %xmm15, %xmm5379; SSE-NEXT:    pandn %xmm4, %xmm15380; SSE-NEXT:    por %xmm5, %xmm15381; SSE-NEXT:    por %xmm8, %xmm7382; SSE-NEXT:    punpcklbw {{.*#+}} xmm7 = xmm7[0],xmm1[0],xmm7[1],xmm1[1],xmm7[2],xmm1[2],xmm7[3],xmm1[3],xmm7[4],xmm1[4],xmm7[5],xmm1[5],xmm7[6],xmm1[6],xmm7[7],xmm1[7]383; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm7[0,2,2,3,4,5,6,7]384; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,3,2,3]385; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm3[1,1,0,3,4,5,6,7]386; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,0,65535,65535,65535,65535,65535,65535]387; SSE-NEXT:    pand %xmm3, %xmm5388; SSE-NEXT:    pandn %xmm4, %xmm3389; SSE-NEXT:    por %xmm5, %xmm3390; SSE-NEXT:    por %xmm9, %xmm6391; SSE-NEXT:    movdqa %xmm6, %xmm4392; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm1[8],xmm4[9],xmm1[9],xmm4[10],xmm1[10],xmm4[11],xmm1[11],xmm4[12],xmm1[12],xmm4[13],xmm1[13],xmm4[14],xmm1[14],xmm4[15],xmm1[15]393; SSE-NEXT:    punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm1[0],xmm6[1],xmm1[1],xmm6[2],xmm1[2],xmm6[3],xmm1[3],xmm6[4],xmm1[4],xmm6[5],xmm1[5],xmm6[6],xmm1[6],xmm6[7],xmm1[7]394; SSE-NEXT:    punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1],xmm6[2],xmm4[2],xmm6[3],xmm4[3]395; SSE-NEXT:    por %xmm14, %xmm13396; SSE-NEXT:    movdqa %xmm13, %xmm4397; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm1[8],xmm4[9],xmm1[9],xmm4[10],xmm1[10],xmm4[11],xmm1[11],xmm4[12],xmm1[12],xmm4[13],xmm1[13],xmm4[14],xmm1[14],xmm4[15],xmm1[15]398; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm4[3,1,2,3,4,5,6,7]399; SSE-NEXT:    punpcklbw {{.*#+}} xmm13 = xmm13[0],xmm1[0],xmm13[1],xmm1[1],xmm13[2],xmm1[2],xmm13[3],xmm1[3],xmm13[4],xmm1[4],xmm13[5],xmm1[5],xmm13[6],xmm1[6],xmm13[7],xmm1[7]400; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm13[2,1,2,3]401; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,2,2,3,4,5,6,7]402; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]403; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax404; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rdi405; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,1,3]406; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,3,2,3,4,5,6,7]407; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,3,2,3]408; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,3,2,1,4,5,6,7]409; SSE-NEXT:    packuswb %xmm2, %xmm2410; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm15[0,3,2,3]411; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[1,0,3,2,4,5,6,7]412; SSE-NEXT:    packuswb %xmm5, %xmm5413; SSE-NEXT:    packuswb %xmm3, %xmm3414; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm6[2,1,2,3,4,5,6,7]415; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm6[0,1,2,3,6,5,6,7]416; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm6[2,0,2,3]417; SSE-NEXT:    packuswb %xmm6, %xmm6418; SSE-NEXT:    packuswb %xmm4, %xmm4419; SSE-NEXT:    punpckldq {{.*#+}} xmm10 = xmm10[0],xmm12[0],xmm10[1],xmm12[1]420; SSE-NEXT:    movdqa %xmm10, %xmm7421; SSE-NEXT:    punpckhbw {{.*#+}} xmm7 = xmm7[8],xmm1[8],xmm7[9],xmm1[9],xmm7[10],xmm1[10],xmm7[11],xmm1[11],xmm7[12],xmm1[12],xmm7[13],xmm1[13],xmm7[14],xmm1[14],xmm7[15],xmm1[15]422; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[2,1,2,3]423; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[0,2,2,3,4,5,6,7]424; SSE-NEXT:    punpcklbw {{.*#+}} xmm10 = xmm10[0],xmm1[0],xmm10[1],xmm1[1],xmm10[2],xmm1[2],xmm10[3],xmm1[3],xmm10[4],xmm1[4],xmm10[5],xmm1[5],xmm10[6],xmm1[6],xmm10[7],xmm1[7]425; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm10[2,1,2,3]426; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm8[1,3,2,3,4,5,6,7]427; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm7[0],xmm8[1],xmm7[1],xmm8[2],xmm7[2],xmm8[3],xmm7[3]428; SSE-NEXT:    packuswb %xmm8, %xmm8429; SSE-NEXT:    por %xmm0, %xmm11430; SSE-NEXT:    movdqa %xmm11, %xmm0431; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]432; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,4,6,7]433; SSE-NEXT:    punpckhbw {{.*#+}} xmm11 = xmm11[8],xmm1[8],xmm11[9],xmm1[9],xmm11[10],xmm1[10],xmm11[11],xmm1[11],xmm11[12],xmm1[12],xmm11[13],xmm1[13],xmm11[14],xmm1[14],xmm11[15],xmm1[15]434; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm11[0,1,2,1]435; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,7,6,7]436; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]437; SSE-NEXT:    packuswb %xmm0, %xmm0438; SSE-NEXT:    movd %xmm2, (%rsi)439; SSE-NEXT:    movd %xmm5, (%rdx)440; SSE-NEXT:    movd %xmm3, (%rcx)441; SSE-NEXT:    movd %xmm6, (%r8)442; SSE-NEXT:    movd %xmm4, (%r9)443; SSE-NEXT:    movd %xmm8, (%rdi)444; SSE-NEXT:    movd %xmm0, (%rax)445; SSE-NEXT:    retq446;447; AVX-LABEL: load_i8_stride7_vf4:448; AVX:       # %bb.0:449; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax450; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r10451; AVX-NEXT:    vmovdqa (%rdi), %xmm0452; AVX-NEXT:    vmovdqa 16(%rdi), %xmm1453; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]454; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]455; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm2456; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]457; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]458; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm3459; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]460; AVX-NEXT:    vpshufb %xmm4, %xmm0, %xmm5461; AVX-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]462; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]463; AVX-NEXT:    vmovd {{.*#+}} xmm6 = [3,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]464; AVX-NEXT:    vpshufb %xmm6, %xmm0, %xmm7465; AVX-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]466; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]467; AVX-NEXT:    vpshufb %xmm4, %xmm1, %xmm4468; AVX-NEXT:    vmovd {{.*#+}} xmm8 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]469; AVX-NEXT:    vpshufb %xmm8, %xmm0, %xmm9470; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]471; AVX-NEXT:    vpshufb %xmm6, %xmm1, %xmm6472; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]473; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]474; AVX-NEXT:    vpshufb %xmm8, %xmm1, %xmm1475; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]476; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]477; AVX-NEXT:    vmovd %xmm2, (%rsi)478; AVX-NEXT:    vmovd %xmm3, (%rdx)479; AVX-NEXT:    vmovd %xmm5, (%rcx)480; AVX-NEXT:    vmovd %xmm7, (%r8)481; AVX-NEXT:    vmovd %xmm4, (%r9)482; AVX-NEXT:    vmovd %xmm6, (%r10)483; AVX-NEXT:    vmovd %xmm0, (%rax)484; AVX-NEXT:    retq485;486; AVX2-LABEL: load_i8_stride7_vf4:487; AVX2:       # %bb.0:488; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax489; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r10490; AVX2-NEXT:    vmovdqa (%rdi), %xmm0491; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm1492; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]493; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]494; AVX2-NEXT:    vpor %xmm2, %xmm3, %xmm2495; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]496; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]497; AVX2-NEXT:    vpor %xmm3, %xmm4, %xmm3498; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,9,2,9,2,9,2,9,2,9,2,9,2,9,2,9]499; AVX2-NEXT:    vpshufb %xmm4, %xmm0, %xmm5500; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]501; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]502; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [3,10,3,10,3,10,3,10,3,10,3,10,3,10,3,10]503; AVX2-NEXT:    vpshufb %xmm6, %xmm0, %xmm7504; AVX2-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]505; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]506; AVX2-NEXT:    vpshufb %xmm4, %xmm1, %xmm4507; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]508; AVX2-NEXT:    vpshufb %xmm8, %xmm0, %xmm9509; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]510; AVX2-NEXT:    vpshufb %xmm6, %xmm1, %xmm6511; AVX2-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]512; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]513; AVX2-NEXT:    vpshufb %xmm8, %xmm1, %xmm1514; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]515; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]516; AVX2-NEXT:    vmovd %xmm2, (%rsi)517; AVX2-NEXT:    vmovd %xmm3, (%rdx)518; AVX2-NEXT:    vmovd %xmm5, (%rcx)519; AVX2-NEXT:    vmovd %xmm7, (%r8)520; AVX2-NEXT:    vmovd %xmm4, (%r9)521; AVX2-NEXT:    vmovd %xmm6, (%r10)522; AVX2-NEXT:    vmovd %xmm0, (%rax)523; AVX2-NEXT:    retq524;525; AVX2-FP-LABEL: load_i8_stride7_vf4:526; AVX2-FP:       # %bb.0:527; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax528; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r10529; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm0530; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm1531; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]532; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]533; AVX2-FP-NEXT:    vpor %xmm2, %xmm3, %xmm2534; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]535; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]536; AVX2-FP-NEXT:    vpor %xmm3, %xmm4, %xmm3537; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,9,2,9,2,9,2,9,2,9,2,9,2,9,2,9]538; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm0, %xmm5539; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]540; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]541; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [3,10,3,10,3,10,3,10,3,10,3,10,3,10,3,10]542; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm0, %xmm7543; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]544; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]545; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm1, %xmm4546; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]547; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm0, %xmm9548; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]549; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm1, %xmm6550; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]551; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]552; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm1, %xmm1553; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]554; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]555; AVX2-FP-NEXT:    vmovd %xmm2, (%rsi)556; AVX2-FP-NEXT:    vmovd %xmm3, (%rdx)557; AVX2-FP-NEXT:    vmovd %xmm5, (%rcx)558; AVX2-FP-NEXT:    vmovd %xmm7, (%r8)559; AVX2-FP-NEXT:    vmovd %xmm4, (%r9)560; AVX2-FP-NEXT:    vmovd %xmm6, (%r10)561; AVX2-FP-NEXT:    vmovd %xmm0, (%rax)562; AVX2-FP-NEXT:    retq563;564; AVX2-FCP-LABEL: load_i8_stride7_vf4:565; AVX2-FCP:       # %bb.0:566; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax567; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10568; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm0569; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1570; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]571; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]572; AVX2-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm2573; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]574; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]575; AVX2-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3576; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,9,2,9,2,9,2,9,2,9,2,9,2,9,2,9]577; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm0, %xmm5578; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]579; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]580; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [3,10,3,10,3,10,3,10,3,10,3,10,3,10,3,10]581; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm0, %xmm7582; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]583; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]584; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm1, %xmm4585; AVX2-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]586; AVX2-FCP-NEXT:    vpshufb %xmm8, %xmm0, %xmm9587; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]588; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm1, %xmm6589; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]590; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]591; AVX2-FCP-NEXT:    vpshufb %xmm8, %xmm1, %xmm1592; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]593; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]594; AVX2-FCP-NEXT:    vmovd %xmm2, (%rsi)595; AVX2-FCP-NEXT:    vmovd %xmm3, (%rdx)596; AVX2-FCP-NEXT:    vmovd %xmm5, (%rcx)597; AVX2-FCP-NEXT:    vmovd %xmm7, (%r8)598; AVX2-FCP-NEXT:    vmovd %xmm4, (%r9)599; AVX2-FCP-NEXT:    vmovd %xmm6, (%r10)600; AVX2-FCP-NEXT:    vmovd %xmm0, (%rax)601; AVX2-FCP-NEXT:    retq602;603; AVX512-LABEL: load_i8_stride7_vf4:604; AVX512:       # %bb.0:605; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax606; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r10607; AVX512-NEXT:    vmovdqa (%rdi), %xmm0608; AVX512-NEXT:    vmovdqa 16(%rdi), %xmm1609; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]610; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]611; AVX512-NEXT:    vpor %xmm2, %xmm3, %xmm2612; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]613; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]614; AVX512-NEXT:    vpor %xmm3, %xmm4, %xmm3615; AVX512-NEXT:    vmovd {{.*#+}} xmm4 = [2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]616; AVX512-NEXT:    vpshufb %xmm4, %xmm0, %xmm5617; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]618; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]619; AVX512-NEXT:    vmovd {{.*#+}} xmm6 = [3,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]620; AVX512-NEXT:    vpshufb %xmm6, %xmm0, %xmm7621; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]622; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]623; AVX512-NEXT:    vpshufb %xmm4, %xmm1, %xmm4624; AVX512-NEXT:    vmovd {{.*#+}} xmm8 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]625; AVX512-NEXT:    vpshufb %xmm8, %xmm0, %xmm9626; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]627; AVX512-NEXT:    vpshufb %xmm6, %xmm1, %xmm6628; AVX512-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]629; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]630; AVX512-NEXT:    vpshufb %xmm8, %xmm1, %xmm1631; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]632; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]633; AVX512-NEXT:    vmovd %xmm2, (%rsi)634; AVX512-NEXT:    vmovd %xmm3, (%rdx)635; AVX512-NEXT:    vmovd %xmm5, (%rcx)636; AVX512-NEXT:    vmovd %xmm7, (%r8)637; AVX512-NEXT:    vmovd %xmm4, (%r9)638; AVX512-NEXT:    vmovd %xmm6, (%r10)639; AVX512-NEXT:    vmovd %xmm0, (%rax)640; AVX512-NEXT:    retq641;642; AVX512-FCP-LABEL: load_i8_stride7_vf4:643; AVX512-FCP:       # %bb.0:644; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax645; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10646; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm0647; AVX512-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1648; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]649; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]650; AVX512-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm2651; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]652; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]653; AVX512-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3654; AVX512-FCP-NEXT:    vmovd {{.*#+}} xmm4 = [2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]655; AVX512-FCP-NEXT:    vpshufb %xmm4, %xmm0, %xmm5656; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]657; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]658; AVX512-FCP-NEXT:    vmovd {{.*#+}} xmm6 = [3,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]659; AVX512-FCP-NEXT:    vpshufb %xmm6, %xmm0, %xmm7660; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]661; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]662; AVX512-FCP-NEXT:    vpshufb %xmm4, %xmm1, %xmm4663; AVX512-FCP-NEXT:    vmovd {{.*#+}} xmm8 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]664; AVX512-FCP-NEXT:    vpshufb %xmm8, %xmm0, %xmm9665; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]666; AVX512-FCP-NEXT:    vpshufb %xmm6, %xmm1, %xmm6667; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]668; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]669; AVX512-FCP-NEXT:    vpshufb %xmm8, %xmm1, %xmm1670; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]671; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]672; AVX512-FCP-NEXT:    vmovd %xmm2, (%rsi)673; AVX512-FCP-NEXT:    vmovd %xmm3, (%rdx)674; AVX512-FCP-NEXT:    vmovd %xmm5, (%rcx)675; AVX512-FCP-NEXT:    vmovd %xmm7, (%r8)676; AVX512-FCP-NEXT:    vmovd %xmm4, (%r9)677; AVX512-FCP-NEXT:    vmovd %xmm6, (%r10)678; AVX512-FCP-NEXT:    vmovd %xmm0, (%rax)679; AVX512-FCP-NEXT:    retq680;681; AVX512DQ-LABEL: load_i8_stride7_vf4:682; AVX512DQ:       # %bb.0:683; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax684; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r10685; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm0686; AVX512DQ-NEXT:    vmovdqa 16(%rdi), %xmm1687; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]688; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]689; AVX512DQ-NEXT:    vpor %xmm2, %xmm3, %xmm2690; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]691; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]692; AVX512DQ-NEXT:    vpor %xmm3, %xmm4, %xmm3693; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm4 = [2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]694; AVX512DQ-NEXT:    vpshufb %xmm4, %xmm0, %xmm5695; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]696; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]697; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm6 = [3,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]698; AVX512DQ-NEXT:    vpshufb %xmm6, %xmm0, %xmm7699; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]700; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]701; AVX512DQ-NEXT:    vpshufb %xmm4, %xmm1, %xmm4702; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm8 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]703; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm0, %xmm9704; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]705; AVX512DQ-NEXT:    vpshufb %xmm6, %xmm1, %xmm6706; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]707; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]708; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm1, %xmm1709; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]710; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]711; AVX512DQ-NEXT:    vmovd %xmm2, (%rsi)712; AVX512DQ-NEXT:    vmovd %xmm3, (%rdx)713; AVX512DQ-NEXT:    vmovd %xmm5, (%rcx)714; AVX512DQ-NEXT:    vmovd %xmm7, (%r8)715; AVX512DQ-NEXT:    vmovd %xmm4, (%r9)716; AVX512DQ-NEXT:    vmovd %xmm6, (%r10)717; AVX512DQ-NEXT:    vmovd %xmm0, (%rax)718; AVX512DQ-NEXT:    retq719;720; AVX512DQ-FCP-LABEL: load_i8_stride7_vf4:721; AVX512DQ-FCP:       # %bb.0:722; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax723; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10724; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm0725; AVX512DQ-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1726; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]727; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]728; AVX512DQ-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm2729; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]730; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]731; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3732; AVX512DQ-FCP-NEXT:    vmovd {{.*#+}} xmm4 = [2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]733; AVX512DQ-FCP-NEXT:    vpshufb %xmm4, %xmm0, %xmm5734; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]735; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]736; AVX512DQ-FCP-NEXT:    vmovd {{.*#+}} xmm6 = [3,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]737; AVX512DQ-FCP-NEXT:    vpshufb %xmm6, %xmm0, %xmm7738; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]739; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]740; AVX512DQ-FCP-NEXT:    vpshufb %xmm4, %xmm1, %xmm4741; AVX512DQ-FCP-NEXT:    vmovd {{.*#+}} xmm8 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]742; AVX512DQ-FCP-NEXT:    vpshufb %xmm8, %xmm0, %xmm9743; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]744; AVX512DQ-FCP-NEXT:    vpshufb %xmm6, %xmm1, %xmm6745; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]746; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]747; AVX512DQ-FCP-NEXT:    vpshufb %xmm8, %xmm1, %xmm1748; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]749; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]750; AVX512DQ-FCP-NEXT:    vmovd %xmm2, (%rsi)751; AVX512DQ-FCP-NEXT:    vmovd %xmm3, (%rdx)752; AVX512DQ-FCP-NEXT:    vmovd %xmm5, (%rcx)753; AVX512DQ-FCP-NEXT:    vmovd %xmm7, (%r8)754; AVX512DQ-FCP-NEXT:    vmovd %xmm4, (%r9)755; AVX512DQ-FCP-NEXT:    vmovd %xmm6, (%r10)756; AVX512DQ-FCP-NEXT:    vmovd %xmm0, (%rax)757; AVX512DQ-FCP-NEXT:    retq758;759; AVX512BW-LABEL: load_i8_stride7_vf4:760; AVX512BW:       # %bb.0:761; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax762; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10763; AVX512BW-NEXT:    vmovdqa (%rdi), %xmm0764; AVX512BW-NEXT:    vmovdqa 16(%rdi), %xmm1765; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]766; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]767; AVX512BW-NEXT:    vpor %xmm2, %xmm3, %xmm2768; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]769; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]770; AVX512BW-NEXT:    vpor %xmm3, %xmm4, %xmm3771; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,9,2,9,2,9,2,9,2,9,2,9,2,9,2,9]772; AVX512BW-NEXT:    vpshufb %xmm4, %xmm0, %xmm5773; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]774; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]775; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [3,10,3,10,3,10,3,10,3,10,3,10,3,10,3,10]776; AVX512BW-NEXT:    vpshufb %xmm6, %xmm0, %xmm7777; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]778; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]779; AVX512BW-NEXT:    vpshufb %xmm4, %xmm1, %xmm4780; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]781; AVX512BW-NEXT:    vpshufb %xmm8, %xmm0, %xmm9782; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]783; AVX512BW-NEXT:    vpshufb %xmm6, %xmm1, %xmm6784; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]785; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]786; AVX512BW-NEXT:    vpshufb %xmm8, %xmm1, %xmm1787; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]788; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]789; AVX512BW-NEXT:    vmovd %xmm2, (%rsi)790; AVX512BW-NEXT:    vmovd %xmm3, (%rdx)791; AVX512BW-NEXT:    vmovd %xmm5, (%rcx)792; AVX512BW-NEXT:    vmovd %xmm7, (%r8)793; AVX512BW-NEXT:    vmovd %xmm4, (%r9)794; AVX512BW-NEXT:    vmovd %xmm6, (%r10)795; AVX512BW-NEXT:    vmovd %xmm0, (%rax)796; AVX512BW-NEXT:    retq797;798; AVX512BW-FCP-LABEL: load_i8_stride7_vf4:799; AVX512BW-FCP:       # %bb.0:800; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax801; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10802; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %xmm0803; AVX512BW-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1804; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]805; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]806; AVX512BW-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm2807; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]808; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]809; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3810; AVX512BW-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,9,2,9,2,9,2,9,2,9,2,9,2,9,2,9]811; AVX512BW-FCP-NEXT:    vpshufb %xmm4, %xmm0, %xmm5812; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]813; AVX512BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]814; AVX512BW-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [3,10,3,10,3,10,3,10,3,10,3,10,3,10,3,10]815; AVX512BW-FCP-NEXT:    vpshufb %xmm6, %xmm0, %xmm7816; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]817; AVX512BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]818; AVX512BW-FCP-NEXT:    vpshufb %xmm4, %xmm1, %xmm4819; AVX512BW-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]820; AVX512BW-FCP-NEXT:    vpshufb %xmm8, %xmm0, %xmm9821; AVX512BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]822; AVX512BW-FCP-NEXT:    vpshufb %xmm6, %xmm1, %xmm6823; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]824; AVX512BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]825; AVX512BW-FCP-NEXT:    vpshufb %xmm8, %xmm1, %xmm1826; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]827; AVX512BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]828; AVX512BW-FCP-NEXT:    vmovd %xmm2, (%rsi)829; AVX512BW-FCP-NEXT:    vmovd %xmm3, (%rdx)830; AVX512BW-FCP-NEXT:    vmovd %xmm5, (%rcx)831; AVX512BW-FCP-NEXT:    vmovd %xmm7, (%r8)832; AVX512BW-FCP-NEXT:    vmovd %xmm4, (%r9)833; AVX512BW-FCP-NEXT:    vmovd %xmm6, (%r10)834; AVX512BW-FCP-NEXT:    vmovd %xmm0, (%rax)835; AVX512BW-FCP-NEXT:    retq836;837; AVX512DQ-BW-LABEL: load_i8_stride7_vf4:838; AVX512DQ-BW:       # %bb.0:839; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax840; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r10841; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %xmm0842; AVX512DQ-BW-NEXT:    vmovdqa 16(%rdi), %xmm1843; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]844; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]845; AVX512DQ-BW-NEXT:    vpor %xmm2, %xmm3, %xmm2846; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]847; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]848; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm4, %xmm3849; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,9,2,9,2,9,2,9,2,9,2,9,2,9,2,9]850; AVX512DQ-BW-NEXT:    vpshufb %xmm4, %xmm0, %xmm5851; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]852; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]853; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [3,10,3,10,3,10,3,10,3,10,3,10,3,10,3,10]854; AVX512DQ-BW-NEXT:    vpshufb %xmm6, %xmm0, %xmm7855; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]856; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]857; AVX512DQ-BW-NEXT:    vpshufb %xmm4, %xmm1, %xmm4858; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]859; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm0, %xmm9860; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]861; AVX512DQ-BW-NEXT:    vpshufb %xmm6, %xmm1, %xmm6862; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]863; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]864; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm1, %xmm1865; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]866; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]867; AVX512DQ-BW-NEXT:    vmovd %xmm2, (%rsi)868; AVX512DQ-BW-NEXT:    vmovd %xmm3, (%rdx)869; AVX512DQ-BW-NEXT:    vmovd %xmm5, (%rcx)870; AVX512DQ-BW-NEXT:    vmovd %xmm7, (%r8)871; AVX512DQ-BW-NEXT:    vmovd %xmm4, (%r9)872; AVX512DQ-BW-NEXT:    vmovd %xmm6, (%r10)873; AVX512DQ-BW-NEXT:    vmovd %xmm0, (%rax)874; AVX512DQ-BW-NEXT:    retq875;876; AVX512DQ-BW-FCP-LABEL: load_i8_stride7_vf4:877; AVX512DQ-BW-FCP:       # %bb.0:878; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax879; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r10880; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %xmm0881; AVX512DQ-BW-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1882; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm1[5,u,u,u,u,u,u,u,u,u,u,u,u]883; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[0,7,14],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]884; AVX512DQ-BW-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm2885; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[6,u,u,u,u,u,u,u,u,u,u,u,u]886; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[1,8,15],zero,xmm0[u,u,u,u,u,u,u,u,u,u,u,u]887; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3888; AVX512DQ-BW-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm4 = [2,9,2,9,2,9,2,9,2,9,2,9,2,9,2,9]889; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm4, %xmm0, %xmm5890; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[0,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]891; AVX512DQ-BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1],xmm5[2],xmm6[2],xmm5[3],xmm6[3]892; AVX512DQ-BW-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [3,10,3,10,3,10,3,10,3,10,3,10,3,10,3,10]893; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm6, %xmm0, %xmm7894; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[1,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]895; AVX512DQ-BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3]896; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm4, %xmm1, %xmm4897; AVX512DQ-BW-FCP-NEXT:    vpbroadcastw {{.*#+}} xmm8 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]898; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm8, %xmm0, %xmm9899; AVX512DQ-BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm9[0],xmm4[0],xmm9[1],xmm4[1],xmm9[2],xmm4[2],xmm9[3],xmm4[3]900; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm6, %xmm1, %xmm6901; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]902; AVX512DQ-BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]903; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm8, %xmm1, %xmm1904; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]905; AVX512DQ-BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]906; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm2, (%rsi)907; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm3, (%rdx)908; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm5, (%rcx)909; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm7, (%r8)910; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm4, (%r9)911; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm6, (%r10)912; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm0, (%rax)913; AVX512DQ-BW-FCP-NEXT:    retq914  %wide.vec = load <28 x i8>, ptr %in.vec, align 64915  %strided.vec0 = shufflevector <28 x i8> %wide.vec, <28 x i8> poison, <4 x i32> <i32 0, i32 7, i32 14, i32 21>916  %strided.vec1 = shufflevector <28 x i8> %wide.vec, <28 x i8> poison, <4 x i32> <i32 1, i32 8, i32 15, i32 22>917  %strided.vec2 = shufflevector <28 x i8> %wide.vec, <28 x i8> poison, <4 x i32> <i32 2, i32 9, i32 16, i32 23>918  %strided.vec3 = shufflevector <28 x i8> %wide.vec, <28 x i8> poison, <4 x i32> <i32 3, i32 10, i32 17, i32 24>919  %strided.vec4 = shufflevector <28 x i8> %wide.vec, <28 x i8> poison, <4 x i32> <i32 4, i32 11, i32 18, i32 25>920  %strided.vec5 = shufflevector <28 x i8> %wide.vec, <28 x i8> poison, <4 x i32> <i32 5, i32 12, i32 19, i32 26>921  %strided.vec6 = shufflevector <28 x i8> %wide.vec, <28 x i8> poison, <4 x i32> <i32 6, i32 13, i32 20, i32 27>922  store <4 x i8> %strided.vec0, ptr %out.vec0, align 64923  store <4 x i8> %strided.vec1, ptr %out.vec1, align 64924  store <4 x i8> %strided.vec2, ptr %out.vec2, align 64925  store <4 x i8> %strided.vec3, ptr %out.vec3, align 64926  store <4 x i8> %strided.vec4, ptr %out.vec4, align 64927  store <4 x i8> %strided.vec5, ptr %out.vec5, align 64928  store <4 x i8> %strided.vec6, ptr %out.vec6, align 64929  ret void930}931 932define void @load_i8_stride7_vf8(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {933; SSE-LABEL: load_i8_stride7_vf8:934; SSE:       # %bb.0:935; SSE-NEXT:    movdqa (%rdi), %xmm2936; SSE-NEXT:    movdqa 16(%rdi), %xmm11937; SSE-NEXT:    movdqa 32(%rdi), %xmm6938; SSE-NEXT:    movdqa 48(%rdi), %xmm13939; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,65535,0,65535,65535,65535,0,65535]940; SSE-NEXT:    movdqa %xmm2, %xmm1941; SSE-NEXT:    pand %xmm4, %xmm1942; SSE-NEXT:    pandn %xmm11, %xmm4943; SSE-NEXT:    por %xmm1, %xmm4944; SSE-NEXT:    pxor %xmm3, %xmm3945; SSE-NEXT:    movdqa %xmm4, %xmm5946; SSE-NEXT:    punpckhbw {{.*#+}} xmm5 = xmm5[8],xmm3[8],xmm5[9],xmm3[9],xmm5[10],xmm3[10],xmm5[11],xmm3[11],xmm5[12],xmm3[12],xmm5[13],xmm3[13],xmm5[14],xmm3[14],xmm5[15],xmm3[15]947; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [65535,65535,65535,65535,0,65535,0,65535]948; 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]949; SSE-NEXT:    pand %xmm7, %xmm4950; SSE-NEXT:    pandn %xmm5, %xmm7951; SSE-NEXT:    por %xmm4, %xmm7952; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm7[0,2,1,3]953; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,3,2,3,4,5,6,7]954; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[0,3,1,1]955; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm4[0,3,2,1,4,5,6,7]956; SSE-NEXT:    packuswb %xmm7, %xmm7957; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [255,255,255,255,255,0,0,0,255,255,255,255,255,255,255,255]958; SSE-NEXT:    pand %xmm4, %xmm7959; SSE-NEXT:    movdqa {{.*#+}} xmm9 = [0,65535,65535,65535,65535,65535,65535,65535]960; SSE-NEXT:    movdqa %xmm6, %xmm5961; SSE-NEXT:    pand %xmm9, %xmm5962; SSE-NEXT:    pandn %xmm13, %xmm9963; SSE-NEXT:    por %xmm5, %xmm9964; SSE-NEXT:    punpcklbw {{.*#+}} xmm9 = xmm9[0],xmm3[0],xmm9[1],xmm3[1],xmm9[2],xmm3[2],xmm9[3],xmm3[3],xmm9[4],xmm3[4],xmm9[5],xmm3[5],xmm9[6],xmm3[6],xmm9[7],xmm3[7]965; SSE-NEXT:    movdqa %xmm6, %xmm8966; SSE-NEXT:    movss {{.*#+}} xmm8 = xmm13[0],xmm8[1,2,3]967; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [65535,0,65535,65535,0,65535,65535,65535]968; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill969; SSE-NEXT:    movdqa %xmm11, %xmm10970; SSE-NEXT:    pand %xmm5, %xmm10971; SSE-NEXT:    movdqa {{.*#+}} xmm12 = [65535,65535,0,65535,65535,65535,65535,65535]972; SSE-NEXT:    movdqa %xmm6, %xmm1973; SSE-NEXT:    pand %xmm12, %xmm1974; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill975; SSE-NEXT:    pandn %xmm13, %xmm12976; SSE-NEXT:    movaps %xmm13, %xmm14977; SSE-NEXT:    shufps {{.*#+}} xmm14 = xmm14[1,0],xmm6[0,0]978; SSE-NEXT:    shufps {{.*#+}} xmm14 = xmm14[2,0],xmm6[2,3]979; SSE-NEXT:    pand %xmm5, %xmm13980; SSE-NEXT:    pandn %xmm6, %xmm5981; SSE-NEXT:    punpckhbw {{.*#+}} xmm6 = xmm6[8],xmm3[8],xmm6[9],xmm3[9],xmm6[10],xmm3[10],xmm6[11],xmm3[11],xmm6[12],xmm3[12],xmm6[13],xmm3[13],xmm6[14],xmm3[14],xmm6[15],xmm3[15]982; SSE-NEXT:    punpcklwd {{.*#+}} xmm9 = xmm9[0],xmm6[0],xmm9[1],xmm6[1],xmm9[2],xmm6[2],xmm9[3],xmm6[3]983; SSE-NEXT:    pshufhw {{.*#+}} xmm9 = xmm9[0,1,2,3,6,5,6,7]984; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm9[0,1,2,1]985; SSE-NEXT:    pshufhw {{.*#+}} xmm9 = xmm9[0,1,2,3,4,4,5,6]986; SSE-NEXT:    packuswb %xmm9, %xmm9987; SSE-NEXT:    movdqa %xmm4, %xmm15988; SSE-NEXT:    pandn %xmm9, %xmm15989; SSE-NEXT:    por %xmm7, %xmm15990; SSE-NEXT:    movq %xmm15, (%rsi)991; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [65535,65535,65535,0,65535,65535,0,65535]992; SSE-NEXT:    movdqa %xmm7, %xmm9993; SSE-NEXT:    pandn %xmm11, %xmm9994; SSE-NEXT:    movdqa %xmm2, %xmm15995; SSE-NEXT:    pand %xmm7, %xmm15996; SSE-NEXT:    por %xmm9, %xmm15997; SSE-NEXT:    movdqa %xmm15, %xmm9998; SSE-NEXT:    punpcklbw {{.*#+}} xmm9 = xmm9[0],xmm3[0],xmm9[1],xmm3[1],xmm9[2],xmm3[2],xmm9[3],xmm3[3],xmm9[4],xmm3[4],xmm9[5],xmm3[5],xmm9[6],xmm3[6],xmm9[7],xmm3[7]999; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,0,65535,65535,65535,65535,0,65535]1000; SSE-NEXT:    movdqa %xmm0, %xmm11001; SSE-NEXT:    pandn %xmm9, %xmm11002; SSE-NEXT:    punpckhbw {{.*#+}} xmm15 = xmm15[8],xmm3[8],xmm15[9],xmm3[9],xmm15[10],xmm3[10],xmm15[11],xmm3[11],xmm15[12],xmm3[12],xmm15[13],xmm3[13],xmm15[14],xmm3[14],xmm15[15],xmm3[15]1003; SSE-NEXT:    pand %xmm0, %xmm151004; SSE-NEXT:    por %xmm1, %xmm151005; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm3[0],xmm8[1],xmm3[1],xmm8[2],xmm3[2],xmm8[3],xmm3[3],xmm8[4],xmm3[4],xmm8[5],xmm3[5],xmm8[6],xmm3[6],xmm8[7],xmm3[7]1006; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [65535,65535,65535,0,65535,65535,65535,65535]1007; SSE-NEXT:    movdqa %xmm8, %xmm91008; SSE-NEXT:    pand %xmm1, %xmm91009; SSE-NEXT:    pandn %xmm6, %xmm11010; SSE-NEXT:    por %xmm9, %xmm11011; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,1]1012; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,6]1013; SSE-NEXT:    packuswb %xmm1, %xmm11014; SSE-NEXT:    movdqa %xmm4, %xmm91015; SSE-NEXT:    pandn %xmm1, %xmm91016; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm15[0,3,2,3]1017; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,0,3,2,4,5,6,7]1018; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,5,5,5]1019; SSE-NEXT:    packuswb %xmm1, %xmm11020; SSE-NEXT:    pand %xmm4, %xmm11021; SSE-NEXT:    por %xmm1, %xmm91022; SSE-NEXT:    movq %xmm9, (%rdx)1023; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload1024; SSE-NEXT:    pandn %xmm2, %xmm11025; SSE-NEXT:    por %xmm1, %xmm101026; SSE-NEXT:    movdqa %xmm10, %xmm11027; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm3[8],xmm1[9],xmm3[9],xmm1[10],xmm3[10],xmm1[11],xmm3[11],xmm1[12],xmm3[12],xmm1[13],xmm3[13],xmm1[14],xmm3[14],xmm1[15],xmm3[15]1028; SSE-NEXT:    punpcklbw {{.*#+}} xmm10 = xmm10[0],xmm3[0],xmm10[1],xmm3[1],xmm10[2],xmm3[2],xmm10[3],xmm3[3],xmm10[4],xmm3[4],xmm10[5],xmm3[5],xmm10[6],xmm3[6],xmm10[7],xmm3[7]1029; SSE-NEXT:    pand %xmm0, %xmm101030; SSE-NEXT:    pandn %xmm1, %xmm01031; SSE-NEXT:    por %xmm10, %xmm01032; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]1033; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,7]1034; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,3,3]1035; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,1,0,3,4,5,6,7]1036; SSE-NEXT:    packuswb %xmm0, %xmm01037; SSE-NEXT:    pand %xmm4, %xmm01038; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [65535,65535,65535,65535,0,65535,65535,65535]1039; SSE-NEXT:    pand %xmm1, %xmm81040; SSE-NEXT:    pandn %xmm6, %xmm11041; SSE-NEXT:    por %xmm8, %xmm11042; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,1]1043; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,7]1044; SSE-NEXT:    packuswb %xmm1, %xmm11045; SSE-NEXT:    movdqa %xmm4, %xmm81046; SSE-NEXT:    pandn %xmm1, %xmm81047; SSE-NEXT:    por %xmm0, %xmm81048; SSE-NEXT:    movq %xmm8, (%rcx)1049; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,0,65535,65535,65535,0,65535,65535]1050; SSE-NEXT:    movdqa %xmm11, %xmm11051; SSE-NEXT:    pand %xmm0, %xmm11052; SSE-NEXT:    pandn %xmm2, %xmm01053; SSE-NEXT:    por %xmm1, %xmm01054; SSE-NEXT:    movdqa %xmm0, %xmm11055; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3],xmm1[4],xmm3[4],xmm1[5],xmm3[5],xmm1[6],xmm3[6],xmm1[7],xmm3[7]1056; SSE-NEXT:    movdqa {{.*#+}} xmm8 = [65535,0,65535,0,65535,65535,65535,65535]1057; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm3[8],xmm0[9],xmm3[9],xmm0[10],xmm3[10],xmm0[11],xmm3[11],xmm0[12],xmm3[12],xmm0[13],xmm3[13],xmm0[14],xmm3[14],xmm0[15],xmm3[15]1058; SSE-NEXT:    pand %xmm8, %xmm01059; SSE-NEXT:    pandn %xmm1, %xmm81060; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax1061; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rcx1062; SSE-NEXT:    por %xmm0, %xmm81063; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm8[3,2,1,0,4,5,6,7]1064; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,7,7,7]1065; SSE-NEXT:    packuswb %xmm0, %xmm01066; SSE-NEXT:    pand %xmm4, %xmm01067; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload1068; SSE-NEXT:    punpcklbw {{.*#+}} xmm12 = xmm12[0],xmm3[0],xmm12[1],xmm3[1],xmm12[2],xmm3[2],xmm12[3],xmm3[3],xmm12[4],xmm3[4],xmm12[5],xmm3[5],xmm12[6],xmm3[6],xmm12[7],xmm3[7]1069; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm12[0,1,2,3,7,5,6,7]1070; SSE-NEXT:    punpckhwd {{.*#+}} xmm12 = xmm12[4],xmm6[4],xmm12[5],xmm6[5],xmm12[6],xmm6[6],xmm12[7],xmm6[7]1071; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm12[0,3,2,3,4,5,6,7]1072; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,1,2,0]1073; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,4,7,6]1074; SSE-NEXT:    packuswb %xmm8, %xmm81075; SSE-NEXT:    pandn %xmm8, %xmm41076; SSE-NEXT:    por %xmm0, %xmm41077; SSE-NEXT:    movq %xmm4, (%r8)1078; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,0,65535,65535,0,65535,65535]1079; SSE-NEXT:    movdqa %xmm11, %xmm41080; SSE-NEXT:    pand %xmm0, %xmm41081; SSE-NEXT:    pandn %xmm2, %xmm01082; SSE-NEXT:    por %xmm4, %xmm01083; SSE-NEXT:    movdqa %xmm0, %xmm41084; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm3[8],xmm4[9],xmm3[9],xmm4[10],xmm3[10],xmm4[11],xmm3[11],xmm4[12],xmm3[12],xmm4[13],xmm3[13],xmm4[14],xmm3[14],xmm4[15],xmm3[15]1085; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[3,1,2,3,4,5,6,7]1086; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3],xmm0[4],xmm3[4],xmm0[5],xmm3[5],xmm0[6],xmm3[6],xmm0[7],xmm3[7]1087; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,1,2,3]1088; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]1089; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]1090; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]1091; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,4,6,5]1092; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,65535,65535,65535,65535,65535,0,65535]1093; SSE-NEXT:    pand %xmm4, %xmm11094; SSE-NEXT:    pandn %xmm6, %xmm41095; SSE-NEXT:    por %xmm1, %xmm41096; SSE-NEXT:    packuswb %xmm4, %xmm01097; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,3]1098; SSE-NEXT:    movq %xmm0, (%r9)1099; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[1,3,2,3]1100; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm11[0,2,2,3]1101; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]1102; SSE-NEXT:    movdqa %xmm1, %xmm01103; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm3[8],xmm0[9],xmm3[9],xmm0[10],xmm3[10],xmm0[11],xmm3[11],xmm0[12],xmm3[12],xmm0[13],xmm3[13],xmm0[14],xmm3[14],xmm0[15],xmm3[15]1104; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,1,2,3]1105; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]1106; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1],xmm1[2],xmm3[2],xmm1[3],xmm3[3],xmm1[4],xmm3[4],xmm1[5],xmm3[5],xmm1[6],xmm3[6],xmm1[7],xmm3[7]1107; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,1,2,3]1108; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,3,2,3,4,5,6,7]1109; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]1110; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [0,65535,65535,65535,65535,65535,65535,0]1111; SSE-NEXT:    punpcklbw {{.*#+}} xmm14 = xmm14[0],xmm3[0],xmm14[1],xmm3[1],xmm14[2],xmm3[2],xmm14[3],xmm3[3],xmm14[4],xmm3[4],xmm14[5],xmm3[5],xmm14[6],xmm3[6],xmm14[7],xmm3[7]1112; SSE-NEXT:    pand %xmm0, %xmm141113; SSE-NEXT:    pandn %xmm6, %xmm01114; SSE-NEXT:    por %xmm14, %xmm01115; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]1116; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,5,4,7,6]1117; SSE-NEXT:    packuswb %xmm0, %xmm11118; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[0,3,2,3]1119; SSE-NEXT:    movq %xmm0, (%rcx)1120; SSE-NEXT:    pand %xmm7, %xmm111121; SSE-NEXT:    pandn %xmm2, %xmm71122; SSE-NEXT:    por %xmm11, %xmm71123; SSE-NEXT:    movdqa %xmm7, %xmm01124; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3],xmm0[4],xmm3[4],xmm0[5],xmm3[5],xmm0[6],xmm3[6],xmm0[7],xmm3[7]1125; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,4,6,7]1126; 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]1127; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[0,1,2,1]1128; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,7,6,7]1129; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]1130; SSE-NEXT:    por %xmm13, %xmm51131; SSE-NEXT:    punpcklbw {{.*#+}} xmm5 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3],xmm5[4],xmm3[4],xmm5[5],xmm3[5],xmm5[6],xmm3[6],xmm5[7],xmm3[7]1132; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [65535,0,65535,65535,65535,65535,65535,65535]1133; SSE-NEXT:    pand %xmm1, %xmm51134; SSE-NEXT:    pandn %xmm6, %xmm11135; SSE-NEXT:    por %xmm5, %xmm11136; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,1,3]1137; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]1138; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]1139; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,5]1140; SSE-NEXT:    packuswb %xmm1, %xmm01141; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,3]1142; SSE-NEXT:    movq %xmm0, (%rax)1143; SSE-NEXT:    retq1144;1145; AVX-LABEL: load_i8_stride7_vf8:1146; AVX:       # %bb.0:1147; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax1148; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %r101149; AVX-NEXT:    vmovdqa (%rdi), %xmm01150; AVX-NEXT:    vmovdqa 16(%rdi), %xmm11151; AVX-NEXT:    vmovdqa 32(%rdi), %xmm21152; AVX-NEXT:    vmovdqa 48(%rdi), %xmm31153; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,zero,xmm1[5,12,u,u,u,u,u,u,u,u,u,u,u]1154; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[0,7,14],zero,zero,xmm0[u,u,u,u,u,u,u,u,u,u,u]1155; AVX-NEXT:    vpor %xmm4, %xmm5, %xmm41156; AVX-NEXT:    vpalignr {{.*#+}} xmm5 = xmm2[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm3[0,1,2]1157; AVX-NEXT:    vbroadcastss {{.*#+}} xmm6 = [0,0,7,14,0,0,7,14,0,0,7,14,0,0,7,14]1158; AVX-NEXT:    vpshufb %xmm6, %xmm5, %xmm51159; AVX-NEXT:    vmovddup {{.*#+}} xmm7 = [255,255,255,255,255,0,0,0,255,255,255,255,255,0,0,0]1160; AVX-NEXT:    # xmm7 = mem[0,0]1161; AVX-NEXT:    vpblendvb %xmm7, %xmm4, %xmm5, %xmm41162; AVX-NEXT:    vmovq %xmm4, (%rsi)1163; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,zero,xmm1[6,13,u,u,u,u,u,u,u,u,u,u,u]1164; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[1,8,15],zero,zero,xmm0[u,u,u,u,u,u,u,u,u,u,u]1165; AVX-NEXT:    vpor %xmm4, %xmm5, %xmm41166; AVX-NEXT:    vpalignr {{.*#+}} xmm5 = xmm2[4,5,6,7,8,9,10,11,12,13,14,15],xmm3[0,1,2,3]1167; AVX-NEXT:    vpshufb %xmm6, %xmm5, %xmm51168; AVX-NEXT:    vpblendvb %xmm7, %xmm4, %xmm5, %xmm41169; AVX-NEXT:    vmovq %xmm4, (%rdx)1170; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[2,9],zero,zero,zero,xmm0[u,u,u,u,u,u,u,u,u,u,u]1171; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,xmm1[0,7,14,u,u,u,u,u,u,u,u,u,u,u]1172; AVX-NEXT:    vpor %xmm4, %xmm5, %xmm41173; AVX-NEXT:    vpalignr {{.*#+}} xmm5 = xmm2[5,6,7,8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4]1174; AVX-NEXT:    vpshufb %xmm6, %xmm5, %xmm51175; AVX-NEXT:    vpblendvb %xmm7, %xmm4, %xmm5, %xmm41176; AVX-NEXT:    vmovq %xmm4, (%rcx)1177; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,10],zero,zero,zero,xmm0[u,u,u,u,u,u,u,u,u,u,u]1178; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,xmm1[1,8,15,u,u,u,u,u,u,u,u,u,u,u]1179; AVX-NEXT:    vpor %xmm4, %xmm5, %xmm41180; AVX-NEXT:    vpalignr {{.*#+}} xmm5 = xmm2[6,7,8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5]1181; AVX-NEXT:    vpshufb %xmm6, %xmm5, %xmm51182; AVX-NEXT:    vpblendvb %xmm7, %xmm4, %xmm5, %xmm41183; AVX-NEXT:    vmovq %xmm4, (%r8)1184; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm3[u,u,u,u],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1185; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm2[u,u,u,u,0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1186; AVX-NEXT:    vpor %xmm4, %xmm5, %xmm41187; AVX-NEXT:    vmovd {{.*#+}} xmm5 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]1188; AVX-NEXT:    vpshufb %xmm5, %xmm0, %xmm61189; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm1[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]1190; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]1191; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3],xmm6[4,5,6,7]1192; AVX-NEXT:    vmovq %xmm4, (%r9)1193; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm3[u,u,u,u],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1194; AVX-NEXT:    vpshufb {{.*#+}} xmm6 = xmm2[u,u,u,u,1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1195; AVX-NEXT:    vpor %xmm4, %xmm6, %xmm41196; AVX-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]1197; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]1198; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm7[0],xmm6[0],xmm7[1],xmm6[1],xmm7[2],xmm6[2],xmm7[3],xmm6[3]1199; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm6[0,1],xmm4[2,3],xmm6[4,5,6,7]1200; AVX-NEXT:    vmovq %xmm4, (%r10)1201; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1202; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1203; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]1204; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm11205; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]1206; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1207; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5,6,7]1208; AVX-NEXT:    vmovq %xmm0, (%rax)1209; AVX-NEXT:    retq1210;1211; AVX2-LABEL: load_i8_stride7_vf8:1212; AVX2:       # %bb.0:1213; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax1214; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r101215; AVX2-NEXT:    vmovdqa (%rdi), %ymm01216; AVX2-NEXT:    vmovdqa 32(%rdi), %ymm11217; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]1218; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm21219; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm31220; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1221; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1222; AVX2-NEXT:    vpor %xmm3, %xmm2, %xmm21223; AVX2-NEXT:    vmovq %xmm2, (%rsi)1224; AVX2-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5],ymm0[6,7,8],ymm1[9,10],ymm0[11,12],ymm1[13],ymm0[14,15]1225; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm31226; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1227; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1228; AVX2-NEXT:    vpor %xmm3, %xmm2, %xmm21229; AVX2-NEXT:    vmovq %xmm2, (%rdx)1230; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]1231; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm21232; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm31233; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1234; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1235; AVX2-NEXT:    vpor %xmm3, %xmm2, %xmm21236; AVX2-NEXT:    vmovq %xmm2, (%rcx)1237; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm0[0],ymm1[1],ymm0[2],ymm1[3],ymm0[4],ymm1[5],ymm0[6,7]1238; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm31239; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1240; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1241; AVX2-NEXT:    vpor %xmm3, %xmm2, %xmm21242; AVX2-NEXT:    vmovq %xmm2, (%r8)1243; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,0,0]1244; AVX2-NEXT:    vpblendvb %ymm2, %ymm1, %ymm0, %ymm21245; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm31246; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1247; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1248; AVX2-NEXT:    vpor %xmm3, %xmm2, %xmm21249; AVX2-NEXT:    vmovq %xmm2, (%r9)1250; AVX2-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5,6],ymm1[7,8],ymm0[9,10],ymm1[11,12],ymm0[13,14],ymm1[15]1251; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm31252; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1253; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1254; AVX2-NEXT:    vpor %xmm3, %xmm2, %xmm21255; AVX2-NEXT:    vmovq %xmm2, (%r10)1256; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,0]1257; AVX2-NEXT:    vpblendvb %ymm2, %ymm1, %ymm0, %ymm01258; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm11259; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1260; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1261; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1262; AVX2-NEXT:    vmovq %xmm0, (%rax)1263; AVX2-NEXT:    vzeroupper1264; AVX2-NEXT:    retq1265;1266; AVX2-FP-LABEL: load_i8_stride7_vf8:1267; AVX2-FP:       # %bb.0:1268; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1269; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r101270; AVX2-FP-NEXT:    vmovdqa (%rdi), %ymm01271; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %ymm11272; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]1273; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm21274; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm31275; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1276; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1277; AVX2-FP-NEXT:    vpor %xmm3, %xmm2, %xmm21278; AVX2-FP-NEXT:    vmovq %xmm2, (%rsi)1279; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5],ymm0[6,7,8],ymm1[9,10],ymm0[11,12],ymm1[13],ymm0[14,15]1280; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm31281; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1282; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1283; AVX2-FP-NEXT:    vpor %xmm3, %xmm2, %xmm21284; AVX2-FP-NEXT:    vmovq %xmm2, (%rdx)1285; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]1286; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm21287; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm31288; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1289; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1290; AVX2-FP-NEXT:    vpor %xmm3, %xmm2, %xmm21291; AVX2-FP-NEXT:    vmovq %xmm2, (%rcx)1292; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm0[0],ymm1[1],ymm0[2],ymm1[3],ymm0[4],ymm1[5],ymm0[6,7]1293; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm31294; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1295; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1296; AVX2-FP-NEXT:    vpor %xmm3, %xmm2, %xmm21297; AVX2-FP-NEXT:    vmovq %xmm2, (%r8)1298; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,0,0]1299; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm1, %ymm0, %ymm21300; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm31301; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1302; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1303; AVX2-FP-NEXT:    vpor %xmm3, %xmm2, %xmm21304; AVX2-FP-NEXT:    vmovq %xmm2, (%r9)1305; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5,6],ymm1[7,8],ymm0[9,10],ymm1[11,12],ymm0[13,14],ymm1[15]1306; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm31307; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1308; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1309; AVX2-FP-NEXT:    vpor %xmm3, %xmm2, %xmm21310; AVX2-FP-NEXT:    vmovq %xmm2, (%r10)1311; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,0]1312; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm1, %ymm0, %ymm01313; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm11314; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1315; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1316; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1317; AVX2-FP-NEXT:    vmovq %xmm0, (%rax)1318; AVX2-FP-NEXT:    vzeroupper1319; AVX2-FP-NEXT:    retq1320;1321; AVX2-FCP-LABEL: load_i8_stride7_vf8:1322; AVX2-FCP:       # %bb.0:1323; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1324; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101325; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm01326; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm11327; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]1328; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm21329; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31330; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1331; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1332; AVX2-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21333; AVX2-FCP-NEXT:    vmovq %xmm2, (%rsi)1334; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5],ymm0[6,7,8],ymm1[9,10],ymm0[11,12],ymm1[13],ymm0[14,15]1335; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31336; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1337; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1338; AVX2-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21339; AVX2-FCP-NEXT:    vmovq %xmm2, (%rdx)1340; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]1341; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm21342; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31343; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1344; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1345; AVX2-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21346; AVX2-FCP-NEXT:    vmovq %xmm2, (%rcx)1347; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm0[0],ymm1[1],ymm0[2],ymm1[3],ymm0[4],ymm1[5],ymm0[6,7]1348; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31349; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1350; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1351; AVX2-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21352; AVX2-FCP-NEXT:    vmovq %xmm2, (%r8)1353; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,0,0]1354; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm1, %ymm0, %ymm21355; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31356; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1357; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1358; AVX2-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21359; AVX2-FCP-NEXT:    vmovq %xmm2, (%r9)1360; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5,6],ymm1[7,8],ymm0[9,10],ymm1[11,12],ymm0[13,14],ymm1[15]1361; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31362; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1363; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1364; AVX2-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21365; AVX2-FCP-NEXT:    vmovq %xmm2, (%r10)1366; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,0]1367; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm1, %ymm0, %ymm01368; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm11369; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1370; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1371; AVX2-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1372; AVX2-FCP-NEXT:    vmovq %xmm0, (%rax)1373; AVX2-FCP-NEXT:    vzeroupper1374; AVX2-FCP-NEXT:    retq1375;1376; AVX512-LABEL: load_i8_stride7_vf8:1377; AVX512:       # %bb.0:1378; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax1379; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r101380; AVX512-NEXT:    vmovdqa (%rdi), %ymm01381; AVX512-NEXT:    vmovdqa 32(%rdi), %ymm11382; AVX512-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,65535,65535,65535,65535]1383; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm1 ^ (ymm2 & (ymm0 ^ ymm1))1384; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm31385; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1386; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1387; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm21388; AVX512-NEXT:    vmovq %xmm2, (%rsi)1389; AVX512-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5],ymm0[6,7,8],ymm1[9,10],ymm0[11,12],ymm1[13],ymm0[14,15]1390; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm31391; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1392; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1393; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm21394; AVX512-NEXT:    vmovq %xmm2, (%rdx)1395; AVX512-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,65535,65535,65535]1396; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm1 ^ (ymm2 & (ymm0 ^ ymm1))1397; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm31398; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1399; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1400; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm21401; AVX512-NEXT:    vmovq %xmm2, (%rcx)1402; AVX512-NEXT:    vpblendd {{.*#+}} ymm2 = ymm0[0],ymm1[1],ymm0[2],ymm1[3],ymm0[4],ymm1[5],ymm0[6,7]1403; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm31404; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1405; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1406; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm21407; AVX512-NEXT:    vmovq %xmm2, (%r8)1408; AVX512-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]1409; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm0 ^ (ymm2 & (ymm1 ^ ymm0))1410; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm31411; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1412; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1413; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm21414; AVX512-NEXT:    vmovq %xmm2, (%r9)1415; AVX512-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5,6],ymm1[7,8],ymm0[9,10],ymm1[11,12],ymm0[13,14],ymm1[15]1416; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm31417; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1418; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1419; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm21420; AVX512-NEXT:    vmovq %xmm2, (%r10)1421; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm1))1422; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm11423; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1424; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1425; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1426; AVX512-NEXT:    vmovq %xmm0, (%rax)1427; AVX512-NEXT:    vzeroupper1428; AVX512-NEXT:    retq1429;1430; AVX512-FCP-LABEL: load_i8_stride7_vf8:1431; AVX512-FCP:       # %bb.0:1432; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1433; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101434; AVX512-FCP-NEXT:    vmovdqa (%rdi), %ymm01435; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %ymm11436; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,65535,65535,65535,65535]1437; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm1 ^ (ymm2 & (ymm0 ^ ymm1))1438; AVX512-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31439; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1440; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1441; AVX512-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21442; AVX512-FCP-NEXT:    vmovq %xmm2, (%rsi)1443; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5],ymm0[6,7,8],ymm1[9,10],ymm0[11,12],ymm1[13],ymm0[14,15]1444; AVX512-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31445; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1446; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1447; AVX512-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21448; AVX512-FCP-NEXT:    vmovq %xmm2, (%rdx)1449; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,65535,65535,65535]1450; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm1 ^ (ymm2 & (ymm0 ^ ymm1))1451; AVX512-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31452; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1453; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1454; AVX512-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21455; AVX512-FCP-NEXT:    vmovq %xmm2, (%rcx)1456; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm0[0],ymm1[1],ymm0[2],ymm1[3],ymm0[4],ymm1[5],ymm0[6,7]1457; AVX512-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31458; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1459; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1460; AVX512-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21461; AVX512-FCP-NEXT:    vmovq %xmm2, (%r8)1462; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]1463; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm0 ^ (ymm2 & (ymm1 ^ ymm0))1464; AVX512-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31465; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1466; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1467; AVX512-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21468; AVX512-FCP-NEXT:    vmovq %xmm2, (%r9)1469; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5,6],ymm1[7,8],ymm0[9,10],ymm1[11,12],ymm0[13,14],ymm1[15]1470; AVX512-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31471; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1472; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1473; AVX512-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21474; AVX512-FCP-NEXT:    vmovq %xmm2, (%r10)1475; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm1))1476; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm11477; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1478; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1479; AVX512-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1480; AVX512-FCP-NEXT:    vmovq %xmm0, (%rax)1481; AVX512-FCP-NEXT:    vzeroupper1482; AVX512-FCP-NEXT:    retq1483;1484; AVX512DQ-LABEL: load_i8_stride7_vf8:1485; AVX512DQ:       # %bb.0:1486; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax1487; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r101488; AVX512DQ-NEXT:    vmovdqa (%rdi), %ymm01489; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %ymm11490; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,65535,65535,65535,65535]1491; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm1 ^ (ymm2 & (ymm0 ^ ymm1))1492; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm31493; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1494; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1495; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm21496; AVX512DQ-NEXT:    vmovq %xmm2, (%rsi)1497; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5],ymm0[6,7,8],ymm1[9,10],ymm0[11,12],ymm1[13],ymm0[14,15]1498; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm31499; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1500; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1501; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm21502; AVX512DQ-NEXT:    vmovq %xmm2, (%rdx)1503; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,65535,65535,65535]1504; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm1 ^ (ymm2 & (ymm0 ^ ymm1))1505; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm31506; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1507; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1508; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm21509; AVX512DQ-NEXT:    vmovq %xmm2, (%rcx)1510; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm2 = ymm0[0],ymm1[1],ymm0[2],ymm1[3],ymm0[4],ymm1[5],ymm0[6,7]1511; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm31512; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1513; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1514; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm21515; AVX512DQ-NEXT:    vmovq %xmm2, (%r8)1516; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]1517; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm0 ^ (ymm2 & (ymm1 ^ ymm0))1518; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm31519; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1520; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1521; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm21522; AVX512DQ-NEXT:    vmovq %xmm2, (%r9)1523; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5,6],ymm1[7,8],ymm0[9,10],ymm1[11,12],ymm0[13,14],ymm1[15]1524; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm31525; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1526; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1527; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm21528; AVX512DQ-NEXT:    vmovq %xmm2, (%r10)1529; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm1))1530; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm11531; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1532; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1533; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1534; AVX512DQ-NEXT:    vmovq %xmm0, (%rax)1535; AVX512DQ-NEXT:    vzeroupper1536; AVX512DQ-NEXT:    retq1537;1538; AVX512DQ-FCP-LABEL: load_i8_stride7_vf8:1539; AVX512DQ-FCP:       # %bb.0:1540; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1541; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101542; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %ymm01543; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %ymm11544; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,65535,65535,65535,65535]1545; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm1 ^ (ymm2 & (ymm0 ^ ymm1))1546; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31547; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1548; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1549; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21550; AVX512DQ-FCP-NEXT:    vmovq %xmm2, (%rsi)1551; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5],ymm0[6,7,8],ymm1[9,10],ymm0[11,12],ymm1[13],ymm0[14,15]1552; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31553; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1554; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1555; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21556; AVX512DQ-FCP-NEXT:    vmovq %xmm2, (%rdx)1557; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,65535,65535,65535]1558; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm1 ^ (ymm2 & (ymm0 ^ ymm1))1559; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31560; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1561; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1562; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21563; AVX512DQ-FCP-NEXT:    vmovq %xmm2, (%rcx)1564; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm0[0],ymm1[1],ymm0[2],ymm1[3],ymm0[4],ymm1[5],ymm0[6,7]1565; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31566; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1567; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1568; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21569; AVX512DQ-FCP-NEXT:    vmovq %xmm2, (%r8)1570; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]1571; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm0 ^ (ymm2 & (ymm1 ^ ymm0))1572; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31573; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1574; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1575; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21576; AVX512DQ-FCP-NEXT:    vmovq %xmm2, (%r9)1577; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5,6],ymm1[7,8],ymm0[9,10],ymm1[11,12],ymm0[13,14],ymm1[15]1578; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31579; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1580; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1581; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21582; AVX512DQ-FCP-NEXT:    vmovq %xmm2, (%r10)1583; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm1))1584; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm11585; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1586; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1587; AVX512DQ-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1588; AVX512DQ-FCP-NEXT:    vmovq %xmm0, (%rax)1589; AVX512DQ-FCP-NEXT:    vzeroupper1590; AVX512DQ-FCP-NEXT:    retq1591;1592; AVX512BW-LABEL: load_i8_stride7_vf8:1593; AVX512BW:       # %bb.0:1594; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax1595; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r101596; AVX512BW-NEXT:    vmovdqa (%rdi), %ymm11597; AVX512BW-NEXT:    vmovdqa 32(%rdi), %ymm01598; AVX512BW-NEXT:    movw $290, %di # imm = 0x1221599; AVX512BW-NEXT:    kmovd %edi, %k11600; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm2 {%k1}1601; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm31602; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1603; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1604; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm21605; AVX512BW-NEXT:    vmovq %xmm2, (%rsi)1606; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5],ymm1[6,7,8],ymm0[9,10],ymm1[11,12],ymm0[13],ymm1[14,15]1607; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm31608; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1609; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1610; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm21611; AVX512BW-NEXT:    vmovq %xmm2, (%rdx)1612; AVX512BW-NEXT:    movw $580, %dx # imm = 0x2441613; AVX512BW-NEXT:    kmovd %edx, %k11614; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm2 {%k1}1615; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm31616; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1617; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1618; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm21619; AVX512BW-NEXT:    vmovq %xmm2, (%rcx)1620; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm2 = ymm1[0],ymm0[1],ymm1[2],ymm0[3],ymm1[4],ymm0[5],ymm1[6,7]1621; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm31622; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1623; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1624; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm21625; AVX512BW-NEXT:    vmovq %xmm2, (%r8)1626; AVX512BW-NEXT:    movw $4644, %cx # imm = 0x12241627; AVX512BW-NEXT:    kmovd %ecx, %k11628; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm0, %ymm2 {%k1}1629; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm31630; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1631; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1632; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm21633; AVX512BW-NEXT:    vmovq %xmm2, (%r9)1634; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5,6],ymm0[7,8],ymm1[9,10],ymm0[11,12],ymm1[13,14],ymm0[15]1635; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm31636; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1637; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1638; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm21639; AVX512BW-NEXT:    vmovq %xmm2, (%r10)1640; AVX512BW-NEXT:    movw $9288, %cx # imm = 0x24481641; AVX512BW-NEXT:    kmovd %ecx, %k11642; AVX512BW-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k1}1643; AVX512BW-NEXT:    vextracti128 $1, %ymm0, %xmm11644; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1645; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1646; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1647; AVX512BW-NEXT:    vmovq %xmm0, (%rax)1648; AVX512BW-NEXT:    vzeroupper1649; AVX512BW-NEXT:    retq1650;1651; AVX512BW-FCP-LABEL: load_i8_stride7_vf8:1652; AVX512BW-FCP:       # %bb.0:1653; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1654; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101655; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %ymm11656; AVX512BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm01657; AVX512BW-FCP-NEXT:    movw $290, %di # imm = 0x1221658; AVX512BW-FCP-NEXT:    kmovd %edi, %k11659; AVX512BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm2 {%k1}1660; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31661; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1662; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1663; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21664; AVX512BW-FCP-NEXT:    vmovq %xmm2, (%rsi)1665; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5],ymm1[6,7,8],ymm0[9,10],ymm1[11,12],ymm0[13],ymm1[14,15]1666; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31667; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1668; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1669; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21670; AVX512BW-FCP-NEXT:    vmovq %xmm2, (%rdx)1671; AVX512BW-FCP-NEXT:    movw $580, %dx # imm = 0x2441672; AVX512BW-FCP-NEXT:    kmovd %edx, %k11673; AVX512BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm2 {%k1}1674; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31675; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1676; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1677; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21678; AVX512BW-FCP-NEXT:    vmovq %xmm2, (%rcx)1679; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm1[0],ymm0[1],ymm1[2],ymm0[3],ymm1[4],ymm0[5],ymm1[6,7]1680; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31681; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1682; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1683; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21684; AVX512BW-FCP-NEXT:    vmovq %xmm2, (%r8)1685; AVX512BW-FCP-NEXT:    movw $4644, %cx # imm = 0x12241686; AVX512BW-FCP-NEXT:    kmovd %ecx, %k11687; AVX512BW-FCP-NEXT:    vpblendmw %ymm1, %ymm0, %ymm2 {%k1}1688; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31689; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1690; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1691; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21692; AVX512BW-FCP-NEXT:    vmovq %xmm2, (%r9)1693; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5,6],ymm0[7,8],ymm1[9,10],ymm0[11,12],ymm1[13,14],ymm0[15]1694; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31695; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1696; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1697; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21698; AVX512BW-FCP-NEXT:    vmovq %xmm2, (%r10)1699; AVX512BW-FCP-NEXT:    movw $9288, %cx # imm = 0x24481700; AVX512BW-FCP-NEXT:    kmovd %ecx, %k11701; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k1}1702; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm11703; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1704; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1705; AVX512BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1706; AVX512BW-FCP-NEXT:    vmovq %xmm0, (%rax)1707; AVX512BW-FCP-NEXT:    vzeroupper1708; AVX512BW-FCP-NEXT:    retq1709;1710; AVX512DQ-BW-LABEL: load_i8_stride7_vf8:1711; AVX512DQ-BW:       # %bb.0:1712; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax1713; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r101714; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %ymm11715; AVX512DQ-BW-NEXT:    vmovdqa 32(%rdi), %ymm01716; AVX512DQ-BW-NEXT:    movw $290, %di # imm = 0x1221717; AVX512DQ-BW-NEXT:    kmovd %edi, %k11718; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm2 {%k1}1719; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm31720; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1721; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1722; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm21723; AVX512DQ-BW-NEXT:    vmovq %xmm2, (%rsi)1724; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5],ymm1[6,7,8],ymm0[9,10],ymm1[11,12],ymm0[13],ymm1[14,15]1725; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm31726; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1727; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1728; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm21729; AVX512DQ-BW-NEXT:    vmovq %xmm2, (%rdx)1730; AVX512DQ-BW-NEXT:    movw $580, %dx # imm = 0x2441731; AVX512DQ-BW-NEXT:    kmovd %edx, %k11732; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm2 {%k1}1733; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm31734; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1735; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1736; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm21737; AVX512DQ-BW-NEXT:    vmovq %xmm2, (%rcx)1738; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm2 = ymm1[0],ymm0[1],ymm1[2],ymm0[3],ymm1[4],ymm0[5],ymm1[6,7]1739; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm31740; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1741; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1742; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm21743; AVX512DQ-BW-NEXT:    vmovq %xmm2, (%r8)1744; AVX512DQ-BW-NEXT:    movw $4644, %cx # imm = 0x12241745; AVX512DQ-BW-NEXT:    kmovd %ecx, %k11746; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm0, %ymm2 {%k1}1747; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm31748; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1749; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1750; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm21751; AVX512DQ-BW-NEXT:    vmovq %xmm2, (%r9)1752; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5,6],ymm0[7,8],ymm1[9,10],ymm0[11,12],ymm1[13,14],ymm0[15]1753; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm31754; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1755; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1756; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm21757; AVX512DQ-BW-NEXT:    vmovq %xmm2, (%r10)1758; AVX512DQ-BW-NEXT:    movw $9288, %cx # imm = 0x24481759; AVX512DQ-BW-NEXT:    kmovd %ecx, %k11760; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k1}1761; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm0, %xmm11762; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1763; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1764; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1765; AVX512DQ-BW-NEXT:    vmovq %xmm0, (%rax)1766; AVX512DQ-BW-NEXT:    vzeroupper1767; AVX512DQ-BW-NEXT:    retq1768;1769; AVX512DQ-BW-FCP-LABEL: load_i8_stride7_vf8:1770; AVX512DQ-BW-FCP:       # %bb.0:1771; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax1772; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r101773; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %ymm11774; AVX512DQ-BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm01775; AVX512DQ-BW-FCP-NEXT:    movw $290, %di # imm = 0x1221776; AVX512DQ-BW-FCP-NEXT:    kmovd %edi, %k11777; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm2 {%k1}1778; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31779; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,u,u,u,u,u,u,u,u]1780; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,xmm2[u,u,u,u,u,u,u,u]1781; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21782; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm2, (%rsi)1783; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm1[0],ymm0[1,2],ymm1[3,4],ymm0[5],ymm1[6,7,8],ymm0[9,10],ymm1[11,12],ymm0[13],ymm1[14,15]1784; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31785; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,u,u,u,u,u,u,u,u]1786; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,xmm2[u,u,u,u,u,u,u,u]1787; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21788; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm2, (%rdx)1789; AVX512DQ-BW-FCP-NEXT:    movw $580, %dx # imm = 0x2441790; AVX512DQ-BW-FCP-NEXT:    kmovd %edx, %k11791; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm2 {%k1}1792; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31793; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,u,u,u,u,u,u,u,u]1794; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,xmm2[u,u,u,u,u,u,u,u]1795; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21796; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm2, (%rcx)1797; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm1[0],ymm0[1],ymm1[2],ymm0[3],ymm1[4],ymm0[5],ymm1[6,7]1798; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31799; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,u,u,u,u,u,u,u,u]1800; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,xmm2[u,u,u,u,u,u,u,u]1801; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21802; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm2, (%r8)1803; AVX512DQ-BW-FCP-NEXT:    movw $4644, %cx # imm = 0x12241804; AVX512DQ-BW-FCP-NEXT:    kmovd %ecx, %k11805; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm1, %ymm0, %ymm2 {%k1}1806; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31807; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,u,u,u,u,u,u,u,u]1808; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,xmm2[u,u,u,u,u,u,u,u]1809; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21810; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm2, (%r9)1811; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0],ymm1[1,2],ymm0[3,4],ymm1[5,6],ymm0[7,8],ymm1[9,10],ymm0[11,12],ymm1[13,14],ymm0[15]1812; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31813; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,u,u,u,u,u,u,u,u]1814; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,xmm2[u,u,u,u,u,u,u,u]1815; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21816; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm2, (%r10)1817; AVX512DQ-BW-FCP-NEXT:    movw $9288, %cx # imm = 0x24481818; AVX512DQ-BW-FCP-NEXT:    kmovd %ecx, %k11819; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k1}1820; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm11821; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11,0,7,u,u,u,u,u,u,u,u,u,u,u,u]1822; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[6,13,2,9,u,u,u,u,u,u,u,u,u,u,u,u]1823; AVX512DQ-BW-FCP-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]1824; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm0, (%rax)1825; AVX512DQ-BW-FCP-NEXT:    vzeroupper1826; AVX512DQ-BW-FCP-NEXT:    retq1827  %wide.vec = load <56 x i8>, ptr %in.vec, align 641828  %strided.vec0 = shufflevector <56 x i8> %wide.vec, <56 x i8> poison, <8 x i32> <i32 0, i32 7, i32 14, i32 21, i32 28, i32 35, i32 42, i32 49>1829  %strided.vec1 = shufflevector <56 x i8> %wide.vec, <56 x i8> poison, <8 x i32> <i32 1, i32 8, i32 15, i32 22, i32 29, i32 36, i32 43, i32 50>1830  %strided.vec2 = shufflevector <56 x i8> %wide.vec, <56 x i8> poison, <8 x i32> <i32 2, i32 9, i32 16, i32 23, i32 30, i32 37, i32 44, i32 51>1831  %strided.vec3 = shufflevector <56 x i8> %wide.vec, <56 x i8> poison, <8 x i32> <i32 3, i32 10, i32 17, i32 24, i32 31, i32 38, i32 45, i32 52>1832  %strided.vec4 = shufflevector <56 x i8> %wide.vec, <56 x i8> poison, <8 x i32> <i32 4, i32 11, i32 18, i32 25, i32 32, i32 39, i32 46, i32 53>1833  %strided.vec5 = shufflevector <56 x i8> %wide.vec, <56 x i8> poison, <8 x i32> <i32 5, i32 12, i32 19, i32 26, i32 33, i32 40, i32 47, i32 54>1834  %strided.vec6 = shufflevector <56 x i8> %wide.vec, <56 x i8> poison, <8 x i32> <i32 6, i32 13, i32 20, i32 27, i32 34, i32 41, i32 48, i32 55>1835  store <8 x i8> %strided.vec0, ptr %out.vec0, align 641836  store <8 x i8> %strided.vec1, ptr %out.vec1, align 641837  store <8 x i8> %strided.vec2, ptr %out.vec2, align 641838  store <8 x i8> %strided.vec3, ptr %out.vec3, align 641839  store <8 x i8> %strided.vec4, ptr %out.vec4, align 641840  store <8 x i8> %strided.vec5, ptr %out.vec5, align 641841  store <8 x i8> %strided.vec6, ptr %out.vec6, align 641842  ret void1843}1844 1845define void @load_i8_stride7_vf16(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {1846; SSE-LABEL: load_i8_stride7_vf16:1847; SSE:       # %bb.0:1848; SSE-NEXT:    subq $168, %rsp1849; SSE-NEXT:    movdqa 96(%rdi), %xmm151850; SSE-NEXT:    movdqa 80(%rdi), %xmm41851; SSE-NEXT:    movdqa 64(%rdi), %xmm71852; SSE-NEXT:    movdqa (%rdi), %xmm61853; SSE-NEXT:    movdqa 16(%rdi), %xmm91854; SSE-NEXT:    movdqa 32(%rdi), %xmm121855; SSE-NEXT:    movdqa 48(%rdi), %xmm81856; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,0,65535,65535,65535,0,65535,65535]1857; SSE-NEXT:    movdqa %xmm2, %xmm01858; SSE-NEXT:    pandn %xmm12, %xmm01859; SSE-NEXT:    movdqa %xmm8, %xmm11860; SSE-NEXT:    pand %xmm2, %xmm11861; SSE-NEXT:    por %xmm0, %xmm11862; SSE-NEXT:    pxor %xmm13, %xmm131863; SSE-NEXT:    movdqa %xmm1, %xmm01864; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm13[8],xmm0[9],xmm13[9],xmm0[10],xmm13[10],xmm0[11],xmm13[11],xmm0[12],xmm13[12],xmm0[13],xmm13[13],xmm0[14],xmm13[14],xmm0[15],xmm13[15]1865; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm13[0],xmm1[1],xmm13[1],xmm1[2],xmm13[2],xmm1[3],xmm13[3],xmm1[4],xmm13[4],xmm1[5],xmm13[5],xmm1[6],xmm13[6],xmm1[7],xmm13[7]1866; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]1867; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]1868; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,1]1869; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,5,6]1870; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,3]1871; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,3,4,5,6,7]1872; SSE-NEXT:    packuswb %xmm0, %xmm11873; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [255,255,255,255,255,0,0,0,0,0,255,255,255,255,255,255]1874; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [65535,65535,0,65535,65535,65535,0,65535]1875; SSE-NEXT:    movdqa %xmm10, %xmm01876; SSE-NEXT:    pandn %xmm9, %xmm01877; SSE-NEXT:    movdqa %xmm6, %xmm31878; SSE-NEXT:    movdqa %xmm6, %xmm111879; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1880; SSE-NEXT:    pand %xmm10, %xmm31881; SSE-NEXT:    por %xmm0, %xmm31882; SSE-NEXT:    movdqa %xmm3, %xmm01883; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm13[8],xmm0[9],xmm13[9],xmm0[10],xmm13[10],xmm0[11],xmm13[11],xmm0[12],xmm13[12],xmm0[13],xmm13[13],xmm0[14],xmm13[14],xmm0[15],xmm13[15]1884; SSE-NEXT:    movdqa {{.*#+}} xmm14 = [65535,65535,65535,65535,0,65535,0,65535]1885; SSE-NEXT:    movdqa %xmm14, %xmm61886; SSE-NEXT:    pandn %xmm0, %xmm61887; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm13[0],xmm3[1],xmm13[1],xmm3[2],xmm13[2],xmm3[3],xmm13[3],xmm3[4],xmm13[4],xmm3[5],xmm13[5],xmm3[6],xmm13[6],xmm3[7],xmm13[7]1888; SSE-NEXT:    pand %xmm14, %xmm31889; SSE-NEXT:    por %xmm6, %xmm31890; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[0,2,1,3]1891; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,3,4,5,6,7]1892; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,1,1]1893; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,1,4,5,6,7]1894; SSE-NEXT:    packuswb %xmm0, %xmm01895; SSE-NEXT:    pand %xmm2, %xmm01896; SSE-NEXT:    pandn %xmm1, %xmm21897; SSE-NEXT:    por %xmm2, %xmm01898; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,65535,65535,0,65535,65535,0,65535]1899; SSE-NEXT:    movdqa %xmm3, %xmm11900; SSE-NEXT:    pandn %xmm7, %xmm11901; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1902; SSE-NEXT:    movdqa %xmm4, %xmm21903; SSE-NEXT:    movdqa %xmm4, %xmm51904; SSE-NEXT:    pand %xmm3, %xmm21905; SSE-NEXT:    movdqa %xmm3, %xmm131906; SSE-NEXT:    por %xmm1, %xmm21907; SSE-NEXT:    movdqa %xmm2, %xmm11908; SSE-NEXT:    pxor %xmm6, %xmm61909; 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]1910; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,4,7]1911; 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]1912; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]1913; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,7,7]1914; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm2[4],xmm1[5],xmm2[5],xmm1[6],xmm2[6],xmm1[7],xmm2[7]1915; SSE-NEXT:    movdqa %xmm15, %xmm21916; SSE-NEXT:    movdqa %xmm15, %xmm31917; 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]1918; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1919; 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]1920; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1921; SSE-NEXT:    pxor %xmm15, %xmm151922; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]1923; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]1924; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,4,7]1925; SSE-NEXT:    packuswb %xmm2, %xmm21926; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,65535,65535,65535,65535,65535,65535,0]1927; SSE-NEXT:    movdqa %xmm4, %xmm31928; SSE-NEXT:    pandn %xmm2, %xmm31929; SSE-NEXT:    packuswb %xmm1, %xmm11930; SSE-NEXT:    pand %xmm4, %xmm11931; SSE-NEXT:    por %xmm1, %xmm31932; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [65535,65535,65535,65535,65535,0,0,0]1933; SSE-NEXT:    pand %xmm1, %xmm01934; SSE-NEXT:    pandn %xmm3, %xmm11935; SSE-NEXT:    por %xmm0, %xmm11936; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1937; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,65535,0,65535,65535,0,65535,65535]1938; SSE-NEXT:    movdqa %xmm2, %xmm01939; SSE-NEXT:    pandn %xmm12, %xmm01940; SSE-NEXT:    movdqa %xmm8, %xmm11941; SSE-NEXT:    pand %xmm2, %xmm11942; SSE-NEXT:    por %xmm0, %xmm11943; SSE-NEXT:    movdqa %xmm1, %xmm01944; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm15[8],xmm0[9],xmm15[9],xmm0[10],xmm15[10],xmm0[11],xmm15[11],xmm0[12],xmm15[12],xmm0[13],xmm15[13],xmm0[14],xmm15[14],xmm0[15],xmm15[15]1945; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm15[0],xmm1[1],xmm15[1],xmm1[2],xmm15[2],xmm1[3],xmm15[3],xmm1[4],xmm15[4],xmm1[5],xmm15[5],xmm1[6],xmm15[6],xmm1[7],xmm15[7]1946; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,65535,65535,0,65535,65535,65535,65535]1947; SSE-NEXT:    pand %xmm2, %xmm11948; SSE-NEXT:    pandn %xmm0, %xmm21949; SSE-NEXT:    por %xmm1, %xmm21950; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,1,2,1]1951; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,6]1952; SSE-NEXT:    psrld $16, %xmm01953; SSE-NEXT:    packuswb %xmm0, %xmm11954; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255]1955; SSE-NEXT:    movdqa %xmm4, %xmm01956; SSE-NEXT:    pandn %xmm1, %xmm01957; SSE-NEXT:    movdqa %xmm13, %xmm11958; SSE-NEXT:    pandn %xmm9, %xmm11959; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1960; SSE-NEXT:    movdqa %xmm11, %xmm21961; SSE-NEXT:    pand %xmm13, %xmm21962; SSE-NEXT:    movdqa %xmm13, %xmm111963; SSE-NEXT:    por %xmm1, %xmm21964; SSE-NEXT:    movdqa %xmm2, %xmm11965; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm15[0],xmm1[1],xmm15[1],xmm1[2],xmm15[2],xmm1[3],xmm15[3],xmm1[4],xmm15[4],xmm1[5],xmm15[5],xmm1[6],xmm15[6],xmm1[7],xmm15[7]1966; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [65535,0,65535,65535,65535,65535,0,65535]1967; SSE-NEXT:    movdqa %xmm6, %xmm31968; SSE-NEXT:    pandn %xmm1, %xmm31969; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm15[8],xmm2[9],xmm15[9],xmm2[10],xmm15[10],xmm2[11],xmm15[11],xmm2[12],xmm15[12],xmm2[13],xmm15[13],xmm2[14],xmm15[14],xmm2[15],xmm15[15]1970; SSE-NEXT:    pand %xmm6, %xmm21971; SSE-NEXT:    por %xmm3, %xmm21972; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,3,2,3]1973; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,0,3,2,4,5,6,7]1974; SSE-NEXT:    pshufhw {{.*#+}} xmm13 = xmm1[0,1,2,3,5,5,5,5]1975; SSE-NEXT:    packuswb %xmm13, %xmm131976; SSE-NEXT:    pand %xmm4, %xmm131977; SSE-NEXT:    por %xmm0, %xmm131978; SSE-NEXT:    movdqa %xmm10, %xmm01979; SSE-NEXT:    pandn %xmm5, %xmm01980; SSE-NEXT:    movdqa %xmm5, %xmm61981; SSE-NEXT:    movdqa %xmm7, %xmm11982; SSE-NEXT:    pand %xmm10, %xmm11983; SSE-NEXT:    por %xmm0, %xmm11984; SSE-NEXT:    movdqa %xmm1, %xmm01985; SSE-NEXT:    pxor %xmm2, %xmm21986; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm2[8],xmm0[9],xmm2[9],xmm0[10],xmm2[10],xmm0[11],xmm2[11],xmm0[12],xmm2[12],xmm0[13],xmm2[13],xmm0[14],xmm2[14],xmm0[15],xmm2[15]1987; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3],xmm1[4],xmm2[4],xmm1[5],xmm2[5],xmm1[6],xmm2[6],xmm1[7],xmm2[7]1988; SSE-NEXT:    pand %xmm14, %xmm11989; SSE-NEXT:    pandn %xmm0, %xmm141990; SSE-NEXT:    por %xmm1, %xmm141991; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1992; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1993; SSE-NEXT:    movdqa %xmm12, %xmm01994; SSE-NEXT:    pand %xmm10, %xmm01995; SSE-NEXT:    pandn %xmm8, %xmm101996; SSE-NEXT:    por %xmm0, %xmm101997; SSE-NEXT:    movdqa {{.*#+}} xmm14 = [65535,0,65535,65535,0,65535,65535,65535]1998; SSE-NEXT:    movdqa %xmm9, %xmm71999; SSE-NEXT:    pand %xmm14, %xmm72000; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2001; SSE-NEXT:    movdqa %xmm5, %xmm152002; SSE-NEXT:    pand %xmm14, %xmm152003; SSE-NEXT:    movdqa %xmm11, %xmm32004; SSE-NEXT:    pandn %xmm8, %xmm32005; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2006; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm8[0,2,2,3]2007; SSE-NEXT:    movdqa %xmm8, %xmm42008; SSE-NEXT:    pand %xmm14, %xmm82009; SSE-NEXT:    movdqa %xmm14, %xmm92010; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2011; SSE-NEXT:    pandn %xmm12, %xmm142012; SSE-NEXT:    por %xmm8, %xmm142013; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2014; SSE-NEXT:    movdqa %xmm0, %xmm52015; SSE-NEXT:    pslld $16, %xmm52016; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload2017; SSE-NEXT:    movdqa %xmm8, %xmm32018; SSE-NEXT:    psrldq {{.*#+}} xmm3 = xmm3[2,3,4,5,6,7,8,9,10,11,12,13,14,15],zero,zero2019; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3]2020; SSE-NEXT:    movdqa %xmm8, %xmm12021; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]2022; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2023; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2024; SSE-NEXT:    pxor %xmm1, %xmm12025; SSE-NEXT:    punpcklbw {{.*#+}} xmm10 = xmm10[0],xmm1[0],xmm10[1],xmm1[1],xmm10[2],xmm1[2],xmm10[3],xmm1[3],xmm10[4],xmm1[4],xmm10[5],xmm1[5],xmm10[6],xmm1[6],xmm10[7],xmm1[7]2026; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm10[0,1,2,3,7,5,6,7]2027; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,0]2028; SSE-NEXT:    pshufhw {{.*#+}} xmm10 = xmm2[0,1,2,3,6,4,6,5]2029; SSE-NEXT:    movdqa {{.*#+}} xmm12 = [65535,65535,65535,65535,65535,65535,0,65535]2030; SSE-NEXT:    pand %xmm12, %xmm102031; SSE-NEXT:    movdqa %xmm8, %xmm22032; SSE-NEXT:    pand %xmm12, %xmm22033; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2034; SSE-NEXT:    movdqa %xmm12, (%rsp) # 16-byte Spill2035; SSE-NEXT:    pandn %xmm0, %xmm122036; SSE-NEXT:    movdqa %xmm0, %xmm22037; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2038; SSE-NEXT:    punpcklbw {{.*#+}} xmm14 = xmm14[0],xmm1[0],xmm14[1],xmm1[1],xmm14[2],xmm1[2],xmm14[3],xmm1[3],xmm14[4],xmm1[4],xmm14[5],xmm1[5],xmm14[6],xmm1[6],xmm14[7],xmm1[7]2039; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,0,65535,65535,65535,65535,65535,65535]2040; SSE-NEXT:    pand %xmm0, %xmm142041; SSE-NEXT:    pand %xmm0, %xmm22042; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2043; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2044; SSE-NEXT:    pandn %xmm8, %xmm02045; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2046; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm5[0],xmm8[1],xmm5[1],xmm8[2],xmm5[2],xmm8[3],xmm5[3]2047; SSE-NEXT:    packuswb %xmm8, %xmm52048; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,65535,65535,65535,65535,65535,0]2049; SSE-NEXT:    movdqa %xmm0, %xmm82050; SSE-NEXT:    pandn %xmm5, %xmm82051; SSE-NEXT:    pshufd $236, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload2052; SSE-NEXT:    # xmm5 = mem[0,3,2,3]2053; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[0,0,3,2,4,5,6,7]2054; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,5,4,6,7]2055; SSE-NEXT:    packuswb %xmm5, %xmm52056; SSE-NEXT:    pand %xmm0, %xmm52057; SSE-NEXT:    por %xmm5, %xmm82058; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0]2059; SSE-NEXT:    movdqa %xmm5, %xmm02060; SSE-NEXT:    pandn %xmm8, %xmm02061; SSE-NEXT:    pand %xmm5, %xmm132062; SSE-NEXT:    por %xmm13, %xmm02063; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2064; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,65535,65535,0,65535,65535,0,65535]2065; SSE-NEXT:    movdqa %xmm2, %xmm82066; SSE-NEXT:    pandn %xmm6, %xmm82067; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2068; SSE-NEXT:    pand %xmm2, %xmm02069; SSE-NEXT:    por %xmm8, %xmm02070; SSE-NEXT:    movdqa %xmm0, %xmm82071; SSE-NEXT:    pxor %xmm6, %xmm62072; 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]2073; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [65535,0,65535,65535,65535,65535,0,65535]2074; SSE-NEXT:    movdqa %xmm13, %xmm12075; SSE-NEXT:    pandn %xmm8, %xmm12076; 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]2077; SSE-NEXT:    pxor %xmm8, %xmm82078; SSE-NEXT:    pand %xmm13, %xmm02079; SSE-NEXT:    por %xmm1, %xmm02080; SSE-NEXT:    packuswb %xmm3, %xmm12081; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [65535,65535,65535,65535,65535,65535,65535,0]2082; SSE-NEXT:    movdqa %xmm6, %xmm32083; SSE-NEXT:    pandn %xmm1, %xmm32084; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,3]2085; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,0,3,4,5,6,7]2086; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,6,7]2087; SSE-NEXT:    packuswb %xmm0, %xmm02088; SSE-NEXT:    pand %xmm6, %xmm02089; SSE-NEXT:    por %xmm0, %xmm32090; SSE-NEXT:    movdqa %xmm5, %xmm02091; SSE-NEXT:    pandn %xmm3, %xmm02092; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload2093; SSE-NEXT:    pandn %xmm6, %xmm92094; SSE-NEXT:    por %xmm9, %xmm72095; SSE-NEXT:    movdqa %xmm7, %xmm12096; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm8[8],xmm1[9],xmm8[9],xmm1[10],xmm8[10],xmm1[11],xmm8[11],xmm1[12],xmm8[12],xmm1[13],xmm8[13],xmm1[14],xmm8[14],xmm1[15],xmm8[15]2097; SSE-NEXT:    movdqa %xmm13, %xmm32098; SSE-NEXT:    pandn %xmm1, %xmm32099; SSE-NEXT:    punpcklbw {{.*#+}} xmm7 = xmm7[0],xmm8[0],xmm7[1],xmm8[1],xmm7[2],xmm8[2],xmm7[3],xmm8[3],xmm7[4],xmm8[4],xmm7[5],xmm8[5],xmm7[6],xmm8[6],xmm7[7],xmm8[7]2100; SSE-NEXT:    pand %xmm13, %xmm72101; SSE-NEXT:    por %xmm3, %xmm72102; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload2103; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm9[1,3,2,3]2104; SSE-NEXT:    punpckldq {{.*#+}} xmm11 = xmm11[0],xmm1[0],xmm11[1],xmm1[1]2105; SSE-NEXT:    movdqa %xmm11, %xmm12106; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm8[8],xmm1[9],xmm8[9],xmm1[10],xmm8[10],xmm1[11],xmm8[11],xmm1[12],xmm8[12],xmm1[13],xmm8[13],xmm1[14],xmm8[14],xmm1[15],xmm8[15]2107; SSE-NEXT:    punpcklbw {{.*#+}} xmm11 = xmm11[0],xmm8[0],xmm11[1],xmm8[1],xmm11[2],xmm8[2],xmm11[3],xmm8[3],xmm11[4],xmm8[4],xmm11[5],xmm8[5],xmm11[6],xmm8[6],xmm11[7],xmm8[7]2108; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,65535,65535,65535,0,65535,65535,65535]2109; SSE-NEXT:    pand %xmm3, %xmm112110; SSE-NEXT:    pandn %xmm1, %xmm32111; SSE-NEXT:    por %xmm11, %xmm32112; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,1]2113; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]2114; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[1,1,1,1]2115; SSE-NEXT:    packuswb %xmm1, %xmm32116; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255]2117; SSE-NEXT:    movdqa %xmm13, %xmm82118; SSE-NEXT:    pandn %xmm3, %xmm82119; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[0,2,1,3]2120; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]2121; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,3,3]2122; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[2,1,0,3,4,5,6,7]2123; SSE-NEXT:    packuswb %xmm1, %xmm12124; SSE-NEXT:    pand %xmm13, %xmm12125; SSE-NEXT:    por %xmm1, %xmm82126; SSE-NEXT:    pand %xmm5, %xmm82127; SSE-NEXT:    por %xmm0, %xmm82128; SSE-NEXT:    movdqa %xmm2, %xmm02129; SSE-NEXT:    pandn %xmm9, %xmm02130; SSE-NEXT:    pand %xmm2, %xmm42131; SSE-NEXT:    por %xmm0, %xmm42132; SSE-NEXT:    movdqa %xmm4, %xmm02133; SSE-NEXT:    pxor %xmm1, %xmm12134; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]2135; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3],xmm4[4],xmm1[4],xmm4[5],xmm1[5],xmm4[6],xmm1[6],xmm4[7],xmm1[7]2136; SSE-NEXT:    pxor %xmm2, %xmm22137; SSE-NEXT:    punpckhwd {{.*#+}} xmm4 = xmm4[4],xmm0[4],xmm4[5],xmm0[5],xmm4[6],xmm0[6],xmm4[7],xmm0[7]2138; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm4[0,3,2,3,4,5,6,7]2139; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]2140; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm1[0,1,2,3,4,4,7,6]2141; SSE-NEXT:    psrlq $48, %xmm02142; SSE-NEXT:    packuswb %xmm0, %xmm32143; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [65535,0,65535,65535,65535,0,65535,65535]2144; SSE-NEXT:    movdqa %xmm1, %xmm02145; SSE-NEXT:    movdqa %xmm6, %xmm72146; SSE-NEXT:    pandn %xmm6, %xmm02147; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload2148; SSE-NEXT:    movdqa %xmm9, %xmm42149; SSE-NEXT:    pand %xmm1, %xmm42150; SSE-NEXT:    por %xmm0, %xmm42151; SSE-NEXT:    movdqa %xmm4, %xmm02152; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3],xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]2153; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [65535,0,65535,0,65535,65535,65535,65535]2154; SSE-NEXT:    movdqa %xmm1, %xmm62155; SSE-NEXT:    pandn %xmm0, %xmm62156; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm2[8],xmm4[9],xmm2[9],xmm4[10],xmm2[10],xmm4[11],xmm2[11],xmm4[12],xmm2[12],xmm4[13],xmm2[13],xmm4[14],xmm2[14],xmm4[15],xmm2[15]2157; SSE-NEXT:    pand %xmm1, %xmm42158; SSE-NEXT:    por %xmm6, %xmm42159; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm4[3,2,1,0,4,5,6,7]2160; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm0[0,1,2,3,7,7,7,7]2161; SSE-NEXT:    packuswb %xmm4, %xmm42162; SSE-NEXT:    pand %xmm13, %xmm42163; SSE-NEXT:    pandn %xmm3, %xmm132164; SSE-NEXT:    por %xmm13, %xmm42165; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload2166; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2167; SSE-NEXT:    pandn %xmm6, %xmm02168; SSE-NEXT:    por %xmm0, %xmm152169; SSE-NEXT:    movdqa %xmm15, %xmm02170; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm2[8],xmm0[9],xmm2[9],xmm0[10],xmm2[10],xmm0[11],xmm2[11],xmm0[12],xmm2[12],xmm0[13],xmm2[13],xmm0[14],xmm2[14],xmm0[15],xmm2[15]2171; SSE-NEXT:    punpcklbw {{.*#+}} xmm15 = xmm15[0],xmm2[0],xmm15[1],xmm2[1],xmm15[2],xmm2[2],xmm15[3],xmm2[3],xmm15[4],xmm2[4],xmm15[5],xmm2[5],xmm15[6],xmm2[6],xmm15[7],xmm2[7]2172; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,0,65535,65535,65535,65535,0,65535]2173; SSE-NEXT:    pand %xmm3, %xmm152174; SSE-NEXT:    pandn %xmm0, %xmm32175; SSE-NEXT:    por %xmm15, %xmm32176; SSE-NEXT:    movdqa %xmm3, %xmm112177; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload2178; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm13[2,1,2,3,4,5,6,7]2179; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]2180; SSE-NEXT:    packuswb %xmm0, %xmm02181; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,65535,65535,65535,65535,65535,65535,0]2182; SSE-NEXT:    movdqa %xmm2, %xmm32183; SSE-NEXT:    pandn %xmm0, %xmm32184; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm11[0,2,1,0,4,5,6,7]2185; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,6,6,7]2186; SSE-NEXT:    packuswb %xmm0, %xmm02187; SSE-NEXT:    pand %xmm2, %xmm02188; SSE-NEXT:    por %xmm0, %xmm32189; SSE-NEXT:    movdqa %xmm5, %xmm152190; SSE-NEXT:    pandn %xmm3, %xmm152191; SSE-NEXT:    pand %xmm5, %xmm42192; SSE-NEXT:    por %xmm4, %xmm152193; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,0,65535,65535,0,65535,65535]2194; SSE-NEXT:    movdqa %xmm0, %xmm32195; SSE-NEXT:    pandn %xmm7, %xmm32196; SSE-NEXT:    movdqa %xmm9, %xmm42197; SSE-NEXT:    pand %xmm0, %xmm42198; SSE-NEXT:    por %xmm3, %xmm42199; SSE-NEXT:    movdqa %xmm4, %xmm32200; SSE-NEXT:    pxor %xmm0, %xmm02201; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm0[8],xmm3[9],xmm0[9],xmm3[10],xmm0[10],xmm3[11],xmm0[11],xmm3[12],xmm0[12],xmm3[13],xmm0[13],xmm3[14],xmm0[14],xmm3[15],xmm0[15]2202; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[3,1,2,3,4,5,6,7]2203; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm0[0],xmm4[1],xmm0[1],xmm4[2],xmm0[2],xmm4[3],xmm0[3],xmm4[4],xmm0[4],xmm4[5],xmm0[5],xmm4[6],xmm0[6],xmm4[7],xmm0[7]2204; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[2,1,2,3]2205; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,2,2,3,4,5,6,7]2206; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]2207; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2208; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm0[8],xmm2[9],xmm0[9],xmm2[10],xmm0[10],xmm2[11],xmm0[11],xmm2[12],xmm0[12],xmm2[13],xmm0[13],xmm2[14],xmm0[14],xmm2[15],xmm0[15]2209; SSE-NEXT:    movdqa (%rsp), %xmm3 # 16-byte Reload2210; SSE-NEXT:    pandn %xmm2, %xmm32211; SSE-NEXT:    por %xmm3, %xmm102212; SSE-NEXT:    packuswb %xmm2, %xmm102213; SSE-NEXT:    packuswb %xmm4, %xmm42214; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm10[0,1,3,3]2215; SSE-NEXT:    movss {{.*#+}} xmm2 = xmm4[0],xmm2[1,2,3]2216; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload2217; SSE-NEXT:    movdqa %xmm7, %xmm32218; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,0,65535,65535,65535,0,65535,65535]2219; SSE-NEXT:    pand %xmm4, %xmm32220; SSE-NEXT:    pandn %xmm6, %xmm42221; SSE-NEXT:    movdqa %xmm6, %xmm112222; SSE-NEXT:    por %xmm3, %xmm42223; SSE-NEXT:    movdqa %xmm4, %xmm32224; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3],xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]2225; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm0[8],xmm4[9],xmm0[9],xmm4[10],xmm0[10],xmm4[11],xmm0[11],xmm4[12],xmm0[12],xmm4[13],xmm0[13],xmm4[14],xmm0[14],xmm4[15],xmm0[15]2226; SSE-NEXT:    pxor %xmm10, %xmm102227; SSE-NEXT:    pand %xmm1, %xmm42228; SSE-NEXT:    pandn %xmm3, %xmm12229; SSE-NEXT:    por %xmm4, %xmm12230; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,0,3]2231; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]2232; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]2233; SSE-NEXT:    packuswb %xmm1, %xmm12234; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,65535,65535,65535,65535,65535,0]2235; SSE-NEXT:    pand %xmm0, %xmm12236; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm13[0,1,2,1]2237; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]2238; SSE-NEXT:    packuswb %xmm3, %xmm32239; SSE-NEXT:    pandn %xmm3, %xmm02240; SSE-NEXT:    por %xmm1, %xmm02241; SSE-NEXT:    movdqa %xmm5, %xmm12242; SSE-NEXT:    pandn %xmm0, %xmm12243; SSE-NEXT:    andps %xmm5, %xmm22244; SSE-NEXT:    por %xmm2, %xmm12245; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2246; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [65535,65535,65535,0,65535,65535,0,65535]2247; SSE-NEXT:    pand %xmm13, %xmm22248; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload2249; SSE-NEXT:    movdqa %xmm2, %xmm32250; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm10[8],xmm3[9],xmm10[9],xmm3[10],xmm10[10],xmm3[11],xmm10[11],xmm3[12],xmm10[12],xmm3[13],xmm10[13],xmm3[14],xmm10[14],xmm3[15],xmm10[15]2251; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3],xmm2[4],xmm10[4],xmm2[5],xmm10[5],xmm2[6],xmm10[6],xmm2[7],xmm10[7]2252; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [0,65535,65535,65535,65535,65535,65535,0]2253; SSE-NEXT:    pand %xmm4, %xmm22254; SSE-NEXT:    pandn %xmm3, %xmm42255; SSE-NEXT:    por %xmm2, %xmm42256; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm4[0,1,0,3]2257; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm2[0,1,2,3,5,4,7,6]2258; SSE-NEXT:    psrldq {{.*#+}} xmm3 = xmm3[10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero2259; SSE-NEXT:    packuswb %xmm3, %xmm62260; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm9[0,2,2,3]2261; SSE-NEXT:    pand %xmm13, %xmm92262; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload2263; SSE-NEXT:    pandn %xmm3, %xmm132264; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[1,3,2,3]2265; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]2266; SSE-NEXT:    movdqa %xmm2, %xmm32267; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm10[8],xmm3[9],xmm10[9],xmm3[10],xmm10[10],xmm3[11],xmm10[11],xmm3[12],xmm10[12],xmm3[13],xmm10[13],xmm3[14],xmm10[14],xmm3[15],xmm10[15]2268; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[2,1,2,3]2269; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,2,2,3,4,5,6,7]2270; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3],xmm2[4],xmm10[4],xmm2[5],xmm10[5],xmm2[6],xmm10[6],xmm2[7],xmm10[7]2271; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,1,2,3]2272; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[1,3,2,3,4,5,6,7]2273; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]2274; SSE-NEXT:    packuswb %xmm2, %xmm22275; SSE-NEXT:    movss {{.*#+}} xmm6 = xmm2[0],xmm6[1,2,3]2276; SSE-NEXT:    movdqa %xmm7, %xmm22277; SSE-NEXT:    movdqa %xmm7, %xmm02278; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,65535,0,65535,65535,0,65535,65535]2279; SSE-NEXT:    pand %xmm3, %xmm22280; SSE-NEXT:    pandn %xmm11, %xmm32281; SSE-NEXT:    por %xmm2, %xmm32282; SSE-NEXT:    movdqa %xmm3, %xmm22283; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3],xmm2[4],xmm10[4],xmm2[5],xmm10[5],xmm2[6],xmm10[6],xmm2[7],xmm10[7]2284; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm10[8],xmm3[9],xmm10[9],xmm3[10],xmm10[10],xmm3[11],xmm10[11],xmm3[12],xmm10[12],xmm3[13],xmm10[13],xmm3[14],xmm10[14],xmm3[15],xmm10[15]2285; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,65535,0,65535,0,65535,65535,65535]2286; SSE-NEXT:    pand %xmm4, %xmm32287; SSE-NEXT:    pandn %xmm2, %xmm42288; SSE-NEXT:    por %xmm3, %xmm42289; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload2290; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm12[0,1,0,3]2291; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,4,7,6]2292; SSE-NEXT:    packuswb %xmm2, %xmm22293; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0]2294; SSE-NEXT:    movdqa %xmm3, %xmm72295; SSE-NEXT:    pandn %xmm2, %xmm72296; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm4[2,1,0,3]2297; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,0,3,2,4,5,6,7]2298; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,5,5,5,5]2299; SSE-NEXT:    packuswb %xmm2, %xmm22300; SSE-NEXT:    pand %xmm3, %xmm22301; SSE-NEXT:    por %xmm2, %xmm72302; SSE-NEXT:    movdqa %xmm5, %xmm22303; SSE-NEXT:    pandn %xmm7, %xmm22304; SSE-NEXT:    andps %xmm5, %xmm62305; SSE-NEXT:    por %xmm6, %xmm22306; SSE-NEXT:    movdqa %xmm13, %xmm72307; SSE-NEXT:    por %xmm9, %xmm72308; SSE-NEXT:    movdqa %xmm7, %xmm42309; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm10[0],xmm4[1],xmm10[1],xmm4[2],xmm10[2],xmm4[3],xmm10[3],xmm4[4],xmm10[4],xmm4[5],xmm10[5],xmm4[6],xmm10[6],xmm4[7],xmm10[7]2310; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm4[0,1,2,3,6,4,6,7]2311; SSE-NEXT:    punpckhbw {{.*#+}} xmm7 = xmm7[8],xmm10[8],xmm7[9],xmm10[9],xmm7[10],xmm10[10],xmm7[11],xmm10[11],xmm7[12],xmm10[12],xmm7[13],xmm10[13],xmm7[14],xmm10[14],xmm7[15],xmm10[15]2312; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm7[0,1,2,1]2313; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,5,7,6,7]2314; SSE-NEXT:    punpckhwd {{.*#+}} xmm6 = xmm6[4],xmm4[4],xmm6[5],xmm4[5],xmm6[6],xmm4[6],xmm6[7],xmm4[7]2315; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload2316; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm10[8],xmm4[9],xmm10[9],xmm4[10],xmm10[10],xmm4[11],xmm10[11],xmm4[12],xmm10[12],xmm4[13],xmm10[13],xmm4[14],xmm10[14],xmm4[15],xmm10[15]2317; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload2318; SSE-NEXT:    pandn %xmm4, %xmm92319; SSE-NEXT:    movdqa %xmm4, %xmm72320; SSE-NEXT:    por %xmm9, %xmm142321; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm14[0,2,1,3]2322; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,7,6,7]2323; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[0,1,2,0]2324; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,7,6,5]2325; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[3,3,3,3]2326; SSE-NEXT:    packuswb %xmm7, %xmm42327; SSE-NEXT:    packuswb %xmm6, %xmm62328; SSE-NEXT:    movss {{.*#+}} xmm4 = xmm6[0],xmm4[1,2,3]2329; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload2330; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload2331; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm11[1,3,2,3]2332; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm0[0,2,2,3]2333; SSE-NEXT:    punpckldq {{.*#+}} xmm7 = xmm7[0],xmm6[0],xmm7[1],xmm6[1]2334; SSE-NEXT:    movdqa %xmm7, %xmm62335; SSE-NEXT:    punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm10[0],xmm6[1],xmm10[1],xmm6[2],xmm10[2],xmm6[3],xmm10[3],xmm6[4],xmm10[4],xmm6[5],xmm10[5],xmm6[6],xmm10[6],xmm6[7],xmm10[7]2336; SSE-NEXT:    punpckhbw {{.*#+}} xmm7 = xmm7[8],xmm10[8],xmm7[9],xmm10[9],xmm7[10],xmm10[10],xmm7[11],xmm10[11],xmm7[12],xmm10[12],xmm7[13],xmm10[13],xmm7[14],xmm10[14],xmm7[15],xmm10[15]2337; SSE-NEXT:    movdqa {{.*#+}} xmm9 = [65535,65535,65535,0,65535,0,65535,65535]2338; SSE-NEXT:    pand %xmm9, %xmm72339; SSE-NEXT:    pandn %xmm6, %xmm92340; SSE-NEXT:    por %xmm7, %xmm92341; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm9[2,1,1,1]2342; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm6[0,1,0,3,4,5,6,7]2343; SSE-NEXT:    packuswb %xmm6, %xmm62344; SSE-NEXT:    pand %xmm3, %xmm62345; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm12[0,1,0,3]2346; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,4,5,4,7]2347; SSE-NEXT:    packuswb %xmm7, %xmm72348; SSE-NEXT:    pandn %xmm7, %xmm32349; SSE-NEXT:    por %xmm3, %xmm62350; SSE-NEXT:    andps %xmm5, %xmm42351; SSE-NEXT:    pandn %xmm6, %xmm52352; SSE-NEXT:    por %xmm4, %xmm52353; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload2354; SSE-NEXT:    movaps %xmm3, (%rsi)2355; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2356; SSE-NEXT:    movaps %xmm0, (%rdx)2357; SSE-NEXT:    movdqa %xmm8, (%rcx)2358; SSE-NEXT:    movdqa %xmm15, (%r8)2359; SSE-NEXT:    movdqa %xmm1, (%r9)2360; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax2361; SSE-NEXT:    movdqa %xmm2, (%rax)2362; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax2363; SSE-NEXT:    movdqa %xmm5, (%rax)2364; SSE-NEXT:    addq $168, %rsp2365; SSE-NEXT:    retq2366;2367; AVX-LABEL: load_i8_stride7_vf16:2368; AVX:       # %bb.0:2369; AVX-NEXT:    vmovdqa (%rdi), %xmm22370; AVX-NEXT:    vmovdqa 16(%rdi), %xmm72371; AVX-NEXT:    vmovdqa 32(%rdi), %xmm32372; AVX-NEXT:    vmovdqa 48(%rdi), %xmm42373; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,zero,xmm7[5,12,u,u,u,u,u,u,u,u,u,u,u]2374; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm2[0,7,14],zero,zero,xmm2[u,u,u,u,u,u,u,u,u,u,u]2375; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm02376; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm3[u,u,u,u,u,3,10],zero,zero,zero,xmm3[u,u,u,u,u,u]2377; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm4[u,u,u,u,u],zero,zero,xmm4[1,8,15,u,u,u,u,u,u]2378; AVX-NEXT:    vpor %xmm1, %xmm5, %xmm12379; AVX-NEXT:    vmovq {{.*#+}} xmm5 = [255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0]2380; AVX-NEXT:    vpblendvb %xmm5, %xmm0, %xmm1, %xmm02381; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2382; AVX-NEXT:    vmovdqa 80(%rdi), %xmm12383; AVX-NEXT:    vmovdqa 64(%rdi), %xmm52384; AVX-NEXT:    vmovdqa 96(%rdi), %xmm62385; AVX-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,xmm7[6,13,u,u,u,u,u,u,u,u,u,u,u]2386; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = xmm2[1,8,15],zero,zero,xmm2[u,u,u,u,u,u,u,u,u,u,u]2387; AVX-NEXT:    vpor %xmm8, %xmm9, %xmm82388; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = xmm4[u,u,u,u,u],zero,zero,xmm4[2,9,u,u,u,u,u,u,u]2389; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm3[u,u,u,u,u,4,11],zero,zero,xmm3[u,u,u,u,u,u,u]2390; AVX-NEXT:    vpor %xmm9, %xmm10, %xmm92391; AVX-NEXT:    vmovq {{.*#+}} xmm11 = [255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0]2392; AVX-NEXT:    vpblendvb %xmm11, %xmm8, %xmm9, %xmm82393; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = xmm1[u,u,u,u,5,12,u,u,u,u,u,u,u,u,u,u]2394; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm5[u,u,u,u,u,0,7,14,u,u,u,u,u,u,u,u]2395; AVX-NEXT:    vpunpckldq {{.*#+}} xmm9 = xmm10[0],xmm9[0],xmm10[1],xmm9[1]2396; AVX-NEXT:    vpxor %xmm12, %xmm12, %xmm122397; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm9[0,1,2,3,4,5,6],xmm12[7]2398; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,zero,xmm6[3,10]2399; AVX-NEXT:    vpor %xmm10, %xmm9, %xmm102400; AVX-NEXT:    vpmovsxwq {{.*#+}} xmm9 = [18446744073709551615,255]2401; AVX-NEXT:    vpblendvb %xmm9, %xmm8, %xmm10, %xmm02402; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2403; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm2[2,9],zero,zero,zero,xmm2[u,u,u,u,u,u,u,u,u,u,u]2404; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,xmm7[0,7,14,u,u,u,u,u,u,u,u,u,u,u]2405; AVX-NEXT:    vpor %xmm10, %xmm13, %xmm102406; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm4[u,u,u,u,u],zero,zero,xmm4[3,10,u,u,u,u,u,u,u]2407; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm3[u,u,u,u,u,5,12],zero,zero,xmm3[u,u,u,u,u,u,u]2408; AVX-NEXT:    vpor %xmm13, %xmm14, %xmm132409; AVX-NEXT:    vpblendvb %xmm11, %xmm10, %xmm13, %xmm102410; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm1[u,u,u,u,u,u,u,u,u,u,u,u,6,13,u,u]2411; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm5[u,u,u,u,u,u,u,u,u,u,u,u,u,1,8,15]2412; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm13 = xmm14[2],xmm13[2],xmm14[3],xmm13[3]2413; AVX-NEXT:    vpblendw {{.*#+}} xmm13 = xmm13[0,1,2,3,4,5,6],xmm12[7]2414; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,zero,xmm6[4,11]2415; AVX-NEXT:    vpor %xmm14, %xmm13, %xmm132416; AVX-NEXT:    vpblendvb %xmm9, %xmm10, %xmm13, %xmm102417; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm2[3,10],zero,zero,zero,xmm2[u,u,u,u,u,u,u,u,u,u,u]2418; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,xmm7[1,8,15,u,u,u,u,u,u,u,u,u,u,u]2419; AVX-NEXT:    vpor %xmm13, %xmm14, %xmm132420; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm4[u,u,u,u,u],zero,zero,xmm4[4,11,u,u,u,u,u,u,u]2421; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm3[u,u,u,u,u,6,13],zero,zero,xmm3[u,u,u,u,u,u,u]2422; AVX-NEXT:    vpor %xmm14, %xmm15, %xmm142423; AVX-NEXT:    vpblendvb %xmm11, %xmm13, %xmm14, %xmm112424; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm5[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm5[u,u]2425; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm1[u,u,u,u,u,u,u,u,u],zero,zero,xmm1[0,7,14,u,u]2426; AVX-NEXT:    vpor %xmm13, %xmm14, %xmm132427; AVX-NEXT:    vpblendw {{.*#+}} xmm13 = xmm13[0,1,2,3,4,5,6],xmm12[7]2428; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,zero,xmm6[5,12]2429; AVX-NEXT:    vpor %xmm14, %xmm13, %xmm132430; AVX-NEXT:    vpblendvb %xmm9, %xmm11, %xmm13, %xmm112431; AVX-NEXT:    vmovd {{.*#+}} xmm13 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]2432; AVX-NEXT:    vpshufb %xmm13, %xmm2, %xmm142433; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm7[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]2434; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm14[0],xmm15[0],xmm14[1],xmm15[1],xmm14[2],xmm15[2],xmm14[3],xmm15[3]2435; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm4[u,u,u,u],zero,zero,zero,xmm4[5,12,u,u,u,u,u,u,u]2436; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm3[u,u,u,u,0,7,14],zero,zero,xmm3[u,u,u,u,u,u,u]2437; AVX-NEXT:    vpor %xmm0, %xmm15, %xmm02438; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm14[0,1],xmm0[2,3,4,5,6,7]2439; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm5[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm5[u,u]2440; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm1[u,u,u,u,u,u,u,u,u],zero,zero,xmm1[1,8,15,u,u]2441; AVX-NEXT:    vpor %xmm14, %xmm15, %xmm142442; AVX-NEXT:    vpblendw {{.*#+}} xmm12 = xmm14[0,1,2,3,4,5,6],xmm12[7]2443; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,zero,xmm6[6,13]2444; AVX-NEXT:    vpor %xmm14, %xmm12, %xmm122445; AVX-NEXT:    vpblendvb %xmm9, %xmm0, %xmm12, %xmm122446; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm7[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]2447; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm2[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]2448; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm14[0],xmm0[0],xmm14[1],xmm0[1],xmm14[2],xmm0[2],xmm14[3],xmm0[3]2449; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm4[u,u,u,u],zero,zero,zero,xmm4[6,13,u,u,u,u,u,u,u]2450; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm3[u,u,u,u,1,8,15],zero,zero,xmm3[u,u,u,u,u,u,u]2451; AVX-NEXT:    vpor %xmm14, %xmm15, %xmm142452; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm14[2,3,4,5,6,7]2453; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm1[u,u,u,u,u,u,u,u,u],zero,zero,xmm1[2,9,u,u,u]2454; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm5[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm5[u,u,u]2455; AVX-NEXT:    vpor %xmm14, %xmm15, %xmm142456; AVX-NEXT:    vmovddup {{.*#+}} xmm15 = [0,9,10,11,12,128,128,128,0,9,10,11,12,128,128,128]2457; AVX-NEXT:    # xmm15 = mem[0,0]2458; AVX-NEXT:    vpshufb %xmm15, %xmm14, %xmm142459; AVX-NEXT:    vpshufb {{.*#+}} xmm8 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm6[0,7,14]2460; AVX-NEXT:    vpor %xmm8, %xmm14, %xmm82461; AVX-NEXT:    vpblendvb %xmm9, %xmm0, %xmm8, %xmm02462; AVX-NEXT:    vpshufb %xmm13, %xmm7, %xmm72463; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]2464; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm7[0],xmm2[1],xmm7[1],xmm2[2],xmm7[2],xmm2[3],xmm7[3]2465; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,2,9],zero,zero,zero,xmm3[u,u,u,u,u,u,u]2466; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u],zero,zero,xmm4[0,7,14,u,u,u,u,u,u,u]2467; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm32468; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1],xmm3[2,3,4,5,6,7]2469; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[u,u,u,u,u,u,u,u,u],zero,zero,xmm1[3,10,u,u,u]2470; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm5[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm5[u,u,u]2471; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm32472; AVX-NEXT:    vpshufb %xmm15, %xmm3, %xmm32473; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm6[1,8,15]2474; AVX-NEXT:    vpor %xmm4, %xmm3, %xmm32475; AVX-NEXT:    vpblendvb %xmm9, %xmm2, %xmm3, %xmm22476; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u,4,11,u,u,u,u,u,u,u,u,u,u]2477; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm5[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]2478; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm3[0],xmm1[0],xmm3[1],xmm1[1]2479; AVX-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[10,11,12,13,14,15],xmm6[0,1,2,3,4,5,6,7,8,9]2480; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u,u,u,u,u,u,u,0,1,2,3,8,15]2481; AVX-NEXT:    vpblendw $31, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload2482; AVX-NEXT:    # xmm1 = mem[0,1,2,3,4],xmm1[5,6,7]2483; AVX-NEXT:    vmovdqa %xmm1, (%rsi)2484; AVX-NEXT:    vmovaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2485; AVX-NEXT:    vmovaps %xmm1, (%rdx)2486; AVX-NEXT:    vmovdqa %xmm10, (%rcx)2487; AVX-NEXT:    vmovdqa %xmm11, (%r8)2488; AVX-NEXT:    vmovdqa %xmm12, (%r9)2489; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax2490; AVX-NEXT:    vmovdqa %xmm0, (%rax)2491; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax2492; AVX-NEXT:    vmovdqa %xmm2, (%rax)2493; AVX-NEXT:    retq2494;2495; AVX2-LABEL: load_i8_stride7_vf16:2496; AVX2:       # %bb.0:2497; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax2498; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %r102499; AVX2-NEXT:    vmovdqa (%rdi), %ymm02500; AVX2-NEXT:    vmovdqa 32(%rdi), %ymm12501; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]2502; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm22503; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm32504; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15,u,u,u,u,u,u]2505; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,zero,zero,xmm2[u,u,u,u,u,u]2506; AVX2-NEXT:    vpor %xmm3, %xmm2, %xmm32507; AVX2-NEXT:    vmovdqa 96(%rdi), %xmm92508; AVX2-NEXT:    vmovdqa 64(%rdi), %xmm102509; AVX2-NEXT:    vpblendd {{.*#+}} xmm2 = xmm9[0],xmm10[1],xmm9[2],xmm10[3]2510; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[u,u,u,u,u,u,u,u,u,u,6,13],zero,zero,xmm2[2,9]2511; AVX2-NEXT:    vmovdqa 80(%rdi), %xmm22512; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = xmm2[u,u,u,u,u,u,u,u,u,u],zero,zero,xmm2[4,11],zero,zero2513; AVX2-NEXT:    vpor %xmm5, %xmm4, %xmm42514; AVX2-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1,2,3,4],xmm4[5,6,7]2515; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]2516; AVX2-NEXT:    vpblendvb %ymm4, %ymm0, %ymm1, %ymm42517; AVX2-NEXT:    vextracti128 $1, %ymm4, %xmm52518; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[6,13],zero,zero,xmm5[2,9,u,u,u,u,u,u,u]2519; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,8,15],zero,zero,xmm4[4,11],zero,zero,xmm4[u,u,u,u,u,u,u]2520; AVX2-NEXT:    vpor %xmm5, %xmm4, %xmm62521; AVX2-NEXT:    vmovdqa 96(%rdi), %xmm42522; AVX2-NEXT:    vmovdqa 64(%rdi), %xmm52523; AVX2-NEXT:    vpblendw {{.*#+}} xmm7 = xmm5[0],xmm4[1],xmm5[2,3,4],xmm4[5],xmm5[6,7]2524; AVX2-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm7[3,10]2525; AVX2-NEXT:    vpshufb {{.*#+}} xmm8 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm2[5,12],zero,zero2526; AVX2-NEXT:    vpor %xmm7, %xmm8, %xmm82527; AVX2-NEXT:    vpmovsxwq {{.*#+}} xmm7 = [18446744073709551615,255]2528; AVX2-NEXT:    vpblendvb %xmm7, %xmm6, %xmm8, %xmm62529; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm8 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]2530; AVX2-NEXT:    vpblendvb %ymm8, %ymm0, %ymm1, %ymm82531; AVX2-NEXT:    vpshufb {{.*#+}} xmm11 = xmm8[2,9],zero,zero,zero,xmm8[5,12],zero,zero,xmm8[u,u,u,u,u,u,u]2532; AVX2-NEXT:    vextracti128 $1, %ymm8, %xmm82533; AVX2-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[0,7,14],zero,zero,xmm8[3,10,u,u,u,u,u,u,u]2534; AVX2-NEXT:    vpor %xmm11, %xmm8, %xmm82535; AVX2-NEXT:    vpblendw {{.*#+}} xmm11 = xmm5[0,1],xmm4[2],xmm5[3,4],xmm4[5],xmm5[6,7]2536; AVX2-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm11[4,11]2537; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm2[6,13],zero,zero2538; AVX2-NEXT:    vpor %xmm12, %xmm11, %xmm112539; AVX2-NEXT:    vpblendvb %xmm7, %xmm8, %xmm11, %xmm82540; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]2541; AVX2-NEXT:    vpblendvb %ymm11, %ymm0, %ymm1, %ymm112542; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm11[3,10],zero,zero,zero,xmm11[6,13],zero,zero,xmm11[u,u,u,u,u,u,u]2543; AVX2-NEXT:    vextracti128 $1, %ymm11, %xmm112544; AVX2-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[1,8,15],zero,zero,xmm11[4,11,u,u,u,u,u,u,u]2545; AVX2-NEXT:    vpor %xmm12, %xmm11, %xmm112546; AVX2-NEXT:    vpblendd {{.*#+}} xmm10 = xmm10[0],xmm9[1],xmm10[2],xmm9[3]2547; AVX2-NEXT:    vpshufb {{.*#+}} xmm9 = xmm10[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm10[5,12]2548; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[0,7,14],zero,zero2549; AVX2-NEXT:    vpor %xmm12, %xmm9, %xmm92550; AVX2-NEXT:    vpblendvb %xmm7, %xmm11, %xmm9, %xmm92551; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]2552; AVX2-NEXT:    vpblendvb %ymm11, %ymm1, %ymm0, %ymm112553; AVX2-NEXT:    vextracti128 $1, %ymm11, %xmm122554; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[2,9],zero,zero,zero,xmm12[5,12,u,u,u,u,u,u,u]2555; AVX2-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[4,11],zero,zero,xmm11[0,7,14],zero,zero,xmm11[u,u,u,u,u,u,u]2556; AVX2-NEXT:    vpor %xmm12, %xmm11, %xmm112557; AVX2-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm10[6,13]2558; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[1,8,15],zero,zero2559; AVX2-NEXT:    vpor %xmm12, %xmm10, %xmm102560; AVX2-NEXT:    vpblendvb %xmm7, %xmm11, %xmm10, %xmm102561; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]2562; AVX2-NEXT:    vpblendvb %ymm11, %ymm1, %ymm0, %ymm112563; AVX2-NEXT:    vextracti128 $1, %ymm11, %xmm122564; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[3,10],zero,zero,zero,xmm12[6,13,u,u,u,u,u,u,u]2565; AVX2-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[5,12],zero,zero,xmm11[1,8,15],zero,zero,xmm11[u,u,u,u,u,u,u]2566; AVX2-NEXT:    vpor %xmm12, %xmm11, %xmm112567; AVX2-NEXT:    vpblendw {{.*#+}} xmm12 = xmm4[0],xmm5[1,2],xmm4[3],xmm5[4,5,6],xmm4[7]2568; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm12[0,7,14]2569; AVX2-NEXT:    vpshufb {{.*#+}} xmm13 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[2,9],zero,zero,zero2570; AVX2-NEXT:    vpor %xmm13, %xmm12, %xmm122571; AVX2-NEXT:    vpblendvb %xmm7, %xmm11, %xmm12, %xmm112572; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]2573; AVX2-NEXT:    vpblendvb %ymm12, %ymm1, %ymm0, %ymm02574; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[6,13],zero,zero,xmm0[2,9],zero,zero,zero,xmm0[u,u,u,u,u,u,u]2575; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm02576; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,xmm0[4,11],zero,zero,xmm0[0,7,14,u,u,u,u,u,u,u]2577; AVX2-NEXT:    vpor %xmm1, %xmm0, %xmm02578; AVX2-NEXT:    vpblendw {{.*#+}} xmm1 = xmm4[0],xmm5[1,2,3],xmm4[4],xmm5[5,6],xmm4[7]2579; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm1[1,8,15]2580; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[3,10],zero,zero,zero2581; AVX2-NEXT:    vpor %xmm2, %xmm1, %xmm12582; AVX2-NEXT:    vpblendvb %xmm7, %xmm0, %xmm1, %xmm02583; AVX2-NEXT:    vmovdqa %xmm3, (%rsi)2584; AVX2-NEXT:    vmovdqa %xmm6, (%rdx)2585; AVX2-NEXT:    vmovdqa %xmm8, (%rcx)2586; AVX2-NEXT:    vmovdqa %xmm9, (%r8)2587; AVX2-NEXT:    vmovdqa %xmm10, (%r9)2588; AVX2-NEXT:    vmovdqa %xmm11, (%r10)2589; AVX2-NEXT:    vmovdqa %xmm0, (%rax)2590; AVX2-NEXT:    vzeroupper2591; AVX2-NEXT:    retq2592;2593; AVX2-FP-LABEL: load_i8_stride7_vf16:2594; AVX2-FP:       # %bb.0:2595; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2596; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %r102597; AVX2-FP-NEXT:    vmovdqa (%rdi), %ymm02598; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %ymm12599; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]2600; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm22601; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm32602; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15,u,u,u,u,u,u]2603; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,zero,zero,xmm2[u,u,u,u,u,u]2604; AVX2-FP-NEXT:    vpor %xmm3, %xmm2, %xmm32605; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %xmm92606; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %xmm102607; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm9[0],xmm10[1],xmm9[2],xmm10[3]2608; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[u,u,u,u,u,u,u,u,u,u,6,13],zero,zero,xmm2[2,9]2609; AVX2-FP-NEXT:    vmovdqa 80(%rdi), %xmm22610; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm2[u,u,u,u,u,u,u,u,u,u],zero,zero,xmm2[4,11],zero,zero2611; AVX2-FP-NEXT:    vpor %xmm5, %xmm4, %xmm42612; AVX2-FP-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1,2,3,4],xmm4[5,6,7]2613; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]2614; AVX2-FP-NEXT:    vpblendvb %ymm4, %ymm0, %ymm1, %ymm42615; AVX2-FP-NEXT:    vextracti128 $1, %ymm4, %xmm52616; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[6,13],zero,zero,xmm5[2,9,u,u,u,u,u,u,u]2617; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,8,15],zero,zero,xmm4[4,11],zero,zero,xmm4[u,u,u,u,u,u,u]2618; AVX2-FP-NEXT:    vpor %xmm5, %xmm4, %xmm62619; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %xmm42620; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %xmm52621; AVX2-FP-NEXT:    vpblendw {{.*#+}} xmm7 = xmm5[0],xmm4[1],xmm5[2,3,4],xmm4[5],xmm5[6,7]2622; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm7[3,10]2623; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm2[5,12],zero,zero2624; AVX2-FP-NEXT:    vpor %xmm7, %xmm8, %xmm82625; AVX2-FP-NEXT:    vpmovsxwq {{.*#+}} xmm7 = [18446744073709551615,255]2626; AVX2-FP-NEXT:    vpblendvb %xmm7, %xmm6, %xmm8, %xmm62627; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm8 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]2628; AVX2-FP-NEXT:    vpblendvb %ymm8, %ymm0, %ymm1, %ymm82629; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm8[2,9],zero,zero,zero,xmm8[5,12],zero,zero,xmm8[u,u,u,u,u,u,u]2630; AVX2-FP-NEXT:    vextracti128 $1, %ymm8, %xmm82631; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[0,7,14],zero,zero,xmm8[3,10,u,u,u,u,u,u,u]2632; AVX2-FP-NEXT:    vpor %xmm11, %xmm8, %xmm82633; AVX2-FP-NEXT:    vpblendw {{.*#+}} xmm11 = xmm5[0,1],xmm4[2],xmm5[3,4],xmm4[5],xmm5[6,7]2634; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm11[4,11]2635; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm2[6,13],zero,zero2636; AVX2-FP-NEXT:    vpor %xmm12, %xmm11, %xmm112637; AVX2-FP-NEXT:    vpblendvb %xmm7, %xmm8, %xmm11, %xmm82638; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]2639; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm0, %ymm1, %ymm112640; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm11[3,10],zero,zero,zero,xmm11[6,13],zero,zero,xmm11[u,u,u,u,u,u,u]2641; AVX2-FP-NEXT:    vextracti128 $1, %ymm11, %xmm112642; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[1,8,15],zero,zero,xmm11[4,11,u,u,u,u,u,u,u]2643; AVX2-FP-NEXT:    vpor %xmm12, %xmm11, %xmm112644; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm10[0],xmm9[1],xmm10[2],xmm9[3]2645; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm10[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm10[5,12]2646; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[0,7,14],zero,zero2647; AVX2-FP-NEXT:    vpor %xmm12, %xmm9, %xmm92648; AVX2-FP-NEXT:    vpblendvb %xmm7, %xmm11, %xmm9, %xmm92649; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]2650; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm1, %ymm0, %ymm112651; AVX2-FP-NEXT:    vextracti128 $1, %ymm11, %xmm122652; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[2,9],zero,zero,zero,xmm12[5,12,u,u,u,u,u,u,u]2653; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[4,11],zero,zero,xmm11[0,7,14],zero,zero,xmm11[u,u,u,u,u,u,u]2654; AVX2-FP-NEXT:    vpor %xmm12, %xmm11, %xmm112655; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm10[6,13]2656; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[1,8,15],zero,zero2657; AVX2-FP-NEXT:    vpor %xmm12, %xmm10, %xmm102658; AVX2-FP-NEXT:    vpblendvb %xmm7, %xmm11, %xmm10, %xmm102659; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]2660; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm1, %ymm0, %ymm112661; AVX2-FP-NEXT:    vextracti128 $1, %ymm11, %xmm122662; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[3,10],zero,zero,zero,xmm12[6,13,u,u,u,u,u,u,u]2663; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[5,12],zero,zero,xmm11[1,8,15],zero,zero,xmm11[u,u,u,u,u,u,u]2664; AVX2-FP-NEXT:    vpor %xmm12, %xmm11, %xmm112665; AVX2-FP-NEXT:    vpblendw {{.*#+}} xmm12 = xmm4[0],xmm5[1,2],xmm4[3],xmm5[4,5,6],xmm4[7]2666; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm12[0,7,14]2667; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[2,9],zero,zero,zero2668; AVX2-FP-NEXT:    vpor %xmm13, %xmm12, %xmm122669; AVX2-FP-NEXT:    vpblendvb %xmm7, %xmm11, %xmm12, %xmm112670; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]2671; AVX2-FP-NEXT:    vpblendvb %ymm12, %ymm1, %ymm0, %ymm02672; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[6,13],zero,zero,xmm0[2,9],zero,zero,zero,xmm0[u,u,u,u,u,u,u]2673; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm02674; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,xmm0[4,11],zero,zero,xmm0[0,7,14,u,u,u,u,u,u,u]2675; AVX2-FP-NEXT:    vpor %xmm1, %xmm0, %xmm02676; AVX2-FP-NEXT:    vpblendw {{.*#+}} xmm1 = xmm4[0],xmm5[1,2,3],xmm4[4],xmm5[5,6],xmm4[7]2677; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm1[1,8,15]2678; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[3,10],zero,zero,zero2679; AVX2-FP-NEXT:    vpor %xmm2, %xmm1, %xmm12680; AVX2-FP-NEXT:    vpblendvb %xmm7, %xmm0, %xmm1, %xmm02681; AVX2-FP-NEXT:    vmovdqa %xmm3, (%rsi)2682; AVX2-FP-NEXT:    vmovdqa %xmm6, (%rdx)2683; AVX2-FP-NEXT:    vmovdqa %xmm8, (%rcx)2684; AVX2-FP-NEXT:    vmovdqa %xmm9, (%r8)2685; AVX2-FP-NEXT:    vmovdqa %xmm10, (%r9)2686; AVX2-FP-NEXT:    vmovdqa %xmm11, (%r10)2687; AVX2-FP-NEXT:    vmovdqa %xmm0, (%rax)2688; AVX2-FP-NEXT:    vzeroupper2689; AVX2-FP-NEXT:    retq2690;2691; AVX2-FCP-LABEL: load_i8_stride7_vf16:2692; AVX2-FCP:       # %bb.0:2693; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2694; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r102695; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm02696; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm12697; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]2698; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm22699; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm32700; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15,u,u,u,u,u,u]2701; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,7,14],zero,zero,xmm2[3,10],zero,zero,zero,xmm2[u,u,u,u,u,u]2702; AVX2-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm32703; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %xmm92704; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %xmm102705; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm2 = xmm9[0],xmm10[1],xmm9[2],xmm10[3]2706; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[u,u,u,u,u,u,u,u,u,u,6,13],zero,zero,xmm2[2,9]2707; AVX2-FCP-NEXT:    vmovdqa 80(%rdi), %xmm22708; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm2[u,u,u,u,u,u,u,u,u,u],zero,zero,xmm2[4,11],zero,zero2709; AVX2-FCP-NEXT:    vpor %xmm5, %xmm4, %xmm42710; AVX2-FCP-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1,2,3,4],xmm4[5,6,7]2711; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]2712; AVX2-FCP-NEXT:    vpblendvb %ymm4, %ymm0, %ymm1, %ymm42713; AVX2-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm52714; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[6,13],zero,zero,xmm5[2,9,u,u,u,u,u,u,u]2715; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,8,15],zero,zero,xmm4[4,11],zero,zero,xmm4[u,u,u,u,u,u,u]2716; AVX2-FCP-NEXT:    vpor %xmm5, %xmm4, %xmm62717; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %xmm42718; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %xmm52719; AVX2-FCP-NEXT:    vpblendw {{.*#+}} xmm7 = xmm5[0],xmm4[1],xmm5[2,3,4],xmm4[5],xmm5[6,7]2720; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm7[3,10]2721; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm2[5,12],zero,zero2722; AVX2-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm82723; AVX2-FCP-NEXT:    vpmovsxwq {{.*#+}} xmm7 = [18446744073709551615,255]2724; AVX2-FCP-NEXT:    vpblendvb %xmm7, %xmm6, %xmm8, %xmm62725; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm8 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]2726; AVX2-FCP-NEXT:    vpblendvb %ymm8, %ymm0, %ymm1, %ymm82727; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm8[2,9],zero,zero,zero,xmm8[5,12],zero,zero,xmm8[u,u,u,u,u,u,u]2728; AVX2-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm82729; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[0,7,14],zero,zero,xmm8[3,10,u,u,u,u,u,u,u]2730; AVX2-FCP-NEXT:    vpor %xmm11, %xmm8, %xmm82731; AVX2-FCP-NEXT:    vpblendw {{.*#+}} xmm11 = xmm5[0,1],xmm4[2],xmm5[3,4],xmm4[5],xmm5[6,7]2732; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm11[4,11]2733; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm2[6,13],zero,zero2734; AVX2-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm112735; AVX2-FCP-NEXT:    vpblendvb %xmm7, %xmm8, %xmm11, %xmm82736; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]2737; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm0, %ymm1, %ymm112738; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm11[3,10],zero,zero,zero,xmm11[6,13],zero,zero,xmm11[u,u,u,u,u,u,u]2739; AVX2-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm112740; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[1,8,15],zero,zero,xmm11[4,11,u,u,u,u,u,u,u]2741; AVX2-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm112742; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm10 = xmm10[0],xmm9[1],xmm10[2],xmm9[3]2743; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm10[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm10[5,12]2744; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[0,7,14],zero,zero2745; AVX2-FCP-NEXT:    vpor %xmm12, %xmm9, %xmm92746; AVX2-FCP-NEXT:    vpblendvb %xmm7, %xmm11, %xmm9, %xmm92747; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]2748; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm1, %ymm0, %ymm112749; AVX2-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm122750; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[2,9],zero,zero,zero,xmm12[5,12,u,u,u,u,u,u,u]2751; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[4,11],zero,zero,xmm11[0,7,14],zero,zero,xmm11[u,u,u,u,u,u,u]2752; AVX2-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm112753; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm10[6,13]2754; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[1,8,15],zero,zero2755; AVX2-FCP-NEXT:    vpor %xmm12, %xmm10, %xmm102756; AVX2-FCP-NEXT:    vpblendvb %xmm7, %xmm11, %xmm10, %xmm102757; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]2758; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm1, %ymm0, %ymm112759; AVX2-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm122760; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[3,10],zero,zero,zero,xmm12[6,13,u,u,u,u,u,u,u]2761; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[5,12],zero,zero,xmm11[1,8,15],zero,zero,xmm11[u,u,u,u,u,u,u]2762; AVX2-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm112763; AVX2-FCP-NEXT:    vpblendw {{.*#+}} xmm12 = xmm4[0],xmm5[1,2],xmm4[3],xmm5[4,5,6],xmm4[7]2764; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm12[0,7,14]2765; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[2,9],zero,zero,zero2766; AVX2-FCP-NEXT:    vpor %xmm13, %xmm12, %xmm122767; AVX2-FCP-NEXT:    vpblendvb %xmm7, %xmm11, %xmm12, %xmm112768; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]2769; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm1, %ymm0, %ymm02770; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[6,13],zero,zero,xmm0[2,9],zero,zero,zero,xmm0[u,u,u,u,u,u,u]2771; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm02772; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,xmm0[4,11],zero,zero,xmm0[0,7,14,u,u,u,u,u,u,u]2773; AVX2-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm02774; AVX2-FCP-NEXT:    vpblendw {{.*#+}} xmm1 = xmm4[0],xmm5[1,2,3],xmm4[4],xmm5[5,6],xmm4[7]2775; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm1[1,8,15]2776; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u],zero,zero,xmm2[3,10],zero,zero,zero2777; AVX2-FCP-NEXT:    vpor %xmm2, %xmm1, %xmm12778; AVX2-FCP-NEXT:    vpblendvb %xmm7, %xmm0, %xmm1, %xmm02779; AVX2-FCP-NEXT:    vmovdqa %xmm3, (%rsi)2780; AVX2-FCP-NEXT:    vmovdqa %xmm6, (%rdx)2781; AVX2-FCP-NEXT:    vmovdqa %xmm8, (%rcx)2782; AVX2-FCP-NEXT:    vmovdqa %xmm9, (%r8)2783; AVX2-FCP-NEXT:    vmovdqa %xmm10, (%r9)2784; AVX2-FCP-NEXT:    vmovdqa %xmm11, (%r10)2785; AVX2-FCP-NEXT:    vmovdqa %xmm0, (%rax)2786; AVX2-FCP-NEXT:    vzeroupper2787; AVX2-FCP-NEXT:    retq2788;2789; AVX512-LABEL: load_i8_stride7_vf16:2790; AVX512:       # %bb.0:2791; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax2792; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r102793; AVX512-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,128,5,12,128,128,1,8,15,128,128,4,11,128,128]2794; AVX512-NEXT:    vmovdqa 80(%rdi), %xmm02795; AVX512-NEXT:    vpshufb %xmm3, %xmm0, %xmm42796; AVX512-NEXT:    vmovdqa (%rdi), %ymm12797; AVX512-NEXT:    vmovdqa 32(%rdi), %ymm22798; AVX512-NEXT:    vmovdqa {{.*#+}} ymm5 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]2799; AVX512-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm2 ^ (ymm5 & (ymm1 ^ ymm2))2800; AVX512-NEXT:    vextracti128 $1, %ymm5, %xmm62801; AVX512-NEXT:    vpshufb %xmm3, %xmm6, %xmm32802; AVX512-NEXT:    vpblendw {{.*#+}} xmm6 = xmm3[0,1,2,3,4],xmm4[5,6,7]2803; AVX512-NEXT:    vmovdqa 96(%rdi), %xmm32804; AVX512-NEXT:    vmovdqa 64(%rdi), %xmm42805; AVX512-NEXT:    vpblendd {{.*#+}} xmm7 = xmm3[0],xmm4[1],xmm3[2],xmm4[3]2806; AVX512-NEXT:    vmovdqa {{.*#+}} xmm8 = [0,7,14,128,128,3,10,128,128,128,6,13,128,128,2,9]2807; AVX512-NEXT:    vpshufb %xmm8, %xmm7, %xmm72808; AVX512-NEXT:    vpshufb %xmm8, %xmm5, %xmm52809; AVX512-NEXT:    vpblendw {{.*#+}} xmm5 = xmm5[0,1,2,3,4],xmm7[5,6,7]2810; AVX512-NEXT:    vpor %xmm6, %xmm5, %xmm52811; AVX512-NEXT:    vmovdqa {{.*#+}} ymm8 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]2812; AVX512-NEXT:    vmovdqa %ymm8, %ymm62813; AVX512-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm2 ^ (ymm6 & (ymm1 ^ ymm2))2814; AVX512-NEXT:    vextracti128 $1, %ymm6, %xmm72815; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[6,13],zero,zero,xmm7[2,9,u,u,u,u,u,u,u]2816; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[1,8,15],zero,zero,xmm6[4,11],zero,zero,xmm6[u,u,u,u,u,u,u]2817; AVX512-NEXT:    vpor %xmm7, %xmm6, %xmm92818; AVX512-NEXT:    vpblendw {{.*#+}} xmm6 = xmm4[0],xmm3[1],xmm4[2,3,4],xmm3[5],xmm4[6,7]2819; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm6[3,10]2820; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero2821; AVX512-NEXT:    vpor %xmm7, %xmm6, %xmm62822; AVX512-NEXT:    vpmovsxwq {{.*#+}} xmm7 = [18446744073709551615,255]2823; AVX512-NEXT:    vpternlogq {{.*#+}} xmm6 = xmm6 ^ (xmm7 & (xmm6 ^ xmm9))2824; AVX512-NEXT:    vmovdqa {{.*#+}} ymm9 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]2825; AVX512-NEXT:    vmovdqa %ymm9, %ymm102826; AVX512-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm2 ^ (ymm10 & (ymm1 ^ ymm2))2827; AVX512-NEXT:    vpshufb {{.*#+}} xmm11 = xmm10[2,9],zero,zero,zero,xmm10[5,12],zero,zero,xmm10[u,u,u,u,u,u,u]2828; AVX512-NEXT:    vextracti128 $1, %ymm10, %xmm102829; AVX512-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,xmm10[0,7,14],zero,zero,xmm10[3,10,u,u,u,u,u,u,u]2830; AVX512-NEXT:    vpor %xmm11, %xmm10, %xmm102831; AVX512-NEXT:    vpblendw {{.*#+}} xmm11 = xmm4[0,1],xmm3[2],xmm4[3,4],xmm3[5],xmm4[6,7]2832; AVX512-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm11[4,11]2833; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[6,13],zero,zero2834; AVX512-NEXT:    vpor %xmm12, %xmm11, %xmm112835; AVX512-NEXT:    vpternlogq {{.*#+}} xmm11 = xmm11 ^ (xmm7 & (xmm11 ^ xmm10))2836; AVX512-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]2837; AVX512-NEXT:    vmovdqa %ymm10, %ymm122838; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm2 ^ (ymm12 & (ymm1 ^ ymm2))2839; AVX512-NEXT:    vpshufb {{.*#+}} xmm13 = xmm12[3,10],zero,zero,zero,xmm12[6,13],zero,zero,xmm12[u,u,u,u,u,u,u]2840; AVX512-NEXT:    vextracti128 $1, %ymm12, %xmm122841; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[1,8,15],zero,zero,xmm12[4,11,u,u,u,u,u,u,u]2842; AVX512-NEXT:    vpor %xmm13, %xmm12, %xmm122843; AVX512-NEXT:    vpblendd {{.*#+}} xmm13 = xmm4[0],xmm3[1],xmm4[2],xmm3[3]2844; AVX512-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm13[5,12]2845; AVX512-NEXT:    vpshufb {{.*#+}} xmm15 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[0,7,14],zero,zero2846; AVX512-NEXT:    vpor %xmm15, %xmm14, %xmm142847; AVX512-NEXT:    vpternlogq {{.*#+}} xmm14 = xmm14 ^ (xmm7 & (xmm14 ^ xmm12))2848; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm1 ^ (ymm8 & (ymm2 ^ ymm1))2849; AVX512-NEXT:    vextracti128 $1, %ymm8, %xmm122850; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[2,9],zero,zero,zero,xmm12[5,12,u,u,u,u,u,u,u]2851; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[4,11],zero,zero,xmm8[0,7,14],zero,zero,xmm8[u,u,u,u,u,u,u]2852; AVX512-NEXT:    vpor %xmm12, %xmm8, %xmm82853; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm13[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm13[6,13]2854; AVX512-NEXT:    vpshufb {{.*#+}} xmm13 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero2855; AVX512-NEXT:    vpor %xmm13, %xmm12, %xmm122856; AVX512-NEXT:    vpternlogq {{.*#+}} xmm12 = xmm12 ^ (xmm7 & (xmm12 ^ xmm8))2857; AVX512-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm1 ^ (ymm9 & (ymm2 ^ ymm1))2858; AVX512-NEXT:    vextracti128 $1, %ymm9, %xmm82859; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[3,10],zero,zero,zero,xmm8[6,13,u,u,u,u,u,u,u]2860; AVX512-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[5,12],zero,zero,xmm9[1,8,15],zero,zero,xmm9[u,u,u,u,u,u,u]2861; AVX512-NEXT:    vpor %xmm8, %xmm9, %xmm82862; AVX512-NEXT:    vpblendw {{.*#+}} xmm9 = xmm3[0],xmm4[1,2],xmm3[3],xmm4[4,5,6],xmm3[7]2863; AVX512-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm9[0,7,14]2864; AVX512-NEXT:    vpshufb {{.*#+}} xmm13 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[2,9],zero,zero,zero2865; AVX512-NEXT:    vpor %xmm13, %xmm9, %xmm92866; AVX512-NEXT:    vpternlogq {{.*#+}} xmm9 = xmm9 ^ (xmm7 & (xmm9 ^ xmm8))2867; AVX512-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm1 ^ (ymm10 & (ymm2 ^ ymm1))2868; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm10[6,13],zero,zero,xmm10[2,9],zero,zero,zero,xmm10[u,u,u,u,u,u,u]2869; AVX512-NEXT:    vextracti128 $1, %ymm10, %xmm22870; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u,u,u,u]2871; AVX512-NEXT:    vpor %xmm1, %xmm2, %xmm12872; AVX512-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0],xmm4[1,2,3],xmm3[4],xmm4[5,6],xmm3[7]2873; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15]2874; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[3,10],zero,zero,zero2875; AVX512-NEXT:    vpor %xmm0, %xmm2, %xmm02876; AVX512-NEXT:    vpternlogq {{.*#+}} xmm0 = xmm0 ^ (xmm7 & (xmm0 ^ xmm1))2877; AVX512-NEXT:    vmovdqa %xmm5, (%rsi)2878; AVX512-NEXT:    vmovdqa %xmm6, (%rdx)2879; AVX512-NEXT:    vmovdqa %xmm11, (%rcx)2880; AVX512-NEXT:    vmovdqa %xmm14, (%r8)2881; AVX512-NEXT:    vmovdqa %xmm12, (%r9)2882; AVX512-NEXT:    vmovdqa %xmm9, (%r10)2883; AVX512-NEXT:    vmovdqa %xmm0, (%rax)2884; AVX512-NEXT:    vzeroupper2885; AVX512-NEXT:    retq2886;2887; AVX512-FCP-LABEL: load_i8_stride7_vf16:2888; AVX512-FCP:       # %bb.0:2889; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax2890; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r102891; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,128,5,12,128,128,1,8,15,128,128,4,11,128,128]2892; AVX512-FCP-NEXT:    vmovdqa 80(%rdi), %xmm02893; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm0, %xmm42894; AVX512-FCP-NEXT:    vmovdqa (%rdi), %ymm12895; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %ymm22896; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm5 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]2897; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm2 ^ (ymm5 & (ymm1 ^ ymm2))2898; AVX512-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm62899; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm6, %xmm32900; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm6 = xmm3[0,1,2,3,4],xmm4[5,6,7]2901; AVX512-FCP-NEXT:    vmovdqa 96(%rdi), %xmm32902; AVX512-FCP-NEXT:    vmovdqa 64(%rdi), %xmm42903; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm3[0],xmm4[1],xmm3[2],xmm4[3]2904; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} xmm8 = [0,7,14,128,128,3,10,128,128,128,6,13,128,128,2,9]2905; AVX512-FCP-NEXT:    vpshufb %xmm8, %xmm7, %xmm72906; AVX512-FCP-NEXT:    vpshufb %xmm8, %xmm5, %xmm52907; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm5 = xmm5[0,1,2,3,4],xmm7[5,6,7]2908; AVX512-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm52909; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm8 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]2910; AVX512-FCP-NEXT:    vmovdqa %ymm8, %ymm62911; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm2 ^ (ymm6 & (ymm1 ^ ymm2))2912; AVX512-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm72913; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[6,13],zero,zero,xmm7[2,9,u,u,u,u,u,u,u]2914; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[1,8,15],zero,zero,xmm6[4,11],zero,zero,xmm6[u,u,u,u,u,u,u]2915; AVX512-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm92916; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm6 = xmm4[0],xmm3[1],xmm4[2,3,4],xmm3[5],xmm4[6,7]2917; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm6[3,10]2918; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero2919; AVX512-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm62920; AVX512-FCP-NEXT:    vpmovsxwq {{.*#+}} xmm7 = [18446744073709551615,255]2921; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} xmm6 = xmm6 ^ (xmm7 & (xmm6 ^ xmm9))2922; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm9 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]2923; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm102924; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm2 ^ (ymm10 & (ymm1 ^ ymm2))2925; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm10[2,9],zero,zero,zero,xmm10[5,12],zero,zero,xmm10[u,u,u,u,u,u,u]2926; AVX512-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm102927; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,xmm10[0,7,14],zero,zero,xmm10[3,10,u,u,u,u,u,u,u]2928; AVX512-FCP-NEXT:    vpor %xmm11, %xmm10, %xmm102929; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm11 = xmm4[0,1],xmm3[2],xmm4[3,4],xmm3[5],xmm4[6,7]2930; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm11[4,11]2931; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[6,13],zero,zero2932; AVX512-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm112933; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} xmm11 = xmm11 ^ (xmm7 & (xmm11 ^ xmm10))2934; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]2935; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm122936; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm2 ^ (ymm12 & (ymm1 ^ ymm2))2937; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm12[3,10],zero,zero,zero,xmm12[6,13],zero,zero,xmm12[u,u,u,u,u,u,u]2938; AVX512-FCP-NEXT:    vextracti128 $1, %ymm12, %xmm122939; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[1,8,15],zero,zero,xmm12[4,11,u,u,u,u,u,u,u]2940; AVX512-FCP-NEXT:    vpor %xmm13, %xmm12, %xmm122941; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm4[0],xmm3[1],xmm4[2],xmm3[3]2942; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm13[5,12]2943; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[0,7,14],zero,zero2944; AVX512-FCP-NEXT:    vpor %xmm15, %xmm14, %xmm142945; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} xmm14 = xmm14 ^ (xmm7 & (xmm14 ^ xmm12))2946; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm1 ^ (ymm8 & (ymm2 ^ ymm1))2947; AVX512-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm122948; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[2,9],zero,zero,zero,xmm12[5,12,u,u,u,u,u,u,u]2949; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[4,11],zero,zero,xmm8[0,7,14],zero,zero,xmm8[u,u,u,u,u,u,u]2950; AVX512-FCP-NEXT:    vpor %xmm12, %xmm8, %xmm82951; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm13[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm13[6,13]2952; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero2953; AVX512-FCP-NEXT:    vpor %xmm13, %xmm12, %xmm122954; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} xmm12 = xmm12 ^ (xmm7 & (xmm12 ^ xmm8))2955; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm1 ^ (ymm9 & (ymm2 ^ ymm1))2956; AVX512-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm82957; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[3,10],zero,zero,zero,xmm8[6,13,u,u,u,u,u,u,u]2958; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[5,12],zero,zero,xmm9[1,8,15],zero,zero,xmm9[u,u,u,u,u,u,u]2959; AVX512-FCP-NEXT:    vpor %xmm8, %xmm9, %xmm82960; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm9 = xmm3[0],xmm4[1,2],xmm3[3],xmm4[4,5,6],xmm3[7]2961; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm9[0,7,14]2962; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[2,9],zero,zero,zero2963; AVX512-FCP-NEXT:    vpor %xmm13, %xmm9, %xmm92964; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} xmm9 = xmm9 ^ (xmm7 & (xmm9 ^ xmm8))2965; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm1 ^ (ymm10 & (ymm2 ^ ymm1))2966; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm10[6,13],zero,zero,xmm10[2,9],zero,zero,zero,xmm10[u,u,u,u,u,u,u]2967; AVX512-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm22968; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u,u,u,u]2969; AVX512-FCP-NEXT:    vpor %xmm1, %xmm2, %xmm12970; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0],xmm4[1,2,3],xmm3[4],xmm4[5,6],xmm3[7]2971; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15]2972; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[3,10],zero,zero,zero2973; AVX512-FCP-NEXT:    vpor %xmm0, %xmm2, %xmm02974; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} xmm0 = xmm0 ^ (xmm7 & (xmm0 ^ xmm1))2975; AVX512-FCP-NEXT:    vmovdqa %xmm5, (%rsi)2976; AVX512-FCP-NEXT:    vmovdqa %xmm6, (%rdx)2977; AVX512-FCP-NEXT:    vmovdqa %xmm11, (%rcx)2978; AVX512-FCP-NEXT:    vmovdqa %xmm14, (%r8)2979; AVX512-FCP-NEXT:    vmovdqa %xmm12, (%r9)2980; AVX512-FCP-NEXT:    vmovdqa %xmm9, (%r10)2981; AVX512-FCP-NEXT:    vmovdqa %xmm0, (%rax)2982; AVX512-FCP-NEXT:    vzeroupper2983; AVX512-FCP-NEXT:    retq2984;2985; AVX512DQ-LABEL: load_i8_stride7_vf16:2986; AVX512DQ:       # %bb.0:2987; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax2988; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r102989; AVX512DQ-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,128,5,12,128,128,1,8,15,128,128,4,11,128,128]2990; AVX512DQ-NEXT:    vmovdqa 80(%rdi), %xmm02991; AVX512DQ-NEXT:    vpshufb %xmm3, %xmm0, %xmm42992; AVX512DQ-NEXT:    vmovdqa (%rdi), %ymm12993; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %ymm22994; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm5 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]2995; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm2 ^ (ymm5 & (ymm1 ^ ymm2))2996; AVX512DQ-NEXT:    vextracti128 $1, %ymm5, %xmm62997; AVX512DQ-NEXT:    vpshufb %xmm3, %xmm6, %xmm32998; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm6 = xmm3[0,1,2,3,4],xmm4[5,6,7]2999; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %xmm33000; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %xmm43001; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm7 = xmm3[0],xmm4[1],xmm3[2],xmm4[3]3002; AVX512DQ-NEXT:    vmovdqa {{.*#+}} xmm8 = [0,7,14,128,128,3,10,128,128,128,6,13,128,128,2,9]3003; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm7, %xmm73004; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm5, %xmm53005; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm5 = xmm5[0,1,2,3,4],xmm7[5,6,7]3006; AVX512DQ-NEXT:    vpor %xmm6, %xmm5, %xmm53007; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm8 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]3008; AVX512DQ-NEXT:    vmovdqa %ymm8, %ymm63009; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm2 ^ (ymm6 & (ymm1 ^ ymm2))3010; AVX512DQ-NEXT:    vextracti128 $1, %ymm6, %xmm73011; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[6,13],zero,zero,xmm7[2,9,u,u,u,u,u,u,u]3012; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[1,8,15],zero,zero,xmm6[4,11],zero,zero,xmm6[u,u,u,u,u,u,u]3013; AVX512DQ-NEXT:    vpor %xmm7, %xmm6, %xmm93014; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm6 = xmm4[0],xmm3[1],xmm4[2,3,4],xmm3[5],xmm4[6,7]3015; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm6[3,10]3016; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero3017; AVX512DQ-NEXT:    vpor %xmm7, %xmm6, %xmm63018; AVX512DQ-NEXT:    vpmovsxwq {{.*#+}} xmm7 = [18446744073709551615,255]3019; AVX512DQ-NEXT:    vpternlogq {{.*#+}} xmm6 = xmm6 ^ (xmm7 & (xmm6 ^ xmm9))3020; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm9 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]3021; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm103022; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm2 ^ (ymm10 & (ymm1 ^ ymm2))3023; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm11 = xmm10[2,9],zero,zero,zero,xmm10[5,12],zero,zero,xmm10[u,u,u,u,u,u,u]3024; AVX512DQ-NEXT:    vextracti128 $1, %ymm10, %xmm103025; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,xmm10[0,7,14],zero,zero,xmm10[3,10,u,u,u,u,u,u,u]3026; AVX512DQ-NEXT:    vpor %xmm11, %xmm10, %xmm103027; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm11 = xmm4[0,1],xmm3[2],xmm4[3,4],xmm3[5],xmm4[6,7]3028; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm11[4,11]3029; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[6,13],zero,zero3030; AVX512DQ-NEXT:    vpor %xmm12, %xmm11, %xmm113031; AVX512DQ-NEXT:    vpternlogq {{.*#+}} xmm11 = xmm11 ^ (xmm7 & (xmm11 ^ xmm10))3032; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]3033; AVX512DQ-NEXT:    vmovdqa %ymm10, %ymm123034; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm2 ^ (ymm12 & (ymm1 ^ ymm2))3035; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm13 = xmm12[3,10],zero,zero,zero,xmm12[6,13],zero,zero,xmm12[u,u,u,u,u,u,u]3036; AVX512DQ-NEXT:    vextracti128 $1, %ymm12, %xmm123037; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[1,8,15],zero,zero,xmm12[4,11,u,u,u,u,u,u,u]3038; AVX512DQ-NEXT:    vpor %xmm13, %xmm12, %xmm123039; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm13 = xmm4[0],xmm3[1],xmm4[2],xmm3[3]3040; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm13[5,12]3041; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm15 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[0,7,14],zero,zero3042; AVX512DQ-NEXT:    vpor %xmm15, %xmm14, %xmm143043; AVX512DQ-NEXT:    vpternlogq {{.*#+}} xmm14 = xmm14 ^ (xmm7 & (xmm14 ^ xmm12))3044; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm1 ^ (ymm8 & (ymm2 ^ ymm1))3045; AVX512DQ-NEXT:    vextracti128 $1, %ymm8, %xmm123046; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[2,9],zero,zero,zero,xmm12[5,12,u,u,u,u,u,u,u]3047; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[4,11],zero,zero,xmm8[0,7,14],zero,zero,xmm8[u,u,u,u,u,u,u]3048; AVX512DQ-NEXT:    vpor %xmm12, %xmm8, %xmm83049; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm13[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm13[6,13]3050; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm13 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero3051; AVX512DQ-NEXT:    vpor %xmm13, %xmm12, %xmm123052; AVX512DQ-NEXT:    vpternlogq {{.*#+}} xmm12 = xmm12 ^ (xmm7 & (xmm12 ^ xmm8))3053; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm1 ^ (ymm9 & (ymm2 ^ ymm1))3054; AVX512DQ-NEXT:    vextracti128 $1, %ymm9, %xmm83055; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[3,10],zero,zero,zero,xmm8[6,13,u,u,u,u,u,u,u]3056; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[5,12],zero,zero,xmm9[1,8,15],zero,zero,xmm9[u,u,u,u,u,u,u]3057; AVX512DQ-NEXT:    vpor %xmm8, %xmm9, %xmm83058; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm9 = xmm3[0],xmm4[1,2],xmm3[3],xmm4[4,5,6],xmm3[7]3059; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm9[0,7,14]3060; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm13 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[2,9],zero,zero,zero3061; AVX512DQ-NEXT:    vpor %xmm13, %xmm9, %xmm93062; AVX512DQ-NEXT:    vpternlogq {{.*#+}} xmm9 = xmm9 ^ (xmm7 & (xmm9 ^ xmm8))3063; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm1 ^ (ymm10 & (ymm2 ^ ymm1))3064; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm10[6,13],zero,zero,xmm10[2,9],zero,zero,zero,xmm10[u,u,u,u,u,u,u]3065; AVX512DQ-NEXT:    vextracti128 $1, %ymm10, %xmm23066; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u,u,u,u]3067; AVX512DQ-NEXT:    vpor %xmm1, %xmm2, %xmm13068; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0],xmm4[1,2,3],xmm3[4],xmm4[5,6],xmm3[7]3069; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15]3070; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[3,10],zero,zero,zero3071; AVX512DQ-NEXT:    vpor %xmm0, %xmm2, %xmm03072; AVX512DQ-NEXT:    vpternlogq {{.*#+}} xmm0 = xmm0 ^ (xmm7 & (xmm0 ^ xmm1))3073; AVX512DQ-NEXT:    vmovdqa %xmm5, (%rsi)3074; AVX512DQ-NEXT:    vmovdqa %xmm6, (%rdx)3075; AVX512DQ-NEXT:    vmovdqa %xmm11, (%rcx)3076; AVX512DQ-NEXT:    vmovdqa %xmm14, (%r8)3077; AVX512DQ-NEXT:    vmovdqa %xmm12, (%r9)3078; AVX512DQ-NEXT:    vmovdqa %xmm9, (%r10)3079; AVX512DQ-NEXT:    vmovdqa %xmm0, (%rax)3080; AVX512DQ-NEXT:    vzeroupper3081; AVX512DQ-NEXT:    retq3082;3083; AVX512DQ-FCP-LABEL: load_i8_stride7_vf16:3084; AVX512DQ-FCP:       # %bb.0:3085; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3086; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r103087; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,128,5,12,128,128,1,8,15,128,128,4,11,128,128]3088; AVX512DQ-FCP-NEXT:    vmovdqa 80(%rdi), %xmm03089; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm0, %xmm43090; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %ymm13091; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %ymm23092; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm5 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]3093; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm2 ^ (ymm5 & (ymm1 ^ ymm2))3094; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm63095; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm6, %xmm33096; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm6 = xmm3[0,1,2,3,4],xmm4[5,6,7]3097; AVX512DQ-FCP-NEXT:    vmovdqa 96(%rdi), %xmm33098; AVX512DQ-FCP-NEXT:    vmovdqa 64(%rdi), %xmm43099; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm3[0],xmm4[1],xmm3[2],xmm4[3]3100; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} xmm8 = [0,7,14,128,128,3,10,128,128,128,6,13,128,128,2,9]3101; AVX512DQ-FCP-NEXT:    vpshufb %xmm8, %xmm7, %xmm73102; AVX512DQ-FCP-NEXT:    vpshufb %xmm8, %xmm5, %xmm53103; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm5 = xmm5[0,1,2,3,4],xmm7[5,6,7]3104; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm53105; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm8 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]3106; AVX512DQ-FCP-NEXT:    vmovdqa %ymm8, %ymm63107; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm2 ^ (ymm6 & (ymm1 ^ ymm2))3108; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm73109; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[6,13],zero,zero,xmm7[2,9,u,u,u,u,u,u,u]3110; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[1,8,15],zero,zero,xmm6[4,11],zero,zero,xmm6[u,u,u,u,u,u,u]3111; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm93112; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm6 = xmm4[0],xmm3[1],xmm4[2,3,4],xmm3[5],xmm4[6,7]3113; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm6[3,10]3114; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero3115; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm63116; AVX512DQ-FCP-NEXT:    vpmovsxwq {{.*#+}} xmm7 = [18446744073709551615,255]3117; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} xmm6 = xmm6 ^ (xmm7 & (xmm6 ^ xmm9))3118; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm9 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]3119; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm103120; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm2 ^ (ymm10 & (ymm1 ^ ymm2))3121; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm10[2,9],zero,zero,zero,xmm10[5,12],zero,zero,xmm10[u,u,u,u,u,u,u]3122; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm103123; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,xmm10[0,7,14],zero,zero,xmm10[3,10,u,u,u,u,u,u,u]3124; AVX512DQ-FCP-NEXT:    vpor %xmm11, %xmm10, %xmm103125; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm11 = xmm4[0,1],xmm3[2],xmm4[3,4],xmm3[5],xmm4[6,7]3126; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm11[4,11]3127; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[6,13],zero,zero3128; AVX512DQ-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm113129; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} xmm11 = xmm11 ^ (xmm7 & (xmm11 ^ xmm10))3130; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]3131; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm123132; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm2 ^ (ymm12 & (ymm1 ^ ymm2))3133; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm12[3,10],zero,zero,zero,xmm12[6,13],zero,zero,xmm12[u,u,u,u,u,u,u]3134; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm12, %xmm123135; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[1,8,15],zero,zero,xmm12[4,11,u,u,u,u,u,u,u]3136; AVX512DQ-FCP-NEXT:    vpor %xmm13, %xmm12, %xmm123137; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm13 = xmm4[0],xmm3[1],xmm4[2],xmm3[3]3138; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm13[5,12]3139; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[0,7,14],zero,zero3140; AVX512DQ-FCP-NEXT:    vpor %xmm15, %xmm14, %xmm143141; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} xmm14 = xmm14 ^ (xmm7 & (xmm14 ^ xmm12))3142; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm1 ^ (ymm8 & (ymm2 ^ ymm1))3143; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm123144; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[2,9],zero,zero,zero,xmm12[5,12,u,u,u,u,u,u,u]3145; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[4,11],zero,zero,xmm8[0,7,14],zero,zero,xmm8[u,u,u,u,u,u,u]3146; AVX512DQ-FCP-NEXT:    vpor %xmm12, %xmm8, %xmm83147; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm13[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm13[6,13]3148; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero3149; AVX512DQ-FCP-NEXT:    vpor %xmm13, %xmm12, %xmm123150; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} xmm12 = xmm12 ^ (xmm7 & (xmm12 ^ xmm8))3151; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm1 ^ (ymm9 & (ymm2 ^ ymm1))3152; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm83153; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[3,10],zero,zero,zero,xmm8[6,13,u,u,u,u,u,u,u]3154; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[5,12],zero,zero,xmm9[1,8,15],zero,zero,xmm9[u,u,u,u,u,u,u]3155; AVX512DQ-FCP-NEXT:    vpor %xmm8, %xmm9, %xmm83156; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm9 = xmm3[0],xmm4[1,2],xmm3[3],xmm4[4,5,6],xmm3[7]3157; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm9[0,7,14]3158; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[2,9],zero,zero,zero3159; AVX512DQ-FCP-NEXT:    vpor %xmm13, %xmm9, %xmm93160; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} xmm9 = xmm9 ^ (xmm7 & (xmm9 ^ xmm8))3161; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm1 ^ (ymm10 & (ymm2 ^ ymm1))3162; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm10[6,13],zero,zero,xmm10[2,9],zero,zero,zero,xmm10[u,u,u,u,u,u,u]3163; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm23164; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u,u,u,u]3165; AVX512DQ-FCP-NEXT:    vpor %xmm1, %xmm2, %xmm13166; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0],xmm4[1,2,3],xmm3[4],xmm4[5,6],xmm3[7]3167; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15]3168; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[3,10],zero,zero,zero3169; AVX512DQ-FCP-NEXT:    vpor %xmm0, %xmm2, %xmm03170; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} xmm0 = xmm0 ^ (xmm7 & (xmm0 ^ xmm1))3171; AVX512DQ-FCP-NEXT:    vmovdqa %xmm5, (%rsi)3172; AVX512DQ-FCP-NEXT:    vmovdqa %xmm6, (%rdx)3173; AVX512DQ-FCP-NEXT:    vmovdqa %xmm11, (%rcx)3174; AVX512DQ-FCP-NEXT:    vmovdqa %xmm14, (%r8)3175; AVX512DQ-FCP-NEXT:    vmovdqa %xmm12, (%r9)3176; AVX512DQ-FCP-NEXT:    vmovdqa %xmm9, (%r10)3177; AVX512DQ-FCP-NEXT:    vmovdqa %xmm0, (%rax)3178; AVX512DQ-FCP-NEXT:    vzeroupper3179; AVX512DQ-FCP-NEXT:    retq3180;3181; AVX512BW-LABEL: load_i8_stride7_vf16:3182; AVX512BW:       # %bb.0:3183; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax3184; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r103185; AVX512BW-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,128,5,12,128,128,1,8,15,128,128,4,11,128,128]3186; AVX512BW-NEXT:    vmovdqa 80(%rdi), %xmm03187; AVX512BW-NEXT:    vpshufb %xmm3, %xmm0, %xmm43188; AVX512BW-NEXT:    vmovdqa (%rdi), %ymm23189; AVX512BW-NEXT:    vmovdqa 32(%rdi), %ymm13190; AVX512BW-NEXT:    movw $-28382, %r11w # imm = 0x91223191; AVX512BW-NEXT:    kmovd %r11d, %k13192; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm2, %ymm5 {%k1}3193; AVX512BW-NEXT:    vextracti128 $1, %ymm5, %xmm63194; AVX512BW-NEXT:    vpshufb %xmm3, %xmm6, %xmm33195; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm6 = xmm3[0,1,2,3,4],xmm4[5,6,7]3196; AVX512BW-NEXT:    vmovdqa 96(%rdi), %xmm33197; AVX512BW-NEXT:    vmovdqa 64(%rdi), %xmm43198; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm7 = xmm3[0],xmm4[1],xmm3[2],xmm4[3]3199; AVX512BW-NEXT:    vmovdqa {{.*#+}} xmm8 = [0,7,14,128,128,3,10,128,128,128,6,13,128,128,2,9]3200; AVX512BW-NEXT:    vpshufb %xmm8, %xmm7, %xmm73201; AVX512BW-NEXT:    vpshufb %xmm8, %xmm5, %xmm53202; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm5 = xmm5[0,1,2,3,4],xmm7[5,6,7]3203; AVX512BW-NEXT:    vpor %xmm6, %xmm5, %xmm53204; AVX512BW-NEXT:    movw $4644, %di # imm = 0x12243205; AVX512BW-NEXT:    kmovd %edi, %k23206; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm2, %ymm6 {%k2}3207; AVX512BW-NEXT:    vextracti128 $1, %ymm6, %xmm73208; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[6,13],zero,zero,xmm7[2,9,u,u,u,u,u,u,u]3209; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[1,8,15],zero,zero,xmm6[4,11],zero,zero,xmm6[u,u,u,u,u,u,u]3210; AVX512BW-NEXT:    vpor %xmm7, %xmm6, %xmm63211; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm7 = xmm4[0],xmm3[1],xmm4[2,3,4],xmm3[5],xmm4[6,7]3212; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm7[3,10]3213; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero3214; AVX512BW-NEXT:    vpor %xmm7, %xmm8, %xmm73215; AVX512BW-NEXT:    movw $-512, %di # imm = 0xFE003216; AVX512BW-NEXT:    kmovd %edi, %k13217; AVX512BW-NEXT:    vmovdqu8 %xmm7, %xmm6 {%k1}3218; AVX512BW-NEXT:    movw $8772, %di # imm = 0x22443219; AVX512BW-NEXT:    kmovd %edi, %k33220; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm2, %ymm7 {%k3}3221; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[2,9],zero,zero,zero,xmm7[5,12],zero,zero,xmm7[u,u,u,u,u,u,u]3222; AVX512BW-NEXT:    vextracti128 $1, %ymm7, %xmm73223; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,xmm7[0,7,14],zero,zero,xmm7[3,10,u,u,u,u,u,u,u]3224; AVX512BW-NEXT:    vpor %xmm7, %xmm8, %xmm73225; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm8 = xmm4[0,1],xmm3[2],xmm4[3,4],xmm3[5],xmm4[6,7]3226; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm8[4,11]3227; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[6,13],zero,zero3228; AVX512BW-NEXT:    vpor %xmm9, %xmm8, %xmm83229; AVX512BW-NEXT:    vmovdqu8 %xmm8, %xmm7 {%k1}3230; AVX512BW-NEXT:    movw $9288, %di # imm = 0x24483231; AVX512BW-NEXT:    kmovd %edi, %k43232; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm2, %ymm8 {%k4}3233; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm8[3,10],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[u,u,u,u,u,u,u]3234; AVX512BW-NEXT:    vextracti128 $1, %ymm8, %xmm83235; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[1,8,15],zero,zero,xmm8[4,11,u,u,u,u,u,u,u]3236; AVX512BW-NEXT:    vpor %xmm9, %xmm8, %xmm83237; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm9 = xmm4[0],xmm3[1],xmm4[2],xmm3[3]3238; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm9[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm9[5,12]3239; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[0,7,14],zero,zero3240; AVX512BW-NEXT:    vpor %xmm11, %xmm10, %xmm103241; AVX512BW-NEXT:    vmovdqu8 %xmm10, %xmm8 {%k1}3242; AVX512BW-NEXT:    vpblendmw %ymm2, %ymm1, %ymm10 {%k2}3243; AVX512BW-NEXT:    vextracti128 $1, %ymm10, %xmm113244; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[2,9],zero,zero,zero,xmm11[5,12,u,u,u,u,u,u,u]3245; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[4,11],zero,zero,xmm10[0,7,14],zero,zero,xmm10[u,u,u,u,u,u,u]3246; AVX512BW-NEXT:    vpor %xmm11, %xmm10, %xmm103247; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm9[6,13]3248; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero3249; AVX512BW-NEXT:    vpor %xmm11, %xmm9, %xmm93250; AVX512BW-NEXT:    vmovdqu8 %xmm9, %xmm10 {%k1}3251; AVX512BW-NEXT:    vpblendmw %ymm2, %ymm1, %ymm9 {%k3}3252; AVX512BW-NEXT:    vextracti128 $1, %ymm9, %xmm113253; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[3,10],zero,zero,zero,xmm11[6,13,u,u,u,u,u,u,u]3254; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[5,12],zero,zero,xmm9[1,8,15],zero,zero,xmm9[u,u,u,u,u,u,u]3255; AVX512BW-NEXT:    vpor %xmm11, %xmm9, %xmm93256; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm11 = xmm3[0],xmm4[1,2],xmm3[3],xmm4[4,5,6],xmm3[7]3257; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm11[0,7,14]3258; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[2,9],zero,zero,zero3259; AVX512BW-NEXT:    vpor %xmm12, %xmm11, %xmm113260; AVX512BW-NEXT:    vmovdqu8 %xmm11, %xmm9 {%k1}3261; AVX512BW-NEXT:    vmovdqu16 %ymm2, %ymm1 {%k4}3262; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm1[6,13],zero,zero,xmm1[2,9],zero,zero,zero,xmm1[u,u,u,u,u,u,u]3263; AVX512BW-NEXT:    vextracti128 $1, %ymm1, %xmm13264; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,xmm1[4,11],zero,zero,xmm1[0,7,14,u,u,u,u,u,u,u]3265; AVX512BW-NEXT:    vpor %xmm2, %xmm1, %xmm13266; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0],xmm4[1,2,3],xmm3[4],xmm4[5,6],xmm3[7]3267; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15]3268; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[3,10],zero,zero,zero3269; AVX512BW-NEXT:    vpor %xmm0, %xmm2, %xmm03270; AVX512BW-NEXT:    vmovdqu8 %xmm0, %xmm1 {%k1}3271; AVX512BW-NEXT:    vmovdqa %xmm5, (%rsi)3272; AVX512BW-NEXT:    vmovdqa %xmm6, (%rdx)3273; AVX512BW-NEXT:    vmovdqa %xmm7, (%rcx)3274; AVX512BW-NEXT:    vmovdqa %xmm8, (%r8)3275; AVX512BW-NEXT:    vmovdqa %xmm10, (%r9)3276; AVX512BW-NEXT:    vmovdqa %xmm9, (%r10)3277; AVX512BW-NEXT:    vmovdqa %xmm1, (%rax)3278; AVX512BW-NEXT:    vzeroupper3279; AVX512BW-NEXT:    retq3280;3281; AVX512BW-FCP-LABEL: load_i8_stride7_vf16:3282; AVX512BW-FCP:       # %bb.0:3283; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3284; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r103285; AVX512BW-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,128,5,12,128,128,1,8,15,128,128,4,11,128,128]3286; AVX512BW-FCP-NEXT:    vmovdqa 80(%rdi), %xmm03287; AVX512BW-FCP-NEXT:    vpshufb %xmm3, %xmm0, %xmm43288; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %ymm23289; AVX512BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm13290; AVX512BW-FCP-NEXT:    movw $-28382, %r11w # imm = 0x91223291; AVX512BW-FCP-NEXT:    kmovd %r11d, %k13292; AVX512BW-FCP-NEXT:    vpblendmw %ymm1, %ymm2, %ymm5 {%k1}3293; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm63294; AVX512BW-FCP-NEXT:    vpshufb %xmm3, %xmm6, %xmm33295; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm6 = xmm3[0,1,2,3,4],xmm4[5,6,7]3296; AVX512BW-FCP-NEXT:    vmovdqa 96(%rdi), %xmm33297; AVX512BW-FCP-NEXT:    vmovdqa 64(%rdi), %xmm43298; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm3[0],xmm4[1],xmm3[2],xmm4[3]3299; AVX512BW-FCP-NEXT:    vmovdqa {{.*#+}} xmm8 = [0,7,14,128,128,3,10,128,128,128,6,13,128,128,2,9]3300; AVX512BW-FCP-NEXT:    vpshufb %xmm8, %xmm7, %xmm73301; AVX512BW-FCP-NEXT:    vpshufb %xmm8, %xmm5, %xmm53302; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm5 = xmm5[0,1,2,3,4],xmm7[5,6,7]3303; AVX512BW-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm53304; AVX512BW-FCP-NEXT:    movw $4644, %di # imm = 0x12243305; AVX512BW-FCP-NEXT:    kmovd %edi, %k23306; AVX512BW-FCP-NEXT:    vpblendmw %ymm1, %ymm2, %ymm6 {%k2}3307; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm73308; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[6,13],zero,zero,xmm7[2,9,u,u,u,u,u,u,u]3309; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[1,8,15],zero,zero,xmm6[4,11],zero,zero,xmm6[u,u,u,u,u,u,u]3310; AVX512BW-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm63311; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm7 = xmm4[0],xmm3[1],xmm4[2,3,4],xmm3[5],xmm4[6,7]3312; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm7[3,10]3313; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero3314; AVX512BW-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm73315; AVX512BW-FCP-NEXT:    movw $-512, %di # imm = 0xFE003316; AVX512BW-FCP-NEXT:    kmovd %edi, %k13317; AVX512BW-FCP-NEXT:    vmovdqu8 %xmm7, %xmm6 {%k1}3318; AVX512BW-FCP-NEXT:    movw $8772, %di # imm = 0x22443319; AVX512BW-FCP-NEXT:    kmovd %edi, %k33320; AVX512BW-FCP-NEXT:    vpblendmw %ymm1, %ymm2, %ymm7 {%k3}3321; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[2,9],zero,zero,zero,xmm7[5,12],zero,zero,xmm7[u,u,u,u,u,u,u]3322; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm73323; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,xmm7[0,7,14],zero,zero,xmm7[3,10,u,u,u,u,u,u,u]3324; AVX512BW-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm73325; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm8 = xmm4[0,1],xmm3[2],xmm4[3,4],xmm3[5],xmm4[6,7]3326; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm8[4,11]3327; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[6,13],zero,zero3328; AVX512BW-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm83329; AVX512BW-FCP-NEXT:    vmovdqu8 %xmm8, %xmm7 {%k1}3330; AVX512BW-FCP-NEXT:    movw $9288, %di # imm = 0x24483331; AVX512BW-FCP-NEXT:    kmovd %edi, %k43332; AVX512BW-FCP-NEXT:    vpblendmw %ymm1, %ymm2, %ymm8 {%k4}3333; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm8[3,10],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[u,u,u,u,u,u,u]3334; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm83335; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[1,8,15],zero,zero,xmm8[4,11,u,u,u,u,u,u,u]3336; AVX512BW-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm83337; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm4[0],xmm3[1],xmm4[2],xmm3[3]3338; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm9[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm9[5,12]3339; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[0,7,14],zero,zero3340; AVX512BW-FCP-NEXT:    vpor %xmm11, %xmm10, %xmm103341; AVX512BW-FCP-NEXT:    vmovdqu8 %xmm10, %xmm8 {%k1}3342; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm1, %ymm10 {%k2}3343; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm113344; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[2,9],zero,zero,zero,xmm11[5,12,u,u,u,u,u,u,u]3345; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[4,11],zero,zero,xmm10[0,7,14],zero,zero,xmm10[u,u,u,u,u,u,u]3346; AVX512BW-FCP-NEXT:    vpor %xmm11, %xmm10, %xmm103347; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm9[6,13]3348; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero3349; AVX512BW-FCP-NEXT:    vpor %xmm11, %xmm9, %xmm93350; AVX512BW-FCP-NEXT:    vmovdqu8 %xmm9, %xmm10 {%k1}3351; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm1, %ymm9 {%k3}3352; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm113353; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[3,10],zero,zero,zero,xmm11[6,13,u,u,u,u,u,u,u]3354; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[5,12],zero,zero,xmm9[1,8,15],zero,zero,xmm9[u,u,u,u,u,u,u]3355; AVX512BW-FCP-NEXT:    vpor %xmm11, %xmm9, %xmm93356; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm11 = xmm3[0],xmm4[1,2],xmm3[3],xmm4[4,5,6],xmm3[7]3357; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm11[0,7,14]3358; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[2,9],zero,zero,zero3359; AVX512BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm113360; AVX512BW-FCP-NEXT:    vmovdqu8 %xmm11, %xmm9 {%k1}3361; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm2, %ymm1 {%k4}3362; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm1[6,13],zero,zero,xmm1[2,9],zero,zero,zero,xmm1[u,u,u,u,u,u,u]3363; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm13364; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,xmm1[4,11],zero,zero,xmm1[0,7,14,u,u,u,u,u,u,u]3365; AVX512BW-FCP-NEXT:    vpor %xmm2, %xmm1, %xmm13366; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0],xmm4[1,2,3],xmm3[4],xmm4[5,6],xmm3[7]3367; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15]3368; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[3,10],zero,zero,zero3369; AVX512BW-FCP-NEXT:    vpor %xmm0, %xmm2, %xmm03370; AVX512BW-FCP-NEXT:    vmovdqu8 %xmm0, %xmm1 {%k1}3371; AVX512BW-FCP-NEXT:    vmovdqa %xmm5, (%rsi)3372; AVX512BW-FCP-NEXT:    vmovdqa %xmm6, (%rdx)3373; AVX512BW-FCP-NEXT:    vmovdqa %xmm7, (%rcx)3374; AVX512BW-FCP-NEXT:    vmovdqa %xmm8, (%r8)3375; AVX512BW-FCP-NEXT:    vmovdqa %xmm10, (%r9)3376; AVX512BW-FCP-NEXT:    vmovdqa %xmm9, (%r10)3377; AVX512BW-FCP-NEXT:    vmovdqa %xmm1, (%rax)3378; AVX512BW-FCP-NEXT:    vzeroupper3379; AVX512BW-FCP-NEXT:    retq3380;3381; AVX512DQ-BW-LABEL: load_i8_stride7_vf16:3382; AVX512DQ-BW:       # %bb.0:3383; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax3384; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r103385; AVX512DQ-BW-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,128,5,12,128,128,1,8,15,128,128,4,11,128,128]3386; AVX512DQ-BW-NEXT:    vmovdqa 80(%rdi), %xmm03387; AVX512DQ-BW-NEXT:    vpshufb %xmm3, %xmm0, %xmm43388; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %ymm23389; AVX512DQ-BW-NEXT:    vmovdqa 32(%rdi), %ymm13390; AVX512DQ-BW-NEXT:    movw $-28382, %r11w # imm = 0x91223391; AVX512DQ-BW-NEXT:    kmovd %r11d, %k13392; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm2, %ymm5 {%k1}3393; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm5, %xmm63394; AVX512DQ-BW-NEXT:    vpshufb %xmm3, %xmm6, %xmm33395; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm6 = xmm3[0,1,2,3,4],xmm4[5,6,7]3396; AVX512DQ-BW-NEXT:    vmovdqa 96(%rdi), %xmm33397; AVX512DQ-BW-NEXT:    vmovdqa 64(%rdi), %xmm43398; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm7 = xmm3[0],xmm4[1],xmm3[2],xmm4[3]3399; AVX512DQ-BW-NEXT:    vmovdqa {{.*#+}} xmm8 = [0,7,14,128,128,3,10,128,128,128,6,13,128,128,2,9]3400; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm7, %xmm73401; AVX512DQ-BW-NEXT:    vpshufb %xmm8, %xmm5, %xmm53402; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm5 = xmm5[0,1,2,3,4],xmm7[5,6,7]3403; AVX512DQ-BW-NEXT:    vpor %xmm6, %xmm5, %xmm53404; AVX512DQ-BW-NEXT:    movw $4644, %di # imm = 0x12243405; AVX512DQ-BW-NEXT:    kmovd %edi, %k23406; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm2, %ymm6 {%k2}3407; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm6, %xmm73408; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[6,13],zero,zero,xmm7[2,9,u,u,u,u,u,u,u]3409; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[1,8,15],zero,zero,xmm6[4,11],zero,zero,xmm6[u,u,u,u,u,u,u]3410; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm6, %xmm63411; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm7 = xmm4[0],xmm3[1],xmm4[2,3,4],xmm3[5],xmm4[6,7]3412; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm7[3,10]3413; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero3414; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm8, %xmm73415; AVX512DQ-BW-NEXT:    movw $-512, %di # imm = 0xFE003416; AVX512DQ-BW-NEXT:    kmovd %edi, %k13417; AVX512DQ-BW-NEXT:    vmovdqu8 %xmm7, %xmm6 {%k1}3418; AVX512DQ-BW-NEXT:    movw $8772, %di # imm = 0x22443419; AVX512DQ-BW-NEXT:    kmovd %edi, %k33420; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm2, %ymm7 {%k3}3421; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[2,9],zero,zero,zero,xmm7[5,12],zero,zero,xmm7[u,u,u,u,u,u,u]3422; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm7, %xmm73423; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,xmm7[0,7,14],zero,zero,xmm7[3,10,u,u,u,u,u,u,u]3424; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm8, %xmm73425; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm8 = xmm4[0,1],xmm3[2],xmm4[3,4],xmm3[5],xmm4[6,7]3426; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm8[4,11]3427; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[6,13],zero,zero3428; AVX512DQ-BW-NEXT:    vpor %xmm9, %xmm8, %xmm83429; AVX512DQ-BW-NEXT:    vmovdqu8 %xmm8, %xmm7 {%k1}3430; AVX512DQ-BW-NEXT:    movw $9288, %di # imm = 0x24483431; AVX512DQ-BW-NEXT:    kmovd %edi, %k43432; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm2, %ymm8 {%k4}3433; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm8[3,10],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[u,u,u,u,u,u,u]3434; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm8, %xmm83435; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[1,8,15],zero,zero,xmm8[4,11,u,u,u,u,u,u,u]3436; AVX512DQ-BW-NEXT:    vpor %xmm9, %xmm8, %xmm83437; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm9 = xmm4[0],xmm3[1],xmm4[2],xmm3[3]3438; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm9[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm9[5,12]3439; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[0,7,14],zero,zero3440; AVX512DQ-BW-NEXT:    vpor %xmm11, %xmm10, %xmm103441; AVX512DQ-BW-NEXT:    vmovdqu8 %xmm10, %xmm8 {%k1}3442; AVX512DQ-BW-NEXT:    vpblendmw %ymm2, %ymm1, %ymm10 {%k2}3443; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm10, %xmm113444; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[2,9],zero,zero,zero,xmm11[5,12,u,u,u,u,u,u,u]3445; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[4,11],zero,zero,xmm10[0,7,14],zero,zero,xmm10[u,u,u,u,u,u,u]3446; AVX512DQ-BW-NEXT:    vpor %xmm11, %xmm10, %xmm103447; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm9[6,13]3448; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero3449; AVX512DQ-BW-NEXT:    vpor %xmm11, %xmm9, %xmm93450; AVX512DQ-BW-NEXT:    vmovdqu8 %xmm9, %xmm10 {%k1}3451; AVX512DQ-BW-NEXT:    vpblendmw %ymm2, %ymm1, %ymm9 {%k3}3452; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm9, %xmm113453; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[3,10],zero,zero,zero,xmm11[6,13,u,u,u,u,u,u,u]3454; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[5,12],zero,zero,xmm9[1,8,15],zero,zero,xmm9[u,u,u,u,u,u,u]3455; AVX512DQ-BW-NEXT:    vpor %xmm11, %xmm9, %xmm93456; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm11 = xmm3[0],xmm4[1,2],xmm3[3],xmm4[4,5,6],xmm3[7]3457; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm11[0,7,14]3458; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[2,9],zero,zero,zero3459; AVX512DQ-BW-NEXT:    vpor %xmm12, %xmm11, %xmm113460; AVX512DQ-BW-NEXT:    vmovdqu8 %xmm11, %xmm9 {%k1}3461; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm2, %ymm1 {%k4}3462; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm1[6,13],zero,zero,xmm1[2,9],zero,zero,zero,xmm1[u,u,u,u,u,u,u]3463; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm1, %xmm13464; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,xmm1[4,11],zero,zero,xmm1[0,7,14,u,u,u,u,u,u,u]3465; AVX512DQ-BW-NEXT:    vpor %xmm2, %xmm1, %xmm13466; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0],xmm4[1,2,3],xmm3[4],xmm4[5,6],xmm3[7]3467; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15]3468; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[3,10],zero,zero,zero3469; AVX512DQ-BW-NEXT:    vpor %xmm0, %xmm2, %xmm03470; AVX512DQ-BW-NEXT:    vmovdqu8 %xmm0, %xmm1 {%k1}3471; AVX512DQ-BW-NEXT:    vmovdqa %xmm5, (%rsi)3472; AVX512DQ-BW-NEXT:    vmovdqa %xmm6, (%rdx)3473; AVX512DQ-BW-NEXT:    vmovdqa %xmm7, (%rcx)3474; AVX512DQ-BW-NEXT:    vmovdqa %xmm8, (%r8)3475; AVX512DQ-BW-NEXT:    vmovdqa %xmm10, (%r9)3476; AVX512DQ-BW-NEXT:    vmovdqa %xmm9, (%r10)3477; AVX512DQ-BW-NEXT:    vmovdqa %xmm1, (%rax)3478; AVX512DQ-BW-NEXT:    vzeroupper3479; AVX512DQ-BW-NEXT:    retq3480;3481; AVX512DQ-BW-FCP-LABEL: load_i8_stride7_vf16:3482; AVX512DQ-BW-FCP:       # %bb.0:3483; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax3484; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r103485; AVX512DQ-BW-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,128,5,12,128,128,1,8,15,128,128,4,11,128,128]3486; AVX512DQ-BW-FCP-NEXT:    vmovdqa 80(%rdi), %xmm03487; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm3, %xmm0, %xmm43488; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %ymm23489; AVX512DQ-BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm13490; AVX512DQ-BW-FCP-NEXT:    movw $-28382, %r11w # imm = 0x91223491; AVX512DQ-BW-FCP-NEXT:    kmovd %r11d, %k13492; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm1, %ymm2, %ymm5 {%k1}3493; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm63494; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm3, %xmm6, %xmm33495; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm6 = xmm3[0,1,2,3,4],xmm4[5,6,7]3496; AVX512DQ-BW-FCP-NEXT:    vmovdqa 96(%rdi), %xmm33497; AVX512DQ-BW-FCP-NEXT:    vmovdqa 64(%rdi), %xmm43498; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm7 = xmm3[0],xmm4[1],xmm3[2],xmm4[3]3499; AVX512DQ-BW-FCP-NEXT:    vmovdqa {{.*#+}} xmm8 = [0,7,14,128,128,3,10,128,128,128,6,13,128,128,2,9]3500; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm8, %xmm7, %xmm73501; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm8, %xmm5, %xmm53502; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm5 = xmm5[0,1,2,3,4],xmm7[5,6,7]3503; AVX512DQ-BW-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm53504; AVX512DQ-BW-FCP-NEXT:    movw $4644, %di # imm = 0x12243505; AVX512DQ-BW-FCP-NEXT:    kmovd %edi, %k23506; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm1, %ymm2, %ymm6 {%k2}3507; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm73508; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[6,13],zero,zero,xmm7[2,9,u,u,u,u,u,u,u]3509; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[1,8,15],zero,zero,xmm6[4,11],zero,zero,xmm6[u,u,u,u,u,u,u]3510; AVX512DQ-BW-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm63511; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm7 = xmm4[0],xmm3[1],xmm4[2,3,4],xmm3[5],xmm4[6,7]3512; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,7,14],zero,zero,xmm7[3,10]3513; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero3514; AVX512DQ-BW-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm73515; AVX512DQ-BW-FCP-NEXT:    movw $-512, %di # imm = 0xFE003516; AVX512DQ-BW-FCP-NEXT:    kmovd %edi, %k13517; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %xmm7, %xmm6 {%k1}3518; AVX512DQ-BW-FCP-NEXT:    movw $8772, %di # imm = 0x22443519; AVX512DQ-BW-FCP-NEXT:    kmovd %edi, %k33520; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm1, %ymm2, %ymm7 {%k3}3521; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[2,9],zero,zero,zero,xmm7[5,12],zero,zero,xmm7[u,u,u,u,u,u,u]3522; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm73523; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,xmm7[0,7,14],zero,zero,xmm7[3,10,u,u,u,u,u,u,u]3524; AVX512DQ-BW-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm73525; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm8 = xmm4[0,1],xmm3[2],xmm4[3,4],xmm3[5],xmm4[6,7]3526; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u,u,u,1,8,15],zero,zero,xmm8[4,11]3527; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[6,13],zero,zero3528; AVX512DQ-BW-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm83529; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %xmm8, %xmm7 {%k1}3530; AVX512DQ-BW-FCP-NEXT:    movw $9288, %di # imm = 0x24483531; AVX512DQ-BW-FCP-NEXT:    kmovd %edi, %k43532; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm1, %ymm2, %ymm8 {%k4}3533; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm8[3,10],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[u,u,u,u,u,u,u]3534; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm83535; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[1,8,15],zero,zero,xmm8[4,11,u,u,u,u,u,u,u]3536; AVX512DQ-BW-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm83537; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm9 = xmm4[0],xmm3[1],xmm4[2],xmm3[3]3538; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm9[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm9[5,12]3539; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[0,7,14],zero,zero3540; AVX512DQ-BW-FCP-NEXT:    vpor %xmm11, %xmm10, %xmm103541; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %xmm10, %xmm8 {%k1}3542; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm1, %ymm10 {%k2}3543; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm113544; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[2,9],zero,zero,zero,xmm11[5,12,u,u,u,u,u,u,u]3545; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[4,11],zero,zero,xmm10[0,7,14],zero,zero,xmm10[u,u,u,u,u,u,u]3546; AVX512DQ-BW-FCP-NEXT:    vpor %xmm11, %xmm10, %xmm103547; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm9[6,13]3548; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero3549; AVX512DQ-BW-FCP-NEXT:    vpor %xmm11, %xmm9, %xmm93550; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %xmm9, %xmm10 {%k1}3551; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm1, %ymm9 {%k3}3552; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm113553; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[3,10],zero,zero,zero,xmm11[6,13,u,u,u,u,u,u,u]3554; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[5,12],zero,zero,xmm9[1,8,15],zero,zero,xmm9[u,u,u,u,u,u,u]3555; AVX512DQ-BW-FCP-NEXT:    vpor %xmm11, %xmm9, %xmm93556; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm11 = xmm3[0],xmm4[1,2],xmm3[3],xmm4[4,5,6],xmm3[7]3557; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm11[0,7,14]3558; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[2,9],zero,zero,zero3559; AVX512DQ-BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm113560; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %xmm11, %xmm9 {%k1}3561; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm2, %ymm1 {%k4}3562; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm1[6,13],zero,zero,xmm1[2,9],zero,zero,zero,xmm1[u,u,u,u,u,u,u]3563; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm13564; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,xmm1[4,11],zero,zero,xmm1[0,7,14,u,u,u,u,u,u,u]3565; AVX512DQ-BW-FCP-NEXT:    vpor %xmm2, %xmm1, %xmm13566; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0],xmm4[1,2,3],xmm3[4],xmm4[5,6],xmm3[7]3567; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15]3568; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[3,10],zero,zero,zero3569; AVX512DQ-BW-FCP-NEXT:    vpor %xmm0, %xmm2, %xmm03570; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %xmm0, %xmm1 {%k1}3571; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm5, (%rsi)3572; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm6, (%rdx)3573; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm7, (%rcx)3574; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm8, (%r8)3575; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm10, (%r9)3576; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm9, (%r10)3577; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm1, (%rax)3578; AVX512DQ-BW-FCP-NEXT:    vzeroupper3579; AVX512DQ-BW-FCP-NEXT:    retq3580  %wide.vec = load <112 x i8>, ptr %in.vec, align 643581  %strided.vec0 = shufflevector <112 x i8> %wide.vec, <112 x i8> poison, <16 x i32> <i32 0, i32 7, i32 14, i32 21, i32 28, i32 35, i32 42, i32 49, i32 56, i32 63, i32 70, i32 77, i32 84, i32 91, i32 98, i32 105>3582  %strided.vec1 = shufflevector <112 x i8> %wide.vec, <112 x i8> poison, <16 x i32> <i32 1, i32 8, i32 15, i32 22, i32 29, i32 36, i32 43, i32 50, i32 57, i32 64, i32 71, i32 78, i32 85, i32 92, i32 99, i32 106>3583  %strided.vec2 = shufflevector <112 x i8> %wide.vec, <112 x i8> poison, <16 x i32> <i32 2, i32 9, i32 16, i32 23, i32 30, i32 37, i32 44, i32 51, i32 58, i32 65, i32 72, i32 79, i32 86, i32 93, i32 100, i32 107>3584  %strided.vec3 = shufflevector <112 x i8> %wide.vec, <112 x i8> poison, <16 x i32> <i32 3, i32 10, i32 17, i32 24, i32 31, i32 38, i32 45, i32 52, i32 59, i32 66, i32 73, i32 80, i32 87, i32 94, i32 101, i32 108>3585  %strided.vec4 = shufflevector <112 x i8> %wide.vec, <112 x i8> poison, <16 x i32> <i32 4, i32 11, i32 18, i32 25, i32 32, i32 39, i32 46, i32 53, i32 60, i32 67, i32 74, i32 81, i32 88, i32 95, i32 102, i32 109>3586  %strided.vec5 = shufflevector <112 x i8> %wide.vec, <112 x i8> poison, <16 x i32> <i32 5, i32 12, i32 19, i32 26, i32 33, i32 40, i32 47, i32 54, i32 61, i32 68, i32 75, i32 82, i32 89, i32 96, i32 103, i32 110>3587  %strided.vec6 = shufflevector <112 x i8> %wide.vec, <112 x i8> poison, <16 x i32> <i32 6, i32 13, i32 20, i32 27, i32 34, i32 41, i32 48, i32 55, i32 62, i32 69, i32 76, i32 83, i32 90, i32 97, i32 104, i32 111>3588  store <16 x i8> %strided.vec0, ptr %out.vec0, align 643589  store <16 x i8> %strided.vec1, ptr %out.vec1, align 643590  store <16 x i8> %strided.vec2, ptr %out.vec2, align 643591  store <16 x i8> %strided.vec3, ptr %out.vec3, align 643592  store <16 x i8> %strided.vec4, ptr %out.vec4, align 643593  store <16 x i8> %strided.vec5, ptr %out.vec5, align 643594  store <16 x i8> %strided.vec6, ptr %out.vec6, align 643595  ret void3596}3597 3598define void @load_i8_stride7_vf32(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {3599; SSE-LABEL: load_i8_stride7_vf32:3600; SSE:       # %bb.0:3601; SSE-NEXT:    subq $648, %rsp # imm = 0x2883602; SSE-NEXT:    movdqa 208(%rdi), %xmm143603; SSE-NEXT:    movdqa 192(%rdi), %xmm53604; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3605; SSE-NEXT:    movdqa 176(%rdi), %xmm133606; SSE-NEXT:    movdqa 112(%rdi), %xmm43607; SSE-NEXT:    movdqa 128(%rdi), %xmm113608; SSE-NEXT:    movdqa 160(%rdi), %xmm73609; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3610; SSE-NEXT:    movdqa 144(%rdi), %xmm13611; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3612; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,0,65535,65535,65535,0,65535,65535]3613; SSE-NEXT:    movdqa %xmm2, %xmm03614; SSE-NEXT:    pandn %xmm1, %xmm03615; SSE-NEXT:    movdqa %xmm7, %xmm13616; SSE-NEXT:    pand %xmm2, %xmm13617; SSE-NEXT:    movdqa %xmm2, %xmm93618; SSE-NEXT:    por %xmm0, %xmm13619; SSE-NEXT:    pxor %xmm10, %xmm103620; SSE-NEXT:    movdqa %xmm1, %xmm03621; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm10[8],xmm0[9],xmm10[9],xmm0[10],xmm10[10],xmm0[11],xmm10[11],xmm0[12],xmm10[12],xmm0[13],xmm10[13],xmm0[14],xmm10[14],xmm0[15],xmm10[15]3622; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm10[0],xmm1[1],xmm10[1],xmm1[2],xmm10[2],xmm1[3],xmm10[3],xmm1[4],xmm10[4],xmm1[5],xmm10[5],xmm1[6],xmm10[6],xmm1[7],xmm10[7]3623; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]3624; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]3625; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,1]3626; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm1[0,1,2,3,4,4,5,6]3627; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,3]3628; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,3,4,5,6,7]3629; SSE-NEXT:    packuswb %xmm0, %xmm23630; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [255,255,255,255,255,0,0,0,0,0,255,255,255,255,255,255]3631; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [65535,65535,0,65535,65535,65535,0,65535]3632; SSE-NEXT:    movdqa %xmm7, %xmm13633; SSE-NEXT:    pandn %xmm11, %xmm13634; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3635; SSE-NEXT:    movdqa %xmm4, %xmm33636; SSE-NEXT:    movdqa %xmm4, %xmm123637; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3638; SSE-NEXT:    pand %xmm7, %xmm33639; SSE-NEXT:    movdqa %xmm7, %xmm83640; SSE-NEXT:    por %xmm1, %xmm33641; SSE-NEXT:    movdqa %xmm3, %xmm13642; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm10[8],xmm1[9],xmm10[9],xmm1[10],xmm10[10],xmm1[11],xmm10[11],xmm1[12],xmm10[12],xmm1[13],xmm10[13],xmm1[14],xmm10[14],xmm1[15],xmm10[15]3643; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [65535,65535,65535,65535,0,65535,0,65535]3644; SSE-NEXT:    movdqa %xmm7, %xmm43645; SSE-NEXT:    pandn %xmm1, %xmm43646; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm10[0],xmm3[1],xmm10[1],xmm3[2],xmm10[2],xmm3[3],xmm10[3],xmm3[4],xmm10[4],xmm3[5],xmm10[5],xmm3[6],xmm10[6],xmm3[7],xmm10[7]3647; SSE-NEXT:    pand %xmm7, %xmm33648; SSE-NEXT:    movdqa %xmm7, %xmm153649; SSE-NEXT:    por %xmm4, %xmm33650; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,2,1,3]3651; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]3652; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,1,1]3653; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]3654; SSE-NEXT:    packuswb %xmm1, %xmm13655; SSE-NEXT:    pand %xmm0, %xmm13656; SSE-NEXT:    movdqa %xmm0, %xmm33657; SSE-NEXT:    pandn %xmm2, %xmm33658; SSE-NEXT:    por %xmm3, %xmm13659; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [65535,65535,65535,0,65535,65535,0,65535]3660; SSE-NEXT:    movdqa %xmm7, %xmm23661; SSE-NEXT:    pandn %xmm13, %xmm23662; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3663; SSE-NEXT:    movdqa %xmm5, %xmm33664; SSE-NEXT:    pand %xmm7, %xmm33665; SSE-NEXT:    por %xmm2, %xmm33666; SSE-NEXT:    movdqa %xmm3, %xmm23667; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3],xmm2[4],xmm10[4],xmm2[5],xmm10[5],xmm2[6],xmm10[6],xmm2[7],xmm10[7]3668; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,4,7]3669; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm10[8],xmm3[9],xmm10[9],xmm3[10],xmm10[10],xmm3[11],xmm10[11],xmm3[12],xmm10[12],xmm3[13],xmm10[13],xmm3[14],xmm10[14],xmm3[15],xmm10[15]3670; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,1]3671; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,7,7]3672; SSE-NEXT:    punpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]3673; SSE-NEXT:    movdqa %xmm14, %xmm33674; SSE-NEXT:    movdqa %xmm14, %xmm43675; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm10[8],xmm4[9],xmm10[9],xmm4[10],xmm10[10],xmm4[11],xmm10[11],xmm4[12],xmm10[12],xmm4[13],xmm10[13],xmm4[14],xmm10[14],xmm4[15],xmm10[15]3676; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3677; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm10[0],xmm3[1],xmm10[1],xmm3[2],xmm10[2],xmm3[3],xmm10[3],xmm3[4],xmm10[4],xmm3[5],xmm10[5],xmm3[6],xmm10[6],xmm3[7],xmm10[7]3678; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3679; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]3680; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,1]3681; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]3682; SSE-NEXT:    packuswb %xmm3, %xmm33683; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [65535,65535,65535,65535,65535,65535,65535,0]3684; SSE-NEXT:    movdqa %xmm5, %xmm43685; SSE-NEXT:    pandn %xmm3, %xmm43686; SSE-NEXT:    packuswb %xmm2, %xmm23687; SSE-NEXT:    pand %xmm5, %xmm23688; SSE-NEXT:    movdqa %xmm5, %xmm63689; SSE-NEXT:    por %xmm2, %xmm43690; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [65535,65535,65535,65535,65535,0,0,0]3691; SSE-NEXT:    movdqa %xmm5, %xmm23692; SSE-NEXT:    pandn %xmm4, %xmm23693; SSE-NEXT:    pand %xmm5, %xmm13694; SSE-NEXT:    por %xmm1, %xmm23695; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3696; SSE-NEXT:    movdqa 32(%rdi), %xmm23697; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3698; SSE-NEXT:    movdqa %xmm9, %xmm13699; SSE-NEXT:    pandn %xmm2, %xmm13700; SSE-NEXT:    movdqa 48(%rdi), %xmm23701; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3702; SSE-NEXT:    pand %xmm9, %xmm23703; SSE-NEXT:    por %xmm1, %xmm23704; SSE-NEXT:    movdqa %xmm2, %xmm13705; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm10[8],xmm1[9],xmm10[9],xmm1[10],xmm10[10],xmm1[11],xmm10[11],xmm1[12],xmm10[12],xmm1[13],xmm10[13],xmm1[14],xmm10[14],xmm1[15],xmm10[15]3706; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3],xmm2[4],xmm10[4],xmm2[5],xmm10[5],xmm2[6],xmm10[6],xmm2[7],xmm10[7]3707; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]3708; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,6,5,6,7]3709; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]3710; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,4,5,6]3711; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,2,3]3712; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]3713; SSE-NEXT:    packuswb %xmm1, %xmm23714; SSE-NEXT:    movdqa 16(%rdi), %xmm143715; SSE-NEXT:    movdqa %xmm8, %xmm13716; SSE-NEXT:    pandn %xmm14, %xmm13717; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3718; SSE-NEXT:    movdqa (%rdi), %xmm43719; SSE-NEXT:    movdqa %xmm4, %xmm33720; SSE-NEXT:    movdqa %xmm4, %xmm93721; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3722; SSE-NEXT:    pand %xmm8, %xmm33723; SSE-NEXT:    por %xmm1, %xmm33724; SSE-NEXT:    movdqa %xmm3, %xmm13725; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm10[8],xmm1[9],xmm10[9],xmm1[10],xmm10[10],xmm1[11],xmm10[11],xmm1[12],xmm10[12],xmm1[13],xmm10[13],xmm1[14],xmm10[14],xmm1[15],xmm10[15]3726; SSE-NEXT:    movdqa %xmm15, %xmm43727; SSE-NEXT:    pandn %xmm1, %xmm43728; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm10[0],xmm3[1],xmm10[1],xmm3[2],xmm10[2],xmm3[3],xmm10[3],xmm3[4],xmm10[4],xmm3[5],xmm10[5],xmm3[6],xmm10[6],xmm3[7],xmm10[7]3729; SSE-NEXT:    pand %xmm15, %xmm33730; SSE-NEXT:    por %xmm4, %xmm33731; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,2,1,3]3732; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]3733; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,1,1]3734; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]3735; SSE-NEXT:    packuswb %xmm1, %xmm13736; SSE-NEXT:    pand %xmm0, %xmm13737; SSE-NEXT:    pandn %xmm2, %xmm03738; SSE-NEXT:    por %xmm0, %xmm13739; SSE-NEXT:    movdqa 64(%rdi), %xmm153740; SSE-NEXT:    movdqa %xmm7, %xmm03741; SSE-NEXT:    pandn %xmm15, %xmm03742; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3743; SSE-NEXT:    movdqa 80(%rdi), %xmm83744; SSE-NEXT:    movdqa %xmm8, %xmm23745; SSE-NEXT:    pand %xmm7, %xmm23746; SSE-NEXT:    por %xmm0, %xmm23747; SSE-NEXT:    movdqa %xmm2, %xmm03748; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm10[0],xmm0[1],xmm10[1],xmm0[2],xmm10[2],xmm0[3],xmm10[3],xmm0[4],xmm10[4],xmm0[5],xmm10[5],xmm0[6],xmm10[6],xmm0[7],xmm10[7]3749; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,4,7]3750; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm10[8],xmm2[9],xmm10[9],xmm2[10],xmm10[10],xmm2[11],xmm10[11],xmm2[12],xmm10[12],xmm2[13],xmm10[13],xmm2[14],xmm10[14],xmm2[15],xmm10[15]3751; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]3752; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,7,7]3753; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]3754; SSE-NEXT:    movdqa 96(%rdi), %xmm23755; SSE-NEXT:    movdqa %xmm2, %xmm33756; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm10[8],xmm3[9],xmm10[9],xmm3[10],xmm10[10],xmm3[11],xmm10[11],xmm3[12],xmm10[12],xmm3[13],xmm10[13],xmm3[14],xmm10[14],xmm3[15],xmm10[15]3757; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3758; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm10[0],xmm2[1],xmm10[1],xmm2[2],xmm10[2],xmm2[3],xmm10[3],xmm2[4],xmm10[4],xmm2[5],xmm10[5],xmm2[6],xmm10[6],xmm2[7],xmm10[7]3759; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3760; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]3761; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]3762; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,4,7]3763; SSE-NEXT:    packuswb %xmm2, %xmm23764; SSE-NEXT:    movdqa %xmm6, %xmm33765; SSE-NEXT:    pandn %xmm2, %xmm33766; SSE-NEXT:    packuswb %xmm0, %xmm03767; SSE-NEXT:    pand %xmm6, %xmm03768; SSE-NEXT:    por %xmm0, %xmm33769; SSE-NEXT:    pand %xmm5, %xmm13770; SSE-NEXT:    pandn %xmm3, %xmm53771; SSE-NEXT:    por %xmm1, %xmm53772; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3773; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,65535,0,65535,65535,0,65535,65535]3774; SSE-NEXT:    movdqa %xmm2, %xmm03775; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload3776; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3777; SSE-NEXT:    pand %xmm2, %xmm13778; SSE-NEXT:    por %xmm0, %xmm13779; SSE-NEXT:    movdqa %xmm1, %xmm23780; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm10[8],xmm2[9],xmm10[9],xmm2[10],xmm10[10],xmm2[11],xmm10[11],xmm2[12],xmm10[12],xmm2[13],xmm10[13],xmm2[14],xmm10[14],xmm2[15],xmm10[15]3781; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,65535,0,65535,65535,65535,65535]3782; SSE-NEXT:    movdqa %xmm0, %xmm33783; SSE-NEXT:    pandn %xmm2, %xmm33784; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm10[0],xmm1[1],xmm10[1],xmm1[2],xmm10[2],xmm1[3],xmm10[3],xmm1[4],xmm10[4],xmm1[5],xmm10[5],xmm1[6],xmm10[6],xmm1[7],xmm10[7]3785; SSE-NEXT:    pand %xmm0, %xmm13786; SSE-NEXT:    por %xmm3, %xmm13787; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,1]3788; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,6]3789; SSE-NEXT:    psrld $16, %xmm23790; SSE-NEXT:    packuswb %xmm2, %xmm13791; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255]3792; SSE-NEXT:    movdqa %xmm5, %xmm23793; SSE-NEXT:    pandn %xmm1, %xmm23794; SSE-NEXT:    movdqa %xmm7, %xmm13795; SSE-NEXT:    pandn %xmm11, %xmm13796; SSE-NEXT:    movdqa %xmm12, %xmm33797; SSE-NEXT:    pand %xmm7, %xmm33798; SSE-NEXT:    movdqa %xmm7, %xmm123799; SSE-NEXT:    por %xmm1, %xmm33800; SSE-NEXT:    movdqa %xmm3, %xmm13801; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm10[0],xmm1[1],xmm10[1],xmm1[2],xmm10[2],xmm1[3],xmm10[3],xmm1[4],xmm10[4],xmm1[5],xmm10[5],xmm1[6],xmm10[6],xmm1[7],xmm10[7]3802; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [65535,0,65535,65535,65535,65535,0,65535]3803; SSE-NEXT:    movdqa %xmm7, %xmm43804; SSE-NEXT:    pandn %xmm1, %xmm43805; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm10[8],xmm3[9],xmm10[9],xmm3[10],xmm10[10],xmm3[11],xmm10[11],xmm3[12],xmm10[12],xmm3[13],xmm10[13],xmm3[14],xmm10[14],xmm3[15],xmm10[15]3806; SSE-NEXT:    pand %xmm7, %xmm33807; SSE-NEXT:    por %xmm4, %xmm33808; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,3,2,3]3809; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,0,3,2,4,5,6,7]3810; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,5,5,5]3811; SSE-NEXT:    packuswb %xmm1, %xmm13812; SSE-NEXT:    pand %xmm5, %xmm13813; SSE-NEXT:    movdqa %xmm5, %xmm73814; SSE-NEXT:    por %xmm2, %xmm13815; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,65535,0,65535,65535,65535,0,65535]3816; SSE-NEXT:    movdqa %xmm4, %xmm23817; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload3818; SSE-NEXT:    movdqa %xmm13, %xmm33819; SSE-NEXT:    pand %xmm4, %xmm33820; SSE-NEXT:    movdqa %xmm4, %xmm133821; SSE-NEXT:    por %xmm2, %xmm33822; SSE-NEXT:    movdqa %xmm3, %xmm23823; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm10[8],xmm2[9],xmm10[9],xmm2[10],xmm10[10],xmm2[11],xmm10[11],xmm2[12],xmm10[12],xmm2[13],xmm10[13],xmm2[14],xmm10[14],xmm2[15],xmm10[15]3824; SSE-NEXT:    movdqa {{.*#+}} xmm11 = [65535,65535,65535,65535,0,65535,0,65535]3825; SSE-NEXT:    movdqa %xmm11, %xmm43826; SSE-NEXT:    pandn %xmm2, %xmm43827; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm10[0],xmm3[1],xmm10[1],xmm3[2],xmm10[2],xmm3[3],xmm10[3],xmm3[4],xmm10[4],xmm3[5],xmm10[5],xmm3[6],xmm10[6],xmm3[7],xmm10[7]3828; SSE-NEXT:    pand %xmm11, %xmm33829; SSE-NEXT:    por %xmm4, %xmm33830; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3831; SSE-NEXT:    pslld $16, %xmm23832; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload3833; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1],xmm4[2],xmm2[2],xmm4[3],xmm2[3]3834; SSE-NEXT:    packuswb %xmm4, %xmm23835; SSE-NEXT:    movdqa %xmm6, %xmm43836; SSE-NEXT:    pandn %xmm2, %xmm43837; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[0,3,2,3]3838; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,0,3,2,4,5,6,7]3839; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,5,4,6,7]3840; SSE-NEXT:    packuswb %xmm2, %xmm23841; SSE-NEXT:    pand %xmm6, %xmm23842; SSE-NEXT:    por %xmm2, %xmm43843; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0]3844; SSE-NEXT:    movdqa %xmm3, %xmm23845; SSE-NEXT:    pandn %xmm4, %xmm23846; SSE-NEXT:    pand %xmm3, %xmm13847; SSE-NEXT:    por %xmm1, %xmm23848; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3849; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [65535,65535,0,65535,65535,0,65535,65535]3850; SSE-NEXT:    movdqa %xmm5, %xmm13851; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload3852; SSE-NEXT:    pandn %xmm6, %xmm13853; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload3854; SSE-NEXT:    movdqa %xmm10, %xmm23855; SSE-NEXT:    pand %xmm5, %xmm23856; SSE-NEXT:    por %xmm1, %xmm23857; SSE-NEXT:    movdqa %xmm2, %xmm13858; SSE-NEXT:    pxor %xmm3, %xmm33859; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm3[8],xmm1[9],xmm3[9],xmm1[10],xmm3[10],xmm1[11],xmm3[11],xmm1[12],xmm3[12],xmm1[13],xmm3[13],xmm1[14],xmm3[14],xmm1[15],xmm3[15]3860; 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]3861; SSE-NEXT:    pxor %xmm5, %xmm53862; SSE-NEXT:    pand %xmm0, %xmm23863; SSE-NEXT:    pandn %xmm1, %xmm03864; SSE-NEXT:    por %xmm2, %xmm03865; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,2,1]3866; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,4,7,6]3867; SSE-NEXT:    psrld $16, %xmm13868; SSE-NEXT:    packuswb %xmm1, %xmm03869; SSE-NEXT:    movdqa %xmm7, %xmm43870; SSE-NEXT:    movdqa %xmm7, %xmm13871; SSE-NEXT:    pandn %xmm0, %xmm13872; SSE-NEXT:    movdqa %xmm12, %xmm03873; SSE-NEXT:    pandn %xmm14, %xmm03874; SSE-NEXT:    movdqa %xmm9, %xmm23875; SSE-NEXT:    pand %xmm12, %xmm23876; SSE-NEXT:    por %xmm0, %xmm23877; SSE-NEXT:    movdqa %xmm2, %xmm03878; 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]3879; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [65535,0,65535,65535,65535,65535,0,65535]3880; SSE-NEXT:    movdqa %xmm7, %xmm33881; SSE-NEXT:    pandn %xmm0, %xmm33882; 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]3883; SSE-NEXT:    pand %xmm7, %xmm23884; SSE-NEXT:    por %xmm3, %xmm23885; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,3,2,3]3886; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,0,3,2,4,5,6,7]3887; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,5,5,5,5]3888; SSE-NEXT:    packuswb %xmm0, %xmm03889; SSE-NEXT:    pand %xmm4, %xmm03890; SSE-NEXT:    por %xmm1, %xmm03891; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3892; SSE-NEXT:    movdqa %xmm13, %xmm03893; SSE-NEXT:    pandn %xmm8, %xmm03894; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3895; SSE-NEXT:    movdqa %xmm15, %xmm13896; SSE-NEXT:    pand %xmm13, %xmm13897; SSE-NEXT:    por %xmm0, %xmm13898; SSE-NEXT:    movdqa %xmm1, %xmm03899; SSE-NEXT:    pxor %xmm2, %xmm23900; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm2[8],xmm0[9],xmm2[9],xmm0[10],xmm2[10],xmm0[11],xmm2[11],xmm0[12],xmm2[12],xmm0[13],xmm2[13],xmm0[14],xmm2[14],xmm0[15],xmm2[15]3901; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3],xmm1[4],xmm2[4],xmm1[5],xmm2[5],xmm1[6],xmm2[6],xmm1[7],xmm2[7]3902; SSE-NEXT:    movdqa %xmm11, %xmm23903; SSE-NEXT:    pand %xmm11, %xmm13904; SSE-NEXT:    pandn %xmm0, %xmm23905; SSE-NEXT:    por %xmm1, %xmm23906; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3907; SSE-NEXT:    movdqa %xmm13, %xmm03908; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3909; SSE-NEXT:    pandn %xmm1, %xmm03910; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload3911; SSE-NEXT:    movdqa %xmm5, %xmm93912; SSE-NEXT:    pand %xmm13, %xmm93913; SSE-NEXT:    por %xmm0, %xmm93914; SSE-NEXT:    movdqa %xmm6, %xmm03915; SSE-NEXT:    pand %xmm13, %xmm03916; SSE-NEXT:    pandn %xmm10, %xmm133917; SSE-NEXT:    por %xmm0, %xmm133918; SSE-NEXT:    movdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3919; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,0,65535,65535,0,65535,65535,65535]3920; SSE-NEXT:    movdqa %xmm2, %xmm03921; SSE-NEXT:    pandn %xmm5, %xmm03922; SSE-NEXT:    movdqa %xmm12, %xmm73923; SSE-NEXT:    movdqa %xmm12, %xmm53924; SSE-NEXT:    pandn %xmm1, %xmm53925; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3926; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm1[0,2,2,3]3927; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3928; SSE-NEXT:    pand %xmm2, %xmm13929; SSE-NEXT:    por %xmm0, %xmm13930; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3931; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload3932; SSE-NEXT:    pand %xmm2, %xmm133933; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload3934; SSE-NEXT:    pand %xmm2, %xmm123935; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload3936; SSE-NEXT:    pand %xmm2, %xmm143937; SSE-NEXT:    pand %xmm2, %xmm83938; SSE-NEXT:    movdqa %xmm8, (%rsp) # 16-byte Spill3939; SSE-NEXT:    movdqa %xmm7, %xmm13940; SSE-NEXT:    pandn %xmm10, %xmm13941; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3942; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm10[0,2,2,3]3943; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3944; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3945; SSE-NEXT:    pand %xmm2, %xmm103946; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3947; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3948; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3949; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3950; SSE-NEXT:    pandn %xmm6, %xmm23951; SSE-NEXT:    por %xmm10, %xmm23952; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3953; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [65535,0,65535,65535,65535,65535,65535,65535]3954; SSE-NEXT:    movdqa %xmm7, %xmm13955; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload3956; SSE-NEXT:    pandn %xmm2, %xmm13957; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3958; SSE-NEXT:    movdqa %xmm2, %xmm53959; SSE-NEXT:    movdqa %xmm2, %xmm33960; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload3961; SSE-NEXT:    movdqa %xmm6, %xmm83962; SSE-NEXT:    pslld $16, %xmm83963; SSE-NEXT:    psrldq {{.*#+}} xmm5 = xmm5[2,3,4,5,6,7,8,9,10,11,12,13,14,15],zero,zero3964; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3965; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm0[0],xmm5[1],xmm0[1],xmm5[2],xmm0[2],xmm5[3],xmm0[3]3966; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload3967; SSE-NEXT:    movdqa %xmm1, %xmm153968; SSE-NEXT:    psrldq {{.*#+}} xmm15 = xmm15[2,3,4,5,6,7,8,9,10,11,12,13,14,15],zero,zero3969; SSE-NEXT:    punpcklwd {{.*#+}} xmm15 = xmm15[0],xmm6[0],xmm15[1],xmm6[1],xmm15[2],xmm6[2],xmm15[3],xmm6[3]3970; SSE-NEXT:    punpckhwd {{.*#+}} xmm3 = xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]3971; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3972; SSE-NEXT:    movdqa %xmm0, %xmm33973; SSE-NEXT:    movdqa %xmm1, %xmm03974; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm6[4],xmm0[5],xmm6[5],xmm0[6],xmm6[6],xmm0[7],xmm6[7]3975; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3976; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3977; SSE-NEXT:    pxor %xmm10, %xmm103978; SSE-NEXT:    punpcklbw {{.*#+}} xmm9 = xmm9[0],xmm10[0],xmm9[1],xmm10[1],xmm9[2],xmm10[2],xmm9[3],xmm10[3],xmm9[4],xmm10[4],xmm9[5],xmm10[5],xmm9[6],xmm10[6],xmm9[7],xmm10[7]3979; SSE-NEXT:    pshufhw {{.*#+}} xmm9 = xmm9[0,1,2,3,7,5,6,7]3980; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm9[0,1,2,0]3981; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm9[0,1,2,3,6,4,6,5]3982; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,65535,65535,65535,65535,65535,0,65535]3983; SSE-NEXT:    pand %xmm4, %xmm03984; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3985; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload3986; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3987; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm10[0],xmm0[1],xmm10[1],xmm0[2],xmm10[2],xmm0[3],xmm10[3],xmm0[4],xmm10[4],xmm0[5],xmm10[5],xmm0[6],xmm10[6],xmm0[7],xmm10[7]3988; SSE-NEXT:    pxor %xmm9, %xmm93989; SSE-NEXT:    pshufhw {{.*#+}} xmm10 = xmm0[0,1,2,3,7,5,6,7]3990; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm10[0,1,2,0]3991; SSE-NEXT:    pshufhw {{.*#+}} xmm10 = xmm10[0,1,2,3,6,4,6,5]3992; SSE-NEXT:    movdqa %xmm4, %xmm03993; SSE-NEXT:    pand %xmm4, %xmm103994; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3995; SSE-NEXT:    pandn %xmm3, %xmm43996; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3997; SSE-NEXT:    pand %xmm0, %xmm23998; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill3999; SSE-NEXT:    movdqa %xmm1, %xmm44000; SSE-NEXT:    pand %xmm0, %xmm44001; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4002; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4003; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4004; SSE-NEXT:    movdqa %xmm6, %xmm44005; SSE-NEXT:    pandn %xmm6, %xmm04006; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4007; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4008; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4009; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm9[0],xmm0[1],xmm9[1],xmm0[2],xmm9[2],xmm0[3],xmm9[3],xmm0[4],xmm9[4],xmm0[5],xmm9[5],xmm0[6],xmm9[6],xmm0[7],xmm9[7]4010; SSE-NEXT:    pand %xmm7, %xmm04011; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4012; SSE-NEXT:    pand %xmm7, %xmm34013; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4014; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4015; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4016; SSE-NEXT:    punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm9[0],xmm6[1],xmm9[1],xmm6[2],xmm9[2],xmm6[3],xmm9[3],xmm6[4],xmm9[4],xmm6[5],xmm9[5],xmm6[6],xmm9[6],xmm6[7],xmm9[7]4017; SSE-NEXT:    pand %xmm7, %xmm64018; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4019; SSE-NEXT:    pand %xmm7, %xmm44020; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4021; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4022; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4023; SSE-NEXT:    pandn %xmm1, %xmm74024; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4025; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3]4026; SSE-NEXT:    packuswb %xmm1, %xmm14027; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,65535,65535,65535,65535,65535,0]4028; SSE-NEXT:    movdqa %xmm0, %xmm104029; SSE-NEXT:    pandn %xmm1, %xmm104030; SSE-NEXT:    pshufd $236, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4031; SSE-NEXT:    # xmm1 = mem[0,3,2,3]4032; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,0,3,2,4,5,6,7]4033; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,4,6,7]4034; SSE-NEXT:    packuswb %xmm1, %xmm14035; SSE-NEXT:    pand %xmm0, %xmm14036; SSE-NEXT:    movdqa %xmm0, %xmm24037; SSE-NEXT:    por %xmm1, %xmm104038; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0]4039; SSE-NEXT:    movdqa %xmm0, %xmm34040; SSE-NEXT:    pandn %xmm10, %xmm34041; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4042; SSE-NEXT:    pand %xmm0, %xmm14043; SSE-NEXT:    movdqa %xmm0, %xmm84044; SSE-NEXT:    por %xmm1, %xmm34045; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4046; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,65535,0,65535,65535,0,65535]4047; SSE-NEXT:    movdqa %xmm0, %xmm14048; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4049; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4050; SSE-NEXT:    pand %xmm0, %xmm104051; SSE-NEXT:    por %xmm1, %xmm104052; SSE-NEXT:    movdqa %xmm10, %xmm14053; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm9[0],xmm1[1],xmm9[1],xmm1[2],xmm9[2],xmm1[3],xmm9[3],xmm1[4],xmm9[4],xmm1[5],xmm9[5],xmm1[6],xmm9[6],xmm1[7],xmm9[7]4054; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,0,65535,65535,65535,65535,0,65535]4055; SSE-NEXT:    movdqa %xmm3, %xmm04056; SSE-NEXT:    pandn %xmm1, %xmm04057; SSE-NEXT:    punpckhbw {{.*#+}} xmm10 = xmm10[8],xmm9[8],xmm10[9],xmm9[9],xmm10[10],xmm9[10],xmm10[11],xmm9[11],xmm10[12],xmm9[12],xmm10[13],xmm9[13],xmm10[14],xmm9[14],xmm10[15],xmm9[15]4058; SSE-NEXT:    pand %xmm3, %xmm104059; SSE-NEXT:    por %xmm0, %xmm104060; SSE-NEXT:    packuswb %xmm5, %xmm04061; SSE-NEXT:    movdqa %xmm2, %xmm14062; SSE-NEXT:    pandn %xmm0, %xmm14063; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm10[0,3,2,3]4064; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,0,3,4,5,6,7]4065; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,6,7]4066; SSE-NEXT:    packuswb %xmm0, %xmm04067; SSE-NEXT:    pand %xmm2, %xmm04068; SSE-NEXT:    por %xmm0, %xmm14069; SSE-NEXT:    movdqa %xmm8, %xmm04070; SSE-NEXT:    pandn %xmm1, %xmm04071; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4072; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4073; SSE-NEXT:    por %xmm1, %xmm134074; SSE-NEXT:    movdqa %xmm13, %xmm14075; SSE-NEXT:    pxor %xmm6, %xmm64076; 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]4077; SSE-NEXT:    movdqa %xmm3, %xmm24078; SSE-NEXT:    pandn %xmm1, %xmm24079; SSE-NEXT:    punpcklbw {{.*#+}} xmm13 = xmm13[0],xmm6[0],xmm13[1],xmm6[1],xmm13[2],xmm6[2],xmm13[3],xmm6[3],xmm13[4],xmm6[4],xmm13[5],xmm6[5],xmm13[6],xmm6[6],xmm13[7],xmm6[7]4080; SSE-NEXT:    pand %xmm3, %xmm134081; SSE-NEXT:    movdqa %xmm3, %xmm54082; SSE-NEXT:    por %xmm2, %xmm134083; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload4084; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm7[1,3,2,3]4085; SSE-NEXT:    punpckldq {{.*#+}} xmm11 = xmm11[0],xmm1[0],xmm11[1],xmm1[1]4086; SSE-NEXT:    movdqa %xmm11, %xmm24087; 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]4088; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [65535,65535,65535,65535,0,65535,65535,65535]4089; SSE-NEXT:    movdqa %xmm1, %xmm104090; SSE-NEXT:    pandn %xmm2, %xmm104091; 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]4092; SSE-NEXT:    pand %xmm1, %xmm114093; SSE-NEXT:    por %xmm10, %xmm114094; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm11[0,1,2,1]4095; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]4096; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[1,1,1,1]4097; SSE-NEXT:    packuswb %xmm2, %xmm34098; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255]4099; SSE-NEXT:    movdqa %xmm6, %xmm44100; SSE-NEXT:    pandn %xmm3, %xmm44101; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm13[0,2,1,3]4102; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,7,6,7]4103; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,3,3]4104; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[2,1,0,3,4,5,6,7]4105; SSE-NEXT:    packuswb %xmm2, %xmm24106; SSE-NEXT:    pand %xmm6, %xmm24107; SSE-NEXT:    movdqa %xmm6, %xmm134108; SSE-NEXT:    por %xmm2, %xmm44109; SSE-NEXT:    pand %xmm8, %xmm44110; SSE-NEXT:    por %xmm0, %xmm44111; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4112; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [65535,65535,65535,0,65535,65535,0,65535]4113; SSE-NEXT:    movdqa %xmm10, %xmm04114; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4115; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4116; SSE-NEXT:    pand %xmm10, %xmm24117; SSE-NEXT:    por %xmm0, %xmm24118; SSE-NEXT:    movdqa %xmm2, %xmm04119; SSE-NEXT:    pxor %xmm6, %xmm64120; 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]4121; SSE-NEXT:    movdqa %xmm5, %xmm114122; SSE-NEXT:    movdqa %xmm5, %xmm34123; SSE-NEXT:    pandn %xmm0, %xmm34124; 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]4125; SSE-NEXT:    pand %xmm5, %xmm24126; SSE-NEXT:    por %xmm3, %xmm24127; SSE-NEXT:    packuswb %xmm15, %xmm04128; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,65535,65535,65535,65535,65535,65535,0]4129; SSE-NEXT:    movdqa %xmm4, %xmm34130; SSE-NEXT:    pandn %xmm0, %xmm34131; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,3,2,3]4132; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,0,3,4,5,6,7]4133; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,6,7]4134; SSE-NEXT:    packuswb %xmm0, %xmm04135; SSE-NEXT:    pand %xmm4, %xmm04136; SSE-NEXT:    por %xmm0, %xmm34137; SSE-NEXT:    movdqa %xmm8, %xmm04138; SSE-NEXT:    movdqa %xmm8, %xmm154139; SSE-NEXT:    pandn %xmm3, %xmm04140; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4141; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4142; SSE-NEXT:    pandn %xmm5, %xmm24143; SSE-NEXT:    por %xmm2, %xmm124144; SSE-NEXT:    movdqa %xmm12, %xmm24145; 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]4146; SSE-NEXT:    movdqa %xmm11, %xmm34147; SSE-NEXT:    pandn %xmm2, %xmm34148; SSE-NEXT:    punpcklbw {{.*#+}} xmm12 = xmm12[0],xmm6[0],xmm12[1],xmm6[1],xmm12[2],xmm6[2],xmm12[3],xmm6[3],xmm12[4],xmm6[4],xmm12[5],xmm6[5],xmm12[6],xmm6[6],xmm12[7],xmm6[7]4149; SSE-NEXT:    pand %xmm11, %xmm124150; SSE-NEXT:    por %xmm3, %xmm124151; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload4152; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm8[1,3,2,3]4153; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4154; SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]4155; SSE-NEXT:    movdqa %xmm3, %xmm24156; 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]4157; 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]4158; SSE-NEXT:    pand %xmm1, %xmm34159; SSE-NEXT:    pandn %xmm2, %xmm14160; SSE-NEXT:    por %xmm3, %xmm14161; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,1]4162; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,7]4163; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[1,1,1,1]4164; SSE-NEXT:    packuswb %xmm2, %xmm14165; SSE-NEXT:    movdqa %xmm13, %xmm24166; SSE-NEXT:    pandn %xmm1, %xmm24167; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm12[0,2,1,3]4168; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]4169; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,3,3]4170; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[2,1,0,3,4,5,6,7]4171; SSE-NEXT:    packuswb %xmm1, %xmm14172; SSE-NEXT:    pand %xmm13, %xmm14173; SSE-NEXT:    por %xmm1, %xmm24174; SSE-NEXT:    pand %xmm15, %xmm24175; SSE-NEXT:    por %xmm0, %xmm24176; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4177; SSE-NEXT:    movdqa %xmm10, %xmm04178; SSE-NEXT:    pandn %xmm7, %xmm04179; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4180; SSE-NEXT:    pand %xmm10, %xmm24181; SSE-NEXT:    por %xmm0, %xmm24182; SSE-NEXT:    movdqa %xmm2, %xmm04183; 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]4184; 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]4185; SSE-NEXT:    punpckhwd {{.*#+}} xmm2 = xmm2[4],xmm0[4],xmm2[5],xmm0[5],xmm2[6],xmm0[6],xmm2[7],xmm0[7]4186; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm2[0,3,2,3,4,5,6,7]4187; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]4188; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,6]4189; SSE-NEXT:    psrlq $48, %xmm04190; SSE-NEXT:    packuswb %xmm0, %xmm14191; SSE-NEXT:    movdqa %xmm13, %xmm04192; SSE-NEXT:    pandn %xmm1, %xmm04193; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,0,65535,65535,65535,0,65535,65535]4194; SSE-NEXT:    movdqa %xmm3, %xmm14195; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload4196; SSE-NEXT:    pandn %xmm9, %xmm14197; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload4198; SSE-NEXT:    movdqa %xmm7, %xmm24199; SSE-NEXT:    pand %xmm3, %xmm24200; SSE-NEXT:    por %xmm1, %xmm24201; SSE-NEXT:    movdqa %xmm2, %xmm14202; 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]4203; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,0,65535,0,65535,65535,65535,65535]4204; SSE-NEXT:    movdqa %xmm4, %xmm34205; SSE-NEXT:    pandn %xmm1, %xmm34206; 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]4207; SSE-NEXT:    pand %xmm4, %xmm24208; SSE-NEXT:    por %xmm3, %xmm24209; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm2[3,2,1,0,4,5,6,7]4210; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,7,7,7]4211; SSE-NEXT:    packuswb %xmm1, %xmm14212; SSE-NEXT:    pand %xmm13, %xmm14213; SSE-NEXT:    por %xmm0, %xmm14214; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload4215; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4216; SSE-NEXT:    pandn %xmm12, %xmm04217; SSE-NEXT:    por %xmm0, %xmm144218; SSE-NEXT:    movdqa %xmm14, %xmm04219; 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]4220; SSE-NEXT:    movdqa %xmm11, %xmm24221; SSE-NEXT:    pandn %xmm0, %xmm24222; 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]4223; SSE-NEXT:    pand %xmm11, %xmm144224; SSE-NEXT:    por %xmm2, %xmm144225; SSE-NEXT:    pshuflw $230, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4226; SSE-NEXT:    # xmm0 = mem[2,1,2,3,4,5,6,7]4227; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]4228; SSE-NEXT:    packuswb %xmm0, %xmm04229; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [65535,65535,65535,65535,65535,65535,65535,0]4230; SSE-NEXT:    movdqa %xmm10, %xmm24231; SSE-NEXT:    pandn %xmm0, %xmm24232; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm14[0,2,1,0,4,5,6,7]4233; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,6,6,7]4234; SSE-NEXT:    packuswb %xmm0, %xmm04235; SSE-NEXT:    pand %xmm10, %xmm04236; SSE-NEXT:    por %xmm0, %xmm24237; SSE-NEXT:    movdqa %xmm15, %xmm04238; SSE-NEXT:    pandn %xmm2, %xmm04239; SSE-NEXT:    pand %xmm15, %xmm14240; SSE-NEXT:    por %xmm1, %xmm04241; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4242; SSE-NEXT:    movdqa {{.*#+}} xmm11 = [65535,65535,65535,0,65535,65535,0,65535]4243; SSE-NEXT:    movdqa %xmm11, %xmm04244; SSE-NEXT:    pandn %xmm8, %xmm04245; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4246; SSE-NEXT:    pand %xmm11, %xmm14247; SSE-NEXT:    por %xmm0, %xmm14248; SSE-NEXT:    movdqa %xmm1, %xmm04249; 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]4250; 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]4251; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]4252; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]4253; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]4254; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,6]4255; SSE-NEXT:    psrlq $48, %xmm04256; SSE-NEXT:    packuswb %xmm0, %xmm14257; SSE-NEXT:    movdqa {{.*#+}} xmm8 = [65535,0,65535,65535,65535,0,65535,65535]4258; SSE-NEXT:    movdqa %xmm8, %xmm04259; SSE-NEXT:    movdqa %xmm5, %xmm114260; SSE-NEXT:    pandn %xmm5, %xmm04261; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4262; SSE-NEXT:    movdqa %xmm3, %xmm24263; SSE-NEXT:    pand %xmm8, %xmm24264; SSE-NEXT:    por %xmm0, %xmm24265; SSE-NEXT:    movdqa %xmm2, %xmm04266; 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]4267; SSE-NEXT:    movdqa %xmm4, %xmm54268; SSE-NEXT:    pandn %xmm0, %xmm54269; 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]4270; SSE-NEXT:    pand %xmm4, %xmm24271; SSE-NEXT:    por %xmm5, %xmm24272; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm2[3,2,1,0,4,5,6,7]4273; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,7,7,7]4274; SSE-NEXT:    packuswb %xmm0, %xmm04275; SSE-NEXT:    pand %xmm13, %xmm04276; SSE-NEXT:    pandn %xmm1, %xmm134277; SSE-NEXT:    por %xmm13, %xmm04278; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload4279; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4280; SSE-NEXT:    pandn %xmm8, %xmm14281; SSE-NEXT:    movdqa (%rsp), %xmm5 # 16-byte Reload4282; SSE-NEXT:    por %xmm1, %xmm54283; SSE-NEXT:    movdqa %xmm5, %xmm14284; 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]4285; 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]4286; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,0,65535,65535,65535,65535,0,65535]4287; SSE-NEXT:    pand %xmm2, %xmm54288; SSE-NEXT:    pandn %xmm1, %xmm24289; SSE-NEXT:    por %xmm5, %xmm24290; SSE-NEXT:    movdqa %xmm2, %xmm54291; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload4292; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm13[2,1,2,3,4,5,6,7]4293; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]4294; SSE-NEXT:    packuswb %xmm1, %xmm14295; SSE-NEXT:    movdqa %xmm10, %xmm24296; SSE-NEXT:    pandn %xmm1, %xmm24297; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm5[0,2,1,0,4,5,6,7]4298; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,6,6,7]4299; SSE-NEXT:    packuswb %xmm1, %xmm14300; SSE-NEXT:    pand %xmm10, %xmm14301; SSE-NEXT:    por %xmm1, %xmm24302; SSE-NEXT:    movdqa %xmm15, %xmm14303; SSE-NEXT:    pandn %xmm2, %xmm14304; SSE-NEXT:    pand %xmm15, %xmm04305; SSE-NEXT:    movdqa %xmm15, %xmm144306; SSE-NEXT:    por %xmm0, %xmm14307; SSE-NEXT:    movdqa %xmm1, (%rsp) # 16-byte Spill4308; SSE-NEXT:    movdqa {{.*#+}} xmm15 = [65535,65535,0,65535,65535,0,65535,65535]4309; SSE-NEXT:    movdqa %xmm15, %xmm04310; SSE-NEXT:    pandn %xmm9, %xmm04311; SSE-NEXT:    movdqa %xmm7, %xmm24312; SSE-NEXT:    pand %xmm15, %xmm24313; SSE-NEXT:    por %xmm0, %xmm24314; SSE-NEXT:    movdqa %xmm2, %xmm04315; SSE-NEXT:    pxor %xmm1, %xmm14316; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]4317; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,1,2,3,4,5,6,7]4318; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3],xmm2[4],xmm1[4],xmm2[5],xmm1[5],xmm2[6],xmm1[6],xmm2[7],xmm1[7]4319; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,1,2,3]4320; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,2,2,3,4,5,6,7]4321; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]4322; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4323; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]4324; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4325; SSE-NEXT:    pandn %xmm0, %xmm64326; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4327; SSE-NEXT:    por %xmm6, %xmm54328; SSE-NEXT:    packuswb %xmm0, %xmm54329; SSE-NEXT:    packuswb %xmm2, %xmm24330; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm5[0,1,3,3]4331; SSE-NEXT:    movss {{.*#+}} xmm0 = xmm2[0],xmm0[1,2,3]4332; SSE-NEXT:    movdqa {{.*#+}} xmm9 = [65535,0,65535,65535,65535,0,65535,65535]4333; SSE-NEXT:    movdqa %xmm9, %xmm24334; SSE-NEXT:    pandn %xmm12, %xmm24335; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload4336; SSE-NEXT:    movdqa %xmm7, %xmm54337; SSE-NEXT:    pand %xmm9, %xmm54338; SSE-NEXT:    por %xmm2, %xmm54339; SSE-NEXT:    movdqa %xmm5, %xmm24340; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3],xmm2[4],xmm1[4],xmm2[5],xmm1[5],xmm2[6],xmm1[6],xmm2[7],xmm1[7]4341; SSE-NEXT:    movdqa %xmm4, %xmm64342; SSE-NEXT:    pandn %xmm2, %xmm64343; SSE-NEXT:    punpckhbw {{.*#+}} xmm5 = xmm5[8],xmm1[8],xmm5[9],xmm1[9],xmm5[10],xmm1[10],xmm5[11],xmm1[11],xmm5[12],xmm1[12],xmm5[13],xmm1[13],xmm5[14],xmm1[14],xmm5[15],xmm1[15]4344; SSE-NEXT:    pand %xmm4, %xmm54345; SSE-NEXT:    por %xmm6, %xmm54346; SSE-NEXT:    pshufd $100, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4347; SSE-NEXT:    # xmm2 = mem[0,1,2,1]4348; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,4,7]4349; SSE-NEXT:    packuswb %xmm2, %xmm24350; SSE-NEXT:    movdqa %xmm10, %xmm64351; SSE-NEXT:    pandn %xmm2, %xmm64352; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm5[0,1,0,3]4353; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,3,2,1,4,5,6,7]4354; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,7,6,7]4355; SSE-NEXT:    packuswb %xmm2, %xmm24356; SSE-NEXT:    pand %xmm10, %xmm24357; SSE-NEXT:    por %xmm2, %xmm64358; SSE-NEXT:    movdqa %xmm14, %xmm14359; SSE-NEXT:    pandn %xmm6, %xmm144360; SSE-NEXT:    andps %xmm1, %xmm04361; SSE-NEXT:    movdqa %xmm1, %xmm64362; SSE-NEXT:    por %xmm0, %xmm144363; SSE-NEXT:    movdqa %xmm15, %xmm14364; SSE-NEXT:    movdqa %xmm15, %xmm04365; SSE-NEXT:    movdqa %xmm11, %xmm154366; SSE-NEXT:    pandn %xmm11, %xmm04367; SSE-NEXT:    pand %xmm1, %xmm34368; SSE-NEXT:    por %xmm0, %xmm34369; SSE-NEXT:    movdqa %xmm3, %xmm04370; SSE-NEXT:    pxor %xmm1, %xmm14371; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]4372; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,1,2,3,4,5,6,7]4373; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3],xmm3[4],xmm1[4],xmm3[5],xmm1[5],xmm3[6],xmm1[6],xmm3[7],xmm1[7]4374; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm3[2,1,2,3]4375; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[0,2,2,3,4,5,6,7]4376; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm0[0],xmm5[1],xmm0[1],xmm5[2],xmm0[2],xmm5[3],xmm0[3]4377; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4378; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]4379; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4380; SSE-NEXT:    pandn %xmm0, %xmm34381; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4382; SSE-NEXT:    por %xmm3, %xmm24383; SSE-NEXT:    packuswb %xmm0, %xmm24384; SSE-NEXT:    packuswb %xmm5, %xmm54385; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,1,3,3]4386; SSE-NEXT:    movss {{.*#+}} xmm0 = xmm5[0],xmm0[1,2,3]4387; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4388; SSE-NEXT:    movdqa %xmm2, %xmm54389; SSE-NEXT:    movdqa %xmm2, %xmm34390; SSE-NEXT:    movdqa %xmm9, %xmm24391; SSE-NEXT:    pand %xmm9, %xmm54392; SSE-NEXT:    pandn %xmm8, %xmm24393; SSE-NEXT:    movdqa %xmm8, %xmm94394; SSE-NEXT:    por %xmm5, %xmm24395; SSE-NEXT:    movdqa %xmm2, %xmm54396; SSE-NEXT:    punpcklbw {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3],xmm5[4],xmm1[4],xmm5[5],xmm1[5],xmm5[6],xmm1[6],xmm5[7],xmm1[7]4397; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm1[8],xmm2[9],xmm1[9],xmm2[10],xmm1[10],xmm2[11],xmm1[11],xmm2[12],xmm1[12],xmm2[13],xmm1[13],xmm2[14],xmm1[14],xmm2[15],xmm1[15]4398; SSE-NEXT:    pand %xmm4, %xmm24399; SSE-NEXT:    pandn %xmm5, %xmm44400; SSE-NEXT:    por %xmm2, %xmm44401; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[0,1,0,3]4402; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,3,2,1,4,5,6,7]4403; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,7,6,7]4404; SSE-NEXT:    packuswb %xmm4, %xmm44405; SSE-NEXT:    pand %xmm10, %xmm44406; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm13[0,1,2,1]4407; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,5,4,7]4408; SSE-NEXT:    packuswb %xmm5, %xmm54409; SSE-NEXT:    pandn %xmm5, %xmm104410; SSE-NEXT:    por %xmm4, %xmm104411; SSE-NEXT:    movdqa %xmm6, %xmm44412; SSE-NEXT:    pandn %xmm10, %xmm44413; SSE-NEXT:    andps %xmm6, %xmm04414; SSE-NEXT:    por %xmm0, %xmm44415; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4416; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,65535,65535,0,65535,65535,0,65535]4417; SSE-NEXT:    pand %xmm2, %xmm04418; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4419; SSE-NEXT:    movdqa %xmm0, %xmm54420; SSE-NEXT:    punpckhbw {{.*#+}} xmm5 = xmm5[8],xmm1[8],xmm5[9],xmm1[9],xmm5[10],xmm1[10],xmm5[11],xmm1[11],xmm5[12],xmm1[12],xmm5[13],xmm1[13],xmm5[14],xmm1[14],xmm5[15],xmm1[15]4421; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [0,65535,65535,65535,65535,65535,65535,0]4422; SSE-NEXT:    movdqa %xmm10, %xmm64423; SSE-NEXT:    pandn %xmm5, %xmm64424; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]4425; SSE-NEXT:    pand %xmm10, %xmm04426; SSE-NEXT:    por %xmm6, %xmm04427; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]4428; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm0[0,1,2,3,5,4,7,6]4429; SSE-NEXT:    psrldq {{.*#+}} xmm5 = xmm5[10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero4430; SSE-NEXT:    packuswb %xmm5, %xmm84431; SSE-NEXT:    movdqa %xmm2, %xmm114432; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4433; SSE-NEXT:    pandn %xmm0, %xmm114434; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[1,3,2,3]4435; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload4436; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm13[0,2,2,3]4437; SSE-NEXT:    punpckldq {{.*#+}} xmm5 = xmm5[0],xmm0[0],xmm5[1],xmm0[1]4438; SSE-NEXT:    movdqa %xmm5, %xmm04439; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]4440; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,1,2,3]4441; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]4442; SSE-NEXT:    punpcklbw {{.*#+}} xmm5 = xmm5[0],xmm1[0],xmm5[1],xmm1[1],xmm5[2],xmm1[2],xmm5[3],xmm1[3],xmm5[4],xmm1[4],xmm5[5],xmm1[5],xmm5[6],xmm1[6],xmm5[7],xmm1[7]4443; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[2,1,2,3]4444; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[1,3,2,3,4,5,6,7]4445; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm0[0],xmm5[1],xmm0[1],xmm5[2],xmm0[2],xmm5[3],xmm0[3]4446; SSE-NEXT:    packuswb %xmm5, %xmm54447; SSE-NEXT:    movss {{.*#+}} xmm8 = xmm5[0],xmm8[1,2,3]4448; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [65535,65535,0,65535,65535,0,65535,65535]4449; SSE-NEXT:    movdqa %xmm6, %xmm04450; SSE-NEXT:    pandn %xmm12, %xmm04451; SSE-NEXT:    movdqa %xmm7, %xmm54452; SSE-NEXT:    pand %xmm6, %xmm54453; SSE-NEXT:    por %xmm0, %xmm54454; SSE-NEXT:    movdqa %xmm5, %xmm04455; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]4456; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [65535,65535,0,65535,0,65535,65535,65535]4457; SSE-NEXT:    movdqa %xmm6, %xmm74458; SSE-NEXT:    pandn %xmm0, %xmm74459; SSE-NEXT:    punpckhbw {{.*#+}} xmm5 = xmm5[8],xmm1[8],xmm5[9],xmm1[9],xmm5[10],xmm1[10],xmm5[11],xmm1[11],xmm5[12],xmm1[12],xmm5[13],xmm1[13],xmm5[14],xmm1[14],xmm5[15],xmm1[15]4460; SSE-NEXT:    pand %xmm6, %xmm54461; SSE-NEXT:    por %xmm7, %xmm54462; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4463; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4464; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]4465; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,4,7,6]4466; SSE-NEXT:    packuswb %xmm0, %xmm04467; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0]4468; SSE-NEXT:    movdqa %xmm7, %xmm124469; SSE-NEXT:    pandn %xmm0, %xmm124470; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm5[2,1,0,3]4471; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,0,3,2,4,5,6,7]4472; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,5,5,5,5]4473; SSE-NEXT:    packuswb %xmm0, %xmm04474; SSE-NEXT:    pand %xmm7, %xmm04475; SSE-NEXT:    por %xmm0, %xmm124476; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0]4477; SSE-NEXT:    movdqa %xmm0, %xmm54478; SSE-NEXT:    pandn %xmm12, %xmm54479; SSE-NEXT:    andps %xmm0, %xmm84480; SSE-NEXT:    por %xmm8, %xmm54481; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4482; SSE-NEXT:    pand %xmm2, %xmm04483; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4484; SSE-NEXT:    movdqa %xmm0, %xmm124485; SSE-NEXT:    punpckhbw {{.*#+}} xmm12 = xmm12[8],xmm1[8],xmm12[9],xmm1[9],xmm12[10],xmm1[10],xmm12[11],xmm1[11],xmm12[12],xmm1[12],xmm12[13],xmm1[13],xmm12[14],xmm1[14],xmm12[15],xmm1[15]4486; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]4487; SSE-NEXT:    pand %xmm10, %xmm04488; SSE-NEXT:    pandn %xmm12, %xmm104489; SSE-NEXT:    por %xmm0, %xmm104490; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm10[0,1,0,3]4491; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm0[0,1,2,3,5,4,7,6]4492; SSE-NEXT:    psrldq {{.*#+}} xmm12 = xmm12[10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero4493; SSE-NEXT:    packuswb %xmm12, %xmm84494; SSE-NEXT:    movdqa %xmm13, %xmm124495; SSE-NEXT:    pand %xmm2, %xmm124496; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4497; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm10[0,2,2,3]4498; SSE-NEXT:    pand %xmm2, %xmm104499; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4500; SSE-NEXT:    pandn %xmm15, %xmm24501; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm15[1,3,2,3]4502; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm10[0],xmm0[1],xmm10[1]4503; SSE-NEXT:    movdqa %xmm0, %xmm104504; SSE-NEXT:    punpckhbw {{.*#+}} xmm10 = xmm10[8],xmm1[8],xmm10[9],xmm1[9],xmm10[10],xmm1[10],xmm10[11],xmm1[11],xmm10[12],xmm1[12],xmm10[13],xmm1[13],xmm10[14],xmm1[14],xmm10[15],xmm1[15]4505; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm10[2,1,2,3]4506; SSE-NEXT:    pshuflw {{.*#+}} xmm10 = xmm10[0,2,2,3,4,5,6,7]4507; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]4508; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,1,2,3]4509; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,3,2,3,4,5,6,7]4510; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm10[0],xmm0[1],xmm10[1],xmm0[2],xmm10[2],xmm0[3],xmm10[3]4511; SSE-NEXT:    packuswb %xmm0, %xmm04512; SSE-NEXT:    movss {{.*#+}} xmm8 = xmm0[0],xmm8[1,2,3]4513; SSE-NEXT:    movdqa %xmm3, %xmm134514; SSE-NEXT:    movdqa %xmm3, %xmm04515; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,65535,0,65535,65535,0,65535,65535]4516; SSE-NEXT:    pand %xmm3, %xmm04517; SSE-NEXT:    pandn %xmm9, %xmm34518; SSE-NEXT:    movdqa %xmm9, %xmm154519; SSE-NEXT:    por %xmm0, %xmm34520; SSE-NEXT:    movdqa %xmm3, %xmm04521; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]4522; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm1[8],xmm3[9],xmm1[9],xmm3[10],xmm1[10],xmm3[11],xmm1[11],xmm3[12],xmm1[12],xmm3[13],xmm1[13],xmm3[14],xmm1[14],xmm3[15],xmm1[15]4523; SSE-NEXT:    pand %xmm6, %xmm34524; SSE-NEXT:    pandn %xmm0, %xmm64525; SSE-NEXT:    por %xmm3, %xmm64526; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4527; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4528; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]4529; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,4,7,6]4530; SSE-NEXT:    packuswb %xmm0, %xmm04531; SSE-NEXT:    movdqa %xmm7, %xmm94532; SSE-NEXT:    pandn %xmm0, %xmm94533; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm6[2,1,0,3]4534; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,0,3,2,4,5,6,7]4535; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,5,5,5,5]4536; SSE-NEXT:    packuswb %xmm0, %xmm04537; SSE-NEXT:    pand %xmm7, %xmm04538; SSE-NEXT:    por %xmm0, %xmm94539; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0]4540; SSE-NEXT:    movdqa %xmm3, %xmm64541; SSE-NEXT:    pandn %xmm9, %xmm64542; SSE-NEXT:    andps %xmm3, %xmm84543; SSE-NEXT:    por %xmm8, %xmm64544; SSE-NEXT:    movdqa %xmm12, %xmm14545; SSE-NEXT:    por %xmm11, %xmm14546; SSE-NEXT:    movdqa %xmm1, %xmm04547; SSE-NEXT:    pxor %xmm9, %xmm94548; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm9[0],xmm0[1],xmm9[1],xmm0[2],xmm9[2],xmm0[3],xmm9[3],xmm0[4],xmm9[4],xmm0[5],xmm9[5],xmm0[6],xmm9[6],xmm0[7],xmm9[7]4549; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,4,6,7]4550; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm9[8],xmm1[9],xmm9[9],xmm1[10],xmm9[10],xmm1[11],xmm9[11],xmm1[12],xmm9[12],xmm1[13],xmm9[13],xmm1[14],xmm9[14],xmm1[15],xmm9[15]4551; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm1[0,1,2,1]4552; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,5,7,6,7]4553; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm8[4],xmm0[5],xmm8[5],xmm0[6],xmm8[6],xmm0[7],xmm8[7]4554; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload4555; SSE-NEXT:    punpckhbw {{.*#+}} xmm8 = xmm8[8],xmm9[8],xmm8[9],xmm9[9],xmm8[10],xmm9[10],xmm8[11],xmm9[11],xmm8[12],xmm9[12],xmm8[13],xmm9[13],xmm8[14],xmm9[14],xmm8[15],xmm9[15]4556; SSE-NEXT:    pxor %xmm1, %xmm14557; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4558; SSE-NEXT:    pandn %xmm8, %xmm104559; SSE-NEXT:    movdqa %xmm8, %xmm94560; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload4561; SSE-NEXT:    por %xmm10, %xmm84562; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,2,1,3]4563; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,7,6,7]4564; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,1,2,0]4565; SSE-NEXT:    pshufhw {{.*#+}} xmm10 = xmm8[0,1,2,3,4,7,6,5]4566; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm9[3,3,3,3]4567; SSE-NEXT:    packuswb %xmm8, %xmm104568; SSE-NEXT:    packuswb %xmm0, %xmm04569; SSE-NEXT:    movss {{.*#+}} xmm10 = xmm0[0],xmm10[1,2,3]4570; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4571; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4572; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]4573; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,4,7]4574; SSE-NEXT:    packuswb %xmm0, %xmm04575; SSE-NEXT:    movdqa %xmm7, %xmm84576; SSE-NEXT:    pandn %xmm0, %xmm84577; SSE-NEXT:    pshufd $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4578; SSE-NEXT:    # xmm0 = mem[1,3,2,3]4579; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Folded Reload4580; SSE-NEXT:    # xmm11 = mem[0,2,2,3]4581; SSE-NEXT:    punpckldq {{.*#+}} xmm11 = xmm11[0],xmm0[0],xmm11[1],xmm0[1]4582; SSE-NEXT:    movdqa %xmm11, %xmm04583; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]4584; SSE-NEXT:    movdqa {{.*#+}} xmm9 = [65535,65535,65535,0,65535,0,65535,65535]4585; SSE-NEXT:    movdqa %xmm9, %xmm124586; SSE-NEXT:    pandn %xmm0, %xmm124587; SSE-NEXT:    punpckhbw {{.*#+}} xmm11 = xmm11[8],xmm1[8],xmm11[9],xmm1[9],xmm11[10],xmm1[10],xmm11[11],xmm1[11],xmm11[12],xmm1[12],xmm11[13],xmm1[13],xmm11[14],xmm1[14],xmm11[15],xmm1[15]4588; SSE-NEXT:    pand %xmm9, %xmm114589; SSE-NEXT:    por %xmm12, %xmm114590; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm11[2,1,1,1]4591; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,0,3,4,5,6,7]4592; SSE-NEXT:    packuswb %xmm0, %xmm04593; SSE-NEXT:    pand %xmm7, %xmm04594; SSE-NEXT:    por %xmm8, %xmm04595; SSE-NEXT:    movaps %xmm3, %xmm14596; SSE-NEXT:    movdqa %xmm3, %xmm84597; SSE-NEXT:    pandn %xmm0, %xmm84598; SSE-NEXT:    andps %xmm3, %xmm104599; SSE-NEXT:    por %xmm10, %xmm84600; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4601; SSE-NEXT:    movdqa %xmm2, %xmm04602; SSE-NEXT:    pxor %xmm11, %xmm114603; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm11[0],xmm0[1],xmm11[1],xmm0[2],xmm11[2],xmm0[3],xmm11[3],xmm0[4],xmm11[4],xmm0[5],xmm11[5],xmm0[6],xmm11[6],xmm0[7],xmm11[7]4604; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,4,6,7]4605; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm11[8],xmm2[9],xmm11[9],xmm2[10],xmm11[10],xmm2[11],xmm11[11],xmm2[12],xmm11[12],xmm2[13],xmm11[13],xmm2[14],xmm11[14],xmm2[15],xmm11[15]4606; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm2[0,1,2,1]4607; SSE-NEXT:    pshufhw {{.*#+}} xmm10 = xmm10[0,1,2,3,5,7,6,7]4608; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm10[4],xmm0[5],xmm10[5],xmm0[6],xmm10[6],xmm0[7],xmm10[7]4609; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4610; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm11[8],xmm2[9],xmm11[9],xmm2[10],xmm11[10],xmm2[11],xmm11[11],xmm2[12],xmm11[12],xmm2[13],xmm11[13],xmm2[14],xmm11[14],xmm2[15],xmm11[15]4611; SSE-NEXT:    pxor %xmm12, %xmm124612; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4613; SSE-NEXT:    pandn %xmm2, %xmm104614; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4615; SSE-NEXT:    por %xmm10, %xmm34616; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm3[0,2,1,3]4617; SSE-NEXT:    pshufhw {{.*#+}} xmm10 = xmm10[0,1,2,3,4,7,6,7]4618; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm10[0,1,2,0]4619; SSE-NEXT:    pshufhw {{.*#+}} xmm10 = xmm10[0,1,2,3,4,7,6,5]4620; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm2[3,3,3,3]4621; SSE-NEXT:    packuswb %xmm11, %xmm104622; SSE-NEXT:    packuswb %xmm0, %xmm04623; SSE-NEXT:    movss {{.*#+}} xmm10 = xmm0[0],xmm10[1,2,3]4624; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4625; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4626; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm15[1,3,2,3]4627; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm13[0,2,2,3]4628; SSE-NEXT:    punpckldq {{.*#+}} xmm11 = xmm11[0],xmm0[0],xmm11[1],xmm0[1]4629; SSE-NEXT:    movdqa %xmm11, %xmm04630; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm12[0],xmm0[1],xmm12[1],xmm0[2],xmm12[2],xmm0[3],xmm12[3],xmm0[4],xmm12[4],xmm0[5],xmm12[5],xmm0[6],xmm12[6],xmm0[7],xmm12[7]4631; SSE-NEXT:    punpckhbw {{.*#+}} xmm11 = xmm11[8],xmm12[8],xmm11[9],xmm12[9],xmm11[10],xmm12[10],xmm11[11],xmm12[11],xmm11[12],xmm12[12],xmm11[13],xmm12[13],xmm11[14],xmm12[14],xmm11[15],xmm12[15]4632; SSE-NEXT:    pand %xmm9, %xmm114633; SSE-NEXT:    pandn %xmm0, %xmm94634; SSE-NEXT:    por %xmm11, %xmm94635; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm9[2,1,1,1]4636; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,0,3,4,5,6,7]4637; SSE-NEXT:    packuswb %xmm0, %xmm04638; SSE-NEXT:    pand %xmm7, %xmm04639; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm2[0,1,0,3]4640; SSE-NEXT:    pshufhw {{.*#+}} xmm9 = xmm9[0,1,2,3,4,5,4,7]4641; SSE-NEXT:    packuswb %xmm9, %xmm94642; SSE-NEXT:    pandn %xmm9, %xmm74643; SSE-NEXT:    por %xmm7, %xmm04644; SSE-NEXT:    andps %xmm1, %xmm104645; SSE-NEXT:    andnps %xmm0, %xmm14646; SSE-NEXT:    orps %xmm10, %xmm14647; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4648; SSE-NEXT:    movaps %xmm0, (%rsi)4649; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4650; SSE-NEXT:    movaps %xmm0, 16(%rsi)4651; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4652; SSE-NEXT:    movaps %xmm0, (%rdx)4653; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4654; SSE-NEXT:    movaps %xmm0, 16(%rdx)4655; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4656; SSE-NEXT:    movaps %xmm0, (%rcx)4657; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4658; SSE-NEXT:    movaps %xmm0, 16(%rcx)4659; SSE-NEXT:    movaps (%rsp), %xmm0 # 16-byte Reload4660; SSE-NEXT:    movaps %xmm0, (%r8)4661; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4662; SSE-NEXT:    movaps %xmm0, 16(%r8)4663; SSE-NEXT:    movdqa %xmm4, (%r9)4664; SSE-NEXT:    movdqa %xmm14, 16(%r9)4665; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax4666; SSE-NEXT:    movdqa %xmm6, (%rax)4667; SSE-NEXT:    movdqa %xmm5, 16(%rax)4668; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax4669; SSE-NEXT:    movaps %xmm1, (%rax)4670; SSE-NEXT:    movdqa %xmm8, 16(%rax)4671; SSE-NEXT:    addq $648, %rsp # imm = 0x2884672; SSE-NEXT:    retq4673;4674; AVX-LABEL: load_i8_stride7_vf32:4675; AVX:       # %bb.0:4676; AVX-NEXT:    subq $200, %rsp4677; AVX-NEXT:    vmovdqa 176(%rdi), %xmm74678; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm7[u,u,u,u,u,u,u],zero,zero,zero,xmm7[6,13,u,u,u,u]4679; AVX-NEXT:    vmovdqa 160(%rdi), %xmm64680; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm6[u,u,u,u,u,u,u,1,8,15],zero,zero,xmm6[u,u,u,u]4681; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm14682; AVX-NEXT:    vmovdqa 144(%rdi), %xmm84683; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm8[u,u,u],zero,zero,xmm8[3,10,u,u,u,u,u,u,u,u,u]4684; AVX-NEXT:    vmovdqa 128(%rdi), %xmm94685; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm9[u,u,u,5,12],zero,zero,xmm9[u,u,u,u,u,u,u,u,u]4686; AVX-NEXT:    vpor %xmm0, %xmm2, %xmm24687; AVX-NEXT:    vmovdqa {{.*#+}} xmm0 = [u,u,u,0,0,0,0,255,255,255,255,255,u,u,u,u]4688; AVX-NEXT:    vpblendvb %xmm0, %xmm1, %xmm2, %xmm14689; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4690; AVX-NEXT:    vmovdqa (%rdi), %xmm104691; AVX-NEXT:    vmovdqa 16(%rdi), %xmm114692; AVX-NEXT:    vmovdqa 32(%rdi), %xmm154693; AVX-NEXT:    vmovdqa 48(%rdi), %xmm44694; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm11[5,12,u,u,u,u,u,u,u,u,u,u,u]4695; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm10[0,7,14],zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u,u]4696; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm14697; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm15[u,u,u,u,u,3,10],zero,zero,zero,xmm15[u,u,u,u,u,u]4698; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm4[u,u,u,u,u],zero,zero,xmm4[1,8,15,u,u,u,u,u,u]4699; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm24700; AVX-NEXT:    vmovq {{.*#+}} xmm3 = [255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0]4701; AVX-NEXT:    vpblendvb %xmm3, %xmm1, %xmm2, %xmm14702; AVX-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4703; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm6[u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm6[u,u,u,u]4704; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm7[u,u,u,u,u,u,u],zero,zero,xmm7[0,7,14,u,u,u,u]4705; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm14706; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm8[u,u,u],zero,zero,xmm8[4,11,u,u,u,u,u,u,u,u,u]4707; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm9[u,u,u,6,13],zero,zero,xmm9[u,u,u,u,u,u,u,u,u]4708; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm24709; AVX-NEXT:    vpblendvb %xmm0, %xmm1, %xmm2, %xmm04710; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4711; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,zero,xmm11[6,13,u,u,u,u,u,u,u,u,u,u,u]4712; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm10[1,8,15],zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u,u]4713; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm14714; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm4[u,u,u,u,u],zero,zero,xmm4[2,9,u,u,u,u,u,u,u]4715; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm15[u,u,u,u,u,4,11],zero,zero,xmm15[u,u,u,u,u,u,u]4716; AVX-NEXT:    vpor %xmm0, %xmm2, %xmm24717; AVX-NEXT:    vmovq {{.*#+}} xmm0 = [255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0]4718; AVX-NEXT:    vpblendvb %xmm0, %xmm1, %xmm2, %xmm14719; AVX-NEXT:    vmovdqu %ymm1, (%rsp) # 32-byte Spill4720; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm8[u,u],zero,zero,zero,xmm8[5,12,u,u,u,u,u,u,u,u,u]4721; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm9[u,u,0,7,14],zero,zero,xmm9[u,u,u,u,u,u,u,u,u]4722; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm14723; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm6[u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm6[u,u,u,u]4724; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm7[u,u,u,u,u,u,u],zero,zero,xmm7[1,8,15,u,u,u,u]4725; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm24726; AVX-NEXT:    vmovq {{.*#+}} xmm3 = [0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0]4727; AVX-NEXT:    vpblendvb %xmm3, %xmm1, %xmm2, %xmm14728; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4729; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm10[2,9],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u,u]4730; AVX-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4731; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm11[0,7,14,u,u,u,u,u,u,u,u,u,u,u]4732; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm14733; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4734; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm4[u,u,u,u,u],zero,zero,xmm4[3,10,u,u,u,u,u,u,u]4735; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[u,u,u,u,u,5,12],zero,zero,xmm15[u,u,u,u,u,u,u]4736; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm24737; AVX-NEXT:    vpblendvb %xmm0, %xmm1, %xmm2, %xmm14738; AVX-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4739; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm10[3,10],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u,u]4740; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm11[1,8,15,u,u,u,u,u,u,u,u,u,u,u]4741; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm14742; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm4[u,u,u,u,u],zero,zero,xmm4[4,11,u,u,u,u,u,u,u]4743; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[u,u,u,u,u,6,13],zero,zero,xmm15[u,u,u,u,u,u,u]4744; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm24745; AVX-NEXT:    vpblendvb %xmm0, %xmm1, %xmm2, %xmm04746; AVX-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4747; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm8[u,u],zero,zero,zero,xmm8[6,13,u,u,u,u,u,u,u,u,u]4748; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm9[u,u,1,8,15],zero,zero,xmm9[u,u,u,u,u,u,u,u,u]4749; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm14750; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm7[u,u,u,u,u,u,u],zero,zero,xmm7[2,9,u,u,u,u,u]4751; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm6[u,u,u,u,u,u,u,4,11],zero,zero,xmm6[u,u,u,u,u]4752; AVX-NEXT:    vpor %xmm0, %xmm2, %xmm24753; AVX-NEXT:    vmovq {{.*#+}} xmm0 = [0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0]4754; AVX-NEXT:    vpblendvb %xmm0, %xmm1, %xmm2, %xmm24755; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm9[u,u,2,9],zero,zero,zero,xmm9[u,u,u,u,u,u,u,u,u]4756; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm8[u,u],zero,zero,xmm8[0,7,14,u,u,u,u,u,u,u,u,u]4757; AVX-NEXT:    vpor %xmm1, %xmm3, %xmm14758; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm7[u,u,u,u,u,u,u],zero,zero,xmm7[3,10,u,u,u,u,u]4759; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm6[u,u,u,u,u,u,u,5,12],zero,zero,xmm6[u,u,u,u,u]4760; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm34761; AVX-NEXT:    vpblendvb %xmm0, %xmm1, %xmm3, %xmm34762; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm9[u,u,3,10],zero,zero,zero,xmm9[u,u,u,u,u,u,u,u,u]4763; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm8[u,u],zero,zero,xmm8[1,8,15,u,u,u,u,u,u,u,u,u]4764; AVX-NEXT:    vpor %xmm1, %xmm4, %xmm14765; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm7[u,u,u,u,u,u,u],zero,zero,xmm7[4,11,u,u,u,u,u]4766; AVX-NEXT:    vpshufb {{.*#+}} xmm12 = xmm6[u,u,u,u,u,u,u,6,13],zero,zero,xmm6[u,u,u,u,u]4767; AVX-NEXT:    vpor %xmm4, %xmm12, %xmm44768; AVX-NEXT:    vpblendvb %xmm0, %xmm1, %xmm4, %xmm44769; AVX-NEXT:    vmovdqa 192(%rdi), %xmm54770; AVX-NEXT:    vmovdqa 208(%rdi), %xmm14771; AVX-NEXT:    vpshufb {{.*#+}} xmm12 = xmm1[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm1[5,12]4772; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm5[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero4773; AVX-NEXT:    vpor %xmm12, %xmm13, %xmm134774; AVX-NEXT:    vpmovsxdq {{.*#+}} xmm12 = [18446744073709486080,16777215]4775; AVX-NEXT:    vpblendvb %xmm12, %xmm2, %xmm13, %xmm04776; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4777; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm1[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm1[6,13]4778; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm5[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero4779; AVX-NEXT:    vpor %xmm2, %xmm14, %xmm24780; AVX-NEXT:    vpblendvb %xmm12, %xmm3, %xmm2, %xmm04781; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4782; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm5[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero4783; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm1[0,7,14]4784; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm24785; AVX-NEXT:    vpblendvb %xmm12, %xmm4, %xmm2, %xmm04786; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4787; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm8[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]4788; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm9[u,u,4,11,u,u,u,u,u,u,u,u,u,u,u,u]4789; AVX-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]4790; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm7[u,u,u,u,u,u],zero,zero,zero,xmm7[5,12,u,u,u,u,u]4791; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm6[u,u,u,u,u,u,0,7,14],zero,zero,xmm6[u,u,u,u,u]4792; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm34793; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0],xmm2[1,2],xmm3[3,4,5,6,7]4794; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm5[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero4795; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm1[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm1[1,8,15]4796; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm34797; AVX-NEXT:    vpblendvb %xmm12, %xmm2, %xmm3, %xmm04798; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4799; AVX-NEXT:    vbroadcastss {{.*#+}} xmm10 = [0,0,4,11,0,0,4,11,0,0,4,11,0,0,4,11]4800; AVX-NEXT:    vpshufb %xmm10, %xmm5, %xmm24801; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]4802; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]4803; AVX-NEXT:    vpblendw $63, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2, %xmm3 # 16-byte Folded Reload4804; AVX-NEXT:    # xmm3 = mem[0,1,2,3,4,5],xmm2[6,7]4805; AVX-NEXT:    vbroadcastss {{.*#+}} xmm7 = [0,0,6,13,0,0,6,13,0,0,6,13,0,0,6,13]4806; AVX-NEXT:    vmovdqa 64(%rdi), %xmm64807; AVX-NEXT:    vpshufb %xmm7, %xmm6, %xmm24808; AVX-NEXT:    vmovdqa 80(%rdi), %xmm94809; AVX-NEXT:    vpshufb {{.*#+}} xmm8 = xmm9[u,u,u,u,4,11,u,u,u,u,u,u,u,u,u,u]4810; AVX-NEXT:    vpunpckldq {{.*#+}} xmm2 = xmm2[0],xmm8[0],xmm2[1],xmm8[1]4811; AVX-NEXT:    vmovdqa 96(%rdi), %xmm84812; AVX-NEXT:    vpalignr {{.*#+}} xmm2 = xmm2[10,11,12,13,14,15],xmm8[0,1,2,3,4,5,6,7,8,9]4813; AVX-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u,u,0,1,2,3,8,15]4814; AVX-NEXT:    vmovdqa 112(%rdi), %xmm24815; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm2[0,7,14,u,u,u,u,u,u,u,u,u,u,u,u,u]4816; AVX-NEXT:    vinsertf128 $1, %xmm13, %ymm12, %ymm124817; AVX-NEXT:    vmovaps {{.*#+}} ymm13 = [65535,65535,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535,65535,65535]4818; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm13, %ymm0 # 32-byte Folded Reload4819; AVX-NEXT:    vandnps %ymm12, %ymm13, %ymm124820; AVX-NEXT:    vorps %ymm0, %ymm12, %ymm04821; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm34822; AVX-NEXT:    vmovaps {{.*#+}} ymm12 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0]4823; AVX-NEXT:    vandnps %ymm3, %ymm12, %ymm34824; AVX-NEXT:    vandps %ymm0, %ymm12, %ymm04825; AVX-NEXT:    vorps %ymm3, %ymm0, %ymm04826; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4827; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm1[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]4828; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm5[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]4829; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3]4830; AVX-NEXT:    vpblendw $63, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm4 # 16-byte Folded Reload4831; AVX-NEXT:    # xmm4 = mem[0,1,2,3,4,5],xmm0[6,7]4832; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm9[u,u,u,u,5,12,u,u,u,u,u,u,u,u,u,u]4833; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm6[u,u,u,u,u,0,7,14,u,u,u,u,u,u,u,u]4834; AVX-NEXT:    vpunpckldq {{.*#+}} xmm13 = xmm13[0],xmm3[0],xmm13[1],xmm3[1]4835; AVX-NEXT:    vpxor %xmm3, %xmm3, %xmm34836; AVX-NEXT:    vpblendw {{.*#+}} xmm13 = xmm13[0,1,2,3,4,5,6],xmm3[7]4837; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm8[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,zero,xmm8[3,10]4838; AVX-NEXT:    vpor %xmm14, %xmm13, %xmm134839; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm2[1,8,15,u,u,u,u,u,u,u,u,u,u,u,u,u]4840; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm13, %ymm134841; AVX-NEXT:    vmovaps {{.*#+}} ymm14 = [0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]4842; AVX-NEXT:    vandnps (%rsp), %ymm14, %ymm0 # 32-byte Folded Reload4843; AVX-NEXT:    vandps %ymm14, %ymm13, %ymm134844; AVX-NEXT:    vorps %ymm0, %ymm13, %ymm04845; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm0, %ymm44846; AVX-NEXT:    vandnps %ymm4, %ymm12, %ymm44847; AVX-NEXT:    vandps %ymm0, %ymm12, %ymm04848; AVX-NEXT:    vorps %ymm4, %ymm0, %ymm04849; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4850; AVX-NEXT:    vpshufb %xmm10, %xmm1, %xmm04851; AVX-NEXT:    vpshufb %xmm7, %xmm5, %xmm14852; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]4853; AVX-NEXT:    vpblendw $63, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload4854; AVX-NEXT:    # xmm0 = mem[0,1,2,3,4,5],xmm0[6,7]4855; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm9[u,u,u,u,u,u,u,u,u,u,u,u,6,13,u,u]4856; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm6[u,u,u,u,u,u,u,u,u,u,u,u,u,1,8,15]4857; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm4[2],xmm1[2],xmm4[3],xmm1[3]4858; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6],xmm3[7]4859; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm8[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,zero,xmm8[4,11]4860; AVX-NEXT:    vpor %xmm4, %xmm1, %xmm14861; AVX-NEXT:    vmovd {{.*#+}} xmm12 = [2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4862; AVX-NEXT:    vpshufb %xmm12, %xmm2, %xmm44863; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm1, %ymm44864; AVX-NEXT:    vmovaps {{.*#+}} ymm1 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]4865; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm5 # 32-byte Folded Reload4866; AVX-NEXT:    vandnps %ymm4, %ymm1, %ymm44867; AVX-NEXT:    vorps %ymm4, %ymm5, %ymm44868; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm54869; AVX-NEXT:    vmovaps {{.*#+}} ymm13 = [65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0]4870; AVX-NEXT:    vandnps %ymm5, %ymm13, %ymm54871; AVX-NEXT:    vandps %ymm4, %ymm13, %ymm44872; AVX-NEXT:    vorps %ymm5, %ymm4, %ymm04873; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4874; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm6[u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm6[u,u]4875; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm9[u,u,u,u,u,u,u,u,u],zero,zero,xmm9[0,7,14,u,u]4876; AVX-NEXT:    vpor %xmm4, %xmm7, %xmm44877; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,5,6],xmm3[7]4878; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm8[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,zero,xmm8[5,12]4879; AVX-NEXT:    vpor %xmm7, %xmm4, %xmm74880; AVX-NEXT:    vmovd {{.*#+}} xmm4 = [3,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4881; AVX-NEXT:    vpshufb %xmm4, %xmm2, %xmm104882; AVX-NEXT:    vinsertf128 $1, %xmm10, %ymm7, %ymm74883; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload4884; AVX-NEXT:    vandnps %ymm7, %ymm1, %ymm74885; AVX-NEXT:    vorps %ymm7, %ymm10, %ymm74886; AVX-NEXT:    vandps %ymm7, %ymm13, %ymm74887; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm10 # 16-byte Folded Reload4888; AVX-NEXT:    vandnps %ymm10, %ymm13, %ymm104889; AVX-NEXT:    vorps %ymm7, %ymm10, %ymm04890; AVX-NEXT:    vmovups %ymm0, (%rsp) # 32-byte Spill4891; AVX-NEXT:    vpshufb %xmm12, %xmm11, %xmm74892; AVX-NEXT:    vmovd {{.*#+}} xmm14 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4893; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4894; AVX-NEXT:    vpshufb %xmm14, %xmm5, %xmm104895; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm7 = xmm10[0],xmm7[0],xmm10[1],xmm7[1],xmm10[2],xmm7[2],xmm10[3],xmm7[3]4896; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4897; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm0[u,u,u,u],zero,zero,zero,xmm0[5,12,u,u,u,u,u,u,u]4898; AVX-NEXT:    vpshufb {{.*#+}} xmm12 = xmm15[u,u,u,u,0,7,14],zero,zero,xmm15[u,u,u,u,u,u,u]4899; AVX-NEXT:    vpor %xmm10, %xmm12, %xmm104900; AVX-NEXT:    vpblendw {{.*#+}} xmm7 = xmm7[0,1],xmm10[2,3,4,5,6,7]4901; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm6[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm6[u,u]4902; AVX-NEXT:    vpshufb {{.*#+}} xmm12 = xmm9[u,u,u,u,u,u,u,u,u],zero,zero,xmm9[1,8,15,u,u]4903; AVX-NEXT:    vpor %xmm10, %xmm12, %xmm104904; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm10[0,1,2,3,4,5,6],xmm3[7]4905; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm8[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,zero,xmm8[6,13]4906; AVX-NEXT:    vpor %xmm3, %xmm10, %xmm34907; AVX-NEXT:    vpshufb %xmm14, %xmm2, %xmm104908; AVX-NEXT:    vinsertf128 $1, %xmm10, %ymm3, %ymm34909; AVX-NEXT:    vandps %ymm1, %ymm7, %ymm74910; AVX-NEXT:    vandnps %ymm3, %ymm1, %ymm34911; AVX-NEXT:    vorps %ymm3, %ymm7, %ymm34912; AVX-NEXT:    vandps %ymm3, %ymm13, %ymm34913; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm7 # 16-byte Folded Reload4914; AVX-NEXT:    vandnps %ymm7, %ymm13, %ymm74915; AVX-NEXT:    vorps %ymm7, %ymm3, %ymm34916; AVX-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill4917; AVX-NEXT:    vpshufb %xmm4, %xmm11, %xmm44918; AVX-NEXT:    vmovd {{.*#+}} xmm7 = [5,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4919; AVX-NEXT:    vpshufb %xmm7, %xmm5, %xmm104920; AVX-NEXT:    vmovdqa %xmm5, %xmm34921; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm10[0],xmm4[0],xmm10[1],xmm4[1],xmm10[2],xmm4[2],xmm10[3],xmm4[3]4922; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm0[u,u,u,u],zero,zero,zero,xmm0[6,13,u,u,u,u,u,u,u]4923; AVX-NEXT:    vpshufb {{.*#+}} xmm12 = xmm15[u,u,u,u,1,8,15],zero,zero,xmm15[u,u,u,u,u,u,u]4924; AVX-NEXT:    vpor %xmm10, %xmm12, %xmm104925; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm4[0,1],xmm10[2,3,4,5,6,7]4926; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm9[u,u,u,u,u,u,u,u,u],zero,zero,xmm9[2,9,u,u,u]4927; AVX-NEXT:    vpshufb {{.*#+}} xmm12 = xmm6[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm6[u,u,u]4928; AVX-NEXT:    vpor %xmm10, %xmm12, %xmm104929; AVX-NEXT:    vmovddup {{.*#+}} xmm12 = [0,9,10,11,12,128,128,128,0,9,10,11,12,128,128,128]4930; AVX-NEXT:    # xmm12 = mem[0,0]4931; AVX-NEXT:    vpshufb %xmm12, %xmm10, %xmm104932; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm8[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm8[0,7,14]4933; AVX-NEXT:    vpor %xmm5, %xmm10, %xmm54934; AVX-NEXT:    vpshufb %xmm7, %xmm2, %xmm74935; AVX-NEXT:    vinsertf128 $1, %xmm7, %ymm5, %ymm54936; AVX-NEXT:    vandps %ymm1, %ymm4, %ymm44937; AVX-NEXT:    vandnps %ymm5, %ymm1, %ymm54938; AVX-NEXT:    vorps %ymm5, %ymm4, %ymm44939; AVX-NEXT:    vandps %ymm4, %ymm13, %ymm44940; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm5 # 16-byte Folded Reload4941; AVX-NEXT:    vandnps %ymm5, %ymm13, %ymm54942; AVX-NEXT:    vorps %ymm5, %ymm4, %ymm44943; AVX-NEXT:    vpshufb %xmm14, %xmm11, %xmm54944; AVX-NEXT:    vmovd {{.*#+}} xmm7 = [6,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0]4945; AVX-NEXT:    vpshufb %xmm7, %xmm3, %xmm104946; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]4947; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm15[u,u,u,u,2,9],zero,zero,zero,xmm15[u,u,u,u,u,u,u]4948; AVX-NEXT:    vpshufb {{.*#+}} xmm11 = xmm0[u,u,u,u],zero,zero,xmm0[0,7,14,u,u,u,u,u,u,u]4949; AVX-NEXT:    vpor %xmm10, %xmm11, %xmm104950; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm5[0,1],xmm10[2,3,4,5,6,7]4951; AVX-NEXT:    vpshufb %xmm7, %xmm2, %xmm24952; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm9[u,u,u,u,u,u,u,u,u],zero,zero,xmm9[3,10,u,u,u]4953; AVX-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm6[u,u,u]4954; AVX-NEXT:    vpor %xmm7, %xmm6, %xmm64955; AVX-NEXT:    vpshufb %xmm12, %xmm6, %xmm64956; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm8[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm8[1,8,15]4957; AVX-NEXT:    vpor %xmm7, %xmm6, %xmm64958; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm6, %ymm24959; AVX-NEXT:    vandps %ymm1, %ymm5, %ymm54960; AVX-NEXT:    vandnps %ymm2, %ymm1, %ymm14961; AVX-NEXT:    vorps %ymm1, %ymm5, %ymm14962; AVX-NEXT:    vandps %ymm1, %ymm13, %ymm14963; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm2 # 16-byte Folded Reload4964; AVX-NEXT:    vandnps %ymm2, %ymm13, %ymm04965; AVX-NEXT:    vorps %ymm0, %ymm1, %ymm04966; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4967; AVX-NEXT:    vmovaps %ymm1, (%rsi)4968; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4969; AVX-NEXT:    vmovaps %ymm1, (%rdx)4970; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4971; AVX-NEXT:    vmovaps %ymm1, (%rcx)4972; AVX-NEXT:    vmovups (%rsp), %ymm1 # 32-byte Reload4973; AVX-NEXT:    vmovaps %ymm1, (%r8)4974; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload4975; AVX-NEXT:    vmovaps %ymm1, (%r9)4976; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax4977; AVX-NEXT:    vmovaps %ymm4, (%rax)4978; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax4979; AVX-NEXT:    vmovaps %ymm0, (%rax)4980; AVX-NEXT:    addq $200, %rsp4981; AVX-NEXT:    vzeroupper4982; AVX-NEXT:    retq4983;4984; AVX2-LABEL: load_i8_stride7_vf32:4985; AVX2:       # %bb.0:4986; AVX2-NEXT:    subq $72, %rsp4987; AVX2-NEXT:    vmovdqa 160(%rdi), %ymm104988; AVX2-NEXT:    vmovdqa 128(%rdi), %ymm114989; AVX2-NEXT:    vmovdqa (%rdi), %ymm64990; AVX2-NEXT:    vmovdqa 32(%rdi), %ymm74991; AVX2-NEXT:    vmovdqa 64(%rdi), %ymm134992; AVX2-NEXT:    vmovdqa 96(%rdi), %ymm34993; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm15 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]4994; AVX2-NEXT:    vpblendvb %ymm15, %ymm6, %ymm7, %ymm04995; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm14996; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[5,12],zero,zero,xmm1[1,8,15,u,u,u,u,u,u]4997; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[0,7,14],zero,zero,xmm0[3,10],zero,zero,zero,xmm0[u,u,u,u,u,u]4998; AVX2-NEXT:    vpor %xmm1, %xmm0, %xmm04999; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm14 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]5000; AVX2-NEXT:    vpblendvb %ymm14, %ymm3, %ymm13, %ymm15001; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm45002; AVX2-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0,1],ymm4[2],ymm1[3,4],ymm4[5],ymm1[6,7,8,9],ymm4[10],ymm1[11,12],ymm4[13],ymm1[14,15]5003; AVX2-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]5004; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0]5005; AVX2-NEXT:    vpblendvb %ymm4, %ymm0, %ymm1, %ymm05006; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5007; AVX2-NEXT:    vpblendvb %ymm1, %ymm10, %ymm11, %ymm15008; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm45009; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u],zero,zero,xmm4[3,10],zero,zero,zero,xmm4[6,13,u,u,u,u]5010; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,5,12],zero,zero,xmm1[1,8,15],zero,zero,xmm1[u,u,u,u]5011; AVX2-NEXT:    vpor %xmm4, %xmm1, %xmm15012; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5013; AVX2-NEXT:    vpblendvb %ymm2, %ymm6, %ymm7, %ymm45014; AVX2-NEXT:    vextracti128 $1, %ymm4, %xmm55015; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[6,13],zero,zero,xmm5[2,9,u,u,u,u,u,u,u]5016; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,8,15],zero,zero,xmm4[4,11],zero,zero,xmm4[u,u,u,u,u,u,u]5017; AVX2-NEXT:    vpor %xmm5, %xmm4, %xmm45018; AVX2-NEXT:    vpblendvb %ymm15, %ymm13, %ymm3, %ymm55019; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm85020; AVX2-NEXT:    vpblendw {{.*#+}} ymm5 = ymm5[0,1],ymm8[2],ymm5[3,4,5],ymm8[6],ymm5[7,8,9],ymm8[10],ymm5[11,12,13],ymm8[14],ymm5[15]5021; AVX2-NEXT:    vpshufb {{.*#+}} ymm5 = ymm5[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]5022; AVX2-NEXT:    vpmovsxdq {{.*#+}} ymm8 = [0,18446744073709551360,16777215,0]5023; AVX2-NEXT:    vpblendvb %ymm8, %ymm5, %ymm4, %ymm85024; AVX2-NEXT:    vmovdqa 192(%rdi), %xmm45025; AVX2-NEXT:    vpshufb {{.*#+}} xmm9 = xmm4[u,u,u,u,u,u,4,11,u,u,u,u,u,u,u,u]5026; AVX2-NEXT:    vmovdqa 208(%rdi), %xmm55027; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm5[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]5028; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm12[0],xmm9[1],xmm12[1],xmm9[2],xmm12[2],xmm9[3],xmm12[3]5029; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15030; AVX2-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm95031; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm9[7]5032; AVX2-NEXT:    vpmovsxdq {{.*#+}} ymm9 = [18446744073709551615,18446744073709551615,16777215,0]5033; AVX2-NEXT:    vpblendvb %ymm9, %ymm0, %ymm1, %ymm05034; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5035; AVX2-NEXT:    vpblendvb %ymm14, %ymm10, %ymm11, %ymm05036; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[u,u,u,6,13],zero,zero,xmm0[2,9],zero,zero,zero,xmm0[u,u,u,u]5037; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm05038; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u],zero,zero,xmm0[4,11],zero,zero,xmm0[0,7,14,u,u,u,u]5039; AVX2-NEXT:    vpor %xmm1, %xmm0, %xmm05040; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm5[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]5041; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]5042; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm12[0],xmm1[0],xmm12[1],xmm1[1],xmm12[2],xmm1[2],xmm12[3],xmm1[3]5043; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05044; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15045; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm1[7]5046; AVX2-NEXT:    vpblendvb %ymm9, %ymm8, %ymm0, %ymm05047; AVX2-NEXT:    vmovdqu %ymm0, (%rsp) # 32-byte Spill5048; AVX2-NEXT:    vpblendvb %ymm2, %ymm11, %ymm10, %ymm05049; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm15050; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u],zero,zero,zero,xmm1[6,13],zero,zero,xmm1[2,9,u,u,u,u,u]5051; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,1,8,15],zero,zero,xmm0[4,11],zero,zero,xmm0[u,u,u,u,u]5052; AVX2-NEXT:    vpor %xmm1, %xmm0, %xmm05053; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm5[5,12]5054; AVX2-NEXT:    vpshufb {{.*#+}} xmm8 = xmm4[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero5055; AVX2-NEXT:    vpor %xmm1, %xmm8, %xmm15056; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm85057; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15058; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm0 = [0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0]5059; AVX2-NEXT:    # ymm0 = mem[0,1,0,1]5060; AVX2-NEXT:    vpblendvb %ymm0, %ymm8, %ymm1, %ymm15061; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5062; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]5063; AVX2-NEXT:    vpblendvb %ymm9, %ymm11, %ymm10, %ymm15064; AVX2-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[u,u,2,9],zero,zero,zero,xmm1[5,12],zero,zero,xmm1[u,u,u,u,u]5065; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm15066; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u],zero,zero,xmm1[0,7,14],zero,zero,xmm1[3,10,u,u,u,u,u]5067; AVX2-NEXT:    vpor %xmm1, %xmm8, %xmm15068; AVX2-NEXT:    vpshufb {{.*#+}} xmm8 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm5[6,13]5069; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero5070; AVX2-NEXT:    vpor %xmm8, %xmm12, %xmm85071; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15072; AVX2-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm85073; AVX2-NEXT:    vpblendvb %ymm0, %ymm1, %ymm8, %ymm15074; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5075; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm8 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]5076; AVX2-NEXT:    vpblendvb %ymm8, %ymm11, %ymm10, %ymm15077; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm1[u,u,3,10],zero,zero,zero,xmm1[6,13],zero,zero,xmm1[u,u,u,u,u]5078; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm15079; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u],zero,zero,xmm1[1,8,15],zero,zero,xmm1[4,11,u,u,u,u,u]5080; AVX2-NEXT:    vpor %xmm1, %xmm12, %xmm15081; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero5082; AVX2-NEXT:    vpshufb {{.*#+}} xmm14 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm5[0,7,14]5083; AVX2-NEXT:    vpor %xmm12, %xmm14, %xmm125084; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15085; AVX2-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm125086; AVX2-NEXT:    vpblendvb %ymm0, %ymm1, %ymm12, %ymm15087; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5088; AVX2-NEXT:    vpblendvb %ymm15, %ymm11, %ymm10, %ymm145089; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]5090; AVX2-NEXT:    vpblendvb %ymm12, %ymm10, %ymm11, %ymm105091; AVX2-NEXT:    vextracti128 $1, %ymm10, %xmm115092; AVX2-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u],zero,zero,xmm11[2,9],zero,zero,zero,xmm11[5,12,u,u,u,u,u]5093; AVX2-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,4,11],zero,zero,xmm10[0,7,14],zero,zero,xmm10[u,u,u,u,u]5094; AVX2-NEXT:    vpor %xmm11, %xmm10, %xmm105095; AVX2-NEXT:    vpshufb {{.*#+}} xmm11 = xmm4[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero5096; AVX2-NEXT:    vpshufb {{.*#+}} xmm15 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm5[1,8,15]5097; AVX2-NEXT:    vpor %xmm11, %xmm15, %xmm115098; AVX2-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm105099; AVX2-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm115100; AVX2-NEXT:    vpblendvb %ymm0, %ymm10, %ymm11, %ymm05101; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5102; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]5103; AVX2-NEXT:    vpblendvb %ymm0, %ymm7, %ymm6, %ymm105104; AVX2-NEXT:    vpblendvb %ymm9, %ymm6, %ymm7, %ymm115105; AVX2-NEXT:    vpblendvb %ymm8, %ymm6, %ymm7, %ymm155106; AVX2-NEXT:    vpblendvb %ymm12, %ymm7, %ymm6, %ymm15107; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5108; AVX2-NEXT:    vpblendvb %ymm2, %ymm7, %ymm6, %ymm65109; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5110; AVX2-NEXT:    vpblendvb %ymm0, %ymm13, %ymm3, %ymm05111; AVX2-NEXT:    vpblendvb %ymm9, %ymm13, %ymm3, %ymm95112; AVX2-NEXT:    vpblendvb %ymm8, %ymm13, %ymm3, %ymm85113; AVX2-NEXT:    vpblendvb %ymm12, %ymm3, %ymm13, %ymm75114; AVX2-NEXT:    vpblendvb %ymm2, %ymm3, %ymm13, %ymm25115; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = xmm11[2,9],zero,zero,zero,xmm11[5,12],zero,zero,xmm11[u,u,u,u,u,u,u]5116; AVX2-NEXT:    vextracti128 $1, %ymm11, %xmm115117; AVX2-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[0,7,14],zero,zero,xmm11[3,10,u,u,u,u,u,u,u]5118; AVX2-NEXT:    vpor %xmm3, %xmm11, %xmm35119; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm115120; AVX2-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0,1,2],ymm11[3],ymm0[4,5],ymm11[6],ymm0[7,8,9,10],ymm11[11],ymm0[12,13],ymm11[14],ymm0[15]5121; AVX2-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5122; AVX2-NEXT:    vpmovsxwq {{.*#+}} xmm11 = [18446744073709551615,255]5123; AVX2-NEXT:    vpblendvb %ymm11, %ymm3, %ymm0, %ymm05124; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[3,10],zero,zero,zero,xmm15[6,13],zero,zero,xmm15[u,u,u,u,u,u,u]5125; AVX2-NEXT:    vextracti128 $1, %ymm15, %xmm135126; AVX2-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,xmm13[1,8,15],zero,zero,xmm13[4,11,u,u,u,u,u,u,u]5127; AVX2-NEXT:    vpor %xmm3, %xmm13, %xmm35128; AVX2-NEXT:    vextracti128 $1, %ymm9, %xmm135129; AVX2-NEXT:    vpblendw {{.*#+}} ymm9 = ymm13[0],ymm9[1,2],ymm13[3],ymm9[4,5,6],ymm13[7,8],ymm9[9,10],ymm13[11],ymm9[12,13,14],ymm13[15]5130; AVX2-NEXT:    vpshufb {{.*#+}} ymm9 = ymm9[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5131; AVX2-NEXT:    vpblendvb %ymm11, %ymm3, %ymm9, %ymm35132; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm95133; AVX2-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,xmm9[2,9],zero,zero,zero,xmm9[5,12,u,u,u,u,u,u,u]5134; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11],zero,zero,xmm1[0,7,14],zero,zero,xmm1[u,u,u,u,u,u,u]5135; AVX2-NEXT:    vpor %xmm1, %xmm9, %xmm15136; AVX2-NEXT:    vextracti128 $1, %ymm8, %xmm95137; AVX2-NEXT:    vpblendw {{.*#+}} ymm8 = ymm9[0],ymm8[1,2,3],ymm9[4],ymm8[5,6],ymm9[7,8],ymm8[9,10,11],ymm9[12],ymm8[13,14],ymm9[15]5138; AVX2-NEXT:    vpshufb {{.*#+}} ymm8 = ymm8[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5139; AVX2-NEXT:    vpblendvb %ymm11, %ymm1, %ymm8, %ymm95140; AVX2-NEXT:    vextracti128 $1, %ymm6, %xmm15141; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,xmm1[3,10],zero,zero,zero,xmm1[6,13,u,u,u,u,u,u,u]5142; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[5,12],zero,zero,xmm6[1,8,15],zero,zero,xmm6[u,u,u,u,u,u,u]5143; AVX2-NEXT:    vpor %xmm1, %xmm6, %xmm15144; AVX2-NEXT:    vextracti128 $1, %ymm7, %xmm65145; AVX2-NEXT:    vpblendw {{.*#+}} ymm6 = ymm7[0],ymm6[1],ymm7[2,3],ymm6[4],ymm7[5,6,7,8],ymm6[9],ymm7[10,11],ymm6[12],ymm7[13,14,15]5146; AVX2-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5147; AVX2-NEXT:    vpblendvb %ymm11, %ymm1, %ymm6, %ymm15148; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = xmm10[6,13],zero,zero,xmm10[2,9],zero,zero,zero,xmm10[u,u,u,u,u,u,u]5149; AVX2-NEXT:    vextracti128 $1, %ymm10, %xmm75150; AVX2-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,xmm7[4,11],zero,zero,xmm7[0,7,14,u,u,u,u,u,u,u]5151; AVX2-NEXT:    vpor %xmm6, %xmm7, %xmm65152; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm75153; AVX2-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0],ymm7[1],ymm2[2,3,4],ymm7[5],ymm2[6,7,8],ymm7[9],ymm2[10,11,12],ymm7[13],ymm2[14,15]5154; AVX2-NEXT:    vpshufb {{.*#+}} ymm2 = ymm2[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5155; AVX2-NEXT:    vpblendvb %ymm11, %ymm6, %ymm2, %ymm25156; AVX2-NEXT:    vextracti128 $1, %ymm14, %xmm65157; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u],zero,zero,zero,xmm6[5,12],zero,zero,xmm6[1,8,15,u,u,u,u]5158; AVX2-NEXT:    vpshufb {{.*#+}} xmm7 = xmm14[u,u,0,7,14],zero,zero,xmm14[3,10],zero,zero,zero,xmm14[u,u,u,u]5159; AVX2-NEXT:    vpor %xmm6, %xmm7, %xmm65160; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[u,u,u,u,u,u,4,11,u,u,u,u,u,u,u,u]5161; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]5162; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]5163; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm55164; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm45165; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]5166; AVX2-NEXT:    vpblendw {{.*#+}} ymm4 = ymm0[0],ymm4[1,2,3,4,5,6,7],ymm0[8],ymm4[9,10,11,12,13,14,15]5167; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]5168; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm4 # 32-byte Folded Reload5169; AVX2-NEXT:    # ymm4 = ymm3[0],mem[1,2,3,4,5,6,7],ymm3[8],mem[9,10,11,12,13,14,15]5170; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]5171; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm4 # 32-byte Folded Reload5172; AVX2-NEXT:    # ymm4 = ymm9[0],mem[1,2,3,4,5,6,7],ymm9[8],mem[9,10,11,12,13,14,15]5173; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm9[0,1,2,3],ymm4[4,5,6,7]5174; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm5 # 32-byte Folded Reload5175; AVX2-NEXT:    # ymm5 = ymm1[0],mem[1,2,3,4,5,6,7],ymm1[8],mem[9,10,11,12,13,14,15]5176; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm5[4,5,6,7]5177; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm5 # 32-byte Folded Reload5178; AVX2-NEXT:    # ymm5 = ymm2[0],mem[1,2,3,4,5,6,7],ymm2[8],mem[9,10,11,12,13,14,15]5179; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm5[4,5,6,7]5180; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload5181; AVX2-NEXT:    vmovaps %ymm5, (%rsi)5182; AVX2-NEXT:    vmovups (%rsp), %ymm5 # 32-byte Reload5183; AVX2-NEXT:    vmovaps %ymm5, (%rdx)5184; AVX2-NEXT:    vmovdqa %ymm0, (%rcx)5185; AVX2-NEXT:    vmovdqa %ymm3, (%r8)5186; AVX2-NEXT:    vmovdqa %ymm4, (%r9)5187; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax5188; AVX2-NEXT:    vmovdqa %ymm1, (%rax)5189; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax5190; AVX2-NEXT:    vmovdqa %ymm2, (%rax)5191; AVX2-NEXT:    addq $72, %rsp5192; AVX2-NEXT:    vzeroupper5193; AVX2-NEXT:    retq5194;5195; AVX2-FP-LABEL: load_i8_stride7_vf32:5196; AVX2-FP:       # %bb.0:5197; AVX2-FP-NEXT:    subq $72, %rsp5198; AVX2-FP-NEXT:    vmovdqa 160(%rdi), %ymm105199; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %ymm115200; AVX2-FP-NEXT:    vmovdqa (%rdi), %ymm65201; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %ymm75202; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %ymm135203; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %ymm35204; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm15 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]5205; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm6, %ymm7, %ymm05206; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm15207; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[5,12],zero,zero,xmm1[1,8,15,u,u,u,u,u,u]5208; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[0,7,14],zero,zero,xmm0[3,10],zero,zero,zero,xmm0[u,u,u,u,u,u]5209; AVX2-FP-NEXT:    vpor %xmm1, %xmm0, %xmm05210; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm14 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]5211; AVX2-FP-NEXT:    vpblendvb %ymm14, %ymm3, %ymm13, %ymm15212; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm45213; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0,1],ymm4[2],ymm1[3,4],ymm4[5],ymm1[6,7,8,9],ymm4[10],ymm1[11,12],ymm4[13],ymm1[14,15]5214; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]5215; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0]5216; AVX2-FP-NEXT:    vpblendvb %ymm4, %ymm0, %ymm1, %ymm05217; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5218; AVX2-FP-NEXT:    vpblendvb %ymm1, %ymm10, %ymm11, %ymm15219; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm45220; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u],zero,zero,xmm4[3,10],zero,zero,zero,xmm4[6,13,u,u,u,u]5221; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,5,12],zero,zero,xmm1[1,8,15],zero,zero,xmm1[u,u,u,u]5222; AVX2-FP-NEXT:    vpor %xmm4, %xmm1, %xmm15223; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5224; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm6, %ymm7, %ymm45225; AVX2-FP-NEXT:    vextracti128 $1, %ymm4, %xmm55226; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[6,13],zero,zero,xmm5[2,9,u,u,u,u,u,u,u]5227; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,8,15],zero,zero,xmm4[4,11],zero,zero,xmm4[u,u,u,u,u,u,u]5228; AVX2-FP-NEXT:    vpor %xmm5, %xmm4, %xmm45229; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm13, %ymm3, %ymm55230; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm85231; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm5 = ymm5[0,1],ymm8[2],ymm5[3,4,5],ymm8[6],ymm5[7,8,9],ymm8[10],ymm5[11,12,13],ymm8[14],ymm5[15]5232; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm5[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]5233; AVX2-FP-NEXT:    vpmovsxdq {{.*#+}} ymm8 = [0,18446744073709551360,16777215,0]5234; AVX2-FP-NEXT:    vpblendvb %ymm8, %ymm5, %ymm4, %ymm85235; AVX2-FP-NEXT:    vmovdqa 192(%rdi), %xmm45236; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm4[u,u,u,u,u,u,4,11,u,u,u,u,u,u,u,u]5237; AVX2-FP-NEXT:    vmovdqa 208(%rdi), %xmm55238; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm5[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]5239; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm9[0],xmm12[0],xmm9[1],xmm12[1],xmm9[2],xmm12[2],xmm9[3],xmm12[3]5240; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15241; AVX2-FP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm95242; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm9[7]5243; AVX2-FP-NEXT:    vpmovsxdq {{.*#+}} ymm9 = [18446744073709551615,18446744073709551615,16777215,0]5244; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm0, %ymm1, %ymm05245; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5246; AVX2-FP-NEXT:    vpblendvb %ymm14, %ymm10, %ymm11, %ymm05247; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[u,u,u,6,13],zero,zero,xmm0[2,9],zero,zero,zero,xmm0[u,u,u,u]5248; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm05249; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u],zero,zero,xmm0[4,11],zero,zero,xmm0[0,7,14,u,u,u,u]5250; AVX2-FP-NEXT:    vpor %xmm1, %xmm0, %xmm05251; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm5[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]5252; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]5253; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm12[0],xmm1[0],xmm12[1],xmm1[1],xmm12[2],xmm1[2],xmm12[3],xmm1[3]5254; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05255; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15256; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm1[7]5257; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm8, %ymm0, %ymm05258; AVX2-FP-NEXT:    vmovdqu %ymm0, (%rsp) # 32-byte Spill5259; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm11, %ymm10, %ymm05260; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm15261; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u],zero,zero,zero,xmm1[6,13],zero,zero,xmm1[2,9,u,u,u,u,u]5262; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,1,8,15],zero,zero,xmm0[4,11],zero,zero,xmm0[u,u,u,u,u]5263; AVX2-FP-NEXT:    vpor %xmm1, %xmm0, %xmm05264; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm5[5,12]5265; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm4[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero5266; AVX2-FP-NEXT:    vpor %xmm1, %xmm8, %xmm15267; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm85268; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15269; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm0 = [0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0]5270; AVX2-FP-NEXT:    # ymm0 = mem[0,1,0,1]5271; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm8, %ymm1, %ymm15272; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5273; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]5274; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm11, %ymm10, %ymm15275; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[u,u,2,9],zero,zero,zero,xmm1[5,12],zero,zero,xmm1[u,u,u,u,u]5276; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm15277; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u],zero,zero,xmm1[0,7,14],zero,zero,xmm1[3,10,u,u,u,u,u]5278; AVX2-FP-NEXT:    vpor %xmm1, %xmm8, %xmm15279; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm5[6,13]5280; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero5281; AVX2-FP-NEXT:    vpor %xmm8, %xmm12, %xmm85282; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15283; AVX2-FP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm85284; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm1, %ymm8, %ymm15285; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5286; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm8 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]5287; AVX2-FP-NEXT:    vpblendvb %ymm8, %ymm11, %ymm10, %ymm15288; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm1[u,u,3,10],zero,zero,zero,xmm1[6,13],zero,zero,xmm1[u,u,u,u,u]5289; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm15290; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u],zero,zero,xmm1[1,8,15],zero,zero,xmm1[4,11,u,u,u,u,u]5291; AVX2-FP-NEXT:    vpor %xmm1, %xmm12, %xmm15292; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero5293; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm5[0,7,14]5294; AVX2-FP-NEXT:    vpor %xmm12, %xmm14, %xmm125295; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15296; AVX2-FP-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm125297; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm1, %ymm12, %ymm15298; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5299; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm11, %ymm10, %ymm145300; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]5301; AVX2-FP-NEXT:    vpblendvb %ymm12, %ymm10, %ymm11, %ymm105302; AVX2-FP-NEXT:    vextracti128 $1, %ymm10, %xmm115303; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u],zero,zero,xmm11[2,9],zero,zero,zero,xmm11[5,12,u,u,u,u,u]5304; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,4,11],zero,zero,xmm10[0,7,14],zero,zero,xmm10[u,u,u,u,u]5305; AVX2-FP-NEXT:    vpor %xmm11, %xmm10, %xmm105306; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm4[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero5307; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm5[1,8,15]5308; AVX2-FP-NEXT:    vpor %xmm11, %xmm15, %xmm115309; AVX2-FP-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm105310; AVX2-FP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm115311; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm10, %ymm11, %ymm05312; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5313; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]5314; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm7, %ymm6, %ymm105315; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm6, %ymm7, %ymm115316; AVX2-FP-NEXT:    vpblendvb %ymm8, %ymm6, %ymm7, %ymm155317; AVX2-FP-NEXT:    vpblendvb %ymm12, %ymm7, %ymm6, %ymm15318; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5319; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm7, %ymm6, %ymm65320; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5321; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm13, %ymm3, %ymm05322; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm13, %ymm3, %ymm95323; AVX2-FP-NEXT:    vpblendvb %ymm8, %ymm13, %ymm3, %ymm85324; AVX2-FP-NEXT:    vpblendvb %ymm12, %ymm3, %ymm13, %ymm75325; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm3, %ymm13, %ymm25326; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm11[2,9],zero,zero,zero,xmm11[5,12],zero,zero,xmm11[u,u,u,u,u,u,u]5327; AVX2-FP-NEXT:    vextracti128 $1, %ymm11, %xmm115328; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[0,7,14],zero,zero,xmm11[3,10,u,u,u,u,u,u,u]5329; AVX2-FP-NEXT:    vpor %xmm3, %xmm11, %xmm35330; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm115331; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0,1,2],ymm11[3],ymm0[4,5],ymm11[6],ymm0[7,8,9,10],ymm11[11],ymm0[12,13],ymm11[14],ymm0[15]5332; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5333; AVX2-FP-NEXT:    vpmovsxwq {{.*#+}} xmm11 = [18446744073709551615,255]5334; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm3, %ymm0, %ymm05335; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[3,10],zero,zero,zero,xmm15[6,13],zero,zero,xmm15[u,u,u,u,u,u,u]5336; AVX2-FP-NEXT:    vextracti128 $1, %ymm15, %xmm135337; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,xmm13[1,8,15],zero,zero,xmm13[4,11,u,u,u,u,u,u,u]5338; AVX2-FP-NEXT:    vpor %xmm3, %xmm13, %xmm35339; AVX2-FP-NEXT:    vextracti128 $1, %ymm9, %xmm135340; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm9 = ymm13[0],ymm9[1,2],ymm13[3],ymm9[4,5,6],ymm13[7,8],ymm9[9,10],ymm13[11],ymm9[12,13,14],ymm13[15]5341; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm9 = ymm9[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5342; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm3, %ymm9, %ymm35343; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm95344; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,xmm9[2,9],zero,zero,zero,xmm9[5,12,u,u,u,u,u,u,u]5345; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,11],zero,zero,xmm1[0,7,14],zero,zero,xmm1[u,u,u,u,u,u,u]5346; AVX2-FP-NEXT:    vpor %xmm1, %xmm9, %xmm15347; AVX2-FP-NEXT:    vextracti128 $1, %ymm8, %xmm95348; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm9[0],ymm8[1,2,3],ymm9[4],ymm8[5,6],ymm9[7,8],ymm8[9,10,11],ymm9[12],ymm8[13,14],ymm9[15]5349; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm8 = ymm8[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5350; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm1, %ymm8, %ymm95351; AVX2-FP-NEXT:    vextracti128 $1, %ymm6, %xmm15352; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,xmm1[3,10],zero,zero,zero,xmm1[6,13,u,u,u,u,u,u,u]5353; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[5,12],zero,zero,xmm6[1,8,15],zero,zero,xmm6[u,u,u,u,u,u,u]5354; AVX2-FP-NEXT:    vpor %xmm1, %xmm6, %xmm15355; AVX2-FP-NEXT:    vextracti128 $1, %ymm7, %xmm65356; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm7[0],ymm6[1],ymm7[2,3],ymm6[4],ymm7[5,6,7,8],ymm6[9],ymm7[10,11],ymm6[12],ymm7[13,14,15]5357; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5358; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm1, %ymm6, %ymm15359; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm10[6,13],zero,zero,xmm10[2,9],zero,zero,zero,xmm10[u,u,u,u,u,u,u]5360; AVX2-FP-NEXT:    vextracti128 $1, %ymm10, %xmm75361; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,xmm7[4,11],zero,zero,xmm7[0,7,14,u,u,u,u,u,u,u]5362; AVX2-FP-NEXT:    vpor %xmm6, %xmm7, %xmm65363; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm75364; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0],ymm7[1],ymm2[2,3,4],ymm7[5],ymm2[6,7,8],ymm7[9],ymm2[10,11,12],ymm7[13],ymm2[14,15]5365; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm2 = ymm2[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5366; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm6, %ymm2, %ymm25367; AVX2-FP-NEXT:    vextracti128 $1, %ymm14, %xmm65368; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u],zero,zero,zero,xmm6[5,12],zero,zero,xmm6[1,8,15,u,u,u,u]5369; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm14[u,u,0,7,14],zero,zero,xmm14[3,10],zero,zero,zero,xmm14[u,u,u,u]5370; AVX2-FP-NEXT:    vpor %xmm6, %xmm7, %xmm65371; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[u,u,u,u,u,u,4,11,u,u,u,u,u,u,u,u]5372; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]5373; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3]5374; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm55375; AVX2-FP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm45376; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3,4,5,6],ymm4[7]5377; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm0[0],ymm4[1,2,3,4,5,6,7],ymm0[8],ymm4[9,10,11,12,13,14,15]5378; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]5379; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm4 # 32-byte Folded Reload5380; AVX2-FP-NEXT:    # ymm4 = ymm3[0],mem[1,2,3,4,5,6,7],ymm3[8],mem[9,10,11,12,13,14,15]5381; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm4[4,5,6,7]5382; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm4 # 32-byte Folded Reload5383; AVX2-FP-NEXT:    # ymm4 = ymm9[0],mem[1,2,3,4,5,6,7],ymm9[8],mem[9,10,11,12,13,14,15]5384; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm9[0,1,2,3],ymm4[4,5,6,7]5385; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm5 # 32-byte Folded Reload5386; AVX2-FP-NEXT:    # ymm5 = ymm1[0],mem[1,2,3,4,5,6,7],ymm1[8],mem[9,10,11,12,13,14,15]5387; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm5[4,5,6,7]5388; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm5 # 32-byte Folded Reload5389; AVX2-FP-NEXT:    # ymm5 = ymm2[0],mem[1,2,3,4,5,6,7],ymm2[8],mem[9,10,11,12,13,14,15]5390; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm5[4,5,6,7]5391; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload5392; AVX2-FP-NEXT:    vmovaps %ymm5, (%rsi)5393; AVX2-FP-NEXT:    vmovups (%rsp), %ymm5 # 32-byte Reload5394; AVX2-FP-NEXT:    vmovaps %ymm5, (%rdx)5395; AVX2-FP-NEXT:    vmovdqa %ymm0, (%rcx)5396; AVX2-FP-NEXT:    vmovdqa %ymm3, (%r8)5397; AVX2-FP-NEXT:    vmovdqa %ymm4, (%r9)5398; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5399; AVX2-FP-NEXT:    vmovdqa %ymm1, (%rax)5400; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5401; AVX2-FP-NEXT:    vmovdqa %ymm2, (%rax)5402; AVX2-FP-NEXT:    addq $72, %rsp5403; AVX2-FP-NEXT:    vzeroupper5404; AVX2-FP-NEXT:    retq5405;5406; AVX2-FCP-LABEL: load_i8_stride7_vf32:5407; AVX2-FCP:       # %bb.0:5408; AVX2-FCP-NEXT:    subq $40, %rsp5409; AVX2-FCP-NEXT:    vmovdqa 192(%rdi), %ymm105410; AVX2-FCP-NEXT:    vmovdqa 160(%rdi), %ymm85411; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %ymm95412; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm55413; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm65414; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %ymm35415; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %ymm45416; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm13 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]5417; AVX2-FCP-NEXT:    vpblendvb %ymm13, %ymm5, %ymm6, %ymm05418; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm15419; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[5,12],zero,zero,xmm1[1,8,15,u,u,u,u,u,u]5420; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[0,7,14],zero,zero,xmm0[3,10],zero,zero,zero,xmm0[u,u,u,u,u,u]5421; AVX2-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm05422; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]5423; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm4, %ymm3, %ymm15424; AVX2-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm25425; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0,1],ymm2[2],ymm1[3,4],ymm2[5],ymm1[6,7,8,9],ymm2[10],ymm1[11,12],ymm2[13],ymm1[14,15]5426; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]5427; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0]5428; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm05429; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5430; AVX2-FCP-NEXT:    vpblendvb %ymm1, %ymm8, %ymm9, %ymm15431; AVX2-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm25432; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u],zero,zero,xmm2[3,10],zero,zero,zero,xmm2[6,13,u,u,u,u]5433; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,5,12],zero,zero,xmm1[1,8,15],zero,zero,xmm1[u,u,u,u]5434; AVX2-FCP-NEXT:    vpor %xmm2, %xmm1, %xmm15435; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15436; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm2 = [0,0,0,0,1,2,4,6]5437; AVX2-FCP-NEXT:    vpermd %ymm10, %ymm2, %ymm25438; AVX2-FCP-NEXT:    vmovdqu %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5439; 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,u,u,u,u,u,u,u,u,16,23,26,29]5440; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm2[7]5441; AVX2-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm2 = [18446744073709551615,18446744073709551615,16777215,0]5442; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm05443; AVX2-FCP-NEXT:    vmovdqu %ymm0, (%rsp) # 32-byte Spill5444; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5445; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm5, %ymm6, %ymm05446; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm15447; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[6,13],zero,zero,xmm1[2,9,u,u,u,u,u,u,u]5448; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[1,8,15],zero,zero,xmm0[4,11],zero,zero,xmm0[u,u,u,u,u,u,u]5449; AVX2-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm05450; AVX2-FCP-NEXT:    vpblendvb %ymm13, %ymm3, %ymm4, %ymm15451; AVX2-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm75452; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0,1],ymm7[2],ymm1[3,4,5],ymm7[6],ymm1[7,8,9],ymm7[10],ymm1[11,12,13],ymm7[14],ymm1[15]5453; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]5454; AVX2-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm7 = [0,18446744073709551360,16777215,0]5455; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm1, %ymm0, %ymm05456; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm8, %ymm9, %ymm15457; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm1[u,u,u,6,13],zero,zero,xmm1[2,9],zero,zero,zero,xmm1[u,u,u,u]5458; AVX2-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm15459; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u],zero,zero,xmm1[4,11],zero,zero,xmm1[0,7,14,u,u,u,u]5460; AVX2-FCP-NEXT:    vpor %xmm7, %xmm1, %xmm15461; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15462; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm7 = [0,0,0,0,1,3,4,6]5463; AVX2-FCP-NEXT:    vpermd %ymm10, %ymm7, %ymm75464; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm7 = 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,20,27,30]5465; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm7[7]5466; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm05467; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5468; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm9, %ymm8, %ymm05469; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm15470; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u],zero,zero,zero,xmm1[6,13],zero,zero,xmm1[2,9,u,u,u,u,u]5471; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,1,8,15],zero,zero,xmm0[4,11],zero,zero,xmm0[u,u,u,u,u]5472; AVX2-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm15473; AVX2-FCP-NEXT:    vmovdqa 208(%rdi), %xmm25474; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm2[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm2[5,12]5475; AVX2-FCP-NEXT:    vmovdqa 192(%rdi), %xmm05476; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm0[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero5477; AVX2-FCP-NEXT:    vpor %xmm7, %xmm10, %xmm75478; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm105479; AVX2-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm75480; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm1 = [0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0]5481; AVX2-FCP-NEXT:    # ymm1 = mem[0,1,0,1]5482; AVX2-FCP-NEXT:    vpblendvb %ymm1, %ymm10, %ymm7, %ymm75483; AVX2-FCP-NEXT:    vmovdqu %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5484; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm13 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]5485; AVX2-FCP-NEXT:    vpblendvb %ymm13, %ymm9, %ymm8, %ymm75486; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm7[u,u,2,9],zero,zero,zero,xmm7[5,12],zero,zero,xmm7[u,u,u,u,u]5487; AVX2-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm75488; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u],zero,zero,xmm7[0,7,14],zero,zero,xmm7[3,10,u,u,u,u,u]5489; AVX2-FCP-NEXT:    vpor %xmm7, %xmm10, %xmm75490; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm2[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm2[6,13]5491; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm0[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero5492; AVX2-FCP-NEXT:    vpor %xmm10, %xmm14, %xmm105493; AVX2-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm75494; AVX2-FCP-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm105495; AVX2-FCP-NEXT:    vpblendvb %ymm1, %ymm7, %ymm10, %ymm75496; AVX2-FCP-NEXT:    vmovdqu %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5497; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm10 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]5498; AVX2-FCP-NEXT:    vpblendvb %ymm10, %ymm9, %ymm8, %ymm75499; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm7[u,u,3,10],zero,zero,zero,xmm7[6,13],zero,zero,xmm7[u,u,u,u,u]5500; AVX2-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm75501; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u],zero,zero,xmm7[1,8,15],zero,zero,xmm7[4,11,u,u,u,u,u]5502; AVX2-FCP-NEXT:    vpor %xmm7, %xmm15, %xmm75503; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm0[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero5504; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm2[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm2[0,7,14]5505; AVX2-FCP-NEXT:    vpor %xmm15, %xmm12, %xmm125506; AVX2-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm75507; AVX2-FCP-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm125508; AVX2-FCP-NEXT:    vpblendvb %ymm1, %ymm7, %ymm12, %ymm155509; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]5510; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm9, %ymm8, %ymm125511; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]5512; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm8, %ymm9, %ymm85513; AVX2-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm95514; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u],zero,zero,xmm9[2,9],zero,zero,zero,xmm9[5,12,u,u,u,u,u]5515; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,4,11],zero,zero,xmm8[0,7,14],zero,zero,xmm8[u,u,u,u,u]5516; AVX2-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm85517; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero5518; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm2[1,8,15]5519; AVX2-FCP-NEXT:    vpor %xmm0, %xmm2, %xmm05520; AVX2-FCP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm25521; AVX2-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05522; AVX2-FCP-NEXT:    vpblendvb %ymm1, %ymm2, %ymm0, %ymm145523; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm6, %ymm5, %ymm115524; AVX2-FCP-NEXT:    vpblendvb %ymm13, %ymm5, %ymm6, %ymm25525; AVX2-FCP-NEXT:    vpblendvb %ymm10, %ymm5, %ymm6, %ymm85526; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm6, %ymm5, %ymm95527; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5528; AVX2-FCP-NEXT:    vpblendvb %ymm1, %ymm6, %ymm5, %ymm55529; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]5530; AVX2-FCP-NEXT:    vpblendvb %ymm0, %ymm3, %ymm4, %ymm05531; AVX2-FCP-NEXT:    vpblendvb %ymm13, %ymm3, %ymm4, %ymm135532; AVX2-FCP-NEXT:    vpblendvb %ymm10, %ymm3, %ymm4, %ymm105533; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm4, %ymm3, %ymm65534; AVX2-FCP-NEXT:    vpblendvb %ymm1, %ymm4, %ymm3, %ymm35535; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,zero,xmm2[u,u,u,u,u,u,u]5536; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm25537; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[0,7,14],zero,zero,xmm2[3,10,u,u,u,u,u,u,u]5538; AVX2-FCP-NEXT:    vpor %xmm4, %xmm2, %xmm25539; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm45540; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0,1,2],ymm4[3],ymm0[4,5],ymm4[6],ymm0[7,8,9,10],ymm4[11],ymm0[12,13],ymm4[14],ymm0[15]5541; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5542; AVX2-FCP-NEXT:    vpmovsxwq {{.*#+}} xmm7 = [18446744073709551615,255]5543; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm2, %ymm0, %ymm25544; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm8[3,10],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[u,u,u,u,u,u,u]5545; AVX2-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm45546; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,xmm4[1,8,15],zero,zero,xmm4[4,11,u,u,u,u,u,u,u]5547; AVX2-FCP-NEXT:    vpor %xmm0, %xmm4, %xmm05548; AVX2-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm45549; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm4[0],ymm13[1,2],ymm4[3],ymm13[4,5,6],ymm4[7,8],ymm13[9,10],ymm4[11],ymm13[12,13,14],ymm4[15]5550; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = ymm4[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5551; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm0, %ymm4, %ymm45552; AVX2-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm05553; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,xmm0[2,9],zero,zero,zero,xmm0[5,12,u,u,u,u,u,u,u]5554; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm9[4,11],zero,zero,xmm9[0,7,14],zero,zero,xmm9[u,u,u,u,u,u,u]5555; AVX2-FCP-NEXT:    vpor %xmm0, %xmm8, %xmm05556; AVX2-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm85557; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm8[0],ymm10[1,2,3],ymm8[4],ymm10[5,6],ymm8[7,8],ymm10[9,10,11],ymm8[12],ymm10[13,14],ymm8[15]5558; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = ymm8[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5559; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm0, %ymm8, %ymm05560; AVX2-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm85561; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[3,10],zero,zero,zero,xmm8[6,13,u,u,u,u,u,u,u]5562; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[5,12],zero,zero,xmm5[1,8,15],zero,zero,xmm5[u,u,u,u,u,u,u]5563; AVX2-FCP-NEXT:    vpor %xmm5, %xmm8, %xmm55564; AVX2-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm85565; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm6[0],ymm8[1],ymm6[2,3],ymm8[4],ymm6[5,6,7,8],ymm8[9],ymm6[10,11],ymm8[12],ymm6[13,14,15]5566; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5567; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm5, %ymm6, %ymm55568; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm11[6,13],zero,zero,xmm11[2,9],zero,zero,zero,xmm11[u,u,u,u,u,u,u]5569; AVX2-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm15570; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,xmm1[4,11],zero,zero,xmm1[0,7,14,u,u,u,u,u,u,u]5571; AVX2-FCP-NEXT:    vpor %xmm6, %xmm1, %xmm15572; AVX2-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm65573; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0],ymm6[1],ymm3[2,3,4],ymm6[5],ymm3[6,7,8],ymm6[9],ymm3[10,11,12],ymm6[13],ymm3[14,15]5574; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm3 = ymm3[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]5575; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm1, %ymm3, %ymm15576; AVX2-FCP-NEXT:    vextracti128 $1, %ymm12, %xmm35577; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15,u,u,u,u]5578; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm12[u,u,0,7,14],zero,zero,xmm12[3,10],zero,zero,zero,xmm12[u,u,u,u]5579; AVX2-FCP-NEXT:    vpor %xmm3, %xmm6, %xmm35580; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm6 = [0,0,0,0,1,3,5,6]5581; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm6 # 32-byte Folded Reload5582; AVX2-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35583; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = 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,21,24,31]5584; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3,4,5,6],ymm6[7]5585; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm2[0],ymm3[1,2,3,4,5,6,7],ymm2[8],ymm3[9,10,11,12,13,14,15]5586; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]5587; AVX2-FCP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm3 # 32-byte Folded Reload5588; AVX2-FCP-NEXT:    # ymm3 = ymm4[0],mem[1,2,3,4,5,6,7],ymm4[8],mem[9,10,11,12,13,14,15]5589; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm4[0,1,2,3],ymm3[4,5,6,7]5590; AVX2-FCP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 32-byte Folded Reload5591; AVX2-FCP-NEXT:    # ymm4 = ymm0[0],mem[1,2,3,4,5,6,7],ymm0[8],mem[9,10,11,12,13,14,15]5592; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm4[4,5,6,7]5593; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm5[0],ymm15[1,2,3,4,5,6,7],ymm5[8],ymm15[9,10,11,12,13,14,15]5594; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]5595; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm5 = ymm1[0],ymm14[1,2,3,4,5,6,7],ymm1[8],ymm14[9,10,11,12,13,14,15]5596; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm5[4,5,6,7]5597; AVX2-FCP-NEXT:    vmovups (%rsp), %ymm5 # 32-byte Reload5598; AVX2-FCP-NEXT:    vmovaps %ymm5, (%rsi)5599; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload5600; AVX2-FCP-NEXT:    vmovaps %ymm5, (%rdx)5601; AVX2-FCP-NEXT:    vmovdqa %ymm2, (%rcx)5602; AVX2-FCP-NEXT:    vmovdqa %ymm3, (%r8)5603; AVX2-FCP-NEXT:    vmovdqa %ymm0, (%r9)5604; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5605; AVX2-FCP-NEXT:    vmovdqa %ymm4, (%rax)5606; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5607; AVX2-FCP-NEXT:    vmovdqa %ymm1, (%rax)5608; AVX2-FCP-NEXT:    addq $40, %rsp5609; AVX2-FCP-NEXT:    vzeroupper5610; AVX2-FCP-NEXT:    retq5611;5612; AVX512-LABEL: load_i8_stride7_vf32:5613; AVX512:       # %bb.0:5614; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax5615; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %r105616; AVX512-NEXT:    vmovdqa {{.*#+}} ymm0 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]5617; AVX512-NEXT:    vmovdqa 128(%rdi), %ymm25618; AVX512-NEXT:    vmovdqa 160(%rdi), %ymm35619; AVX512-NEXT:    vmovdqa %ymm0, %ymm15620; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm2 ^ (ymm1 & (ymm3 ^ ymm2))5621; AVX512-NEXT:    vextracti128 $1, %ymm1, %xmm45622; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u],zero,zero,xmm4[3,10],zero,zero,zero,xmm4[6,13,u,u,u,u]5623; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,5,12],zero,zero,xmm1[1,8,15],zero,zero,xmm1[u,u,u,u]5624; AVX512-NEXT:    vpor %xmm4, %xmm1, %xmm15625; AVX512-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15626; AVX512-NEXT:    vmovdqa 192(%rdi), %xmm45627; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [0,0,4,11,0,0,4,11,0,0,4,11,0,0,4,11]5628; AVX512-NEXT:    vpshufb %xmm5, %xmm4, %xmm65629; AVX512-NEXT:    vmovdqa64 %xmm5, %xmm205630; AVX512-NEXT:    vmovdqa 208(%rdi), %xmm55631; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = xmm5[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]5632; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]5633; AVX512-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm65634; AVX512-NEXT:    vpblendd {{.*#+}} ymm12 = ymm1[0,1,2,3,4,5,6],ymm6[7]5635; AVX512-NEXT:    vmovdqa {{.*#+}} ymm14 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]5636; AVX512-NEXT:    vmovdqa (%rdi), %ymm65637; AVX512-NEXT:    vmovdqa 32(%rdi), %ymm75638; AVX512-NEXT:    vmovdqa 64(%rdi), %ymm15639; AVX512-NEXT:    vmovdqa %ymm14, %ymm95640; AVX512-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm7 ^ (ymm9 & (ymm6 ^ ymm7))5641; AVX512-NEXT:    vextracti128 $1, %ymm9, %xmm105642; AVX512-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[5,12],zero,zero,xmm10[1,8,15,u,u,u,u,u,u]5643; AVX512-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[0,7,14],zero,zero,xmm9[3,10],zero,zero,zero,xmm9[u,u,u,u,u,u]5644; AVX512-NEXT:    vpor %xmm10, %xmm9, %xmm135645; AVX512-NEXT:    vmovdqa {{.*#+}} ymm11 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]5646; AVX512-NEXT:    vmovdqa 96(%rdi), %ymm95647; AVX512-NEXT:    vmovdqa %ymm11, %ymm155648; AVX512-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm1 ^ (ymm15 & (ymm9 ^ ymm1))5649; AVX512-NEXT:    vmovdqa 80(%rdi), %xmm105650; AVX512-NEXT:    vpblendw {{.*#+}} ymm15 = ymm15[0,1],ymm10[2],ymm15[3,4],ymm10[5],ymm15[6,7,8,9],ymm10[10],ymm15[11,12],ymm10[13],ymm15[14,15]5651; AVX512-NEXT:    vpshufb {{.*#+}} ymm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]5652; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 | (ymm13 & mem)5653; AVX512-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,16777215,0]5654; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm12 ^ (ymm16 & (ymm8 ^ ymm12))5655; AVX512-NEXT:    vmovdqa64 %ymm8, %ymm185656; AVX512-NEXT:    vmovdqa %ymm11, %ymm125657; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm2 ^ (ymm12 & (ymm3 ^ ymm2))5658; AVX512-NEXT:    vpshufb {{.*#+}} xmm13 = xmm12[u,u,u,6,13],zero,zero,xmm12[2,9],zero,zero,zero,xmm12[u,u,u,u]5659; AVX512-NEXT:    vextracti128 $1, %ymm12, %xmm125660; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u],zero,zero,xmm12[4,11],zero,zero,xmm12[0,7,14,u,u,u,u]5661; AVX512-NEXT:    vpor %xmm13, %xmm12, %xmm125662; AVX512-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm125663; AVX512-NEXT:    vpshufb {{.*#+}} xmm13 = xmm5[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]5664; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm4[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]5665; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1],xmm8[2],xmm13[2],xmm8[3],xmm13[3]5666; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm85667; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm12[0,1,2,3,4,5,6],ymm8[7]5668; AVX512-NEXT:    vmovdqa {{.*#+}} ymm13 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]5669; AVX512-NEXT:    vmovdqa %ymm13, %ymm125670; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm7 ^ (ymm12 & (ymm6 ^ ymm7))5671; AVX512-NEXT:    vextracti128 $1, %ymm12, %xmm155672; AVX512-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,zero,xmm15[6,13],zero,zero,xmm15[2,9,u,u,u,u,u,u,u]5673; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[1,8,15],zero,zero,xmm12[4,11],zero,zero,xmm12[u,u,u,u,u,u,u]5674; AVX512-NEXT:    vpor %xmm15, %xmm12, %xmm155675; AVX512-NEXT:    vmovdqa %ymm14, %ymm125676; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm9 ^ (ymm12 & (ymm1 ^ ymm9))5677; AVX512-NEXT:    vpblendw {{.*#+}} ymm12 = ymm12[0,1],ymm10[2],ymm12[3,4,5],ymm10[6],ymm12[7,8,9],ymm10[10],ymm12[11,12,13],ymm10[14],ymm12[15]5678; AVX512-NEXT:    vpshufb {{.*#+}} ymm12 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm12[0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]5679; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 | (ymm15 & ~mem)5680; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm8 ^ (ymm16 & (ymm12 ^ ymm8))5681; AVX512-NEXT:    vmovdqa64 %ymm12, %ymm195682; AVX512-NEXT:    vmovdqa %ymm0, %ymm85683; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm7 ^ (ymm8 & (ymm6 ^ ymm7))5684; AVX512-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[2,9],zero,zero,zero,xmm8[5,12],zero,zero,xmm8[u,u,u,u,u,u,u]5685; AVX512-NEXT:    vextracti128 $1, %ymm8, %xmm85686; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[0,7,14],zero,zero,xmm8[3,10,u,u,u,u,u,u,u]5687; AVX512-NEXT:    vpor %xmm15, %xmm8, %xmm85688; AVX512-NEXT:    vmovdqa %ymm13, %ymm155689; AVX512-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm9 ^ (ymm15 & (ymm1 ^ ymm9))5690; AVX512-NEXT:    vpblendw {{.*#+}} ymm15 = ymm15[0,1,2],ymm10[3],ymm15[4,5],ymm10[6],ymm15[7,8,9,10],ymm10[11],ymm15[12,13],ymm10[14],ymm15[15]5691; AVX512-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[1,8,15,6,13,4,11,18,25],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero5692; AVX512-NEXT:    vpmovsxdq {{.*#+}} ymm17 = [18446744073709551615,255,18446744073709486080,18446744073709551615]5693; AVX512-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm8 & ymm17)5694; AVX512-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm3 ^ (ymm14 & (ymm2 ^ ymm3))5695; AVX512-NEXT:    vextracti128 $1, %ymm14, %xmm85696; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u],zero,zero,zero,xmm8[5,12],zero,zero,xmm8[1,8,15,u,u,u,u]5697; AVX512-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,0,7,14],zero,zero,xmm14[3,10],zero,zero,zero,xmm14[u,u,u,u]5698; AVX512-NEXT:    vpor %xmm8, %xmm14, %xmm85699; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm85700; AVX512-NEXT:    vmovdqa64 %xmm20, %xmm125701; AVX512-NEXT:    vpshufb %xmm12, %xmm5, %xmm145702; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]5703; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm14[0],xmm12[1],xmm14[1],xmm12[2],xmm14[2],xmm12[3],xmm14[3]5704; AVX512-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm125705; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5,6],ymm12[7]5706; AVX512-NEXT:    vpblendw {{.*#+}} ymm8 = ymm15[0],ymm8[1,2,3,4,5,6,7],ymm15[8],ymm8[9,10,11,12,13,14,15]5707; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm15[0,1,2,3],ymm8[4,5,6,7]5708; AVX512-NEXT:    vmovdqa64 %ymm8, %ymm205709; AVX512-NEXT:    vmovdqa %ymm13, %ymm85710; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm3 ^ (ymm8 & (ymm2 ^ ymm3))5711; AVX512-NEXT:    vextracti128 $1, %ymm8, %xmm125712; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u],zero,zero,zero,xmm12[6,13],zero,zero,xmm12[2,9,u,u,u,u,u]5713; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,1,8,15],zero,zero,xmm8[4,11],zero,zero,xmm8[u,u,u,u,u]5714; AVX512-NEXT:    vpor %xmm12, %xmm8, %xmm85715; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm85716; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm5[5,12]5717; AVX512-NEXT:    vpshufb {{.*#+}} xmm14 = xmm4[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero5718; AVX512-NEXT:    vpor %xmm12, %xmm14, %xmm125719; AVX512-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm125720; AVX512-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,18446744073709551615,16777215]5721; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (ymm16 & (ymm12 ^ ymm8))5722; AVX512-NEXT:    vmovdqa %ymm11, %ymm85723; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm7 ^ (ymm8 & (ymm6 ^ ymm7))5724; AVX512-NEXT:    vpshufb {{.*#+}} xmm14 = xmm8[3,10],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[u,u,u,u,u,u,u]5725; AVX512-NEXT:    vextracti128 $1, %ymm8, %xmm85726; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[1,8,15],zero,zero,xmm8[4,11,u,u,u,u,u,u,u]5727; AVX512-NEXT:    vpor %xmm14, %xmm8, %xmm85728; AVX512-NEXT:    vmovdqa %ymm0, %ymm145729; AVX512-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm9 ^ (ymm14 & (ymm1 ^ ymm9))5730; AVX512-NEXT:    vpblendw {{.*#+}} ymm14 = ymm10[0],ymm14[1,2],ymm10[3],ymm14[4,5,6],ymm10[7,8],ymm14[9,10],ymm10[11],ymm14[12,13,14],ymm10[15]5731; AVX512-NEXT:    vpshufb {{.*#+}} ymm14 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm14[2,9,0,7,14,5,12,19,26],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero5732; AVX512-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm14 | (ymm8 & ymm17)5733; AVX512-NEXT:    vpblendw {{.*#+}} ymm8 = ymm14[0],ymm12[1,2,3,4,5,6,7],ymm14[8],ymm12[9,10,11,12,13,14,15]5734; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm8[4,5,6,7]5735; AVX512-NEXT:    vmovdqa64 %ymm8, %ymm215736; AVX512-NEXT:    vmovdqa %ymm0, %ymm85737; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm3 ^ (ymm8 & (ymm2 ^ ymm3))5738; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,2,9],zero,zero,zero,xmm8[5,12],zero,zero,xmm8[u,u,u,u,u]5739; AVX512-NEXT:    vextracti128 $1, %ymm8, %xmm85740; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u],zero,zero,xmm8[0,7,14],zero,zero,xmm8[3,10,u,u,u,u,u]5741; AVX512-NEXT:    vpor %xmm12, %xmm8, %xmm85742; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm85743; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm5[6,13]5744; AVX512-NEXT:    vpshufb {{.*#+}} xmm14 = xmm4[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero5745; AVX512-NEXT:    vpor %xmm12, %xmm14, %xmm125746; AVX512-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm125747; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (ymm16 & (ymm12 ^ ymm8))5748; AVX512-NEXT:    vmovdqa %ymm13, %ymm85749; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm6 ^ (ymm8 & (ymm7 ^ ymm6))5750; AVX512-NEXT:    vextracti128 $1, %ymm8, %xmm145751; AVX512-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,xmm14[2,9],zero,zero,zero,xmm14[5,12,u,u,u,u,u,u,u]5752; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[4,11],zero,zero,xmm8[0,7,14],zero,zero,xmm8[u,u,u,u,u,u,u]5753; AVX512-NEXT:    vpor %xmm14, %xmm8, %xmm85754; AVX512-NEXT:    vmovdqa %ymm11, %ymm145755; AVX512-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm9 ^ (ymm14 & (ymm1 ^ ymm9))5756; AVX512-NEXT:    vpblendw {{.*#+}} ymm14 = ymm10[0],ymm14[1,2,3],ymm10[4],ymm14[5,6],ymm10[7,8],ymm14[9,10,11],ymm10[12],ymm14[13,14],ymm10[15]5757; AVX512-NEXT:    vpshufb {{.*#+}} ymm14 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm14[3,10,1,8,15,6,13,20,27],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero5758; AVX512-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm14 | (ymm8 & ymm17)5759; AVX512-NEXT:    vpblendw {{.*#+}} ymm8 = ymm14[0],ymm12[1,2,3,4,5,6,7],ymm14[8],ymm12[9,10,11,12,13,14,15]5760; AVX512-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm8[4,5,6,7]5761; AVX512-NEXT:    vmovdqa %ymm11, %ymm85762; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm3 ^ (ymm8 & (ymm2 ^ ymm3))5763; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,3,10],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[u,u,u,u,u]5764; AVX512-NEXT:    vextracti128 $1, %ymm8, %xmm85765; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u],zero,zero,xmm8[1,8,15],zero,zero,xmm8[4,11,u,u,u,u,u]5766; AVX512-NEXT:    vpor %xmm12, %xmm8, %xmm85767; AVX512-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm85768; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero5769; AVX512-NEXT:    vpshufb {{.*#+}} xmm15 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm5[0,7,14]5770; AVX512-NEXT:    vpor %xmm12, %xmm15, %xmm125771; AVX512-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm125772; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (ymm16 & (ymm12 ^ ymm8))5773; AVX512-NEXT:    vmovdqa %ymm0, %ymm85774; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm6 ^ (ymm8 & (ymm7 ^ ymm6))5775; AVX512-NEXT:    vextracti128 $1, %ymm8, %xmm155776; AVX512-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[3,10],zero,zero,zero,xmm15[6,13,u,u,u,u,u,u,u]5777; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[5,12],zero,zero,xmm8[1,8,15],zero,zero,xmm8[u,u,u,u,u,u,u]5778; AVX512-NEXT:    vpor %xmm15, %xmm8, %xmm85779; AVX512-NEXT:    vmovdqa %ymm13, %ymm155780; AVX512-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm1 ^ (ymm15 & (ymm9 ^ ymm1))5781; AVX512-NEXT:    vpblendw {{.*#+}} ymm15 = ymm15[0],ymm10[1],ymm15[2,3],ymm10[4],ymm15[5,6,7,8],ymm10[9],ymm15[10,11],ymm10[12],ymm15[13,14,15]5782; AVX512-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[4,11,2,9,0,7,14,21,28],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero5783; AVX512-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm8 & ymm17)5784; AVX512-NEXT:    vpblendw {{.*#+}} ymm8 = ymm15[0],ymm12[1,2,3,4,5,6,7],ymm15[8],ymm12[9,10,11,12,13,14,15]5785; AVX512-NEXT:    vpblendd {{.*#+}} ymm8 = ymm15[0,1,2,3],ymm8[4,5,6,7]5786; AVX512-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm2 ^ (ymm13 & (ymm3 ^ ymm2))5787; AVX512-NEXT:    vextracti128 $1, %ymm13, %xmm25788; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[5,12,u,u,u,u,u]5789; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm13[u,u,4,11],zero,zero,xmm13[0,7,14],zero,zero,xmm13[u,u,u,u,u]5790; AVX512-NEXT:    vpor %xmm2, %xmm3, %xmm25791; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25792; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm4[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero5793; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm5[1,8,15]5794; AVX512-NEXT:    vpor %xmm3, %xmm4, %xmm35795; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35796; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (ymm16 & (ymm3 ^ ymm2))5797; AVX512-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm6 ^ (ymm11 & (ymm7 ^ ymm6))5798; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm11[6,13],zero,zero,xmm11[2,9],zero,zero,zero,xmm11[u,u,u,u,u,u,u]5799; AVX512-NEXT:    vextracti128 $1, %ymm11, %xmm45800; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,xmm4[4,11],zero,zero,xmm4[0,7,14,u,u,u,u,u,u,u]5801; AVX512-NEXT:    vpor %xmm2, %xmm4, %xmm25802; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm1 ^ (ymm0 & (ymm9 ^ ymm1))5803; AVX512-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0],ymm10[1],ymm0[2,3,4],ymm10[5],ymm0[6,7,8],ymm10[9],ymm0[10,11,12],ymm10[13],ymm0[14,15]5804; AVX512-NEXT:    vpshufb {{.*#+}} ymm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[5,12,3,10,1,8,15,22,29],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero5805; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 | (ymm2 & ymm17)5806; AVX512-NEXT:    vpblendw {{.*#+}} ymm1 = ymm0[0],ymm3[1,2,3,4,5,6,7],ymm0[8],ymm3[9,10,11,12,13,14,15]5807; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]5808; AVX512-NEXT:    vmovdqa64 %ymm18, (%rsi)5809; AVX512-NEXT:    vmovdqa64 %ymm19, (%rdx)5810; AVX512-NEXT:    vmovdqa64 %ymm20, (%rcx)5811; AVX512-NEXT:    vmovdqa64 %ymm21, (%r8)5812; AVX512-NEXT:    vmovdqa %ymm14, (%r9)5813; AVX512-NEXT:    vmovdqa %ymm8, (%r10)5814; AVX512-NEXT:    vmovdqa %ymm0, (%rax)5815; AVX512-NEXT:    vzeroupper5816; AVX512-NEXT:    retq5817;5818; AVX512-FCP-LABEL: load_i8_stride7_vf32:5819; AVX512-FCP:       # %bb.0:5820; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax5821; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r105822; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm0 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]5823; AVX512-FCP-NEXT:    vmovdqa 128(%rdi), %ymm25824; AVX512-FCP-NEXT:    vmovdqa 160(%rdi), %ymm35825; AVX512-FCP-NEXT:    vmovdqa %ymm0, %ymm15826; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm2 ^ (ymm1 & (ymm3 ^ ymm2))5827; AVX512-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm45828; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u],zero,zero,xmm4[3,10],zero,zero,zero,xmm4[6,13,u,u,u,u]5829; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,5,12],zero,zero,xmm1[1,8,15],zero,zero,xmm1[u,u,u,u]5830; AVX512-FCP-NEXT:    vpor %xmm4, %xmm1, %xmm15831; AVX512-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15832; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm4 = [0,0,0,0,1,2,4,6]5833; AVX512-FCP-NEXT:    vmovdqa 192(%rdi), %ymm125834; AVX512-FCP-NEXT:    vpermd %ymm12, %ymm4, %ymm45835; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = 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,16,23,26,29]5836; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm1[0,1,2,3,4,5,6],ymm4[7]5837; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm13 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]5838; AVX512-FCP-NEXT:    vmovdqa (%rdi), %ymm45839; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %ymm55840; AVX512-FCP-NEXT:    vmovdqa 64(%rdi), %ymm15841; AVX512-FCP-NEXT:    vmovdqa %ymm13, %ymm75842; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm5 ^ (ymm7 & (ymm4 ^ ymm5))5843; AVX512-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm85844; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,xmm8[5,12],zero,zero,xmm8[1,8,15,u,u,u,u,u,u]5845; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[0,7,14],zero,zero,xmm7[3,10],zero,zero,zero,xmm7[u,u,u,u,u,u]5846; AVX512-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm105847; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm9 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]5848; AVX512-FCP-NEXT:    vmovdqa 96(%rdi), %ymm75849; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm115850; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm1 ^ (ymm11 & (ymm7 ^ ymm1))5851; AVX512-FCP-NEXT:    vmovdqa 80(%rdi), %xmm85852; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm11 = ymm11[0,1],ymm8[2],ymm11[3,4],ymm8[5],ymm11[6,7,8,9],ymm8[10],ymm11[11,12],ymm8[13],ymm11[14,15]5853; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm11 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm11[6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]5854; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm11 | (ymm10 & mem)5855; AVX512-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,16777215,0]5856; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm6 ^ (ymm16 & (ymm11 ^ ymm6))5857; AVX512-FCP-NEXT:    vmovdqa64 %ymm11, %ymm185858; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm65859; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm2 ^ (ymm6 & (ymm3 ^ ymm2))5860; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm6[u,u,u,6,13],zero,zero,xmm6[2,9],zero,zero,zero,xmm6[u,u,u,u]5861; AVX512-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm65862; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u],zero,zero,xmm6[4,11],zero,zero,xmm6[0,7,14,u,u,u,u]5863; AVX512-FCP-NEXT:    vpor %xmm6, %xmm10, %xmm65864; AVX512-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm65865; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm10 = [0,0,0,0,1,3,4,6]5866; AVX512-FCP-NEXT:    vpermd %ymm12, %ymm10, %ymm105867; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm10 = 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,20,27,30]5868; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5,6],ymm10[7]5869; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm11 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]5870; AVX512-FCP-NEXT:    vmovdqa %ymm11, %ymm105871; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm5 ^ (ymm10 & (ymm4 ^ ymm5))5872; AVX512-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm145873; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,zero,xmm14[6,13],zero,zero,xmm14[2,9,u,u,u,u,u,u,u]5874; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[1,8,15],zero,zero,xmm10[4,11],zero,zero,xmm10[u,u,u,u,u,u,u]5875; AVX512-FCP-NEXT:    vpor %xmm14, %xmm10, %xmm145876; AVX512-FCP-NEXT:    vmovdqa %ymm13, %ymm105877; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm7 ^ (ymm10 & (ymm1 ^ ymm7))5878; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm10 = ymm10[0,1],ymm8[2],ymm10[3,4,5],ymm8[6],ymm10[7,8,9],ymm8[10],ymm10[11,12,13],ymm8[14],ymm10[15]5879; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm10 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm10[0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]5880; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm10 | (ymm14 & ~mem)5881; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm6 ^ (ymm16 & (ymm10 ^ ymm6))5882; AVX512-FCP-NEXT:    vmovdqa %ymm0, %ymm65883; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm5 ^ (ymm6 & (ymm4 ^ ymm5))5884; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm6[2,9],zero,zero,zero,xmm6[5,12],zero,zero,xmm6[u,u,u,u,u,u,u]5885; AVX512-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm65886; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,xmm6[0,7,14],zero,zero,xmm6[3,10,u,u,u,u,u,u,u]5887; AVX512-FCP-NEXT:    vpor %xmm6, %xmm14, %xmm65888; AVX512-FCP-NEXT:    vmovdqa %ymm11, %ymm145889; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm7 ^ (ymm14 & (ymm1 ^ ymm7))5890; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm14 = ymm14[0,1,2],ymm8[3],ymm14[4,5],ymm8[6],ymm14[7,8,9,10],ymm8[11],ymm14[12,13],ymm8[14],ymm14[15]5891; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm14 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm14[1,8,15,6,13,4,11,18,25],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero5892; AVX512-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm17 = [18446744073709551615,255,18446744073709486080,18446744073709551615]5893; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm14 | (ymm6 & ymm17)5894; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm3 ^ (ymm13 & (ymm2 ^ ymm3))5895; AVX512-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm65896; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u],zero,zero,zero,xmm6[5,12],zero,zero,xmm6[1,8,15,u,u,u,u]5897; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,0,7,14],zero,zero,xmm13[3,10],zero,zero,zero,xmm13[u,u,u,u]5898; AVX512-FCP-NEXT:    vpor %xmm6, %xmm13, %xmm65899; AVX512-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm65900; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm13 = [0,0,0,0,1,3,5,6]5901; AVX512-FCP-NEXT:    vpermd %ymm12, %ymm13, %ymm125902; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[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,21,24,31]5903; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5,6],ymm12[7]5904; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm14[0],ymm6[1,2,3,4,5,6,7],ymm14[8],ymm6[9,10,11,12,13,14,15]5905; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3],ymm6[4,5,6,7]5906; AVX512-FCP-NEXT:    vmovdqa64 %ymm6, %ymm195907; AVX512-FCP-NEXT:    vmovdqa %ymm11, %ymm65908; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm3 ^ (ymm6 & (ymm2 ^ ymm3))5909; AVX512-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm125910; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u],zero,zero,zero,xmm12[6,13],zero,zero,xmm12[2,9,u,u,u,u,u]5911; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,1,8,15],zero,zero,xmm6[4,11],zero,zero,xmm6[u,u,u,u,u]5912; AVX512-FCP-NEXT:    vpor %xmm6, %xmm12, %xmm65913; AVX512-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm65914; AVX512-FCP-NEXT:    vmovdqa 208(%rdi), %xmm145915; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm14[5,12]5916; AVX512-FCP-NEXT:    vmovdqa 192(%rdi), %xmm125917; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm12[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero5918; AVX512-FCP-NEXT:    vpor %xmm13, %xmm15, %xmm135919; AVX512-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm135920; AVX512-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,18446744073709551615,16777215]5921; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (ymm16 & (ymm13 ^ ymm6))5922; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm65923; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm5 ^ (ymm6 & (ymm4 ^ ymm5))5924; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm6[3,10],zero,zero,zero,xmm6[6,13],zero,zero,xmm6[u,u,u,u,u,u,u]5925; AVX512-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm65926; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,xmm6[1,8,15],zero,zero,xmm6[4,11,u,u,u,u,u,u,u]5927; AVX512-FCP-NEXT:    vpor %xmm6, %xmm15, %xmm65928; AVX512-FCP-NEXT:    vmovdqa %ymm0, %ymm155929; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm7 ^ (ymm15 & (ymm1 ^ ymm7))5930; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm15 = ymm8[0],ymm15[1,2],ymm8[3],ymm15[4,5,6],ymm8[7,8],ymm15[9,10],ymm8[11],ymm15[12,13,14],ymm8[15]5931; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[2,9,0,7,14,5,12,19,26],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero5932; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm6 & ymm17)5933; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm15[0],ymm13[1,2,3,4,5,6,7],ymm15[8],ymm13[9,10,11,12,13,14,15]5934; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm15[0,1,2,3],ymm6[4,5,6,7]5935; AVX512-FCP-NEXT:    vmovdqa64 %ymm6, %ymm205936; AVX512-FCP-NEXT:    vmovdqa %ymm0, %ymm65937; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm3 ^ (ymm6 & (ymm2 ^ ymm3))5938; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm6[u,u,2,9],zero,zero,zero,xmm6[5,12],zero,zero,xmm6[u,u,u,u,u]5939; AVX512-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm65940; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u],zero,zero,xmm6[0,7,14],zero,zero,xmm6[3,10,u,u,u,u,u]5941; AVX512-FCP-NEXT:    vpor %xmm6, %xmm13, %xmm65942; AVX512-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm65943; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm14[6,13]5944; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm12[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero5945; AVX512-FCP-NEXT:    vpor %xmm13, %xmm15, %xmm135946; AVX512-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm135947; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (ymm16 & (ymm13 ^ ymm6))5948; AVX512-FCP-NEXT:    vmovdqa %ymm11, %ymm65949; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm4 ^ (ymm6 & (ymm5 ^ ymm4))5950; AVX512-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm155951; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[2,9],zero,zero,zero,xmm15[5,12,u,u,u,u,u,u,u]5952; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[4,11],zero,zero,xmm6[0,7,14],zero,zero,xmm6[u,u,u,u,u,u,u]5953; AVX512-FCP-NEXT:    vpor %xmm6, %xmm15, %xmm65954; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm155955; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm7 ^ (ymm15 & (ymm1 ^ ymm7))5956; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm15 = ymm8[0],ymm15[1,2,3],ymm8[4],ymm15[5,6],ymm8[7,8],ymm15[9,10,11],ymm8[12],ymm15[13,14],ymm8[15]5957; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[3,10,1,8,15,6,13,20,27],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero5958; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm6 & ymm17)5959; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm15[0],ymm13[1,2,3,4,5,6,7],ymm15[8],ymm13[9,10,11,12,13,14,15]5960; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm15[0,1,2,3],ymm6[4,5,6,7]5961; AVX512-FCP-NEXT:    vmovdqa64 %ymm6, %ymm215962; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm65963; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm3 ^ (ymm6 & (ymm2 ^ ymm3))5964; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm6[u,u,3,10],zero,zero,zero,xmm6[6,13],zero,zero,xmm6[u,u,u,u,u]5965; AVX512-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm65966; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u],zero,zero,xmm6[1,8,15],zero,zero,xmm6[4,11,u,u,u,u,u]5967; AVX512-FCP-NEXT:    vpor %xmm6, %xmm15, %xmm65968; AVX512-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm65969; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm12[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero5970; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm14[0,7,14]5971; AVX512-FCP-NEXT:    vpor %xmm15, %xmm13, %xmm135972; AVX512-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm135973; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (ymm16 & (ymm13 ^ ymm6))5974; AVX512-FCP-NEXT:    vmovdqa %ymm0, %ymm65975; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm4 ^ (ymm6 & (ymm5 ^ ymm4))5976; AVX512-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm155977; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[3,10],zero,zero,zero,xmm15[6,13,u,u,u,u,u,u,u]5978; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[5,12],zero,zero,xmm6[1,8,15],zero,zero,xmm6[u,u,u,u,u,u,u]5979; AVX512-FCP-NEXT:    vpor %xmm6, %xmm15, %xmm65980; AVX512-FCP-NEXT:    vmovdqa %ymm11, %ymm155981; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm1 ^ (ymm15 & (ymm7 ^ ymm1))5982; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm15 = ymm15[0],ymm8[1],ymm15[2,3],ymm8[4],ymm15[5,6,7,8],ymm8[9],ymm15[10,11],ymm8[12],ymm15[13,14,15]5983; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[4,11,2,9,0,7,14,21,28],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero5984; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm6 & ymm17)5985; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm15[0],ymm13[1,2,3,4,5,6,7],ymm15[8],ymm13[9,10,11,12,13,14,15]5986; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm15[0,1,2,3],ymm6[4,5,6,7]5987; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm2 ^ (ymm11 & (ymm3 ^ ymm2))5988; AVX512-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm25989; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[5,12,u,u,u,u,u]5990; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm11[u,u,4,11],zero,zero,xmm11[0,7,14],zero,zero,xmm11[u,u,u,u,u]5991; AVX512-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm25992; AVX512-FCP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25993; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm12[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero5994; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm14[1,8,15]5995; AVX512-FCP-NEXT:    vpor %xmm3, %xmm11, %xmm35996; AVX512-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm35997; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (ymm16 & (ymm3 ^ ymm2))5998; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm4 ^ (ymm9 & (ymm5 ^ ymm4))5999; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm9[6,13],zero,zero,xmm9[2,9],zero,zero,zero,xmm9[u,u,u,u,u,u,u]6000; AVX512-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm46001; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,xmm4[4,11],zero,zero,xmm4[0,7,14,u,u,u,u,u,u,u]6002; AVX512-FCP-NEXT:    vpor %xmm2, %xmm4, %xmm26003; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm1 ^ (ymm0 & (ymm7 ^ ymm1))6004; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0],ymm8[1],ymm0[2,3,4],ymm8[5],ymm0[6,7,8],ymm8[9],ymm0[10,11,12],ymm8[13],ymm0[14,15]6005; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[5,12,3,10,1,8,15,22,29],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6006; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 | (ymm2 & ymm17)6007; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm0[0],ymm3[1,2,3,4,5,6,7],ymm0[8],ymm3[9,10,11,12,13,14,15]6008; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6009; AVX512-FCP-NEXT:    vmovdqa64 %ymm18, (%rsi)6010; AVX512-FCP-NEXT:    vmovdqa %ymm10, (%rdx)6011; AVX512-FCP-NEXT:    vmovdqa64 %ymm19, (%rcx)6012; AVX512-FCP-NEXT:    vmovdqa64 %ymm20, (%r8)6013; AVX512-FCP-NEXT:    vmovdqa64 %ymm21, (%r9)6014; AVX512-FCP-NEXT:    vmovdqa %ymm6, (%r10)6015; AVX512-FCP-NEXT:    vmovdqa %ymm0, (%rax)6016; AVX512-FCP-NEXT:    vzeroupper6017; AVX512-FCP-NEXT:    retq6018;6019; AVX512DQ-LABEL: load_i8_stride7_vf32:6020; AVX512DQ:       # %bb.0:6021; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax6022; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %r106023; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm0 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]6024; AVX512DQ-NEXT:    vmovdqa 128(%rdi), %ymm26025; AVX512DQ-NEXT:    vmovdqa 160(%rdi), %ymm36026; AVX512DQ-NEXT:    vmovdqa %ymm0, %ymm16027; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm2 ^ (ymm1 & (ymm3 ^ ymm2))6028; AVX512DQ-NEXT:    vextracti128 $1, %ymm1, %xmm46029; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u],zero,zero,xmm4[3,10],zero,zero,zero,xmm4[6,13,u,u,u,u]6030; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,5,12],zero,zero,xmm1[1,8,15],zero,zero,xmm1[u,u,u,u]6031; AVX512DQ-NEXT:    vpor %xmm4, %xmm1, %xmm16032; AVX512DQ-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm16033; AVX512DQ-NEXT:    vmovdqa 192(%rdi), %xmm46034; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [0,0,4,11,0,0,4,11,0,0,4,11,0,0,4,11]6035; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm4, %xmm66036; AVX512DQ-NEXT:    vmovdqa64 %xmm5, %xmm206037; AVX512DQ-NEXT:    vmovdqa 208(%rdi), %xmm56038; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = xmm5[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]6039; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1],xmm6[2],xmm7[2],xmm6[3],xmm7[3]6040; AVX512DQ-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66041; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm12 = ymm1[0,1,2,3,4,5,6],ymm6[7]6042; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm14 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]6043; AVX512DQ-NEXT:    vmovdqa (%rdi), %ymm66044; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %ymm76045; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %ymm16046; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm96047; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm7 ^ (ymm9 & (ymm6 ^ ymm7))6048; AVX512DQ-NEXT:    vextracti128 $1, %ymm9, %xmm106049; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[5,12],zero,zero,xmm10[1,8,15,u,u,u,u,u,u]6050; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[0,7,14],zero,zero,xmm9[3,10],zero,zero,zero,xmm9[u,u,u,u,u,u]6051; AVX512DQ-NEXT:    vpor %xmm10, %xmm9, %xmm136052; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm11 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]6053; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %ymm96054; AVX512DQ-NEXT:    vmovdqa %ymm11, %ymm156055; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm1 ^ (ymm15 & (ymm9 ^ ymm1))6056; AVX512DQ-NEXT:    vmovdqa 80(%rdi), %xmm106057; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm15 = ymm15[0,1],ymm10[2],ymm15[3,4],ymm10[5],ymm15[6,7,8,9],ymm10[10],ymm15[11,12],ymm10[13],ymm15[14,15]6058; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]6059; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 | (ymm13 & mem)6060; AVX512DQ-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,16777215,0]6061; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm12 ^ (ymm16 & (ymm8 ^ ymm12))6062; AVX512DQ-NEXT:    vmovdqa64 %ymm8, %ymm186063; AVX512DQ-NEXT:    vmovdqa %ymm11, %ymm126064; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm2 ^ (ymm12 & (ymm3 ^ ymm2))6065; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm13 = xmm12[u,u,u,6,13],zero,zero,xmm12[2,9],zero,zero,zero,xmm12[u,u,u,u]6066; AVX512DQ-NEXT:    vextracti128 $1, %ymm12, %xmm126067; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u],zero,zero,xmm12[4,11],zero,zero,xmm12[0,7,14,u,u,u,u]6068; AVX512DQ-NEXT:    vpor %xmm13, %xmm12, %xmm126069; AVX512DQ-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm126070; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm13 = xmm5[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]6071; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm4[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]6072; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm8[0],xmm13[0],xmm8[1],xmm13[1],xmm8[2],xmm13[2],xmm8[3],xmm13[3]6073; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86074; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm12[0,1,2,3,4,5,6],ymm8[7]6075; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm13 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]6076; AVX512DQ-NEXT:    vmovdqa %ymm13, %ymm126077; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm7 ^ (ymm12 & (ymm6 ^ ymm7))6078; AVX512DQ-NEXT:    vextracti128 $1, %ymm12, %xmm156079; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,zero,xmm15[6,13],zero,zero,xmm15[2,9,u,u,u,u,u,u,u]6080; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[1,8,15],zero,zero,xmm12[4,11],zero,zero,xmm12[u,u,u,u,u,u,u]6081; AVX512DQ-NEXT:    vpor %xmm15, %xmm12, %xmm156082; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm126083; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm9 ^ (ymm12 & (ymm1 ^ ymm9))6084; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm12 = ymm12[0,1],ymm10[2],ymm12[3,4,5],ymm10[6],ymm12[7,8,9],ymm10[10],ymm12[11,12,13],ymm10[14],ymm12[15]6085; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm12 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm12[0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]6086; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 | (ymm15 & ~mem)6087; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm8 ^ (ymm16 & (ymm12 ^ ymm8))6088; AVX512DQ-NEXT:    vmovdqa64 %ymm12, %ymm196089; AVX512DQ-NEXT:    vmovdqa %ymm0, %ymm86090; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm7 ^ (ymm8 & (ymm6 ^ ymm7))6091; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[2,9],zero,zero,zero,xmm8[5,12],zero,zero,xmm8[u,u,u,u,u,u,u]6092; AVX512DQ-NEXT:    vextracti128 $1, %ymm8, %xmm86093; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[0,7,14],zero,zero,xmm8[3,10,u,u,u,u,u,u,u]6094; AVX512DQ-NEXT:    vpor %xmm15, %xmm8, %xmm86095; AVX512DQ-NEXT:    vmovdqa %ymm13, %ymm156096; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm9 ^ (ymm15 & (ymm1 ^ ymm9))6097; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm15 = ymm15[0,1,2],ymm10[3],ymm15[4,5],ymm10[6],ymm15[7,8,9,10],ymm10[11],ymm15[12,13],ymm10[14],ymm15[15]6098; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[1,8,15,6,13,4,11,18,25],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6099; AVX512DQ-NEXT:    vpmovsxdq {{.*#+}} ymm17 = [18446744073709551615,255,18446744073709486080,18446744073709551615]6100; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm8 & ymm17)6101; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm3 ^ (ymm14 & (ymm2 ^ ymm3))6102; AVX512DQ-NEXT:    vextracti128 $1, %ymm14, %xmm86103; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u],zero,zero,zero,xmm8[5,12],zero,zero,xmm8[1,8,15,u,u,u,u]6104; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,0,7,14],zero,zero,xmm14[3,10],zero,zero,zero,xmm14[u,u,u,u]6105; AVX512DQ-NEXT:    vpor %xmm8, %xmm14, %xmm86106; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86107; AVX512DQ-NEXT:    vmovdqa64 %xmm20, %xmm126108; AVX512DQ-NEXT:    vpshufb %xmm12, %xmm5, %xmm146109; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]6110; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm14[0],xmm12[1],xmm14[1],xmm12[2],xmm14[2],xmm12[3],xmm14[3]6111; AVX512DQ-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm126112; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5,6],ymm12[7]6113; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm8 = ymm15[0],ymm8[1,2,3,4,5,6,7],ymm15[8],ymm8[9,10,11,12,13,14,15]6114; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm15[0,1,2,3],ymm8[4,5,6,7]6115; AVX512DQ-NEXT:    vmovdqa64 %ymm8, %ymm206116; AVX512DQ-NEXT:    vmovdqa %ymm13, %ymm86117; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm3 ^ (ymm8 & (ymm2 ^ ymm3))6118; AVX512DQ-NEXT:    vextracti128 $1, %ymm8, %xmm126119; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u],zero,zero,zero,xmm12[6,13],zero,zero,xmm12[2,9,u,u,u,u,u]6120; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,1,8,15],zero,zero,xmm8[4,11],zero,zero,xmm8[u,u,u,u,u]6121; AVX512DQ-NEXT:    vpor %xmm12, %xmm8, %xmm86122; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86123; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm5[5,12]6124; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm14 = xmm4[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero6125; AVX512DQ-NEXT:    vpor %xmm12, %xmm14, %xmm126126; AVX512DQ-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm126127; AVX512DQ-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,18446744073709551615,16777215]6128; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (ymm16 & (ymm12 ^ ymm8))6129; AVX512DQ-NEXT:    vmovdqa %ymm11, %ymm86130; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm7 ^ (ymm8 & (ymm6 ^ ymm7))6131; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm14 = xmm8[3,10],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[u,u,u,u,u,u,u]6132; AVX512DQ-NEXT:    vextracti128 $1, %ymm8, %xmm86133; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm8[1,8,15],zero,zero,xmm8[4,11,u,u,u,u,u,u,u]6134; AVX512DQ-NEXT:    vpor %xmm14, %xmm8, %xmm86135; AVX512DQ-NEXT:    vmovdqa %ymm0, %ymm146136; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm9 ^ (ymm14 & (ymm1 ^ ymm9))6137; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm14 = ymm10[0],ymm14[1,2],ymm10[3],ymm14[4,5,6],ymm10[7,8],ymm14[9,10],ymm10[11],ymm14[12,13,14],ymm10[15]6138; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm14 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm14[2,9,0,7,14,5,12,19,26],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6139; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm14 | (ymm8 & ymm17)6140; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm8 = ymm14[0],ymm12[1,2,3,4,5,6,7],ymm14[8],ymm12[9,10,11,12,13,14,15]6141; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm8[4,5,6,7]6142; AVX512DQ-NEXT:    vmovdqa64 %ymm8, %ymm216143; AVX512DQ-NEXT:    vmovdqa %ymm0, %ymm86144; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm3 ^ (ymm8 & (ymm2 ^ ymm3))6145; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,2,9],zero,zero,zero,xmm8[5,12],zero,zero,xmm8[u,u,u,u,u]6146; AVX512DQ-NEXT:    vextracti128 $1, %ymm8, %xmm86147; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u],zero,zero,xmm8[0,7,14],zero,zero,xmm8[3,10,u,u,u,u,u]6148; AVX512DQ-NEXT:    vpor %xmm12, %xmm8, %xmm86149; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86150; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm5[6,13]6151; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm14 = xmm4[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero6152; AVX512DQ-NEXT:    vpor %xmm12, %xmm14, %xmm126153; AVX512DQ-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm126154; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (ymm16 & (ymm12 ^ ymm8))6155; AVX512DQ-NEXT:    vmovdqa %ymm13, %ymm86156; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm6 ^ (ymm8 & (ymm7 ^ ymm6))6157; AVX512DQ-NEXT:    vextracti128 $1, %ymm8, %xmm146158; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,xmm14[2,9],zero,zero,zero,xmm14[5,12,u,u,u,u,u,u,u]6159; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[4,11],zero,zero,xmm8[0,7,14],zero,zero,xmm8[u,u,u,u,u,u,u]6160; AVX512DQ-NEXT:    vpor %xmm14, %xmm8, %xmm86161; AVX512DQ-NEXT:    vmovdqa %ymm11, %ymm146162; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm9 ^ (ymm14 & (ymm1 ^ ymm9))6163; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm14 = ymm10[0],ymm14[1,2,3],ymm10[4],ymm14[5,6],ymm10[7,8],ymm14[9,10,11],ymm10[12],ymm14[13,14],ymm10[15]6164; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm14 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm14[3,10,1,8,15,6,13,20,27],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6165; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm14 | (ymm8 & ymm17)6166; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm8 = ymm14[0],ymm12[1,2,3,4,5,6,7],ymm14[8],ymm12[9,10,11,12,13,14,15]6167; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm14 = ymm14[0,1,2,3],ymm8[4,5,6,7]6168; AVX512DQ-NEXT:    vmovdqa %ymm11, %ymm86169; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm3 ^ (ymm8 & (ymm2 ^ ymm3))6170; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,3,10],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[u,u,u,u,u]6171; AVX512DQ-NEXT:    vextracti128 $1, %ymm8, %xmm86172; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u],zero,zero,xmm8[1,8,15],zero,zero,xmm8[4,11,u,u,u,u,u]6173; AVX512DQ-NEXT:    vpor %xmm12, %xmm8, %xmm86174; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86175; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero6176; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm15 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm5[0,7,14]6177; AVX512DQ-NEXT:    vpor %xmm12, %xmm15, %xmm126178; AVX512DQ-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm126179; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (ymm16 & (ymm12 ^ ymm8))6180; AVX512DQ-NEXT:    vmovdqa %ymm0, %ymm86181; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm6 ^ (ymm8 & (ymm7 ^ ymm6))6182; AVX512DQ-NEXT:    vextracti128 $1, %ymm8, %xmm156183; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[3,10],zero,zero,zero,xmm15[6,13,u,u,u,u,u,u,u]6184; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[5,12],zero,zero,xmm8[1,8,15],zero,zero,xmm8[u,u,u,u,u,u,u]6185; AVX512DQ-NEXT:    vpor %xmm15, %xmm8, %xmm86186; AVX512DQ-NEXT:    vmovdqa %ymm13, %ymm156187; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm1 ^ (ymm15 & (ymm9 ^ ymm1))6188; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm15 = ymm15[0],ymm10[1],ymm15[2,3],ymm10[4],ymm15[5,6,7,8],ymm10[9],ymm15[10,11],ymm10[12],ymm15[13,14,15]6189; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[4,11,2,9,0,7,14,21,28],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6190; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm8 & ymm17)6191; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm8 = ymm15[0],ymm12[1,2,3,4,5,6,7],ymm15[8],ymm12[9,10,11,12,13,14,15]6192; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm8 = ymm15[0,1,2,3],ymm8[4,5,6,7]6193; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm2 ^ (ymm13 & (ymm3 ^ ymm2))6194; AVX512DQ-NEXT:    vextracti128 $1, %ymm13, %xmm26195; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[5,12,u,u,u,u,u]6196; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm13[u,u,4,11],zero,zero,xmm13[0,7,14],zero,zero,xmm13[u,u,u,u,u]6197; AVX512DQ-NEXT:    vpor %xmm2, %xmm3, %xmm26198; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm26199; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm4[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero6200; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm5[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm5[1,8,15]6201; AVX512DQ-NEXT:    vpor %xmm3, %xmm4, %xmm36202; AVX512DQ-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm36203; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (ymm16 & (ymm3 ^ ymm2))6204; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm6 ^ (ymm11 & (ymm7 ^ ymm6))6205; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm11[6,13],zero,zero,xmm11[2,9],zero,zero,zero,xmm11[u,u,u,u,u,u,u]6206; AVX512DQ-NEXT:    vextracti128 $1, %ymm11, %xmm46207; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,xmm4[4,11],zero,zero,xmm4[0,7,14,u,u,u,u,u,u,u]6208; AVX512DQ-NEXT:    vpor %xmm2, %xmm4, %xmm26209; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm1 ^ (ymm0 & (ymm9 ^ ymm1))6210; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0],ymm10[1],ymm0[2,3,4],ymm10[5],ymm0[6,7,8],ymm10[9],ymm0[10,11,12],ymm10[13],ymm0[14,15]6211; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[5,12,3,10,1,8,15,22,29],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6212; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 | (ymm2 & ymm17)6213; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm1 = ymm0[0],ymm3[1,2,3,4,5,6,7],ymm0[8],ymm3[9,10,11,12,13,14,15]6214; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6215; AVX512DQ-NEXT:    vmovdqa64 %ymm18, (%rsi)6216; AVX512DQ-NEXT:    vmovdqa64 %ymm19, (%rdx)6217; AVX512DQ-NEXT:    vmovdqa64 %ymm20, (%rcx)6218; AVX512DQ-NEXT:    vmovdqa64 %ymm21, (%r8)6219; AVX512DQ-NEXT:    vmovdqa %ymm14, (%r9)6220; AVX512DQ-NEXT:    vmovdqa %ymm8, (%r10)6221; AVX512DQ-NEXT:    vmovdqa %ymm0, (%rax)6222; AVX512DQ-NEXT:    vzeroupper6223; AVX512DQ-NEXT:    retq6224;6225; AVX512DQ-FCP-LABEL: load_i8_stride7_vf32:6226; AVX512DQ-FCP:       # %bb.0:6227; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6228; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r106229; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm0 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]6230; AVX512DQ-FCP-NEXT:    vmovdqa 128(%rdi), %ymm26231; AVX512DQ-FCP-NEXT:    vmovdqa 160(%rdi), %ymm36232; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, %ymm16233; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm2 ^ (ymm1 & (ymm3 ^ ymm2))6234; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm46235; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u],zero,zero,xmm4[3,10],zero,zero,zero,xmm4[6,13,u,u,u,u]6236; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,5,12],zero,zero,xmm1[1,8,15],zero,zero,xmm1[u,u,u,u]6237; AVX512DQ-FCP-NEXT:    vpor %xmm4, %xmm1, %xmm16238; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm16239; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm4 = [0,0,0,0,1,2,4,6]6240; AVX512DQ-FCP-NEXT:    vmovdqa 192(%rdi), %ymm126241; AVX512DQ-FCP-NEXT:    vpermd %ymm12, %ymm4, %ymm46242; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = 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,16,23,26,29]6243; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm1[0,1,2,3,4,5,6],ymm4[7]6244; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm13 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]6245; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %ymm46246; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %ymm56247; AVX512DQ-FCP-NEXT:    vmovdqa 64(%rdi), %ymm16248; AVX512DQ-FCP-NEXT:    vmovdqa %ymm13, %ymm76249; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm5 ^ (ymm7 & (ymm4 ^ ymm5))6250; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm86251; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,xmm8[5,12],zero,zero,xmm8[1,8,15,u,u,u,u,u,u]6252; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[0,7,14],zero,zero,xmm7[3,10],zero,zero,zero,xmm7[u,u,u,u,u,u]6253; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm106254; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm9 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]6255; AVX512DQ-FCP-NEXT:    vmovdqa 96(%rdi), %ymm76256; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm116257; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm1 ^ (ymm11 & (ymm7 ^ ymm1))6258; AVX512DQ-FCP-NEXT:    vmovdqa 80(%rdi), %xmm86259; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm11 = ymm11[0,1],ymm8[2],ymm11[3,4],ymm8[5],ymm11[6,7,8,9],ymm8[10],ymm11[11,12],ymm8[13],ymm11[14,15]6260; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm11 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm11[6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]6261; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm11 | (ymm10 & mem)6262; AVX512DQ-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,16777215,0]6263; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm6 ^ (ymm16 & (ymm11 ^ ymm6))6264; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm11, %ymm186265; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm66266; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm2 ^ (ymm6 & (ymm3 ^ ymm2))6267; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm6[u,u,u,6,13],zero,zero,xmm6[2,9],zero,zero,zero,xmm6[u,u,u,u]6268; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm66269; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u],zero,zero,xmm6[4,11],zero,zero,xmm6[0,7,14,u,u,u,u]6270; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm10, %xmm66271; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66272; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm10 = [0,0,0,0,1,3,4,6]6273; AVX512DQ-FCP-NEXT:    vpermd %ymm12, %ymm10, %ymm106274; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm10 = 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,20,27,30]6275; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5,6],ymm10[7]6276; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm11 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]6277; AVX512DQ-FCP-NEXT:    vmovdqa %ymm11, %ymm106278; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm5 ^ (ymm10 & (ymm4 ^ ymm5))6279; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm146280; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,zero,xmm14[6,13],zero,zero,xmm14[2,9,u,u,u,u,u,u,u]6281; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[1,8,15],zero,zero,xmm10[4,11],zero,zero,xmm10[u,u,u,u,u,u,u]6282; AVX512DQ-FCP-NEXT:    vpor %xmm14, %xmm10, %xmm146283; AVX512DQ-FCP-NEXT:    vmovdqa %ymm13, %ymm106284; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm7 ^ (ymm10 & (ymm1 ^ ymm7))6285; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm10 = ymm10[0,1],ymm8[2],ymm10[3,4,5],ymm8[6],ymm10[7,8,9],ymm8[10],ymm10[11,12,13],ymm8[14],ymm10[15]6286; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm10 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm10[0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]6287; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm10 | (ymm14 & ~mem)6288; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm6 ^ (ymm16 & (ymm10 ^ ymm6))6289; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, %ymm66290; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm5 ^ (ymm6 & (ymm4 ^ ymm5))6291; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm6[2,9],zero,zero,zero,xmm6[5,12],zero,zero,xmm6[u,u,u,u,u,u,u]6292; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm66293; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,xmm6[0,7,14],zero,zero,xmm6[3,10,u,u,u,u,u,u,u]6294; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm14, %xmm66295; AVX512DQ-FCP-NEXT:    vmovdqa %ymm11, %ymm146296; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm7 ^ (ymm14 & (ymm1 ^ ymm7))6297; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm14 = ymm14[0,1,2],ymm8[3],ymm14[4,5],ymm8[6],ymm14[7,8,9,10],ymm8[11],ymm14[12,13],ymm8[14],ymm14[15]6298; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm14 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm14[1,8,15,6,13,4,11,18,25],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6299; AVX512DQ-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm17 = [18446744073709551615,255,18446744073709486080,18446744073709551615]6300; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm14 | (ymm6 & ymm17)6301; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm3 ^ (ymm13 & (ymm2 ^ ymm3))6302; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm66303; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u],zero,zero,zero,xmm6[5,12],zero,zero,xmm6[1,8,15,u,u,u,u]6304; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,0,7,14],zero,zero,xmm13[3,10],zero,zero,zero,xmm13[u,u,u,u]6305; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm13, %xmm66306; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66307; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm13 = [0,0,0,0,1,3,5,6]6308; AVX512DQ-FCP-NEXT:    vpermd %ymm12, %ymm13, %ymm126309; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[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,21,24,31]6310; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5,6],ymm12[7]6311; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm14[0],ymm6[1,2,3,4,5,6,7],ymm14[8],ymm6[9,10,11,12,13,14,15]6312; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm14[0,1,2,3],ymm6[4,5,6,7]6313; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm6, %ymm196314; AVX512DQ-FCP-NEXT:    vmovdqa %ymm11, %ymm66315; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm3 ^ (ymm6 & (ymm2 ^ ymm3))6316; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm126317; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u],zero,zero,zero,xmm12[6,13],zero,zero,xmm12[2,9,u,u,u,u,u]6318; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,1,8,15],zero,zero,xmm6[4,11],zero,zero,xmm6[u,u,u,u,u]6319; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm12, %xmm66320; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66321; AVX512DQ-FCP-NEXT:    vmovdqa 208(%rdi), %xmm146322; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm14[5,12]6323; AVX512DQ-FCP-NEXT:    vmovdqa 192(%rdi), %xmm126324; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm12[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero6325; AVX512DQ-FCP-NEXT:    vpor %xmm13, %xmm15, %xmm136326; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136327; AVX512DQ-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,18446744073709551615,16777215]6328; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (ymm16 & (ymm13 ^ ymm6))6329; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm66330; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm5 ^ (ymm6 & (ymm4 ^ ymm5))6331; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm6[3,10],zero,zero,zero,xmm6[6,13],zero,zero,xmm6[u,u,u,u,u,u,u]6332; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm66333; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,xmm6[1,8,15],zero,zero,xmm6[4,11,u,u,u,u,u,u,u]6334; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm15, %xmm66335; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, %ymm156336; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm7 ^ (ymm15 & (ymm1 ^ ymm7))6337; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm15 = ymm8[0],ymm15[1,2],ymm8[3],ymm15[4,5,6],ymm8[7,8],ymm15[9,10],ymm8[11],ymm15[12,13,14],ymm8[15]6338; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[2,9,0,7,14,5,12,19,26],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6339; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm6 & ymm17)6340; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm15[0],ymm13[1,2,3,4,5,6,7],ymm15[8],ymm13[9,10,11,12,13,14,15]6341; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm15[0,1,2,3],ymm6[4,5,6,7]6342; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm6, %ymm206343; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, %ymm66344; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm3 ^ (ymm6 & (ymm2 ^ ymm3))6345; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm6[u,u,2,9],zero,zero,zero,xmm6[5,12],zero,zero,xmm6[u,u,u,u,u]6346; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm66347; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u],zero,zero,xmm6[0,7,14],zero,zero,xmm6[3,10,u,u,u,u,u]6348; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm13, %xmm66349; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66350; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm14[6,13]6351; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm12[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero6352; AVX512DQ-FCP-NEXT:    vpor %xmm13, %xmm15, %xmm136353; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136354; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (ymm16 & (ymm13 ^ ymm6))6355; AVX512DQ-FCP-NEXT:    vmovdqa %ymm11, %ymm66356; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm4 ^ (ymm6 & (ymm5 ^ ymm4))6357; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm156358; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[2,9],zero,zero,zero,xmm15[5,12,u,u,u,u,u,u,u]6359; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[4,11],zero,zero,xmm6[0,7,14],zero,zero,xmm6[u,u,u,u,u,u,u]6360; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm15, %xmm66361; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm156362; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm7 ^ (ymm15 & (ymm1 ^ ymm7))6363; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm15 = ymm8[0],ymm15[1,2,3],ymm8[4],ymm15[5,6],ymm8[7,8],ymm15[9,10,11],ymm8[12],ymm15[13,14],ymm8[15]6364; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[3,10,1,8,15,6,13,20,27],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6365; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm6 & ymm17)6366; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm15[0],ymm13[1,2,3,4,5,6,7],ymm15[8],ymm13[9,10,11,12,13,14,15]6367; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm15[0,1,2,3],ymm6[4,5,6,7]6368; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm6, %ymm216369; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm66370; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm3 ^ (ymm6 & (ymm2 ^ ymm3))6371; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm6[u,u,3,10],zero,zero,zero,xmm6[6,13],zero,zero,xmm6[u,u,u,u,u]6372; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm66373; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u],zero,zero,xmm6[1,8,15],zero,zero,xmm6[4,11,u,u,u,u,u]6374; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm15, %xmm66375; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66376; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm12[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero6377; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm14[0,7,14]6378; AVX512DQ-FCP-NEXT:    vpor %xmm15, %xmm13, %xmm136379; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136380; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (ymm16 & (ymm13 ^ ymm6))6381; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, %ymm66382; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm4 ^ (ymm6 & (ymm5 ^ ymm4))6383; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm156384; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[3,10],zero,zero,zero,xmm15[6,13,u,u,u,u,u,u,u]6385; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[5,12],zero,zero,xmm6[1,8,15],zero,zero,xmm6[u,u,u,u,u,u,u]6386; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm15, %xmm66387; AVX512DQ-FCP-NEXT:    vmovdqa %ymm11, %ymm156388; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm1 ^ (ymm15 & (ymm7 ^ ymm1))6389; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm15 = ymm15[0],ymm8[1],ymm15[2,3],ymm8[4],ymm15[5,6,7,8],ymm8[9],ymm15[10,11],ymm8[12],ymm15[13,14,15]6390; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[4,11,2,9,0,7,14,21,28],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6391; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm6 & ymm17)6392; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm15[0],ymm13[1,2,3,4,5,6,7],ymm15[8],ymm13[9,10,11,12,13,14,15]6393; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm15[0,1,2,3],ymm6[4,5,6,7]6394; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm2 ^ (ymm11 & (ymm3 ^ ymm2))6395; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm26396; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[5,12,u,u,u,u,u]6397; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm11[u,u,4,11],zero,zero,xmm11[0,7,14],zero,zero,xmm11[u,u,u,u,u]6398; AVX512DQ-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm26399; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm26400; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm12[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero6401; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm14[1,8,15]6402; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm11, %xmm36403; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm36404; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (ymm16 & (ymm3 ^ ymm2))6405; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm4 ^ (ymm9 & (ymm5 ^ ymm4))6406; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm9[6,13],zero,zero,xmm9[2,9],zero,zero,zero,xmm9[u,u,u,u,u,u,u]6407; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm46408; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,xmm4[4,11],zero,zero,xmm4[0,7,14,u,u,u,u,u,u,u]6409; AVX512DQ-FCP-NEXT:    vpor %xmm2, %xmm4, %xmm26410; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm1 ^ (ymm0 & (ymm7 ^ ymm1))6411; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0],ymm8[1],ymm0[2,3,4],ymm8[5],ymm0[6,7,8],ymm8[9],ymm0[10,11,12],ymm8[13],ymm0[14,15]6412; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[5,12,3,10,1,8,15,22,29],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero6413; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 | (ymm2 & ymm17)6414; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm0[0],ymm3[1,2,3,4,5,6,7],ymm0[8],ymm3[9,10,11,12,13,14,15]6415; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm1[4,5,6,7]6416; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm18, (%rsi)6417; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, (%rdx)6418; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm19, (%rcx)6419; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm20, (%r8)6420; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm21, (%r9)6421; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, (%r10)6422; AVX512DQ-FCP-NEXT:    vmovdqa %ymm0, (%rax)6423; AVX512DQ-FCP-NEXT:    vzeroupper6424; AVX512DQ-FCP-NEXT:    retq6425;6426; AVX512BW-LABEL: load_i8_stride7_vf32:6427; AVX512BW:       # %bb.0:6428; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax6429; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %r106430; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [16,9,2,19,20,13,6,23,24,0,26,27,28,0,30,31]6431; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm16432; AVX512BW-NEXT:    vpermw %zmm1, %zmm0, %zmm06433; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [16,9,2,19,12,5,22,23,24,0,26,27,0,29,30,31]6434; AVX512BW-NEXT:    vpermw %zmm1, %zmm2, %zmm46435; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [8,1,2,19,12,5,22,15,0,9,26,11,0,29,14,0]6436; AVX512BW-NEXT:    vpermw %zmm1, %zmm2, %zmm56437; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [8,1,18,11,4,5,22,15,0,25,10,0,12,29,14,0]6438; AVX512BW-NEXT:    vpermw %zmm1, %zmm2, %zmm116439; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,1,18,11,4,21,14,7,8,25,10,0,28,13,0,15]6440; AVX512BW-NEXT:    vpermw %zmm1, %zmm2, %zmm126441; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,17,10,3,4,21,14,7,24,9,0,11,28,13,0,31]6442; AVX512BW-NEXT:    vpermw %zmm1, %zmm2, %zmm106443; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [16,17,10,3,20,13,6,23,24,25,0,27,28,0,30,31]6444; AVX512BW-NEXT:    vpermw %zmm1, %zmm2, %zmm66445; AVX512BW-NEXT:    vmovdqa (%rdi), %ymm36446; AVX512BW-NEXT:    vmovdqa 32(%rdi), %ymm26447; AVX512BW-NEXT:    movw $-28382, %r11w # imm = 0x91226448; AVX512BW-NEXT:    kmovd %r11d, %k56449; AVX512BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm1 {%k5}6450; AVX512BW-NEXT:    vextracti128 $1, %ymm1, %xmm76451; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[5,12],zero,zero,xmm7[1,8,15,u,u,u,u,u,u]6452; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[0,7,14],zero,zero,xmm1[3,10],zero,zero,zero,xmm1[u,u,u,u,u,u]6453; AVX512BW-NEXT:    vpor %xmm7, %xmm1, %xmm16454; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]6455; AVX512BW-NEXT:    movw $992, %r11w # imm = 0x3E06456; AVX512BW-NEXT:    kmovd %r11d, %k16457; AVX512BW-NEXT:    vmovdqu16 %ymm6, %ymm1 {%k1}6458; AVX512BW-NEXT:    vmovdqa 128(%rdi), %ymm76459; AVX512BW-NEXT:    vmovdqa 160(%rdi), %ymm66460; AVX512BW-NEXT:    movw $8772, %r11w # imm = 0x22446461; AVX512BW-NEXT:    kmovd %r11d, %k16462; AVX512BW-NEXT:    vpblendmw %ymm7, %ymm6, %ymm8 {%k1}6463; AVX512BW-NEXT:    vextracti128 $1, %ymm8, %xmm96464; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u],zero,zero,xmm9[3,10],zero,zero,zero,xmm9[6,13,u,u,u,u]6465; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,5,12],zero,zero,xmm8[1,8,15],zero,zero,xmm8[u,u,u,u]6466; AVX512BW-NEXT:    vpor %xmm9, %xmm8, %xmm86467; AVX512BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm136468; AVX512BW-NEXT:    vmovdqa 192(%rdi), %xmm86469; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]6470; AVX512BW-NEXT:    vpshufb %xmm14, %xmm8, %xmm156471; AVX512BW-NEXT:    vmovdqa 208(%rdi), %xmm96472; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm9[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]6473; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm15[0],xmm16[0],xmm15[1],xmm16[1],xmm15[2],xmm16[2],xmm15[3],xmm16[3]6474; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156475; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5,6],ymm15[7]6476; AVX512BW-NEXT:    movl $-524288, %edi # imm = 0xFFF800006477; AVX512BW-NEXT:    kmovd %edi, %k46478; AVX512BW-NEXT:    vmovdqu8 %ymm13, %ymm1 {%k4}6479; AVX512BW-NEXT:    movw $4644, %di # imm = 0x12246480; AVX512BW-NEXT:    kmovd %edi, %k26481; AVX512BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm13 {%k2}6482; AVX512BW-NEXT:    vextracti128 $1, %ymm13, %xmm156483; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,zero,xmm15[6,13],zero,zero,xmm15[2,9,u,u,u,u,u,u,u]6484; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[1,8,15],zero,zero,xmm13[4,11],zero,zero,xmm13[u,u,u,u,u,u,u]6485; AVX512BW-NEXT:    vpor %xmm15, %xmm13, %xmm136486; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm10 = ymm10[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]6487; AVX512BW-NEXT:    movl $511, %edi # imm = 0x1FF6488; AVX512BW-NEXT:    kmovd %edi, %k36489; AVX512BW-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k3}6490; AVX512BW-NEXT:    movw $9288, %di # imm = 0x24486491; AVX512BW-NEXT:    kmovd %edi, %k36492; AVX512BW-NEXT:    vpblendmw %ymm7, %ymm6, %ymm13 {%k3}6493; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm13[u,u,u,6,13],zero,zero,xmm13[2,9],zero,zero,zero,xmm13[u,u,u,u]6494; AVX512BW-NEXT:    vextracti128 $1, %ymm13, %xmm136495; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u],zero,zero,xmm13[4,11],zero,zero,xmm13[0,7,14,u,u,u,u]6496; AVX512BW-NEXT:    vpor %xmm15, %xmm13, %xmm136497; AVX512BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136498; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm9[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]6499; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm8[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]6500; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm16[0],xmm15[0],xmm16[1],xmm15[1],xmm16[2],xmm15[2],xmm16[3],xmm15[3]6501; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156502; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5,6],ymm15[7]6503; AVX512BW-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k4}6504; AVX512BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm13 {%k1}6505; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm13[2,9],zero,zero,zero,xmm13[5,12],zero,zero,xmm13[u,u,u,u,u,u,u]6506; AVX512BW-NEXT:    vextracti128 $1, %ymm13, %xmm136507; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,xmm13[0,7,14],zero,zero,xmm13[3,10,u,u,u,u,u,u,u]6508; AVX512BW-NEXT:    vpor %xmm15, %xmm13, %xmm136509; AVX512BW-NEXT:    movl $261632, %edi # imm = 0x3FE006510; AVX512BW-NEXT:    kmovd %edi, %k46511; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm13 {%k4} = ymm12[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6512; AVX512BW-NEXT:    vpblendmw %ymm6, %ymm7, %ymm12 {%k5}6513; AVX512BW-NEXT:    vextracti128 $1, %ymm12, %xmm156514; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u],zero,zero,zero,xmm15[5,12],zero,zero,xmm15[1,8,15,u,u,u,u]6515; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,0,7,14],zero,zero,xmm12[3,10],zero,zero,zero,xmm12[u,u,u,u]6516; AVX512BW-NEXT:    vpor %xmm15, %xmm12, %xmm126517; AVX512BW-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm126518; AVX512BW-NEXT:    vpshufb %xmm14, %xmm9, %xmm146519; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]6520; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]6521; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146522; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5,6],ymm14[7]6523; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm12 = ymm13[0],ymm12[1,2,3,4,5,6,7],ymm13[8],ymm12[9,10,11,12,13,14,15]6524; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]6525; AVX512BW-NEXT:    vpblendmw %ymm6, %ymm7, %ymm13 {%k2}6526; AVX512BW-NEXT:    vextracti128 $1, %ymm13, %xmm146527; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u],zero,zero,zero,xmm14[6,13],zero,zero,xmm14[2,9,u,u,u,u,u]6528; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,1,8,15],zero,zero,xmm13[4,11],zero,zero,xmm13[u,u,u,u,u]6529; AVX512BW-NEXT:    vpor %xmm14, %xmm13, %xmm136530; AVX512BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136531; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm9[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm9[5,12]6532; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero6533; AVX512BW-NEXT:    vpor %xmm14, %xmm15, %xmm146534; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146535; AVX512BW-NEXT:    movl $-134217728, %edi # imm = 0xF80000006536; AVX512BW-NEXT:    kmovd %edi, %k56537; AVX512BW-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}6538; AVX512BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm14 {%k3}6539; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm14[3,10],zero,zero,zero,xmm14[6,13],zero,zero,xmm14[u,u,u,u,u,u,u]6540; AVX512BW-NEXT:    vextracti128 $1, %ymm14, %xmm146541; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,xmm14[1,8,15],zero,zero,xmm14[4,11,u,u,u,u,u,u,u]6542; AVX512BW-NEXT:    vpor %xmm15, %xmm14, %xmm146543; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm11[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6544; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm11 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]6545; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm11 = ymm14[0,1,2,3],ymm11[4,5,6,7]6546; AVX512BW-NEXT:    vpblendmw %ymm6, %ymm7, %ymm13 {%k1}6547; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,2,9],zero,zero,zero,xmm13[5,12],zero,zero,xmm13[u,u,u,u,u]6548; AVX512BW-NEXT:    vextracti128 $1, %ymm13, %xmm136549; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u],zero,zero,xmm13[0,7,14],zero,zero,xmm13[3,10,u,u,u,u,u]6550; AVX512BW-NEXT:    vpor %xmm14, %xmm13, %xmm136551; AVX512BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136552; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm9[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm9[6,13]6553; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero6554; AVX512BW-NEXT:    vpor %xmm14, %xmm15, %xmm146555; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146556; AVX512BW-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}6557; AVX512BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm14 {%k2}6558; AVX512BW-NEXT:    vextracti128 $1, %ymm14, %xmm156559; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[2,9],zero,zero,zero,xmm15[5,12,u,u,u,u,u,u,u]6560; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[4,11],zero,zero,xmm14[0,7,14],zero,zero,xmm14[u,u,u,u,u,u,u]6561; AVX512BW-NEXT:    vpor %xmm15, %xmm14, %xmm146562; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm5[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6563; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm5 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]6564; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm5 = ymm14[0,1,2,3],ymm5[4,5,6,7]6565; AVX512BW-NEXT:    vpblendmw %ymm6, %ymm7, %ymm13 {%k3}6566; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,3,10],zero,zero,zero,xmm13[6,13],zero,zero,xmm13[u,u,u,u,u]6567; AVX512BW-NEXT:    vextracti128 $1, %ymm13, %xmm136568; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u],zero,zero,xmm13[1,8,15],zero,zero,xmm13[4,11,u,u,u,u,u]6569; AVX512BW-NEXT:    vpor %xmm14, %xmm13, %xmm136570; AVX512BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136571; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm8[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero6572; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm9[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm9[0,7,14]6573; AVX512BW-NEXT:    vpor %xmm14, %xmm15, %xmm146574; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146575; AVX512BW-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}6576; AVX512BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm14 {%k1}6577; AVX512BW-NEXT:    vextracti128 $1, %ymm14, %xmm156578; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[3,10],zero,zero,zero,xmm15[6,13,u,u,u,u,u,u,u]6579; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[5,12],zero,zero,xmm14[1,8,15],zero,zero,xmm14[u,u,u,u,u,u,u]6580; AVX512BW-NEXT:    vpor %xmm15, %xmm14, %xmm146581; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm4[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6582; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm4 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]6583; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm14[0,1,2,3],ymm4[4,5,6,7]6584; AVX512BW-NEXT:    vmovdqu16 %ymm7, %ymm6 {%k2}6585; AVX512BW-NEXT:    vextracti128 $1, %ymm6, %xmm76586; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u],zero,zero,xmm7[2,9],zero,zero,zero,xmm7[5,12,u,u,u,u,u]6587; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,4,11],zero,zero,xmm6[0,7,14],zero,zero,xmm6[u,u,u,u,u]6588; AVX512BW-NEXT:    vpor %xmm7, %xmm6, %xmm66589; AVX512BW-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66590; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm8[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero6591; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm9[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm9[1,8,15]6592; AVX512BW-NEXT:    vpor %xmm7, %xmm8, %xmm76593; AVX512BW-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm76594; AVX512BW-NEXT:    vmovdqu8 %ymm7, %ymm6 {%k5}6595; AVX512BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k3}6596; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u,u,u,u,u,u]6597; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm26598; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u,u,u,u]6599; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm26600; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm2 {%k4} = ymm0[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6601; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm0 = ymm2[0],ymm6[1,2,3,4,5,6,7],ymm2[8],ymm6[9,10,11,12,13,14,15]6602; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]6603; AVX512BW-NEXT:    vmovdqa %ymm1, (%rsi)6604; AVX512BW-NEXT:    vmovdqa %ymm10, (%rdx)6605; AVX512BW-NEXT:    vmovdqa %ymm12, (%rcx)6606; AVX512BW-NEXT:    vmovdqa %ymm11, (%r8)6607; AVX512BW-NEXT:    vmovdqa %ymm5, (%r9)6608; AVX512BW-NEXT:    vmovdqa %ymm4, (%r10)6609; AVX512BW-NEXT:    vmovdqa %ymm0, (%rax)6610; AVX512BW-NEXT:    vzeroupper6611; AVX512BW-NEXT:    retq6612;6613; AVX512BW-FCP-LABEL: load_i8_stride7_vf32:6614; AVX512BW-FCP:       # %bb.0:6615; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6616; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r106617; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [16,9,2,19,20,13,6,23,24,17,26,27,28,21,30,31]6618; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm16619; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm06620; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [16,9,2,19,12,5,22,23,24,17,26,27,20,29,30,31]6621; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm46622; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [8,1,2,19,12,5,22,15,0,9,26,11,4,29,14,7]6623; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm56624; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [8,1,18,11,4,5,22,15,0,25,10,3,12,29,14,7]6625; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm96626; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,1,18,11,4,21,14,7,8,25,10,3,28,13,6,15]6627; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm106628; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,17,10,3,4,21,14,7,24,9,2,11,28,13,6,31]6629; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm86630; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [16,17,10,3,20,13,6,23,24,25,18,27,28,21,30,31]6631; AVX512BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm66632; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %ymm36633; AVX512BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm26634; AVX512BW-FCP-NEXT:    movw $-28382, %r11w # imm = 0x91226635; AVX512BW-FCP-NEXT:    kmovd %r11d, %k56636; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm1 {%k5}6637; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm76638; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[5,12],zero,zero,xmm7[1,8,15,u,u,u,u,u,u]6639; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[0,7,14],zero,zero,xmm1[3,10],zero,zero,zero,xmm1[u,u,u,u,u,u]6640; AVX512BW-FCP-NEXT:    vpor %xmm7, %xmm1, %xmm16641; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]6642; AVX512BW-FCP-NEXT:    movw $992, %r11w # imm = 0x3E06643; AVX512BW-FCP-NEXT:    kmovd %r11d, %k16644; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm6, %ymm1 {%k1}6645; AVX512BW-FCP-NEXT:    vmovdqa 128(%rdi), %ymm76646; AVX512BW-FCP-NEXT:    vmovdqa 160(%rdi), %ymm66647; AVX512BW-FCP-NEXT:    movw $8772, %r11w # imm = 0x22446648; AVX512BW-FCP-NEXT:    kmovd %r11d, %k16649; AVX512BW-FCP-NEXT:    vpblendmw %ymm7, %ymm6, %ymm11 {%k1}6650; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm126651; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u],zero,zero,xmm12[3,10],zero,zero,zero,xmm12[6,13,u,u,u,u]6652; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,5,12],zero,zero,xmm11[1,8,15],zero,zero,xmm11[u,u,u,u]6653; AVX512BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm116654; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm116655; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm12 = [0,0,0,0,1,2,4,6]6656; AVX512BW-FCP-NEXT:    vmovdqa 192(%rdi), %ymm136657; AVX512BW-FCP-NEXT:    vpermd %ymm13, %ymm12, %ymm126658; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[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,23,26,29]6659; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,6],ymm12[7]6660; AVX512BW-FCP-NEXT:    movl $-524288, %r11d # imm = 0xFFF800006661; AVX512BW-FCP-NEXT:    kmovd %r11d, %k46662; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm11, %ymm1 {%k4}6663; AVX512BW-FCP-NEXT:    movw $4644, %r11w # imm = 0x12246664; AVX512BW-FCP-NEXT:    kmovd %r11d, %k26665; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm11 {%k2}6666; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm126667; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,zero,xmm12[6,13],zero,zero,xmm12[2,9,u,u,u,u,u,u,u]6668; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[1,8,15],zero,zero,xmm11[4,11],zero,zero,xmm11[u,u,u,u,u,u,u]6669; AVX512BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm116670; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = ymm8[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]6671; AVX512BW-FCP-NEXT:    movl $511, %r11d # imm = 0x1FF6672; AVX512BW-FCP-NEXT:    kmovd %r11d, %k36673; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm11, %ymm8 {%k3}6674; AVX512BW-FCP-NEXT:    movw $9288, %r11w # imm = 0x24486675; AVX512BW-FCP-NEXT:    kmovd %r11d, %k36676; AVX512BW-FCP-NEXT:    vpblendmw %ymm7, %ymm6, %ymm11 {%k3}6677; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm11[u,u,u,6,13],zero,zero,xmm11[2,9],zero,zero,zero,xmm11[u,u,u,u]6678; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm116679; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u],zero,zero,xmm11[4,11],zero,zero,xmm11[0,7,14,u,u,u,u]6680; AVX512BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm116681; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm116682; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm12 = [0,0,0,0,1,3,4,6]6683; AVX512BW-FCP-NEXT:    vpermd %ymm13, %ymm12, %ymm126684; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[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,20,27,30]6685; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,6],ymm12[7]6686; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm11, %ymm8 {%k4}6687; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm11 {%k1}6688; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm11[2,9],zero,zero,zero,xmm11[5,12],zero,zero,xmm11[u,u,u,u,u,u,u]6689; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm116690; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[0,7,14],zero,zero,xmm11[3,10,u,u,u,u,u,u,u]6691; AVX512BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm116692; AVX512BW-FCP-NEXT:    movl $261632, %r11d # imm = 0x3FE006693; AVX512BW-FCP-NEXT:    kmovd %r11d, %k46694; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm11 {%k4} = ymm10[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6695; AVX512BW-FCP-NEXT:    vpblendmw %ymm6, %ymm7, %ymm10 {%k5}6696; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm126697; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u],zero,zero,zero,xmm12[5,12],zero,zero,xmm12[1,8,15,u,u,u,u]6698; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,0,7,14],zero,zero,xmm10[3,10],zero,zero,zero,xmm10[u,u,u,u]6699; AVX512BW-FCP-NEXT:    vpor %xmm12, %xmm10, %xmm106700; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm106701; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm12 = [0,0,0,0,1,3,5,6]6702; AVX512BW-FCP-NEXT:    vpermd %ymm13, %ymm12, %ymm126703; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[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,21,24,31]6704; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm12[7]6705; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} ymm10 = ymm11[0],ymm10[1,2,3,4,5,6,7],ymm11[8],ymm10[9,10,11,12,13,14,15]6706; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]6707; AVX512BW-FCP-NEXT:    vpblendmw %ymm6, %ymm7, %ymm11 {%k2}6708; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm126709; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u],zero,zero,zero,xmm12[6,13],zero,zero,xmm12[2,9,u,u,u,u,u]6710; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,1,8,15],zero,zero,xmm11[4,11],zero,zero,xmm11[u,u,u,u,u]6711; AVX512BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm116712; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm136713; AVX512BW-FCP-NEXT:    vmovdqa 208(%rdi), %xmm116714; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm11[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[5,12]6715; AVX512BW-FCP-NEXT:    vmovdqa 192(%rdi), %xmm126716; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm12[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero6717; AVX512BW-FCP-NEXT:    vpor %xmm14, %xmm15, %xmm146718; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146719; AVX512BW-FCP-NEXT:    movl $-134217728, %edi # imm = 0xF80000006720; AVX512BW-FCP-NEXT:    kmovd %edi, %k56721; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}6722; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm14 {%k3}6723; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm14[3,10],zero,zero,zero,xmm14[6,13],zero,zero,xmm14[u,u,u,u,u,u,u]6724; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm14, %xmm146725; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,xmm14[1,8,15],zero,zero,xmm14[4,11,u,u,u,u,u,u,u]6726; AVX512BW-FCP-NEXT:    vpor %xmm15, %xmm14, %xmm146727; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm9[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6728; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} ymm9 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]6729; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm14[0,1,2,3],ymm9[4,5,6,7]6730; AVX512BW-FCP-NEXT:    vpblendmw %ymm6, %ymm7, %ymm13 {%k1}6731; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,2,9],zero,zero,zero,xmm13[5,12],zero,zero,xmm13[u,u,u,u,u]6732; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm136733; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u],zero,zero,xmm13[0,7,14],zero,zero,xmm13[3,10,u,u,u,u,u]6734; AVX512BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm136735; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136736; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm11[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[6,13]6737; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm12[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero6738; AVX512BW-FCP-NEXT:    vpor %xmm14, %xmm15, %xmm146739; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146740; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}6741; AVX512BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm14 {%k2}6742; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm14, %xmm156743; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[2,9],zero,zero,zero,xmm15[5,12,u,u,u,u,u,u,u]6744; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[4,11],zero,zero,xmm14[0,7,14],zero,zero,xmm14[u,u,u,u,u,u,u]6745; AVX512BW-FCP-NEXT:    vpor %xmm15, %xmm14, %xmm146746; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm5[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6747; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} ymm5 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]6748; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm14[0,1,2,3],ymm5[4,5,6,7]6749; AVX512BW-FCP-NEXT:    vpblendmw %ymm6, %ymm7, %ymm13 {%k3}6750; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,3,10],zero,zero,zero,xmm13[6,13],zero,zero,xmm13[u,u,u,u,u]6751; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm136752; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u],zero,zero,xmm13[1,8,15],zero,zero,xmm13[4,11,u,u,u,u,u]6753; AVX512BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm136754; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136755; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm12[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero6756; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm11[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm11[0,7,14]6757; AVX512BW-FCP-NEXT:    vpor %xmm14, %xmm15, %xmm146758; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146759; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}6760; AVX512BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm14 {%k1}6761; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm14, %xmm156762; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[3,10],zero,zero,zero,xmm15[6,13,u,u,u,u,u,u,u]6763; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[5,12],zero,zero,xmm14[1,8,15],zero,zero,xmm14[u,u,u,u,u,u,u]6764; AVX512BW-FCP-NEXT:    vpor %xmm15, %xmm14, %xmm146765; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm4[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6766; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]6767; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm14[0,1,2,3],ymm4[4,5,6,7]6768; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm7, %ymm6 {%k2}6769; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm76770; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u],zero,zero,xmm7[2,9],zero,zero,zero,xmm7[5,12,u,u,u,u,u]6771; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,4,11],zero,zero,xmm6[0,7,14],zero,zero,xmm6[u,u,u,u,u]6772; AVX512BW-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm66773; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66774; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm12[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero6775; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm11[1,8,15]6776; AVX512BW-FCP-NEXT:    vpor %xmm7, %xmm11, %xmm76777; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm76778; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm7, %ymm6 {%k5}6779; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k3}6780; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u,u,u,u,u,u]6781; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm26782; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u,u,u,u]6783; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm26784; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm2 {%k4} = ymm0[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6785; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm2[0],ymm6[1,2,3,4,5,6,7],ymm2[8],ymm6[9,10,11,12,13,14,15]6786; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]6787; AVX512BW-FCP-NEXT:    vmovdqa %ymm1, (%rsi)6788; AVX512BW-FCP-NEXT:    vmovdqa %ymm8, (%rdx)6789; AVX512BW-FCP-NEXT:    vmovdqa %ymm10, (%rcx)6790; AVX512BW-FCP-NEXT:    vmovdqa %ymm9, (%r8)6791; AVX512BW-FCP-NEXT:    vmovdqa %ymm5, (%r9)6792; AVX512BW-FCP-NEXT:    vmovdqa %ymm4, (%r10)6793; AVX512BW-FCP-NEXT:    vmovdqa %ymm0, (%rax)6794; AVX512BW-FCP-NEXT:    vzeroupper6795; AVX512BW-FCP-NEXT:    retq6796;6797; AVX512DQ-BW-LABEL: load_i8_stride7_vf32:6798; AVX512DQ-BW:       # %bb.0:6799; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax6800; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %r106801; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [16,9,2,19,20,13,6,23,24,0,26,27,28,0,30,31]6802; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm16803; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm0, %zmm06804; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [16,9,2,19,12,5,22,23,24,0,26,27,0,29,30,31]6805; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm2, %zmm46806; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [8,1,2,19,12,5,22,15,0,9,26,11,0,29,14,0]6807; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm2, %zmm56808; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [8,1,18,11,4,5,22,15,0,25,10,0,12,29,14,0]6809; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm2, %zmm116810; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,1,18,11,4,21,14,7,8,25,10,0,28,13,0,15]6811; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm2, %zmm126812; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,17,10,3,4,21,14,7,24,9,0,11,28,13,0,31]6813; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm2, %zmm106814; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [16,17,10,3,20,13,6,23,24,25,0,27,28,0,30,31]6815; AVX512DQ-BW-NEXT:    vpermw %zmm1, %zmm2, %zmm66816; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %ymm36817; AVX512DQ-BW-NEXT:    vmovdqa 32(%rdi), %ymm26818; AVX512DQ-BW-NEXT:    movw $-28382, %r11w # imm = 0x91226819; AVX512DQ-BW-NEXT:    kmovd %r11d, %k56820; AVX512DQ-BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm1 {%k5}6821; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm1, %xmm76822; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[5,12],zero,zero,xmm7[1,8,15,u,u,u,u,u,u]6823; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[0,7,14],zero,zero,xmm1[3,10],zero,zero,zero,xmm1[u,u,u,u,u,u]6824; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm1, %xmm16825; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]6826; AVX512DQ-BW-NEXT:    movw $992, %r11w # imm = 0x3E06827; AVX512DQ-BW-NEXT:    kmovd %r11d, %k16828; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm6, %ymm1 {%k1}6829; AVX512DQ-BW-NEXT:    vmovdqa 128(%rdi), %ymm76830; AVX512DQ-BW-NEXT:    vmovdqa 160(%rdi), %ymm66831; AVX512DQ-BW-NEXT:    movw $8772, %r11w # imm = 0x22446832; AVX512DQ-BW-NEXT:    kmovd %r11d, %k16833; AVX512DQ-BW-NEXT:    vpblendmw %ymm7, %ymm6, %ymm8 {%k1}6834; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm8, %xmm96835; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u],zero,zero,xmm9[3,10],zero,zero,zero,xmm9[6,13,u,u,u,u]6836; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,5,12],zero,zero,xmm8[1,8,15],zero,zero,xmm8[u,u,u,u]6837; AVX512DQ-BW-NEXT:    vpor %xmm9, %xmm8, %xmm86838; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm136839; AVX512DQ-BW-NEXT:    vmovdqa 192(%rdi), %xmm86840; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm14 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]6841; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm8, %xmm156842; AVX512DQ-BW-NEXT:    vmovdqa 208(%rdi), %xmm96843; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm9[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]6844; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm15[0],xmm16[0],xmm15[1],xmm16[1],xmm15[2],xmm16[2],xmm15[3],xmm16[3]6845; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156846; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5,6],ymm15[7]6847; AVX512DQ-BW-NEXT:    movl $-524288, %edi # imm = 0xFFF800006848; AVX512DQ-BW-NEXT:    kmovd %edi, %k46849; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm13, %ymm1 {%k4}6850; AVX512DQ-BW-NEXT:    movw $4644, %di # imm = 0x12246851; AVX512DQ-BW-NEXT:    kmovd %edi, %k26852; AVX512DQ-BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm13 {%k2}6853; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm13, %xmm156854; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,zero,xmm15[6,13],zero,zero,xmm15[2,9,u,u,u,u,u,u,u]6855; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[1,8,15],zero,zero,xmm13[4,11],zero,zero,xmm13[u,u,u,u,u,u,u]6856; AVX512DQ-BW-NEXT:    vpor %xmm15, %xmm13, %xmm136857; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm10 = ymm10[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]6858; AVX512DQ-BW-NEXT:    movl $511, %edi # imm = 0x1FF6859; AVX512DQ-BW-NEXT:    kmovd %edi, %k36860; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k3}6861; AVX512DQ-BW-NEXT:    movw $9288, %di # imm = 0x24486862; AVX512DQ-BW-NEXT:    kmovd %edi, %k36863; AVX512DQ-BW-NEXT:    vpblendmw %ymm7, %ymm6, %ymm13 {%k3}6864; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm13[u,u,u,6,13],zero,zero,xmm13[2,9],zero,zero,zero,xmm13[u,u,u,u]6865; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm13, %xmm136866; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u],zero,zero,xmm13[4,11],zero,zero,xmm13[0,7,14,u,u,u,u]6867; AVX512DQ-BW-NEXT:    vpor %xmm15, %xmm13, %xmm136868; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136869; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm9[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]6870; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm8[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]6871; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm15 = xmm16[0],xmm15[0],xmm16[1],xmm15[1],xmm16[2],xmm15[2],xmm16[3],xmm15[3]6872; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm156873; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm13 = ymm13[0,1,2,3,4,5,6],ymm15[7]6874; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k4}6875; AVX512DQ-BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm13 {%k1}6876; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm13[2,9],zero,zero,zero,xmm13[5,12],zero,zero,xmm13[u,u,u,u,u,u,u]6877; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm13, %xmm136878; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,xmm13[0,7,14],zero,zero,xmm13[3,10,u,u,u,u,u,u,u]6879; AVX512DQ-BW-NEXT:    vpor %xmm15, %xmm13, %xmm136880; AVX512DQ-BW-NEXT:    movl $261632, %edi # imm = 0x3FE006881; AVX512DQ-BW-NEXT:    kmovd %edi, %k46882; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm13 {%k4} = ymm12[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6883; AVX512DQ-BW-NEXT:    vpblendmw %ymm6, %ymm7, %ymm12 {%k5}6884; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm12, %xmm156885; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u],zero,zero,zero,xmm15[5,12],zero,zero,xmm15[1,8,15,u,u,u,u]6886; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,0,7,14],zero,zero,xmm12[3,10],zero,zero,zero,xmm12[u,u,u,u]6887; AVX512DQ-BW-NEXT:    vpor %xmm15, %xmm12, %xmm126888; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm126889; AVX512DQ-BW-NEXT:    vpshufb %xmm14, %xmm9, %xmm146890; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]6891; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1],xmm15[2],xmm14[2],xmm15[3],xmm14[3]6892; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146893; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5,6],ymm14[7]6894; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm12 = ymm13[0],ymm12[1,2,3,4,5,6,7],ymm13[8],ymm12[9,10,11,12,13,14,15]6895; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm12 = ymm13[0,1,2,3],ymm12[4,5,6,7]6896; AVX512DQ-BW-NEXT:    vpblendmw %ymm6, %ymm7, %ymm13 {%k2}6897; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm13, %xmm146898; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u],zero,zero,zero,xmm14[6,13],zero,zero,xmm14[2,9,u,u,u,u,u]6899; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,1,8,15],zero,zero,xmm13[4,11],zero,zero,xmm13[u,u,u,u,u]6900; AVX512DQ-BW-NEXT:    vpor %xmm14, %xmm13, %xmm136901; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136902; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm9[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm9[5,12]6903; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero6904; AVX512DQ-BW-NEXT:    vpor %xmm14, %xmm15, %xmm146905; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146906; AVX512DQ-BW-NEXT:    movl $-134217728, %edi # imm = 0xF80000006907; AVX512DQ-BW-NEXT:    kmovd %edi, %k56908; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}6909; AVX512DQ-BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm14 {%k3}6910; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm14[3,10],zero,zero,zero,xmm14[6,13],zero,zero,xmm14[u,u,u,u,u,u,u]6911; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm14, %xmm146912; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,xmm14[1,8,15],zero,zero,xmm14[4,11,u,u,u,u,u,u,u]6913; AVX512DQ-BW-NEXT:    vpor %xmm15, %xmm14, %xmm146914; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm11[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6915; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm11 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]6916; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm11 = ymm14[0,1,2,3],ymm11[4,5,6,7]6917; AVX512DQ-BW-NEXT:    vpblendmw %ymm6, %ymm7, %ymm13 {%k1}6918; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,2,9],zero,zero,zero,xmm13[5,12],zero,zero,xmm13[u,u,u,u,u]6919; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm13, %xmm136920; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u],zero,zero,xmm13[0,7,14],zero,zero,xmm13[3,10,u,u,u,u,u]6921; AVX512DQ-BW-NEXT:    vpor %xmm14, %xmm13, %xmm136922; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136923; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm9[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm9[6,13]6924; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero6925; AVX512DQ-BW-NEXT:    vpor %xmm14, %xmm15, %xmm146926; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146927; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}6928; AVX512DQ-BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm14 {%k2}6929; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm14, %xmm156930; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[2,9],zero,zero,zero,xmm15[5,12,u,u,u,u,u,u,u]6931; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[4,11],zero,zero,xmm14[0,7,14],zero,zero,xmm14[u,u,u,u,u,u,u]6932; AVX512DQ-BW-NEXT:    vpor %xmm15, %xmm14, %xmm146933; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm5[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6934; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm5 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]6935; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm5 = ymm14[0,1,2,3],ymm5[4,5,6,7]6936; AVX512DQ-BW-NEXT:    vpblendmw %ymm6, %ymm7, %ymm13 {%k3}6937; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,3,10],zero,zero,zero,xmm13[6,13],zero,zero,xmm13[u,u,u,u,u]6938; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm13, %xmm136939; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u],zero,zero,xmm13[1,8,15],zero,zero,xmm13[4,11,u,u,u,u,u]6940; AVX512DQ-BW-NEXT:    vpor %xmm14, %xmm13, %xmm136941; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm136942; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm8[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero6943; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm9[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm9[0,7,14]6944; AVX512DQ-BW-NEXT:    vpor %xmm14, %xmm15, %xmm146945; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm146946; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}6947; AVX512DQ-BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm14 {%k1}6948; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm14, %xmm156949; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[3,10],zero,zero,zero,xmm15[6,13,u,u,u,u,u,u,u]6950; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[5,12],zero,zero,xmm14[1,8,15],zero,zero,xmm14[u,u,u,u,u,u,u]6951; AVX512DQ-BW-NEXT:    vpor %xmm15, %xmm14, %xmm146952; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm4[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6953; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm4 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]6954; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm14[0,1,2,3],ymm4[4,5,6,7]6955; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm7, %ymm6 {%k2}6956; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm6, %xmm76957; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u],zero,zero,xmm7[2,9],zero,zero,zero,xmm7[5,12,u,u,u,u,u]6958; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,4,11],zero,zero,xmm6[0,7,14],zero,zero,xmm6[u,u,u,u,u]6959; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm6, %xmm66960; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66961; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm8[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero6962; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm9[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm9[1,8,15]6963; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm8, %xmm76964; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm76965; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm7, %ymm6 {%k5}6966; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k3}6967; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u,u,u,u,u,u]6968; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm26969; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u,u,u,u]6970; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm26971; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm2 {%k4} = ymm0[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]6972; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm0 = ymm2[0],ymm6[1,2,3,4,5,6,7],ymm2[8],ymm6[9,10,11,12,13,14,15]6973; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]6974; AVX512DQ-BW-NEXT:    vmovdqa %ymm1, (%rsi)6975; AVX512DQ-BW-NEXT:    vmovdqa %ymm10, (%rdx)6976; AVX512DQ-BW-NEXT:    vmovdqa %ymm12, (%rcx)6977; AVX512DQ-BW-NEXT:    vmovdqa %ymm11, (%r8)6978; AVX512DQ-BW-NEXT:    vmovdqa %ymm5, (%r9)6979; AVX512DQ-BW-NEXT:    vmovdqa %ymm4, (%r10)6980; AVX512DQ-BW-NEXT:    vmovdqa %ymm0, (%rax)6981; AVX512DQ-BW-NEXT:    vzeroupper6982; AVX512DQ-BW-NEXT:    retq6983;6984; AVX512DQ-BW-FCP-LABEL: load_i8_stride7_vf32:6985; AVX512DQ-BW-FCP:       # %bb.0:6986; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax6987; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %r106988; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [16,9,2,19,20,13,6,23,24,17,26,27,28,21,30,31]6989; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm16990; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm0, %zmm06991; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [16,9,2,19,12,5,22,23,24,17,26,27,20,29,30,31]6992; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm46993; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [8,1,2,19,12,5,22,15,0,9,26,11,4,29,14,7]6994; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm56995; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [8,1,18,11,4,5,22,15,0,25,10,3,12,29,14,7]6996; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm96997; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,1,18,11,4,21,14,7,8,25,10,3,28,13,6,15]6998; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm106999; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,17,10,3,4,21,14,7,24,9,2,11,28,13,6,31]7000; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm87001; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [16,17,10,3,20,13,6,23,24,25,18,27,28,21,30,31]7002; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm1, %zmm2, %zmm67003; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %ymm37004; AVX512DQ-BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm27005; AVX512DQ-BW-FCP-NEXT:    movw $-28382, %r11w # imm = 0x91227006; AVX512DQ-BW-FCP-NEXT:    kmovd %r11d, %k57007; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm1 {%k5}7008; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm77009; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[5,12],zero,zero,xmm7[1,8,15,u,u,u,u,u,u]7010; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[0,7,14],zero,zero,xmm1[3,10],zero,zero,zero,xmm1[u,u,u,u,u,u]7011; AVX512DQ-BW-FCP-NEXT:    vpor %xmm7, %xmm1, %xmm17012; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]7013; AVX512DQ-BW-FCP-NEXT:    movw $992, %r11w # imm = 0x3E07014; AVX512DQ-BW-FCP-NEXT:    kmovd %r11d, %k17015; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm6, %ymm1 {%k1}7016; AVX512DQ-BW-FCP-NEXT:    vmovdqa 128(%rdi), %ymm77017; AVX512DQ-BW-FCP-NEXT:    vmovdqa 160(%rdi), %ymm67018; AVX512DQ-BW-FCP-NEXT:    movw $8772, %r11w # imm = 0x22447019; AVX512DQ-BW-FCP-NEXT:    kmovd %r11d, %k17020; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm7, %ymm6, %ymm11 {%k1}7021; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm127022; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u],zero,zero,xmm12[3,10],zero,zero,zero,xmm12[6,13,u,u,u,u]7023; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,5,12],zero,zero,xmm11[1,8,15],zero,zero,xmm11[u,u,u,u]7024; AVX512DQ-BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm117025; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm117026; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm12 = [0,0,0,0,1,2,4,6]7027; AVX512DQ-BW-FCP-NEXT:    vmovdqa 192(%rdi), %ymm137028; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm13, %ymm12, %ymm127029; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[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,23,26,29]7030; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,6],ymm12[7]7031; AVX512DQ-BW-FCP-NEXT:    movl $-524288, %r11d # imm = 0xFFF800007032; AVX512DQ-BW-FCP-NEXT:    kmovd %r11d, %k47033; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm11, %ymm1 {%k4}7034; AVX512DQ-BW-FCP-NEXT:    movw $4644, %r11w # imm = 0x12247035; AVX512DQ-BW-FCP-NEXT:    kmovd %r11d, %k27036; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm11 {%k2}7037; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm127038; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,zero,xmm12[6,13],zero,zero,xmm12[2,9,u,u,u,u,u,u,u]7039; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[1,8,15],zero,zero,xmm11[4,11],zero,zero,xmm11[u,u,u,u,u,u,u]7040; AVX512DQ-BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm117041; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = ymm8[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]7042; AVX512DQ-BW-FCP-NEXT:    movl $511, %r11d # imm = 0x1FF7043; AVX512DQ-BW-FCP-NEXT:    kmovd %r11d, %k37044; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm11, %ymm8 {%k3}7045; AVX512DQ-BW-FCP-NEXT:    movw $9288, %r11w # imm = 0x24487046; AVX512DQ-BW-FCP-NEXT:    kmovd %r11d, %k37047; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm7, %ymm6, %ymm11 {%k3}7048; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm11[u,u,u,6,13],zero,zero,xmm11[2,9],zero,zero,zero,xmm11[u,u,u,u]7049; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm117050; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u],zero,zero,xmm11[4,11],zero,zero,xmm11[0,7,14,u,u,u,u]7051; AVX512DQ-BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm117052; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm117053; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm12 = [0,0,0,0,1,3,4,6]7054; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm13, %ymm12, %ymm127055; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[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,20,27,30]7056; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm11 = ymm11[0,1,2,3,4,5,6],ymm12[7]7057; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm11, %ymm8 {%k4}7058; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm11 {%k1}7059; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm11[2,9],zero,zero,zero,xmm11[5,12],zero,zero,xmm11[u,u,u,u,u,u,u]7060; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm117061; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[0,7,14],zero,zero,xmm11[3,10,u,u,u,u,u,u,u]7062; AVX512DQ-BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm117063; AVX512DQ-BW-FCP-NEXT:    movl $261632, %r11d # imm = 0x3FE007064; AVX512DQ-BW-FCP-NEXT:    kmovd %r11d, %k47065; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm11 {%k4} = ymm10[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]7066; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm6, %ymm7, %ymm10 {%k5}7067; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm127068; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u],zero,zero,zero,xmm12[5,12],zero,zero,xmm12[1,8,15,u,u,u,u]7069; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,0,7,14],zero,zero,xmm10[3,10],zero,zero,zero,xmm10[u,u,u,u]7070; AVX512DQ-BW-FCP-NEXT:    vpor %xmm12, %xmm10, %xmm107071; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm107072; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm12 = [0,0,0,0,1,3,5,6]7073; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm13, %ymm12, %ymm127074; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[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,21,24,31]7075; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4,5,6],ymm12[7]7076; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} ymm10 = ymm11[0],ymm10[1,2,3,4,5,6,7],ymm11[8],ymm10[9,10,11,12,13,14,15]7077; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm11[0,1,2,3],ymm10[4,5,6,7]7078; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm6, %ymm7, %ymm11 {%k2}7079; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm127080; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u],zero,zero,zero,xmm12[6,13],zero,zero,xmm12[2,9,u,u,u,u,u]7081; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,1,8,15],zero,zero,xmm11[4,11],zero,zero,xmm11[u,u,u,u,u]7082; AVX512DQ-BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm117083; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm137084; AVX512DQ-BW-FCP-NEXT:    vmovdqa 208(%rdi), %xmm117085; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm11[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[5,12]7086; AVX512DQ-BW-FCP-NEXT:    vmovdqa 192(%rdi), %xmm127087; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm12[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero7088; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm15, %xmm147089; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147090; AVX512DQ-BW-FCP-NEXT:    movl $-134217728, %edi # imm = 0xF80000007091; AVX512DQ-BW-FCP-NEXT:    kmovd %edi, %k57092; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}7093; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm14 {%k3}7094; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm14[3,10],zero,zero,zero,xmm14[6,13],zero,zero,xmm14[u,u,u,u,u,u,u]7095; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm14, %xmm147096; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,xmm14[1,8,15],zero,zero,xmm14[4,11,u,u,u,u,u,u,u]7097; AVX512DQ-BW-FCP-NEXT:    vpor %xmm15, %xmm14, %xmm147098; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm9[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]7099; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} ymm9 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]7100; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm14[0,1,2,3],ymm9[4,5,6,7]7101; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm6, %ymm7, %ymm13 {%k1}7102; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,2,9],zero,zero,zero,xmm13[5,12],zero,zero,xmm13[u,u,u,u,u]7103; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm137104; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u],zero,zero,xmm13[0,7,14],zero,zero,xmm13[3,10,u,u,u,u,u]7105; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm137106; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm137107; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm11[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[6,13]7108; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm12[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero7109; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm15, %xmm147110; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147111; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}7112; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm14 {%k2}7113; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm14, %xmm157114; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[2,9],zero,zero,zero,xmm15[5,12,u,u,u,u,u,u,u]7115; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[4,11],zero,zero,xmm14[0,7,14],zero,zero,xmm14[u,u,u,u,u,u,u]7116; AVX512DQ-BW-FCP-NEXT:    vpor %xmm15, %xmm14, %xmm147117; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm5[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]7118; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} ymm5 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]7119; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm14[0,1,2,3],ymm5[4,5,6,7]7120; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm6, %ymm7, %ymm13 {%k3}7121; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[u,u,3,10],zero,zero,zero,xmm13[6,13],zero,zero,xmm13[u,u,u,u,u]7122; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm137123; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u],zero,zero,xmm13[1,8,15],zero,zero,xmm13[4,11,u,u,u,u,u]7124; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm137125; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm137126; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm12[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero7127; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm11[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm11[0,7,14]7128; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm15, %xmm147129; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm147130; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm14, %ymm13 {%k5}7131; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm14 {%k1}7132; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm14, %xmm157133; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm15[3,10],zero,zero,zero,xmm15[6,13,u,u,u,u,u,u,u]7134; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[5,12],zero,zero,xmm14[1,8,15],zero,zero,xmm14[u,u,u,u,u,u,u]7135; AVX512DQ-BW-FCP-NEXT:    vpor %xmm15, %xmm14, %xmm147136; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 {%k4} = ymm4[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]7137; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm14[0],ymm13[1,2,3,4,5,6,7],ymm14[8],ymm13[9,10,11,12,13,14,15]7138; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm14[0,1,2,3],ymm4[4,5,6,7]7139; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm7, %ymm6 {%k2}7140; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm77141; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u],zero,zero,xmm7[2,9],zero,zero,zero,xmm7[5,12,u,u,u,u,u]7142; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,4,11],zero,zero,xmm6[0,7,14],zero,zero,xmm6[u,u,u,u,u]7143; AVX512DQ-BW-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm67144; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm67145; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm12[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero7146; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm11[1,8,15]7147; AVX512DQ-BW-FCP-NEXT:    vpor %xmm7, %xmm11, %xmm77148; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm77149; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm7, %ymm6 {%k5}7150; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k3}7151; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u,u,u,u,u,u]7152; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm27153; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u,u,u,u]7154; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm27155; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm2 {%k4} = ymm0[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]7156; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm2[0],ymm6[1,2,3,4,5,6,7],ymm2[8],ymm6[9,10,11,12,13,14,15]7157; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]7158; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm1, (%rsi)7159; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm8, (%rdx)7160; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm10, (%rcx)7161; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm9, (%r8)7162; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm5, (%r9)7163; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm4, (%r10)7164; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm0, (%rax)7165; AVX512DQ-BW-FCP-NEXT:    vzeroupper7166; AVX512DQ-BW-FCP-NEXT:    retq7167  %wide.vec = load <224 x i8>, ptr %in.vec, align 647168  %strided.vec0 = shufflevector <224 x i8> %wide.vec, <224 x i8> poison, <32 x i32> <i32 0, i32 7, i32 14, i32 21, i32 28, i32 35, i32 42, i32 49, i32 56, i32 63, i32 70, i32 77, i32 84, i32 91, i32 98, i32 105, i32 112, i32 119, i32 126, i32 133, i32 140, i32 147, i32 154, i32 161, i32 168, i32 175, i32 182, i32 189, i32 196, i32 203, i32 210, i32 217>7169  %strided.vec1 = shufflevector <224 x i8> %wide.vec, <224 x i8> poison, <32 x i32> <i32 1, i32 8, i32 15, i32 22, i32 29, i32 36, i32 43, i32 50, i32 57, i32 64, i32 71, i32 78, i32 85, i32 92, i32 99, i32 106, i32 113, i32 120, i32 127, i32 134, i32 141, i32 148, i32 155, i32 162, i32 169, i32 176, i32 183, i32 190, i32 197, i32 204, i32 211, i32 218>7170  %strided.vec2 = shufflevector <224 x i8> %wide.vec, <224 x i8> poison, <32 x i32> <i32 2, i32 9, i32 16, i32 23, i32 30, i32 37, i32 44, i32 51, i32 58, i32 65, i32 72, i32 79, i32 86, i32 93, i32 100, i32 107, i32 114, i32 121, i32 128, i32 135, i32 142, i32 149, i32 156, i32 163, i32 170, i32 177, i32 184, i32 191, i32 198, i32 205, i32 212, i32 219>7171  %strided.vec3 = shufflevector <224 x i8> %wide.vec, <224 x i8> poison, <32 x i32> <i32 3, i32 10, i32 17, i32 24, i32 31, i32 38, i32 45, i32 52, i32 59, i32 66, i32 73, i32 80, i32 87, i32 94, i32 101, i32 108, i32 115, i32 122, i32 129, i32 136, i32 143, i32 150, i32 157, i32 164, i32 171, i32 178, i32 185, i32 192, i32 199, i32 206, i32 213, i32 220>7172  %strided.vec4 = shufflevector <224 x i8> %wide.vec, <224 x i8> poison, <32 x i32> <i32 4, i32 11, i32 18, i32 25, i32 32, i32 39, i32 46, i32 53, i32 60, i32 67, i32 74, i32 81, i32 88, i32 95, i32 102, i32 109, i32 116, i32 123, i32 130, i32 137, i32 144, i32 151, i32 158, i32 165, i32 172, i32 179, i32 186, i32 193, i32 200, i32 207, i32 214, i32 221>7173  %strided.vec5 = shufflevector <224 x i8> %wide.vec, <224 x i8> poison, <32 x i32> <i32 5, i32 12, i32 19, i32 26, i32 33, i32 40, i32 47, i32 54, i32 61, i32 68, i32 75, i32 82, i32 89, i32 96, i32 103, i32 110, i32 117, i32 124, i32 131, i32 138, i32 145, i32 152, i32 159, i32 166, i32 173, i32 180, i32 187, i32 194, i32 201, i32 208, i32 215, i32 222>7174  %strided.vec6 = shufflevector <224 x i8> %wide.vec, <224 x i8> poison, <32 x i32> <i32 6, i32 13, i32 20, i32 27, i32 34, i32 41, i32 48, i32 55, i32 62, i32 69, i32 76, i32 83, i32 90, i32 97, i32 104, i32 111, i32 118, i32 125, i32 132, i32 139, i32 146, i32 153, i32 160, i32 167, i32 174, i32 181, i32 188, i32 195, i32 202, i32 209, i32 216, i32 223>7175  store <32 x i8> %strided.vec0, ptr %out.vec0, align 647176  store <32 x i8> %strided.vec1, ptr %out.vec1, align 647177  store <32 x i8> %strided.vec2, ptr %out.vec2, align 647178  store <32 x i8> %strided.vec3, ptr %out.vec3, align 647179  store <32 x i8> %strided.vec4, ptr %out.vec4, align 647180  store <32 x i8> %strided.vec5, ptr %out.vec5, align 647181  store <32 x i8> %strided.vec6, ptr %out.vec6, align 647182  ret void7183}7184 7185define void @load_i8_stride7_vf64(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4, ptr %out.vec5, ptr %out.vec6) nounwind {7186; SSE-LABEL: load_i8_stride7_vf64:7187; SSE:       # %bb.0:7188; SSE-NEXT:    subq $1528, %rsp # imm = 0x5F87189; SSE-NEXT:    movdqa 208(%rdi), %xmm127190; SSE-NEXT:    movdqa 192(%rdi), %xmm57191; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7192; SSE-NEXT:    movdqa 176(%rdi), %xmm87193; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7194; SSE-NEXT:    movdqa 112(%rdi), %xmm47195; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7196; SSE-NEXT:    movdqa 128(%rdi), %xmm37197; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7198; SSE-NEXT:    movdqa 160(%rdi), %xmm67199; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7200; SSE-NEXT:    movdqa 144(%rdi), %xmm17201; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7202; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,0,65535,65535,65535,0,65535,65535]7203; SSE-NEXT:    movdqa %xmm2, %xmm07204; SSE-NEXT:    pandn %xmm1, %xmm07205; SSE-NEXT:    movdqa %xmm6, %xmm17206; SSE-NEXT:    pand %xmm2, %xmm17207; SSE-NEXT:    movdqa %xmm2, %xmm77208; SSE-NEXT:    por %xmm0, %xmm17209; SSE-NEXT:    pxor %xmm6, %xmm67210; SSE-NEXT:    movdqa %xmm1, %xmm07211; 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]7212; 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]7213; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]7214; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]7215; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,1]7216; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm1[0,1,2,3,4,4,5,6]7217; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,3]7218; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,3,4,5,6,7]7219; SSE-NEXT:    packuswb %xmm0, %xmm27220; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [255,255,255,255,255,0,0,0,0,0,255,255,255,255,255,255]7221; SSE-NEXT:    movdqa {{.*#+}} xmm11 = [65535,65535,0,65535,65535,65535,0,65535]7222; SSE-NEXT:    movdqa %xmm11, %xmm17223; SSE-NEXT:    pandn %xmm3, %xmm17224; SSE-NEXT:    movdqa %xmm4, %xmm37225; SSE-NEXT:    pand %xmm11, %xmm37226; SSE-NEXT:    por %xmm1, %xmm37227; SSE-NEXT:    movdqa %xmm3, %xmm17228; 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]7229; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [65535,65535,65535,65535,0,65535,0,65535]7230; SSE-NEXT:    movdqa %xmm10, %xmm47231; SSE-NEXT:    pandn %xmm1, %xmm47232; 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]7233; SSE-NEXT:    pand %xmm10, %xmm37234; SSE-NEXT:    por %xmm4, %xmm37235; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,2,1,3]7236; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]7237; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,1,1]7238; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]7239; SSE-NEXT:    packuswb %xmm1, %xmm17240; SSE-NEXT:    pand %xmm0, %xmm17241; SSE-NEXT:    movdqa %xmm0, %xmm37242; SSE-NEXT:    pandn %xmm2, %xmm37243; SSE-NEXT:    por %xmm3, %xmm17244; SSE-NEXT:    movdqa {{.*#+}} xmm9 = [65535,65535,65535,0,65535,65535,0,65535]7245; SSE-NEXT:    movdqa %xmm9, %xmm27246; SSE-NEXT:    pandn %xmm8, %xmm27247; SSE-NEXT:    movdqa %xmm5, %xmm37248; SSE-NEXT:    pand %xmm9, %xmm37249; SSE-NEXT:    por %xmm2, %xmm37250; SSE-NEXT:    movdqa %xmm3, %xmm27251; 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]7252; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,4,7]7253; 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]7254; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,1]7255; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,7,7]7256; SSE-NEXT:    punpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]7257; SSE-NEXT:    movdqa %xmm12, %xmm37258; SSE-NEXT:    movdqa %xmm12, %xmm47259; 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]7260; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7261; 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]7262; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7263; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]7264; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,1]7265; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]7266; SSE-NEXT:    packuswb %xmm3, %xmm37267; SSE-NEXT:    movdqa {{.*#+}} xmm12 = [65535,65535,65535,65535,65535,65535,65535,0]7268; SSE-NEXT:    movdqa %xmm12, %xmm47269; SSE-NEXT:    pandn %xmm3, %xmm47270; SSE-NEXT:    packuswb %xmm2, %xmm27271; SSE-NEXT:    pand %xmm12, %xmm27272; SSE-NEXT:    por %xmm2, %xmm47273; SSE-NEXT:    movdqa {{.*#+}} xmm8 = [65535,65535,65535,65535,65535,0,0,0]7274; SSE-NEXT:    movdqa %xmm8, %xmm27275; SSE-NEXT:    pandn %xmm4, %xmm27276; SSE-NEXT:    pand %xmm8, %xmm17277; SSE-NEXT:    por %xmm1, %xmm27278; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7279; SSE-NEXT:    movdqa 256(%rdi), %xmm27280; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7281; SSE-NEXT:    movdqa %xmm7, %xmm17282; SSE-NEXT:    pandn %xmm2, %xmm17283; SSE-NEXT:    movdqa 272(%rdi), %xmm27284; SSE-NEXT:    movdqa %xmm2, (%rsp) # 16-byte Spill7285; SSE-NEXT:    pand %xmm7, %xmm27286; SSE-NEXT:    por %xmm1, %xmm27287; SSE-NEXT:    movdqa %xmm2, %xmm17288; 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]7289; 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]7290; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]7291; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,6,5,6,7]7292; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]7293; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,4,5,6]7294; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,2,3]7295; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]7296; SSE-NEXT:    packuswb %xmm1, %xmm27297; SSE-NEXT:    movdqa %xmm0, %xmm37298; SSE-NEXT:    pandn %xmm2, %xmm37299; SSE-NEXT:    movdqa 240(%rdi), %xmm27300; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7301; SSE-NEXT:    movdqa %xmm11, %xmm17302; SSE-NEXT:    pandn %xmm2, %xmm17303; SSE-NEXT:    movdqa 224(%rdi), %xmm27304; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7305; SSE-NEXT:    pand %xmm11, %xmm27306; SSE-NEXT:    por %xmm1, %xmm27307; SSE-NEXT:    movdqa %xmm2, %xmm17308; 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]7309; SSE-NEXT:    movdqa %xmm10, %xmm47310; SSE-NEXT:    pandn %xmm1, %xmm47311; 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]7312; SSE-NEXT:    pand %xmm10, %xmm27313; SSE-NEXT:    por %xmm4, %xmm27314; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,2,1,3]7315; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]7316; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,1,1]7317; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]7318; SSE-NEXT:    packuswb %xmm1, %xmm17319; SSE-NEXT:    pand %xmm0, %xmm17320; SSE-NEXT:    por %xmm3, %xmm17321; SSE-NEXT:    movdqa 288(%rdi), %xmm37322; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7323; SSE-NEXT:    movdqa %xmm9, %xmm27324; SSE-NEXT:    pandn %xmm3, %xmm27325; SSE-NEXT:    movdqa 304(%rdi), %xmm37326; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7327; SSE-NEXT:    pand %xmm9, %xmm37328; SSE-NEXT:    por %xmm2, %xmm37329; SSE-NEXT:    movdqa %xmm3, %xmm27330; 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]7331; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,4,7]7332; 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]7333; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,1]7334; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,7,7]7335; SSE-NEXT:    punpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]7336; SSE-NEXT:    movdqa 320(%rdi), %xmm37337; SSE-NEXT:    movdqa %xmm3, %xmm47338; 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]7339; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7340; 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]7341; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7342; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]7343; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,1]7344; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]7345; SSE-NEXT:    packuswb %xmm3, %xmm37346; SSE-NEXT:    movdqa %xmm12, %xmm47347; SSE-NEXT:    pandn %xmm3, %xmm47348; SSE-NEXT:    packuswb %xmm2, %xmm27349; SSE-NEXT:    pand %xmm12, %xmm27350; SSE-NEXT:    por %xmm2, %xmm47351; SSE-NEXT:    movdqa %xmm8, %xmm27352; SSE-NEXT:    pandn %xmm4, %xmm27353; SSE-NEXT:    pand %xmm8, %xmm17354; SSE-NEXT:    por %xmm1, %xmm27355; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7356; SSE-NEXT:    movdqa 368(%rdi), %xmm27357; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7358; SSE-NEXT:    movdqa %xmm7, %xmm17359; SSE-NEXT:    pandn %xmm2, %xmm17360; SSE-NEXT:    movdqa 384(%rdi), %xmm27361; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7362; SSE-NEXT:    pand %xmm7, %xmm27363; SSE-NEXT:    por %xmm1, %xmm27364; SSE-NEXT:    movdqa %xmm2, %xmm17365; 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]7366; 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]7367; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]7368; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,6,5,6,7]7369; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]7370; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,4,5,6]7371; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,2,3]7372; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]7373; SSE-NEXT:    packuswb %xmm1, %xmm27374; SSE-NEXT:    movdqa %xmm0, %xmm37375; SSE-NEXT:    pandn %xmm2, %xmm37376; SSE-NEXT:    movdqa 352(%rdi), %xmm27377; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7378; SSE-NEXT:    movdqa %xmm11, %xmm17379; SSE-NEXT:    pandn %xmm2, %xmm17380; SSE-NEXT:    movdqa 336(%rdi), %xmm27381; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7382; SSE-NEXT:    pand %xmm11, %xmm27383; SSE-NEXT:    por %xmm1, %xmm27384; SSE-NEXT:    movdqa %xmm2, %xmm17385; 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]7386; SSE-NEXT:    movdqa %xmm10, %xmm47387; SSE-NEXT:    pandn %xmm1, %xmm47388; 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]7389; SSE-NEXT:    pand %xmm10, %xmm27390; SSE-NEXT:    por %xmm4, %xmm27391; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,2,1,3]7392; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]7393; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,1,1]7394; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]7395; SSE-NEXT:    packuswb %xmm1, %xmm17396; SSE-NEXT:    pand %xmm0, %xmm17397; SSE-NEXT:    por %xmm3, %xmm17398; SSE-NEXT:    movdqa 400(%rdi), %xmm37399; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7400; SSE-NEXT:    movdqa %xmm9, %xmm27401; SSE-NEXT:    pandn %xmm3, %xmm27402; SSE-NEXT:    movdqa 416(%rdi), %xmm147403; SSE-NEXT:    movdqa %xmm14, %xmm37404; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7405; SSE-NEXT:    pand %xmm9, %xmm37406; SSE-NEXT:    por %xmm2, %xmm37407; SSE-NEXT:    movdqa %xmm3, %xmm27408; 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]7409; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,4,7]7410; 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]7411; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,1]7412; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,7,7]7413; SSE-NEXT:    punpckhwd {{.*#+}} xmm2 = xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]7414; SSE-NEXT:    movdqa 432(%rdi), %xmm37415; SSE-NEXT:    movdqa %xmm3, %xmm47416; 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]7417; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7418; 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]7419; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7420; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]7421; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,1]7422; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]7423; SSE-NEXT:    packuswb %xmm3, %xmm37424; SSE-NEXT:    movdqa %xmm12, %xmm47425; SSE-NEXT:    pandn %xmm3, %xmm47426; SSE-NEXT:    packuswb %xmm2, %xmm27427; SSE-NEXT:    pand %xmm12, %xmm27428; SSE-NEXT:    por %xmm2, %xmm47429; SSE-NEXT:    movdqa %xmm8, %xmm27430; SSE-NEXT:    pandn %xmm4, %xmm27431; SSE-NEXT:    pand %xmm8, %xmm17432; SSE-NEXT:    por %xmm1, %xmm27433; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7434; SSE-NEXT:    movdqa 32(%rdi), %xmm157435; SSE-NEXT:    movdqa %xmm7, %xmm17436; SSE-NEXT:    pandn %xmm15, %xmm17437; SSE-NEXT:    movdqa 48(%rdi), %xmm27438; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7439; SSE-NEXT:    pand %xmm7, %xmm27440; SSE-NEXT:    por %xmm1, %xmm27441; SSE-NEXT:    movdqa %xmm2, %xmm17442; 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]7443; 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]7444; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]7445; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,6,5,6,7]7446; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]7447; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,4,5,6]7448; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,2,3]7449; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]7450; SSE-NEXT:    packuswb %xmm1, %xmm27451; SSE-NEXT:    movdqa 16(%rdi), %xmm37452; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7453; SSE-NEXT:    movdqa %xmm11, %xmm17454; SSE-NEXT:    pandn %xmm3, %xmm17455; SSE-NEXT:    movdqa (%rdi), %xmm47456; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7457; SSE-NEXT:    pand %xmm11, %xmm47458; SSE-NEXT:    por %xmm1, %xmm47459; SSE-NEXT:    movdqa %xmm4, %xmm17460; 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]7461; SSE-NEXT:    movdqa %xmm10, %xmm57462; SSE-NEXT:    pandn %xmm1, %xmm57463; 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]7464; SSE-NEXT:    pand %xmm10, %xmm47465; SSE-NEXT:    por %xmm5, %xmm47466; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[0,2,1,3]7467; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]7468; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,1,1]7469; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]7470; SSE-NEXT:    packuswb %xmm1, %xmm17471; SSE-NEXT:    pand %xmm0, %xmm17472; SSE-NEXT:    pandn %xmm2, %xmm07473; SSE-NEXT:    por %xmm0, %xmm17474; SSE-NEXT:    movdqa 64(%rdi), %xmm27475; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7476; SSE-NEXT:    movdqa %xmm9, %xmm07477; SSE-NEXT:    pandn %xmm2, %xmm07478; SSE-NEXT:    movdqa 80(%rdi), %xmm27479; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7480; SSE-NEXT:    pand %xmm9, %xmm27481; SSE-NEXT:    por %xmm0, %xmm27482; SSE-NEXT:    movdqa %xmm2, %xmm07483; SSE-NEXT:    pxor %xmm5, %xmm57484; 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]7485; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,4,7]7486; 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]7487; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]7488; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,7,7]7489; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]7490; SSE-NEXT:    movdqa 96(%rdi), %xmm27491; SSE-NEXT:    movdqa %xmm2, %xmm37492; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm5[8],xmm3[9],xmm5[9],xmm3[10],xmm5[10],xmm3[11],xmm5[11],xmm3[12],xmm5[12],xmm3[13],xmm5[13],xmm3[14],xmm5[14],xmm3[15],xmm5[15]7493; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7494; 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]7495; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7496; SSE-NEXT:    pxor %xmm7, %xmm77497; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]7498; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]7499; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,4,7]7500; SSE-NEXT:    packuswb %xmm2, %xmm27501; SSE-NEXT:    movdqa %xmm12, %xmm47502; SSE-NEXT:    pandn %xmm2, %xmm47503; SSE-NEXT:    packuswb %xmm0, %xmm07504; SSE-NEXT:    pand %xmm12, %xmm07505; SSE-NEXT:    por %xmm0, %xmm47506; SSE-NEXT:    pand %xmm8, %xmm17507; SSE-NEXT:    pandn %xmm4, %xmm87508; SSE-NEXT:    por %xmm1, %xmm87509; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7510; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,65535,0,65535,65535,0,65535,65535]7511; SSE-NEXT:    movdqa %xmm2, %xmm07512; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload7513; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7514; SSE-NEXT:    pand %xmm2, %xmm17515; SSE-NEXT:    movdqa %xmm2, %xmm137516; SSE-NEXT:    por %xmm0, %xmm17517; SSE-NEXT:    movdqa %xmm1, %xmm27518; 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]7519; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,65535,0,65535,65535,65535,65535]7520; SSE-NEXT:    movdqa %xmm0, %xmm47521; SSE-NEXT:    pandn %xmm2, %xmm47522; 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]7523; SSE-NEXT:    pand %xmm0, %xmm17524; SSE-NEXT:    por %xmm4, %xmm17525; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,1]7526; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,6]7527; SSE-NEXT:    psrld $16, %xmm27528; SSE-NEXT:    packuswb %xmm2, %xmm17529; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255]7530; SSE-NEXT:    movdqa %xmm4, %xmm27531; SSE-NEXT:    movdqa %xmm4, %xmm87532; SSE-NEXT:    pandn %xmm1, %xmm27533; SSE-NEXT:    movdqa %xmm9, %xmm17534; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload7535; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload7536; SSE-NEXT:    pand %xmm9, %xmm47537; SSE-NEXT:    por %xmm1, %xmm47538; SSE-NEXT:    movdqa %xmm4, %xmm17539; 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]7540; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [65535,0,65535,65535,65535,65535,0,65535]7541; SSE-NEXT:    movdqa %xmm6, %xmm57542; SSE-NEXT:    pandn %xmm1, %xmm57543; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm7[8],xmm4[9],xmm7[9],xmm4[10],xmm7[10],xmm4[11],xmm7[11],xmm4[12],xmm7[12],xmm4[13],xmm7[13],xmm4[14],xmm7[14],xmm4[15],xmm7[15]7544; SSE-NEXT:    pand %xmm6, %xmm47545; SSE-NEXT:    por %xmm5, %xmm47546; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm4[0,3,2,3]7547; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,0,3,2,4,5,6,7]7548; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,5,5,5]7549; SSE-NEXT:    packuswb %xmm1, %xmm17550; SSE-NEXT:    pand %xmm8, %xmm17551; SSE-NEXT:    por %xmm2, %xmm17552; SSE-NEXT:    movdqa %xmm11, %xmm27553; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload7554; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload7555; SSE-NEXT:    pand %xmm11, %xmm47556; SSE-NEXT:    por %xmm2, %xmm47557; SSE-NEXT:    movdqa %xmm4, %xmm27558; 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]7559; SSE-NEXT:    movdqa %xmm10, %xmm57560; SSE-NEXT:    pandn %xmm2, %xmm57561; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm7[0],xmm4[1],xmm7[1],xmm4[2],xmm7[2],xmm4[3],xmm7[3],xmm4[4],xmm7[4],xmm4[5],xmm7[5],xmm4[6],xmm7[6],xmm4[7],xmm7[7]7562; SSE-NEXT:    pand %xmm10, %xmm47563; SSE-NEXT:    por %xmm5, %xmm47564; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload7565; SSE-NEXT:    pslld $16, %xmm27566; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload7567; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1],xmm5[2],xmm2[2],xmm5[3],xmm2[3]7568; SSE-NEXT:    packuswb %xmm5, %xmm27569; SSE-NEXT:    movdqa %xmm12, %xmm57570; SSE-NEXT:    pandn %xmm2, %xmm57571; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm4[0,3,2,3]7572; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,0,3,2,4,5,6,7]7573; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,5,4,6,7]7574; SSE-NEXT:    packuswb %xmm2, %xmm27575; SSE-NEXT:    pand %xmm12, %xmm27576; SSE-NEXT:    por %xmm2, %xmm57577; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0]7578; SSE-NEXT:    movdqa %xmm4, %xmm27579; SSE-NEXT:    pandn %xmm5, %xmm27580; SSE-NEXT:    pand %xmm4, %xmm17581; SSE-NEXT:    movdqa %xmm4, %xmm37582; SSE-NEXT:    por %xmm1, %xmm27583; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7584; SSE-NEXT:    movdqa %xmm13, %xmm17585; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload7586; SSE-NEXT:    movdqa (%rsp), %xmm2 # 16-byte Reload7587; SSE-NEXT:    pand %xmm13, %xmm27588; SSE-NEXT:    por %xmm1, %xmm27589; SSE-NEXT:    movdqa %xmm2, %xmm17590; 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]7591; SSE-NEXT:    movdqa %xmm0, %xmm47592; SSE-NEXT:    pandn %xmm1, %xmm47593; 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]7594; SSE-NEXT:    pand %xmm0, %xmm27595; SSE-NEXT:    por %xmm4, %xmm27596; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]7597; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,4,7,6]7598; SSE-NEXT:    psrld $16, %xmm17599; SSE-NEXT:    packuswb %xmm1, %xmm27600; SSE-NEXT:    movdqa %xmm8, %xmm47601; SSE-NEXT:    pandn %xmm2, %xmm47602; SSE-NEXT:    movdqa %xmm9, %xmm17603; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload7604; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload7605; SSE-NEXT:    pand %xmm9, %xmm27606; SSE-NEXT:    por %xmm1, %xmm27607; SSE-NEXT:    movdqa %xmm2, %xmm17608; 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]7609; SSE-NEXT:    movdqa %xmm6, %xmm57610; SSE-NEXT:    pandn %xmm1, %xmm57611; 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]7612; SSE-NEXT:    pand %xmm6, %xmm27613; SSE-NEXT:    por %xmm5, %xmm27614; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,3,2,3]7615; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,0,3,2,4,5,6,7]7616; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,5,5,5]7617; SSE-NEXT:    packuswb %xmm1, %xmm17618; SSE-NEXT:    pand %xmm8, %xmm17619; SSE-NEXT:    por %xmm4, %xmm17620; SSE-NEXT:    movdqa %xmm11, %xmm27621; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload7622; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload7623; SSE-NEXT:    pand %xmm11, %xmm47624; SSE-NEXT:    por %xmm2, %xmm47625; SSE-NEXT:    movdqa %xmm4, %xmm27626; 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]7627; SSE-NEXT:    movdqa %xmm10, %xmm57628; SSE-NEXT:    pandn %xmm2, %xmm57629; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm7[0],xmm4[1],xmm7[1],xmm4[2],xmm7[2],xmm4[3],xmm7[3],xmm4[4],xmm7[4],xmm4[5],xmm7[5],xmm4[6],xmm7[6],xmm4[7],xmm7[7]7630; SSE-NEXT:    pand %xmm10, %xmm47631; SSE-NEXT:    por %xmm5, %xmm47632; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload7633; SSE-NEXT:    pslld $16, %xmm27634; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload7635; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1],xmm5[2],xmm2[2],xmm5[3],xmm2[3]7636; SSE-NEXT:    packuswb %xmm5, %xmm27637; SSE-NEXT:    movdqa %xmm12, %xmm57638; SSE-NEXT:    pandn %xmm2, %xmm57639; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm4[0,3,2,3]7640; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,0,3,2,4,5,6,7]7641; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,5,4,6,7]7642; SSE-NEXT:    packuswb %xmm2, %xmm27643; SSE-NEXT:    pand %xmm12, %xmm27644; SSE-NEXT:    por %xmm2, %xmm57645; SSE-NEXT:    movdqa %xmm3, %xmm27646; SSE-NEXT:    pandn %xmm5, %xmm27647; SSE-NEXT:    pand %xmm3, %xmm17648; SSE-NEXT:    por %xmm1, %xmm27649; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7650; SSE-NEXT:    movdqa %xmm13, %xmm17651; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload7652; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload7653; SSE-NEXT:    pand %xmm13, %xmm27654; SSE-NEXT:    por %xmm1, %xmm27655; SSE-NEXT:    movdqa %xmm2, %xmm17656; 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]7657; SSE-NEXT:    movdqa %xmm0, %xmm47658; SSE-NEXT:    pandn %xmm1, %xmm47659; 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]7660; SSE-NEXT:    pand %xmm0, %xmm27661; SSE-NEXT:    por %xmm4, %xmm27662; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]7663; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,4,7,6]7664; SSE-NEXT:    psrld $16, %xmm17665; SSE-NEXT:    packuswb %xmm1, %xmm27666; SSE-NEXT:    movdqa %xmm8, %xmm47667; SSE-NEXT:    pandn %xmm2, %xmm47668; SSE-NEXT:    movdqa %xmm9, %xmm17669; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload7670; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload7671; SSE-NEXT:    pand %xmm9, %xmm27672; SSE-NEXT:    por %xmm1, %xmm27673; SSE-NEXT:    movdqa %xmm2, %xmm17674; 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]7675; SSE-NEXT:    movdqa %xmm6, %xmm57676; SSE-NEXT:    pandn %xmm1, %xmm57677; 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]7678; SSE-NEXT:    pand %xmm6, %xmm27679; SSE-NEXT:    por %xmm5, %xmm27680; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,3,2,3]7681; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,0,3,2,4,5,6,7]7682; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,5,5,5]7683; SSE-NEXT:    packuswb %xmm1, %xmm17684; SSE-NEXT:    pand %xmm8, %xmm17685; SSE-NEXT:    por %xmm4, %xmm17686; SSE-NEXT:    movdqa %xmm11, %xmm27687; SSE-NEXT:    pandn %xmm14, %xmm27688; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload7689; SSE-NEXT:    pand %xmm11, %xmm47690; SSE-NEXT:    por %xmm2, %xmm47691; SSE-NEXT:    movdqa %xmm4, %xmm27692; 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]7693; SSE-NEXT:    movdqa %xmm10, %xmm57694; SSE-NEXT:    pandn %xmm2, %xmm57695; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm7[0],xmm4[1],xmm7[1],xmm4[2],xmm7[2],xmm4[3],xmm7[3],xmm4[4],xmm7[4],xmm4[5],xmm7[5],xmm4[6],xmm7[6],xmm4[7],xmm7[7]7696; SSE-NEXT:    pand %xmm10, %xmm47697; SSE-NEXT:    por %xmm5, %xmm47698; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload7699; SSE-NEXT:    pslld $16, %xmm27700; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload7701; SSE-NEXT:    punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1],xmm5[2],xmm2[2],xmm5[3],xmm2[3]7702; SSE-NEXT:    packuswb %xmm5, %xmm27703; SSE-NEXT:    movdqa %xmm12, %xmm57704; SSE-NEXT:    pandn %xmm2, %xmm57705; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm4[0,3,2,3]7706; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,0,3,2,4,5,6,7]7707; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,5,4,6,7]7708; SSE-NEXT:    packuswb %xmm2, %xmm27709; SSE-NEXT:    pand %xmm12, %xmm27710; SSE-NEXT:    por %xmm2, %xmm57711; SSE-NEXT:    movdqa %xmm3, %xmm27712; SSE-NEXT:    pandn %xmm5, %xmm27713; SSE-NEXT:    pand %xmm3, %xmm17714; SSE-NEXT:    por %xmm1, %xmm27715; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7716; SSE-NEXT:    movdqa %xmm13, %xmm17717; SSE-NEXT:    pandn %xmm15, %xmm17718; SSE-NEXT:    movdqa %xmm15, %xmm37719; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload7720; SSE-NEXT:    movdqa %xmm15, %xmm27721; SSE-NEXT:    pand %xmm13, %xmm27722; SSE-NEXT:    por %xmm1, %xmm27723; SSE-NEXT:    movdqa %xmm2, %xmm17724; SSE-NEXT:    pxor %xmm4, %xmm47725; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm4[8],xmm1[9],xmm4[9],xmm1[10],xmm4[10],xmm1[11],xmm4[11],xmm1[12],xmm4[12],xmm1[13],xmm4[13],xmm1[14],xmm4[14],xmm1[15],xmm4[15]7726; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3],xmm2[4],xmm4[4],xmm2[5],xmm4[5],xmm2[6],xmm4[6],xmm2[7],xmm4[7]7727; SSE-NEXT:    pxor %xmm5, %xmm57728; SSE-NEXT:    pand %xmm0, %xmm27729; SSE-NEXT:    pandn %xmm1, %xmm07730; SSE-NEXT:    por %xmm2, %xmm07731; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,2,1]7732; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,4,7,6]7733; SSE-NEXT:    psrld $16, %xmm17734; SSE-NEXT:    packuswb %xmm1, %xmm07735; SSE-NEXT:    movdqa %xmm8, %xmm17736; SSE-NEXT:    pandn %xmm0, %xmm17737; SSE-NEXT:    movdqa %xmm9, %xmm07738; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload7739; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload7740; SSE-NEXT:    pand %xmm9, %xmm27741; SSE-NEXT:    movdqa %xmm9, %xmm127742; SSE-NEXT:    por %xmm0, %xmm27743; SSE-NEXT:    movdqa %xmm2, %xmm07744; 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]7745; SSE-NEXT:    movdqa %xmm6, %xmm47746; SSE-NEXT:    pandn %xmm0, %xmm47747; 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]7748; SSE-NEXT:    pand %xmm6, %xmm27749; SSE-NEXT:    por %xmm4, %xmm27750; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,3,2,3]7751; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,0,3,2,4,5,6,7]7752; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,5,5,5,5]7753; SSE-NEXT:    packuswb %xmm0, %xmm07754; SSE-NEXT:    pand %xmm8, %xmm07755; SSE-NEXT:    por %xmm1, %xmm07756; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7757; SSE-NEXT:    movdqa %xmm11, %xmm07758; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7759; SSE-NEXT:    pandn %xmm14, %xmm07760; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7761; SSE-NEXT:    pand %xmm11, %xmm17762; SSE-NEXT:    por %xmm0, %xmm17763; SSE-NEXT:    movdqa %xmm1, %xmm07764; SSE-NEXT:    pxor %xmm2, %xmm27765; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm2[8],xmm0[9],xmm2[9],xmm0[10],xmm2[10],xmm0[11],xmm2[11],xmm0[12],xmm2[12],xmm0[13],xmm2[13],xmm0[14],xmm2[14],xmm0[15],xmm2[15]7766; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3],xmm1[4],xmm2[4],xmm1[5],xmm2[5],xmm1[6],xmm2[6],xmm1[7],xmm2[7]7767; SSE-NEXT:    pand %xmm10, %xmm17768; SSE-NEXT:    pandn %xmm0, %xmm107769; SSE-NEXT:    por %xmm1, %xmm107770; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7771; SSE-NEXT:    movdqa %xmm11, %xmm07772; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload7773; SSE-NEXT:    pandn %xmm7, %xmm07774; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload7775; SSE-NEXT:    movdqa %xmm2, %xmm17776; SSE-NEXT:    pand %xmm11, %xmm17777; SSE-NEXT:    por %xmm0, %xmm17778; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7779; SSE-NEXT:    movdqa %xmm11, %xmm07780; SSE-NEXT:    movdqa (%rsp), %xmm8 # 16-byte Reload7781; SSE-NEXT:    pandn %xmm8, %xmm07782; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload7783; SSE-NEXT:    movdqa %xmm5, %xmm17784; SSE-NEXT:    pand %xmm11, %xmm17785; SSE-NEXT:    por %xmm0, %xmm17786; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7787; SSE-NEXT:    movdqa %xmm11, %xmm07788; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload7789; SSE-NEXT:    pandn %xmm9, %xmm07790; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7791; SSE-NEXT:    movdqa %xmm1, %xmm47792; SSE-NEXT:    pand %xmm11, %xmm47793; SSE-NEXT:    por %xmm0, %xmm47794; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7795; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7796; SSE-NEXT:    movdqa %xmm3, %xmm07797; SSE-NEXT:    pand %xmm11, %xmm07798; SSE-NEXT:    movdqa %xmm15, %xmm67799; SSE-NEXT:    pandn %xmm15, %xmm117800; SSE-NEXT:    por %xmm0, %xmm117801; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7802; SSE-NEXT:    movdqa {{.*#+}} xmm15 = [65535,0,65535,65535,0,65535,65535,65535]7803; SSE-NEXT:    movdqa %xmm15, %xmm07804; SSE-NEXT:    pandn %xmm2, %xmm07805; SSE-NEXT:    movdqa %xmm12, %xmm27806; SSE-NEXT:    movdqa %xmm7, %xmm47807; SSE-NEXT:    pandn %xmm7, %xmm27808; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7809; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm7[0,2,2,3]7810; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7811; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7812; SSE-NEXT:    pand %xmm15, %xmm47813; SSE-NEXT:    por %xmm0, %xmm47814; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7815; SSE-NEXT:    movdqa %xmm15, %xmm07816; SSE-NEXT:    pandn %xmm5, %xmm07817; SSE-NEXT:    movdqa %xmm12, %xmm27818; SSE-NEXT:    movdqa %xmm8, %xmm47819; SSE-NEXT:    pandn %xmm8, %xmm27820; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7821; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm8[0,2,2,3]7822; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7823; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7824; SSE-NEXT:    pand %xmm15, %xmm47825; SSE-NEXT:    por %xmm0, %xmm47826; SSE-NEXT:    movdqa %xmm4, (%rsp) # 16-byte Spill7827; SSE-NEXT:    movdqa %xmm15, %xmm07828; SSE-NEXT:    pandn %xmm1, %xmm07829; SSE-NEXT:    movdqa %xmm12, %xmm27830; SSE-NEXT:    movdqa %xmm12, %xmm17831; SSE-NEXT:    movdqa %xmm9, %xmm47832; SSE-NEXT:    pandn %xmm9, %xmm17833; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7834; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm9[0,2,2,3]7835; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7836; SSE-NEXT:    movdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7837; SSE-NEXT:    pand %xmm15, %xmm47838; SSE-NEXT:    por %xmm0, %xmm47839; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7840; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload7841; SSE-NEXT:    pand %xmm15, %xmm97842; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload7843; SSE-NEXT:    pand %xmm15, %xmm127844; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7845; SSE-NEXT:    pand %xmm15, %xmm07846; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7847; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7848; SSE-NEXT:    pand %xmm15, %xmm07849; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7850; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7851; SSE-NEXT:    pand %xmm15, %xmm07852; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7853; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7854; SSE-NEXT:    pand %xmm15, %xmm07855; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7856; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7857; SSE-NEXT:    pand %xmm15, %xmm07858; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7859; SSE-NEXT:    movdqa %xmm14, %xmm07860; SSE-NEXT:    pand %xmm15, %xmm07861; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7862; SSE-NEXT:    movdqa %xmm2, %xmm47863; SSE-NEXT:    movdqa %xmm6, %xmm07864; SSE-NEXT:    pandn %xmm6, %xmm47865; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7866; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm6[0,2,2,3]7867; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7868; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7869; SSE-NEXT:    pand %xmm15, %xmm07870; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7871; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7872; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7873; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7874; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7875; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7876; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7877; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7878; SSE-NEXT:    pandn %xmm3, %xmm157879; SSE-NEXT:    por %xmm0, %xmm157880; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7881; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [65535,0,65535,65535,65535,65535,65535,65535]7882; SSE-NEXT:    movdqa %xmm1, %xmm27883; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload7884; SSE-NEXT:    pandn %xmm7, %xmm27885; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7886; SSE-NEXT:    movdqa %xmm7, %xmm107887; SSE-NEXT:    movdqa %xmm7, %xmm47888; SSE-NEXT:    movdqa %xmm1, %xmm27889; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload7890; SSE-NEXT:    pandn %xmm6, %xmm27891; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7892; SSE-NEXT:    movdqa %xmm6, %xmm87893; SSE-NEXT:    movdqa %xmm1, %xmm27894; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload7895; SSE-NEXT:    pandn %xmm5, %xmm27896; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7897; SSE-NEXT:    movdqa %xmm5, %xmm17898; SSE-NEXT:    movdqa %xmm5, %xmm117899; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7900; SSE-NEXT:    movdqa %xmm3, %xmm137901; SSE-NEXT:    pslld $16, %xmm137902; SSE-NEXT:    psrldq {{.*#+}} xmm10 = xmm10[2,3,4,5,6,7,8,9,10,11,12,13,14,15],zero,zero7903; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload7904; SSE-NEXT:    punpcklwd {{.*#+}} xmm10 = xmm10[0],xmm14[0],xmm10[1],xmm14[1],xmm10[2],xmm14[2],xmm10[3],xmm14[3]7905; SSE-NEXT:    movdqa %xmm6, %xmm07906; SSE-NEXT:    psrldq {{.*#+}} xmm0 = xmm0[2,3,4,5,6,7,8,9,10,11,12,13,14,15],zero,zero7907; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload7908; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm15[0],xmm0[1],xmm15[1],xmm0[2],xmm15[2],xmm0[3],xmm15[3]7909; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7910; SSE-NEXT:    psrldq {{.*#+}} xmm1 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],zero,zero7911; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7912; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]7913; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7914; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload7915; SSE-NEXT:    movdqa %xmm1, %xmm27916; SSE-NEXT:    psrldq {{.*#+}} xmm2 = xmm2[2,3,4,5,6,7,8,9,10,11,12,13,14,15],zero,zero7917; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]7918; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7919; SSE-NEXT:    punpckhwd {{.*#+}} xmm4 = xmm4[4],xmm14[4],xmm4[5],xmm14[5],xmm4[6],xmm14[6],xmm4[7],xmm14[7]7920; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7921; SSE-NEXT:    movdqa %xmm14, %xmm47922; SSE-NEXT:    punpckhwd {{.*#+}} xmm8 = xmm8[4],xmm15[4],xmm8[5],xmm15[5],xmm8[6],xmm15[6],xmm8[7],xmm15[7]7923; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7924; SSE-NEXT:    movdqa %xmm15, %xmm87925; SSE-NEXT:    punpckhwd {{.*#+}} xmm11 = xmm11[4],xmm0[4],xmm11[5],xmm0[5],xmm11[6],xmm0[6],xmm11[7],xmm0[7]7926; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7927; SSE-NEXT:    movdqa %xmm0, %xmm117928; SSE-NEXT:    movdqa %xmm1, %xmm07929; SSE-NEXT:    movdqa %xmm1, %xmm27930; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm3[4],xmm0[5],xmm3[5],xmm0[6],xmm3[6],xmm0[7],xmm3[7]7931; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7932; SSE-NEXT:    movdqa %xmm3, %xmm17933; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7934; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7935; SSE-NEXT:    pxor %xmm0, %xmm07936; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3],xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]7937; SSE-NEXT:    pshufhw {{.*#+}} xmm14 = xmm3[0,1,2,3,7,5,6,7]7938; SSE-NEXT:    pshufd {{.*#+}} xmm14 = xmm14[0,1,2,0]7939; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm14[0,1,2,3,6,4,6,5]7940; SSE-NEXT:    movdqa {{.*#+}} xmm14 = [65535,65535,65535,65535,65535,65535,0,65535]7941; SSE-NEXT:    pand %xmm14, %xmm37942; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7943; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7944; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7945; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3],xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]7946; SSE-NEXT:    pshufhw {{.*#+}} xmm15 = xmm3[0,1,2,3,7,5,6,7]7947; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm15[0,1,2,0]7948; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm15[0,1,2,3,6,4,6,5]7949; SSE-NEXT:    pand %xmm14, %xmm37950; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7951; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload7952; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7953; SSE-NEXT:    punpcklbw {{.*#+}} xmm15 = xmm15[0],xmm0[0],xmm15[1],xmm0[1],xmm15[2],xmm0[2],xmm15[3],xmm0[3],xmm15[4],xmm0[4],xmm15[5],xmm0[5],xmm15[6],xmm0[6],xmm15[7],xmm0[7]7954; SSE-NEXT:    pxor %xmm3, %xmm37955; SSE-NEXT:    pshufhw {{.*#+}} xmm15 = xmm15[0,1,2,3,7,5,6,7]7956; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm15[0,1,2,0]7957; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm15[0,1,2,3,6,4,6,5]7958; SSE-NEXT:    pand %xmm14, %xmm07959; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7960; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload7961; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7962; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3],xmm0[4],xmm3[4],xmm0[5],xmm3[5],xmm0[6],xmm3[6],xmm0[7],xmm3[7]7963; SSE-NEXT:    pshufhw {{.*#+}} xmm15 = xmm0[0,1,2,3,7,5,6,7]7964; SSE-NEXT:    pshufd {{.*#+}} xmm15 = xmm15[0,1,2,0]7965; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm15[0,1,2,3,6,4,6,5]7966; SSE-NEXT:    movdqa %xmm14, %xmm07967; SSE-NEXT:    pand %xmm14, %xmm37968; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7969; SSE-NEXT:    movdqa %xmm14, %xmm37970; SSE-NEXT:    pandn %xmm4, %xmm37971; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7972; SSE-NEXT:    pand %xmm14, %xmm77973; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7974; SSE-NEXT:    movdqa %xmm14, %xmm37975; SSE-NEXT:    pandn %xmm8, %xmm37976; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7977; SSE-NEXT:    pand %xmm14, %xmm67978; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7979; SSE-NEXT:    movdqa %xmm14, %xmm37980; SSE-NEXT:    movdqa %xmm11, %xmm67981; SSE-NEXT:    pandn %xmm11, %xmm37982; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7983; SSE-NEXT:    pand %xmm14, %xmm57984; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7985; SSE-NEXT:    movdqa %xmm2, %xmm37986; SSE-NEXT:    pand %xmm14, %xmm37987; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7988; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7989; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7990; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7991; SSE-NEXT:    movdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7992; SSE-NEXT:    pandn %xmm1, %xmm07993; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7994; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload7995; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill7996; SSE-NEXT:    pxor %xmm0, %xmm07997; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3],xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]7998; SSE-NEXT:    movdqa {{.*#+}} xmm11 = [65535,0,65535,65535,65535,65535,65535,65535]7999; SSE-NEXT:    pand %xmm11, %xmm38000; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8001; SSE-NEXT:    pand %xmm11, %xmm48002; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8003; SSE-NEXT:    movdqa (%rsp), %xmm3 # 16-byte Reload8004; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8005; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3],xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]8006; SSE-NEXT:    pand %xmm11, %xmm38007; SSE-NEXT:    movdqa %xmm3, (%rsp) # 16-byte Spill8008; SSE-NEXT:    pand %xmm11, %xmm88009; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8010; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8011; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8012; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3],xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]8013; SSE-NEXT:    pxor %xmm8, %xmm88014; SSE-NEXT:    pand %xmm11, %xmm38015; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8016; SSE-NEXT:    pand %xmm11, %xmm68017; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8018; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8019; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8020; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1],xmm0[2],xmm8[2],xmm0[3],xmm8[3],xmm0[4],xmm8[4],xmm0[5],xmm8[5],xmm0[6],xmm8[6],xmm0[7],xmm8[7]8021; SSE-NEXT:    pand %xmm11, %xmm08022; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8023; SSE-NEXT:    pand %xmm11, %xmm18024; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8025; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8026; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8027; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8028; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8029; SSE-NEXT:    pandn %xmm2, %xmm118030; SSE-NEXT:    movdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8031; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm13[0],xmm2[1],xmm13[1],xmm2[2],xmm13[2],xmm2[3],xmm13[3]8032; SSE-NEXT:    packuswb %xmm2, %xmm38033; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,65535,65535,65535,65535,65535,0]8034; SSE-NEXT:    movdqa %xmm0, %xmm158035; SSE-NEXT:    pandn %xmm3, %xmm158036; SSE-NEXT:    pshufd $236, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8037; SSE-NEXT:    # xmm3 = mem[0,3,2,3]8038; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,0,3,2,4,5,6,7]8039; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,5,4,6,7]8040; SSE-NEXT:    packuswb %xmm3, %xmm38041; SSE-NEXT:    pand %xmm0, %xmm38042; SSE-NEXT:    movdqa %xmm0, %xmm48043; SSE-NEXT:    por %xmm3, %xmm158044; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0]8045; SSE-NEXT:    movdqa %xmm0, %xmm38046; SSE-NEXT:    pandn %xmm15, %xmm38047; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8048; SSE-NEXT:    pand %xmm0, %xmm28049; SSE-NEXT:    movdqa %xmm0, %xmm138050; SSE-NEXT:    por %xmm2, %xmm38051; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8052; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,65535,0,65535,65535,0,65535]8053; SSE-NEXT:    movdqa %xmm0, %xmm38054; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8055; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8056; SSE-NEXT:    pand %xmm0, %xmm158057; SSE-NEXT:    movdqa %xmm0, %xmm58058; SSE-NEXT:    por %xmm3, %xmm158059; SSE-NEXT:    movdqa %xmm15, %xmm38060; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm8[0],xmm3[1],xmm8[1],xmm3[2],xmm8[2],xmm3[3],xmm8[3],xmm3[4],xmm8[4],xmm3[5],xmm8[5],xmm3[6],xmm8[6],xmm3[7],xmm8[7]8061; SSE-NEXT:    movdqa {{.*#+}} xmm14 = [65535,0,65535,65535,65535,65535,0,65535]8062; SSE-NEXT:    movdqa %xmm14, %xmm08063; SSE-NEXT:    pandn %xmm3, %xmm08064; SSE-NEXT:    punpckhbw {{.*#+}} xmm15 = xmm15[8],xmm8[8],xmm15[9],xmm8[9],xmm15[10],xmm8[10],xmm15[11],xmm8[11],xmm15[12],xmm8[12],xmm15[13],xmm8[13],xmm15[14],xmm8[14],xmm15[15],xmm8[15]8065; SSE-NEXT:    pand %xmm14, %xmm158066; SSE-NEXT:    por %xmm0, %xmm158067; SSE-NEXT:    packuswb %xmm10, %xmm08068; SSE-NEXT:    movdqa %xmm4, %xmm28069; SSE-NEXT:    pandn %xmm0, %xmm28070; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm15[0,3,2,3]8071; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,0,3,4,5,6,7]8072; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,6,7]8073; SSE-NEXT:    packuswb %xmm0, %xmm08074; SSE-NEXT:    pand %xmm4, %xmm08075; SSE-NEXT:    por %xmm0, %xmm28076; SSE-NEXT:    movdqa %xmm13, %xmm38077; SSE-NEXT:    pandn %xmm2, %xmm38078; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8079; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8080; SSE-NEXT:    por %xmm0, %xmm98081; SSE-NEXT:    movdqa %xmm9, %xmm08082; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm8[8],xmm0[9],xmm8[9],xmm0[10],xmm8[10],xmm0[11],xmm8[11],xmm0[12],xmm8[12],xmm0[13],xmm8[13],xmm0[14],xmm8[14],xmm0[15],xmm8[15]8083; SSE-NEXT:    movdqa %xmm14, %xmm28084; SSE-NEXT:    pandn %xmm0, %xmm28085; SSE-NEXT:    punpcklbw {{.*#+}} xmm9 = xmm9[0],xmm8[0],xmm9[1],xmm8[1],xmm9[2],xmm8[2],xmm9[3],xmm8[3],xmm9[4],xmm8[4],xmm9[5],xmm8[5],xmm9[6],xmm8[6],xmm9[7],xmm8[7]8086; SSE-NEXT:    pand %xmm14, %xmm98087; SSE-NEXT:    por %xmm2, %xmm98088; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload8089; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm7[1,3,2,3]8090; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8091; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]8092; SSE-NEXT:    movdqa %xmm1, %xmm28093; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8094; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,65535,65535,0,65535,65535,65535]8095; SSE-NEXT:    movdqa %xmm0, %xmm158096; SSE-NEXT:    pandn %xmm2, %xmm158097; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3],xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]8098; SSE-NEXT:    pand %xmm0, %xmm18099; SSE-NEXT:    por %xmm15, %xmm18100; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm1[0,1,2,1]8101; SSE-NEXT:    pshufhw {{.*#+}} xmm11 = xmm11[0,1,2,3,4,5,4,7]8102; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[1,1,1,1]8103; SSE-NEXT:    packuswb %xmm2, %xmm118104; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255]8105; SSE-NEXT:    movdqa %xmm6, %xmm28106; SSE-NEXT:    pandn %xmm11, %xmm28107; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm9[0,2,1,3]8108; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]8109; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,3,3]8110; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[2,1,0,3,4,5,6,7]8111; SSE-NEXT:    packuswb %xmm1, %xmm18112; SSE-NEXT:    pand %xmm6, %xmm18113; SSE-NEXT:    por %xmm1, %xmm28114; SSE-NEXT:    pand %xmm13, %xmm28115; SSE-NEXT:    por %xmm3, %xmm28116; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8117; SSE-NEXT:    movdqa %xmm5, %xmm158118; SSE-NEXT:    movdqa %xmm5, %xmm18119; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8120; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8121; SSE-NEXT:    pand %xmm5, %xmm28122; SSE-NEXT:    por %xmm1, %xmm28123; SSE-NEXT:    movdqa %xmm2, %xmm18124; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3],xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]8125; SSE-NEXT:    movdqa %xmm14, %xmm38126; SSE-NEXT:    pandn %xmm1, %xmm38127; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8128; SSE-NEXT:    pand %xmm14, %xmm28129; SSE-NEXT:    por %xmm3, %xmm28130; SSE-NEXT:    packuswb {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8131; SSE-NEXT:    movdqa %xmm4, %xmm38132; SSE-NEXT:    pandn %xmm1, %xmm38133; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,3,2,3]8134; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,1,0,3,4,5,6,7]8135; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]8136; SSE-NEXT:    packuswb %xmm1, %xmm18137; SSE-NEXT:    pand %xmm4, %xmm18138; SSE-NEXT:    movdqa %xmm4, %xmm108139; SSE-NEXT:    por %xmm1, %xmm38140; SSE-NEXT:    movdqa %xmm13, %xmm18141; SSE-NEXT:    pandn %xmm3, %xmm18142; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8143; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8144; SSE-NEXT:    por %xmm2, %xmm128145; SSE-NEXT:    movdqa %xmm12, %xmm28146; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8147; SSE-NEXT:    movdqa %xmm14, %xmm38148; SSE-NEXT:    pandn %xmm2, %xmm38149; SSE-NEXT:    punpcklbw {{.*#+}} xmm12 = xmm12[0],xmm8[0],xmm12[1],xmm8[1],xmm12[2],xmm8[2],xmm12[3],xmm8[3],xmm12[4],xmm8[4],xmm12[5],xmm8[5],xmm12[6],xmm8[6],xmm12[7],xmm8[7]8150; SSE-NEXT:    pand %xmm14, %xmm128151; SSE-NEXT:    por %xmm3, %xmm128152; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload8153; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm11[1,3,2,3]8154; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8155; SSE-NEXT:    punpckldq {{.*#+}} xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1]8156; SSE-NEXT:    movdqa %xmm4, %xmm28157; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8158; SSE-NEXT:    movdqa %xmm0, %xmm38159; SSE-NEXT:    pandn %xmm2, %xmm38160; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm8[0],xmm4[1],xmm8[1],xmm4[2],xmm8[2],xmm4[3],xmm8[3],xmm4[4],xmm8[4],xmm4[5],xmm8[5],xmm4[6],xmm8[6],xmm4[7],xmm8[7]8161; SSE-NEXT:    pand %xmm0, %xmm48162; SSE-NEXT:    por %xmm3, %xmm48163; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm4[0,1,2,1]8164; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]8165; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[1,1,1,1]8166; SSE-NEXT:    packuswb %xmm2, %xmm38167; SSE-NEXT:    movdqa %xmm6, %xmm48168; SSE-NEXT:    pandn %xmm3, %xmm48169; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm12[0,2,1,3]8170; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,7,6,7]8171; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,3,3]8172; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[2,1,0,3,4,5,6,7]8173; SSE-NEXT:    packuswb %xmm2, %xmm28174; SSE-NEXT:    pand %xmm6, %xmm28175; SSE-NEXT:    por %xmm2, %xmm48176; SSE-NEXT:    pand %xmm13, %xmm48177; SSE-NEXT:    por %xmm1, %xmm48178; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8179; SSE-NEXT:    movdqa %xmm5, %xmm18180; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8181; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8182; SSE-NEXT:    pand %xmm5, %xmm28183; SSE-NEXT:    por %xmm1, %xmm28184; SSE-NEXT:    movdqa %xmm2, %xmm18185; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3],xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]8186; SSE-NEXT:    movdqa %xmm14, %xmm38187; SSE-NEXT:    pandn %xmm1, %xmm38188; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8189; SSE-NEXT:    pand %xmm14, %xmm28190; SSE-NEXT:    por %xmm3, %xmm28191; SSE-NEXT:    packuswb {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8192; SSE-NEXT:    movdqa %xmm10, %xmm38193; SSE-NEXT:    pandn %xmm1, %xmm38194; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,3,2,3]8195; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,1,0,3,4,5,6,7]8196; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]8197; SSE-NEXT:    packuswb %xmm1, %xmm18198; SSE-NEXT:    pand %xmm10, %xmm18199; SSE-NEXT:    por %xmm1, %xmm38200; SSE-NEXT:    movdqa %xmm13, %xmm18201; SSE-NEXT:    pandn %xmm3, %xmm18202; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8203; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8204; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8205; SSE-NEXT:    por %xmm2, %xmm48206; SSE-NEXT:    movdqa %xmm4, %xmm28207; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8208; SSE-NEXT:    movdqa %xmm14, %xmm38209; SSE-NEXT:    pandn %xmm2, %xmm38210; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm8[0],xmm4[1],xmm8[1],xmm4[2],xmm8[2],xmm4[3],xmm8[3],xmm4[4],xmm8[4],xmm4[5],xmm8[5],xmm4[6],xmm8[6],xmm4[7],xmm8[7]8211; SSE-NEXT:    pand %xmm14, %xmm48212; SSE-NEXT:    por %xmm3, %xmm48213; SSE-NEXT:    movdqa %xmm4, %xmm58214; SSE-NEXT:    pshufd $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8215; SSE-NEXT:    # xmm2 = mem[1,3,2,3]8216; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8217; SSE-NEXT:    punpckldq {{.*#+}} xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1]8218; SSE-NEXT:    movdqa %xmm4, %xmm28219; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8220; SSE-NEXT:    movdqa %xmm0, %xmm38221; SSE-NEXT:    pandn %xmm2, %xmm38222; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm8[0],xmm4[1],xmm8[1],xmm4[2],xmm8[2],xmm4[3],xmm8[3],xmm4[4],xmm8[4],xmm4[5],xmm8[5],xmm4[6],xmm8[6],xmm4[7],xmm8[7]8223; SSE-NEXT:    pand %xmm0, %xmm48224; SSE-NEXT:    por %xmm3, %xmm48225; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm4[0,1,2,1]8226; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]8227; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[1,1,1,1]8228; SSE-NEXT:    packuswb %xmm2, %xmm38229; SSE-NEXT:    movdqa %xmm6, %xmm48230; SSE-NEXT:    pandn %xmm3, %xmm48231; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm5[0,2,1,3]8232; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,7,6,7]8233; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,3,3]8234; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[2,1,0,3,4,5,6,7]8235; SSE-NEXT:    packuswb %xmm2, %xmm28236; SSE-NEXT:    pand %xmm6, %xmm28237; SSE-NEXT:    por %xmm2, %xmm48238; SSE-NEXT:    pand %xmm13, %xmm48239; SSE-NEXT:    por %xmm1, %xmm48240; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8241; SSE-NEXT:    movdqa %xmm15, %xmm18242; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8243; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8244; SSE-NEXT:    pand %xmm15, %xmm28245; SSE-NEXT:    por %xmm1, %xmm28246; SSE-NEXT:    movdqa %xmm2, %xmm18247; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3],xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]8248; SSE-NEXT:    movdqa %xmm14, %xmm38249; SSE-NEXT:    pandn %xmm1, %xmm38250; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8251; SSE-NEXT:    pand %xmm14, %xmm28252; SSE-NEXT:    por %xmm3, %xmm28253; SSE-NEXT:    packuswb {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8254; SSE-NEXT:    movdqa %xmm10, %xmm38255; SSE-NEXT:    pandn %xmm1, %xmm38256; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,3,2,3]8257; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,1,0,3,4,5,6,7]8258; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]8259; SSE-NEXT:    packuswb %xmm1, %xmm18260; SSE-NEXT:    pand %xmm10, %xmm18261; SSE-NEXT:    por %xmm1, %xmm38262; SSE-NEXT:    movdqa %xmm13, %xmm18263; SSE-NEXT:    pandn %xmm3, %xmm18264; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8265; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8266; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8267; SSE-NEXT:    por %xmm2, %xmm48268; SSE-NEXT:    movdqa %xmm4, %xmm28269; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8270; SSE-NEXT:    movdqa %xmm14, %xmm38271; SSE-NEXT:    pandn %xmm2, %xmm38272; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm8[0],xmm4[1],xmm8[1],xmm4[2],xmm8[2],xmm4[3],xmm8[3],xmm4[4],xmm8[4],xmm4[5],xmm8[5],xmm4[6],xmm8[6],xmm4[7],xmm8[7]8273; SSE-NEXT:    pand %xmm14, %xmm48274; SSE-NEXT:    por %xmm3, %xmm48275; SSE-NEXT:    pshufd $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8276; SSE-NEXT:    # xmm2 = mem[1,3,2,3]8277; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8278; SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]8279; SSE-NEXT:    movdqa %xmm3, %xmm28280; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8281; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm8[0],xmm3[1],xmm8[1],xmm3[2],xmm8[2],xmm3[3],xmm8[3],xmm3[4],xmm8[4],xmm3[5],xmm8[5],xmm3[6],xmm8[6],xmm3[7],xmm8[7]8282; SSE-NEXT:    pand %xmm0, %xmm38283; SSE-NEXT:    pandn %xmm2, %xmm08284; SSE-NEXT:    por %xmm3, %xmm08285; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,2,1]8286; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,4,7]8287; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[1,1,1,1]8288; SSE-NEXT:    packuswb %xmm2, %xmm08289; SSE-NEXT:    movdqa %xmm6, %xmm28290; SSE-NEXT:    pandn %xmm0, %xmm28291; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm4[0,2,1,3]8292; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,7]8293; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,3,3]8294; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,1,0,3,4,5,6,7]8295; SSE-NEXT:    packuswb %xmm0, %xmm08296; SSE-NEXT:    pand %xmm6, %xmm08297; SSE-NEXT:    por %xmm0, %xmm28298; SSE-NEXT:    pand %xmm13, %xmm28299; SSE-NEXT:    por %xmm1, %xmm28300; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8301; SSE-NEXT:    movdqa %xmm15, %xmm98302; SSE-NEXT:    movdqa %xmm15, %xmm08303; SSE-NEXT:    pandn %xmm7, %xmm08304; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8305; SSE-NEXT:    pand %xmm15, %xmm18306; SSE-NEXT:    por %xmm0, %xmm18307; SSE-NEXT:    movdqa %xmm1, %xmm08308; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm8[8],xmm0[9],xmm8[9],xmm0[10],xmm8[10],xmm0[11],xmm8[11],xmm0[12],xmm8[12],xmm0[13],xmm8[13],xmm0[14],xmm8[14],xmm0[15],xmm8[15]8309; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3],xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]8310; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]8311; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]8312; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]8313; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,6]8314; SSE-NEXT:    psrlq $48, %xmm08315; SSE-NEXT:    packuswb %xmm0, %xmm18316; SSE-NEXT:    movdqa %xmm6, %xmm08317; SSE-NEXT:    pandn %xmm1, %xmm08318; SSE-NEXT:    movdqa {{.*#+}} xmm12 = [65535,0,65535,65535,65535,0,65535,65535]8319; SSE-NEXT:    movdqa %xmm12, %xmm18320; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8321; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8322; SSE-NEXT:    pand %xmm12, %xmm28323; SSE-NEXT:    por %xmm1, %xmm28324; SSE-NEXT:    movdqa %xmm2, %xmm18325; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3],xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]8326; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [65535,0,65535,0,65535,65535,65535,65535]8327; SSE-NEXT:    movdqa %xmm5, %xmm38328; SSE-NEXT:    pandn %xmm1, %xmm38329; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8330; SSE-NEXT:    pand %xmm5, %xmm28331; SSE-NEXT:    por %xmm3, %xmm28332; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm2[3,2,1,0,4,5,6,7]8333; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,7,7,7]8334; SSE-NEXT:    packuswb %xmm1, %xmm18335; SSE-NEXT:    pand %xmm6, %xmm18336; SSE-NEXT:    por %xmm0, %xmm18337; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8338; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8339; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8340; SSE-NEXT:    por %xmm0, %xmm38341; SSE-NEXT:    movdqa %xmm3, %xmm08342; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm8[8],xmm0[9],xmm8[9],xmm0[10],xmm8[10],xmm0[11],xmm8[11],xmm0[12],xmm8[12],xmm0[13],xmm8[13],xmm0[14],xmm8[14],xmm0[15],xmm8[15]8343; SSE-NEXT:    movdqa %xmm14, %xmm28344; SSE-NEXT:    pandn %xmm0, %xmm28345; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm8[0],xmm3[1],xmm8[1],xmm3[2],xmm8[2],xmm3[3],xmm8[3],xmm3[4],xmm8[4],xmm3[5],xmm8[5],xmm3[6],xmm8[6],xmm3[7],xmm8[7]8346; SSE-NEXT:    pand %xmm14, %xmm38347; SSE-NEXT:    por %xmm2, %xmm38348; SSE-NEXT:    pshuflw $230, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8349; SSE-NEXT:    # xmm0 = mem[2,1,2,3,4,5,6,7]8350; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8351; SSE-NEXT:    packuswb %xmm0, %xmm08352; SSE-NEXT:    movdqa %xmm10, %xmm78353; SSE-NEXT:    movdqa %xmm10, %xmm28354; SSE-NEXT:    pandn %xmm0, %xmm28355; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm3[0,2,1,0,4,5,6,7]8356; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,6,6,7]8357; SSE-NEXT:    packuswb %xmm0, %xmm08358; SSE-NEXT:    pand %xmm10, %xmm08359; SSE-NEXT:    por %xmm0, %xmm28360; SSE-NEXT:    movdqa %xmm13, %xmm108361; SSE-NEXT:    movdqa %xmm13, %xmm08362; SSE-NEXT:    pandn %xmm2, %xmm08363; SSE-NEXT:    pand %xmm13, %xmm18364; SSE-NEXT:    por %xmm1, %xmm08365; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8366; SSE-NEXT:    movdqa %xmm15, %xmm08367; SSE-NEXT:    pandn %xmm11, %xmm08368; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8369; SSE-NEXT:    pand %xmm15, %xmm18370; SSE-NEXT:    por %xmm0, %xmm18371; SSE-NEXT:    movdqa %xmm1, %xmm08372; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm8[8],xmm0[9],xmm8[9],xmm0[10],xmm8[10],xmm0[11],xmm8[11],xmm0[12],xmm8[12],xmm0[13],xmm8[13],xmm0[14],xmm8[14],xmm0[15],xmm8[15]8373; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3],xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]8374; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]8375; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]8376; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]8377; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,6]8378; SSE-NEXT:    psrlq $48, %xmm08379; SSE-NEXT:    packuswb %xmm0, %xmm18380; SSE-NEXT:    movdqa %xmm6, %xmm08381; SSE-NEXT:    pandn %xmm1, %xmm08382; SSE-NEXT:    movdqa %xmm12, %xmm18383; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8384; SSE-NEXT:    pandn %xmm15, %xmm18385; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8386; SSE-NEXT:    movdqa %xmm4, %xmm28387; SSE-NEXT:    pand %xmm12, %xmm28388; SSE-NEXT:    por %xmm1, %xmm28389; SSE-NEXT:    movdqa %xmm2, %xmm18390; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3],xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]8391; SSE-NEXT:    movdqa %xmm5, %xmm38392; SSE-NEXT:    pandn %xmm1, %xmm38393; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8394; SSE-NEXT:    pand %xmm5, %xmm28395; SSE-NEXT:    por %xmm3, %xmm28396; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm2[3,2,1,0,4,5,6,7]8397; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,7,7,7]8398; SSE-NEXT:    packuswb %xmm1, %xmm18399; SSE-NEXT:    pand %xmm6, %xmm18400; SSE-NEXT:    por %xmm0, %xmm18401; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8402; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8403; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8404; SSE-NEXT:    por %xmm0, %xmm38405; SSE-NEXT:    movdqa %xmm3, %xmm08406; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm8[8],xmm0[9],xmm8[9],xmm0[10],xmm8[10],xmm0[11],xmm8[11],xmm0[12],xmm8[12],xmm0[13],xmm8[13],xmm0[14],xmm8[14],xmm0[15],xmm8[15]8407; SSE-NEXT:    movdqa %xmm14, %xmm28408; SSE-NEXT:    pandn %xmm0, %xmm28409; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm8[0],xmm3[1],xmm8[1],xmm3[2],xmm8[2],xmm3[3],xmm8[3],xmm3[4],xmm8[4],xmm3[5],xmm8[5],xmm3[6],xmm8[6],xmm3[7],xmm8[7]8410; SSE-NEXT:    pand %xmm14, %xmm38411; SSE-NEXT:    por %xmm2, %xmm38412; SSE-NEXT:    pshuflw $230, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8413; SSE-NEXT:    # xmm0 = mem[2,1,2,3,4,5,6,7]8414; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8415; SSE-NEXT:    packuswb %xmm0, %xmm08416; SSE-NEXT:    movdqa %xmm7, %xmm28417; SSE-NEXT:    pandn %xmm0, %xmm28418; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm3[0,2,1,0,4,5,6,7]8419; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,6,6,7]8420; SSE-NEXT:    packuswb %xmm0, %xmm08421; SSE-NEXT:    pand %xmm7, %xmm08422; SSE-NEXT:    por %xmm0, %xmm28423; SSE-NEXT:    movdqa %xmm13, %xmm08424; SSE-NEXT:    pandn %xmm2, %xmm08425; SSE-NEXT:    pand %xmm13, %xmm18426; SSE-NEXT:    por %xmm1, %xmm08427; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8428; SSE-NEXT:    movdqa %xmm9, %xmm08429; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8430; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8431; SSE-NEXT:    pand %xmm9, %xmm18432; SSE-NEXT:    movdqa %xmm9, %xmm138433; SSE-NEXT:    por %xmm0, %xmm18434; SSE-NEXT:    movdqa %xmm1, %xmm08435; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm8[8],xmm0[9],xmm8[9],xmm0[10],xmm8[10],xmm0[11],xmm8[11],xmm0[12],xmm8[12],xmm0[13],xmm8[13],xmm0[14],xmm8[14],xmm0[15],xmm8[15]8436; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3],xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]8437; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]8438; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]8439; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]8440; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,6]8441; SSE-NEXT:    psrlq $48, %xmm08442; SSE-NEXT:    packuswb %xmm0, %xmm18443; SSE-NEXT:    movdqa %xmm6, %xmm08444; SSE-NEXT:    pandn %xmm1, %xmm08445; SSE-NEXT:    movdqa %xmm12, %xmm18446; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8447; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload8448; SSE-NEXT:    movdqa %xmm9, %xmm28449; SSE-NEXT:    pand %xmm12, %xmm28450; SSE-NEXT:    por %xmm1, %xmm28451; SSE-NEXT:    movdqa %xmm2, %xmm18452; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm8[0],xmm1[1],xmm8[1],xmm1[2],xmm8[2],xmm1[3],xmm8[3],xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]8453; SSE-NEXT:    movdqa %xmm5, %xmm38454; SSE-NEXT:    pandn %xmm1, %xmm38455; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8456; SSE-NEXT:    pand %xmm5, %xmm28457; SSE-NEXT:    por %xmm3, %xmm28458; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm2[3,2,1,0,4,5,6,7]8459; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,7,7,7]8460; SSE-NEXT:    packuswb %xmm1, %xmm18461; SSE-NEXT:    pand %xmm6, %xmm18462; SSE-NEXT:    por %xmm0, %xmm18463; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload8464; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8465; SSE-NEXT:    pandn %xmm11, %xmm08466; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8467; SSE-NEXT:    por %xmm0, %xmm38468; SSE-NEXT:    movdqa %xmm3, %xmm08469; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm8[8],xmm0[9],xmm8[9],xmm0[10],xmm8[10],xmm0[11],xmm8[11],xmm0[12],xmm8[12],xmm0[13],xmm8[13],xmm0[14],xmm8[14],xmm0[15],xmm8[15]8470; SSE-NEXT:    movdqa %xmm14, %xmm28471; SSE-NEXT:    pandn %xmm0, %xmm28472; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm8[0],xmm3[1],xmm8[1],xmm3[2],xmm8[2],xmm3[3],xmm8[3],xmm3[4],xmm8[4],xmm3[5],xmm8[5],xmm3[6],xmm8[6],xmm3[7],xmm8[7]8473; SSE-NEXT:    pand %xmm14, %xmm38474; SSE-NEXT:    por %xmm2, %xmm38475; SSE-NEXT:    pshuflw $230, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8476; SSE-NEXT:    # xmm0 = mem[2,1,2,3,4,5,6,7]8477; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]8478; SSE-NEXT:    packuswb %xmm0, %xmm08479; SSE-NEXT:    movdqa %xmm7, %xmm28480; SSE-NEXT:    pandn %xmm0, %xmm28481; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm3[0,2,1,0,4,5,6,7]8482; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,6,6,7]8483; SSE-NEXT:    packuswb %xmm0, %xmm08484; SSE-NEXT:    pand %xmm7, %xmm08485; SSE-NEXT:    por %xmm0, %xmm28486; SSE-NEXT:    movdqa %xmm10, %xmm08487; SSE-NEXT:    pandn %xmm2, %xmm08488; SSE-NEXT:    pand %xmm10, %xmm18489; SSE-NEXT:    por %xmm1, %xmm08490; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8491; SSE-NEXT:    movdqa %xmm13, %xmm08492; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8493; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8494; SSE-NEXT:    pand %xmm13, %xmm28495; SSE-NEXT:    por %xmm0, %xmm28496; SSE-NEXT:    movdqa %xmm2, %xmm08497; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm8[8],xmm0[9],xmm8[9],xmm0[10],xmm8[10],xmm0[11],xmm8[11],xmm0[12],xmm8[12],xmm0[13],xmm8[13],xmm0[14],xmm8[14],xmm0[15],xmm8[15]8498; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm8[0],xmm2[1],xmm8[1],xmm2[2],xmm8[2],xmm2[3],xmm8[3],xmm2[4],xmm8[4],xmm2[5],xmm8[5],xmm2[6],xmm8[6],xmm2[7],xmm8[7]8499; SSE-NEXT:    punpckhwd {{.*#+}} xmm2 = xmm2[4],xmm0[4],xmm2[5],xmm0[5],xmm2[6],xmm0[6],xmm2[7],xmm0[7]8500; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm2[0,3,2,3,4,5,6,7]8501; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]8502; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,6]8503; SSE-NEXT:    psrlq $48, %xmm08504; SSE-NEXT:    packuswb %xmm0, %xmm18505; SSE-NEXT:    movdqa %xmm12, %xmm08506; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload8507; SSE-NEXT:    pandn %xmm13, %xmm08508; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8509; SSE-NEXT:    pand %xmm12, %xmm28510; SSE-NEXT:    por %xmm0, %xmm28511; SSE-NEXT:    movdqa %xmm2, %xmm08512; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1],xmm0[2],xmm8[2],xmm0[3],xmm8[3],xmm0[4],xmm8[4],xmm0[5],xmm8[5],xmm0[6],xmm8[6],xmm0[7],xmm8[7]8513; SSE-NEXT:    movdqa %xmm5, %xmm38514; SSE-NEXT:    pandn %xmm0, %xmm38515; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm8[8],xmm2[9],xmm8[9],xmm2[10],xmm8[10],xmm2[11],xmm8[11],xmm2[12],xmm8[12],xmm2[13],xmm8[13],xmm2[14],xmm8[14],xmm2[15],xmm8[15]8516; SSE-NEXT:    pand %xmm5, %xmm28517; SSE-NEXT:    por %xmm3, %xmm28518; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm2[3,2,1,0,4,5,6,7]8519; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,7,7,7]8520; SSE-NEXT:    packuswb %xmm0, %xmm08521; SSE-NEXT:    pand %xmm6, %xmm08522; SSE-NEXT:    pandn %xmm1, %xmm68523; SSE-NEXT:    por %xmm6, %xmm08524; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8525; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8526; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8527; SSE-NEXT:    por %xmm1, %xmm38528; SSE-NEXT:    movdqa %xmm3, %xmm18529; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm8[8],xmm1[9],xmm8[9],xmm1[10],xmm8[10],xmm1[11],xmm8[11],xmm1[12],xmm8[12],xmm1[13],xmm8[13],xmm1[14],xmm8[14],xmm1[15],xmm8[15]8530; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm8[0],xmm3[1],xmm8[1],xmm3[2],xmm8[2],xmm3[3],xmm8[3],xmm3[4],xmm8[4],xmm3[5],xmm8[5],xmm3[6],xmm8[6],xmm3[7],xmm8[7]8531; SSE-NEXT:    pand %xmm14, %xmm38532; SSE-NEXT:    pandn %xmm1, %xmm148533; SSE-NEXT:    por %xmm3, %xmm148534; SSE-NEXT:    pshuflw $230, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8535; SSE-NEXT:    # xmm1 = mem[2,1,2,3,4,5,6,7]8536; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]8537; SSE-NEXT:    packuswb %xmm1, %xmm18538; SSE-NEXT:    movdqa %xmm7, %xmm28539; SSE-NEXT:    pandn %xmm1, %xmm28540; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm14[0,2,1,0,4,5,6,7]8541; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,6,6,7]8542; SSE-NEXT:    packuswb %xmm1, %xmm18543; SSE-NEXT:    pand %xmm7, %xmm18544; SSE-NEXT:    por %xmm1, %xmm28545; SSE-NEXT:    movdqa %xmm10, %xmm18546; SSE-NEXT:    pandn %xmm2, %xmm18547; SSE-NEXT:    pand %xmm10, %xmm08548; SSE-NEXT:    por %xmm0, %xmm18549; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8550; SSE-NEXT:    movdqa {{.*#+}} xmm8 = [65535,65535,0,65535,65535,0,65535,65535]8551; SSE-NEXT:    movdqa %xmm8, %xmm08552; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8553; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8554; SSE-NEXT:    pand %xmm8, %xmm18555; SSE-NEXT:    por %xmm0, %xmm18556; SSE-NEXT:    movdqa %xmm1, %xmm08557; SSE-NEXT:    pxor %xmm2, %xmm28558; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm2[8],xmm0[9],xmm2[9],xmm0[10],xmm2[10],xmm0[11],xmm2[11],xmm0[12],xmm2[12],xmm0[13],xmm2[13],xmm0[14],xmm2[14],xmm0[15],xmm2[15]8559; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,1,2,3,4,5,6,7]8560; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3],xmm1[4],xmm2[4],xmm1[5],xmm2[5],xmm1[6],xmm2[6],xmm1[7],xmm2[7]8561; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,1,2,3]8562; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,2,2,3,4,5,6,7]8563; SSE-NEXT:    punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]8564; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8565; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm2[8],xmm0[9],xmm2[9],xmm0[10],xmm2[10],xmm0[11],xmm2[11],xmm0[12],xmm2[12],xmm0[13],xmm2[13],xmm0[14],xmm2[14],xmm0[15],xmm2[15]8566; SSE-NEXT:    pxor %xmm6, %xmm68567; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8568; SSE-NEXT:    pandn %xmm0, %xmm38569; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8570; SSE-NEXT:    por %xmm3, %xmm28571; SSE-NEXT:    packuswb %xmm0, %xmm28572; SSE-NEXT:    packuswb %xmm1, %xmm18573; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,1,3,3]8574; SSE-NEXT:    movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]8575; SSE-NEXT:    movdqa %xmm12, %xmm18576; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8577; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload8578; SSE-NEXT:    movdqa %xmm14, %xmm28579; SSE-NEXT:    pand %xmm12, %xmm28580; SSE-NEXT:    por %xmm1, %xmm28581; SSE-NEXT:    movdqa %xmm2, %xmm18582; 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]8583; SSE-NEXT:    movdqa %xmm5, %xmm38584; SSE-NEXT:    pandn %xmm1, %xmm38585; 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]8586; SSE-NEXT:    pand %xmm5, %xmm28587; SSE-NEXT:    por %xmm3, %xmm28588; SSE-NEXT:    pshufd $100, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload8589; SSE-NEXT:    # xmm1 = mem[0,1,2,1]8590; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,7]8591; SSE-NEXT:    packuswb %xmm1, %xmm18592; SSE-NEXT:    movdqa %xmm7, %xmm38593; SSE-NEXT:    pandn %xmm1, %xmm38594; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,1,0,3]8595; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]8596; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]8597; SSE-NEXT:    packuswb %xmm1, %xmm18598; SSE-NEXT:    pand %xmm7, %xmm18599; SSE-NEXT:    por %xmm1, %xmm38600; SSE-NEXT:    movdqa %xmm10, %xmm18601; SSE-NEXT:    pandn %xmm3, %xmm18602; SSE-NEXT:    andps %xmm10, %xmm08603; SSE-NEXT:    por %xmm0, %xmm18604; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8605; SSE-NEXT:    movdqa %xmm8, %xmm08606; SSE-NEXT:    pandn %xmm15, %xmm08607; SSE-NEXT:    pand %xmm8, %xmm48608; SSE-NEXT:    por %xmm0, %xmm48609; SSE-NEXT:    movdqa %xmm4, %xmm08610; SSE-NEXT:    pxor %xmm1, %xmm18611; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]8612; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,1,2,3,4,5,6,7]8613; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3],xmm4[4],xmm1[4],xmm4[5],xmm1[5],xmm4[6],xmm1[6],xmm4[7],xmm1[7]8614; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm4[2,1,2,3]8615; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,2,2,3,4,5,6,7]8616; SSE-NEXT:    punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]8617; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8618; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]8619; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8620; SSE-NEXT:    pandn %xmm0, %xmm48621; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8622; SSE-NEXT:    por %xmm4, %xmm38623; SSE-NEXT:    packuswb %xmm0, %xmm38624; SSE-NEXT:    packuswb %xmm2, %xmm28625; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[0,1,3,3]8626; SSE-NEXT:    movss {{.*#+}} xmm0 = xmm2[0],xmm0[1,2,3]8627; SSE-NEXT:    movdqa %xmm12, %xmm28628; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8629; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8630; SSE-NEXT:    movdqa %xmm15, %xmm38631; SSE-NEXT:    pand %xmm12, %xmm38632; SSE-NEXT:    por %xmm2, %xmm38633; SSE-NEXT:    movdqa %xmm3, %xmm28634; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3],xmm2[4],xmm1[4],xmm2[5],xmm1[5],xmm2[6],xmm1[6],xmm2[7],xmm1[7]8635; SSE-NEXT:    movdqa %xmm5, %xmm48636; SSE-NEXT:    pandn %xmm2, %xmm48637; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm1[8],xmm3[9],xmm1[9],xmm3[10],xmm1[10],xmm3[11],xmm1[11],xmm3[12],xmm1[12],xmm3[13],xmm1[13],xmm3[14],xmm1[14],xmm3[15],xmm1[15]8638; SSE-NEXT:    pand %xmm5, %xmm38639; SSE-NEXT:    por %xmm4, %xmm38640; SSE-NEXT:    pshufd $100, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8641; SSE-NEXT:    # xmm2 = mem[0,1,2,1]8642; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,4,7]8643; SSE-NEXT:    packuswb %xmm2, %xmm28644; SSE-NEXT:    movdqa %xmm7, %xmm48645; SSE-NEXT:    pandn %xmm2, %xmm48646; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[0,1,0,3]8647; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,3,2,1,4,5,6,7]8648; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,7,6,7]8649; SSE-NEXT:    packuswb %xmm2, %xmm28650; SSE-NEXT:    pand %xmm7, %xmm28651; SSE-NEXT:    por %xmm2, %xmm48652; SSE-NEXT:    movdqa %xmm10, %xmm18653; SSE-NEXT:    pandn %xmm4, %xmm18654; SSE-NEXT:    andps %xmm10, %xmm08655; SSE-NEXT:    por %xmm0, %xmm18656; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8657; SSE-NEXT:    movdqa %xmm8, %xmm08658; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload8659; SSE-NEXT:    pand %xmm8, %xmm98660; SSE-NEXT:    por %xmm0, %xmm98661; SSE-NEXT:    movdqa %xmm9, %xmm08662; SSE-NEXT:    pxor %xmm1, %xmm18663; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]8664; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,1,2,3,4,5,6,7]8665; SSE-NEXT:    punpcklbw {{.*#+}} xmm9 = xmm9[0],xmm1[0],xmm9[1],xmm1[1],xmm9[2],xmm1[2],xmm9[3],xmm1[3],xmm9[4],xmm1[4],xmm9[5],xmm1[5],xmm9[6],xmm1[6],xmm9[7],xmm1[7]8666; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm9[2,1,2,3]8667; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,2,2,3,4,5,6,7]8668; SSE-NEXT:    punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3]8669; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8670; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]8671; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8672; SSE-NEXT:    pandn %xmm0, %xmm48673; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8674; SSE-NEXT:    por %xmm4, %xmm28675; SSE-NEXT:    packuswb %xmm0, %xmm28676; SSE-NEXT:    packuswb %xmm3, %xmm38677; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,1,3,3]8678; SSE-NEXT:    movss {{.*#+}} xmm0 = xmm3[0],xmm0[1,2,3]8679; SSE-NEXT:    movdqa %xmm12, %xmm38680; SSE-NEXT:    pandn %xmm11, %xmm38681; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8682; SSE-NEXT:    movdqa %xmm2, %xmm48683; SSE-NEXT:    pand %xmm12, %xmm48684; SSE-NEXT:    por %xmm3, %xmm48685; SSE-NEXT:    movdqa %xmm4, %xmm38686; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm1[0],xmm3[1],xmm1[1],xmm3[2],xmm1[2],xmm3[3],xmm1[3],xmm3[4],xmm1[4],xmm3[5],xmm1[5],xmm3[6],xmm1[6],xmm3[7],xmm1[7]8687; SSE-NEXT:    movdqa %xmm5, %xmm68688; SSE-NEXT:    pandn %xmm3, %xmm68689; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm1[8],xmm4[9],xmm1[9],xmm4[10],xmm1[10],xmm4[11],xmm1[11],xmm4[12],xmm1[12],xmm4[13],xmm1[13],xmm4[14],xmm1[14],xmm4[15],xmm1[15]8690; SSE-NEXT:    pand %xmm5, %xmm48691; SSE-NEXT:    por %xmm6, %xmm48692; SSE-NEXT:    pshufd $100, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8693; SSE-NEXT:    # xmm3 = mem[0,1,2,1]8694; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]8695; SSE-NEXT:    packuswb %xmm3, %xmm38696; SSE-NEXT:    movdqa %xmm7, %xmm68697; SSE-NEXT:    pandn %xmm3, %xmm68698; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm4[0,1,0,3]8699; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,3,2,1,4,5,6,7]8700; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,7,6,7]8701; SSE-NEXT:    packuswb %xmm3, %xmm38702; SSE-NEXT:    pand %xmm7, %xmm38703; SSE-NEXT:    por %xmm3, %xmm68704; SSE-NEXT:    movdqa %xmm10, %xmm18705; SSE-NEXT:    pandn %xmm6, %xmm18706; SSE-NEXT:    andps %xmm10, %xmm08707; SSE-NEXT:    por %xmm0, %xmm18708; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8709; SSE-NEXT:    movdqa %xmm8, %xmm08710; SSE-NEXT:    pandn %xmm13, %xmm08711; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8712; SSE-NEXT:    pand %xmm8, %xmm48713; SSE-NEXT:    por %xmm0, %xmm48714; SSE-NEXT:    movdqa %xmm4, %xmm08715; SSE-NEXT:    pxor %xmm1, %xmm18716; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]8717; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,1,2,3,4,5,6,7]8718; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3],xmm4[4],xmm1[4],xmm4[5],xmm1[5],xmm4[6],xmm1[6],xmm4[7],xmm1[7]8719; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[2,1,2,3]8720; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,2,2,3,4,5,6,7]8721; SSE-NEXT:    punpcklwd {{.*#+}} xmm4 = xmm4[0],xmm0[0],xmm4[1],xmm0[1],xmm4[2],xmm0[2],xmm4[3],xmm0[3]8722; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload8723; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]8724; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload8725; SSE-NEXT:    pandn %xmm0, %xmm68726; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8727; SSE-NEXT:    por %xmm6, %xmm38728; SSE-NEXT:    packuswb %xmm0, %xmm38729; SSE-NEXT:    packuswb %xmm4, %xmm48730; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[0,1,3,3]8731; SSE-NEXT:    movss {{.*#+}} xmm0 = xmm4[0],xmm0[1,2,3]8732; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8733; SSE-NEXT:    movdqa %xmm12, %xmm38734; SSE-NEXT:    pand %xmm12, %xmm48735; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8736; SSE-NEXT:    por %xmm4, %xmm38737; SSE-NEXT:    movdqa %xmm3, %xmm48738; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1],xmm4[2],xmm1[2],xmm4[3],xmm1[3],xmm4[4],xmm1[4],xmm4[5],xmm1[5],xmm4[6],xmm1[6],xmm4[7],xmm1[7]8739; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm1[8],xmm3[9],xmm1[9],xmm3[10],xmm1[10],xmm3[11],xmm1[11],xmm3[12],xmm1[12],xmm3[13],xmm1[13],xmm3[14],xmm1[14],xmm3[15],xmm1[15]8740; SSE-NEXT:    pxor %xmm12, %xmm128741; SSE-NEXT:    pand %xmm5, %xmm38742; SSE-NEXT:    pandn %xmm4, %xmm58743; SSE-NEXT:    por %xmm3, %xmm58744; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm5[0,1,0,3]8745; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,3,2,1,4,5,6,7]8746; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,7,6,7]8747; SSE-NEXT:    packuswb %xmm4, %xmm48748; SSE-NEXT:    pand %xmm7, %xmm48749; SSE-NEXT:    pshufd $100, {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload8750; SSE-NEXT:    # xmm5 = mem[0,1,2,1]8751; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,5,4,7]8752; SSE-NEXT:    packuswb %xmm5, %xmm58753; SSE-NEXT:    pandn %xmm5, %xmm78754; SSE-NEXT:    por %xmm4, %xmm78755; SSE-NEXT:    movdqa %xmm10, %xmm38756; SSE-NEXT:    pandn %xmm7, %xmm38757; SSE-NEXT:    andps %xmm10, %xmm08758; SSE-NEXT:    por %xmm0, %xmm38759; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8760; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8761; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [65535,65535,65535,0,65535,65535,0,65535]8762; SSE-NEXT:    pand %xmm13, %xmm48763; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload8764; SSE-NEXT:    movdqa %xmm4, %xmm68765; SSE-NEXT:    punpckhbw {{.*#+}} xmm6 = xmm6[8],xmm12[8],xmm6[9],xmm12[9],xmm6[10],xmm12[10],xmm6[11],xmm12[11],xmm6[12],xmm12[12],xmm6[13],xmm12[13],xmm6[14],xmm12[14],xmm6[15],xmm12[15]8766; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [0,65535,65535,65535,65535,65535,65535,0]8767; SSE-NEXT:    movdqa %xmm0, %xmm78768; SSE-NEXT:    pandn %xmm6, %xmm78769; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm12[0],xmm4[1],xmm12[1],xmm4[2],xmm12[2],xmm4[3],xmm12[3],xmm4[4],xmm12[4],xmm4[5],xmm12[5],xmm4[6],xmm12[6],xmm4[7],xmm12[7]8770; SSE-NEXT:    pand %xmm0, %xmm48771; SSE-NEXT:    por %xmm7, %xmm48772; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[0,1,0,3]8773; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm4[0,1,2,3,5,4,7,6]8774; SSE-NEXT:    psrldq {{.*#+}} xmm6 = xmm6[10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero8775; SSE-NEXT:    packuswb %xmm6, %xmm78776; SSE-NEXT:    movdqa %xmm13, %xmm38777; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload8778; SSE-NEXT:    pandn %xmm1, %xmm38779; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8780; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm1[1,3,2,3]8781; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload8782; SSE-NEXT:    # xmm6 = mem[0,2,2,3]8783; SSE-NEXT:    punpckldq {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1]8784; SSE-NEXT:    movdqa %xmm6, %xmm48785; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm12[8],xmm4[9],xmm12[9],xmm4[10],xmm12[10],xmm4[11],xmm12[11],xmm4[12],xmm12[12],xmm4[13],xmm12[13],xmm4[14],xmm12[14],xmm4[15],xmm12[15]8786; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[2,1,2,3]8787; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,2,2,3,4,5,6,7]8788; SSE-NEXT:    punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm12[0],xmm6[1],xmm12[1],xmm6[2],xmm12[2],xmm6[3],xmm12[3],xmm6[4],xmm12[4],xmm6[5],xmm12[5],xmm6[6],xmm12[6],xmm6[7],xmm12[7]8789; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm6[2,1,2,3]8790; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm6[1,3,2,3,4,5,6,7]8791; SSE-NEXT:    punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1],xmm6[2],xmm4[2],xmm6[3],xmm4[3]8792; SSE-NEXT:    packuswb %xmm6, %xmm68793; SSE-NEXT:    movss {{.*#+}} xmm7 = xmm6[0],xmm7[1,2,3]8794; SSE-NEXT:    movdqa %xmm8, %xmm18795; SSE-NEXT:    movdqa %xmm8, %xmm48796; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload8797; SSE-NEXT:    movdqa %xmm14, %xmm88798; SSE-NEXT:    pand %xmm1, %xmm88799; SSE-NEXT:    movdqa %xmm1, %xmm148800; SSE-NEXT:    por %xmm4, %xmm88801; SSE-NEXT:    movdqa %xmm8, %xmm48802; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm12[0],xmm4[1],xmm12[1],xmm4[2],xmm12[2],xmm4[3],xmm12[3],xmm4[4],xmm12[4],xmm4[5],xmm12[5],xmm4[6],xmm12[6],xmm4[7],xmm12[7]8803; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [65535,65535,0,65535,0,65535,65535,65535]8804; SSE-NEXT:    movdqa %xmm1, %xmm68805; SSE-NEXT:    pandn %xmm4, %xmm68806; SSE-NEXT:    punpckhbw {{.*#+}} xmm8 = xmm8[8],xmm12[8],xmm8[9],xmm12[9],xmm8[10],xmm12[10],xmm8[11],xmm12[11],xmm8[12],xmm12[12],xmm8[13],xmm12[13],xmm8[14],xmm12[14],xmm8[15],xmm12[15]8807; SSE-NEXT:    pand %xmm1, %xmm88808; SSE-NEXT:    por %xmm6, %xmm88809; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8810; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8811; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm3[0,1,0,3]8812; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,4,7,6]8813; SSE-NEXT:    packuswb %xmm4, %xmm48814; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0]8815; SSE-NEXT:    movdqa %xmm6, %xmm98816; SSE-NEXT:    pandn %xmm4, %xmm98817; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm8[2,1,0,3]8818; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,0,3,2,4,5,6,7]8819; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,5,5,5,5]8820; SSE-NEXT:    packuswb %xmm4, %xmm48821; SSE-NEXT:    pand %xmm6, %xmm48822; SSE-NEXT:    por %xmm4, %xmm98823; SSE-NEXT:    movdqa %xmm10, %xmm38824; SSE-NEXT:    pandn %xmm9, %xmm38825; SSE-NEXT:    andps %xmm10, %xmm78826; SSE-NEXT:    movdqa %xmm10, %xmm58827; SSE-NEXT:    por %xmm7, %xmm38828; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8829; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload8830; SSE-NEXT:    movdqa %xmm13, %xmm108831; SSE-NEXT:    pand %xmm13, %xmm78832; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload8833; SSE-NEXT:    movdqa %xmm7, %xmm88834; SSE-NEXT:    punpckhbw {{.*#+}} xmm8 = xmm8[8],xmm12[8],xmm8[9],xmm12[9],xmm8[10],xmm12[10],xmm8[11],xmm12[11],xmm8[12],xmm12[12],xmm8[13],xmm12[13],xmm8[14],xmm12[14],xmm8[15],xmm12[15]8835; SSE-NEXT:    movdqa %xmm0, %xmm98836; SSE-NEXT:    pandn %xmm8, %xmm98837; SSE-NEXT:    punpcklbw {{.*#+}} xmm7 = xmm7[0],xmm12[0],xmm7[1],xmm12[1],xmm7[2],xmm12[2],xmm7[3],xmm12[3],xmm7[4],xmm12[4],xmm7[5],xmm12[5],xmm7[6],xmm12[6],xmm7[7],xmm12[7]8838; SSE-NEXT:    pand %xmm0, %xmm78839; SSE-NEXT:    por %xmm9, %xmm78840; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[0,1,0,3]8841; SSE-NEXT:    pshufhw {{.*#+}} xmm9 = xmm7[0,1,2,3,5,4,7,6]8842; SSE-NEXT:    psrldq {{.*#+}} xmm8 = xmm8[10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero8843; SSE-NEXT:    packuswb %xmm8, %xmm98844; SSE-NEXT:    movdqa %xmm13, %xmm48845; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8846; SSE-NEXT:    pandn %xmm3, %xmm48847; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8848; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm3[1,3,2,3]8849; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload8850; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm4[0,2,2,3]8851; SSE-NEXT:    punpckldq {{.*#+}} xmm8 = xmm8[0],xmm7[0],xmm8[1],xmm7[1]8852; SSE-NEXT:    movdqa %xmm8, %xmm78853; SSE-NEXT:    punpckhbw {{.*#+}} xmm7 = xmm7[8],xmm12[8],xmm7[9],xmm12[9],xmm7[10],xmm12[10],xmm7[11],xmm12[11],xmm7[12],xmm12[12],xmm7[13],xmm12[13],xmm7[14],xmm12[14],xmm7[15],xmm12[15]8854; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[2,1,2,3]8855; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[0,2,2,3,4,5,6,7]8856; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm12[0],xmm8[1],xmm12[1],xmm8[2],xmm12[2],xmm8[3],xmm12[3],xmm8[4],xmm12[4],xmm8[5],xmm12[5],xmm8[6],xmm12[6],xmm8[7],xmm12[7]8857; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[2,1,2,3]8858; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm8[1,3,2,3,4,5,6,7]8859; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm7[0],xmm8[1],xmm7[1],xmm8[2],xmm7[2],xmm8[3],xmm7[3]8860; SSE-NEXT:    packuswb %xmm8, %xmm88861; SSE-NEXT:    movss {{.*#+}} xmm9 = xmm8[0],xmm9[1,2,3]8862; SSE-NEXT:    movdqa %xmm14, %xmm78863; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload8864; SSE-NEXT:    movdqa %xmm15, %xmm88865; SSE-NEXT:    pand %xmm14, %xmm88866; SSE-NEXT:    por %xmm7, %xmm88867; SSE-NEXT:    movdqa %xmm8, %xmm78868; SSE-NEXT:    punpcklbw {{.*#+}} xmm7 = xmm7[0],xmm12[0],xmm7[1],xmm12[1],xmm7[2],xmm12[2],xmm7[3],xmm12[3],xmm7[4],xmm12[4],xmm7[5],xmm12[5],xmm7[6],xmm12[6],xmm7[7],xmm12[7]8869; SSE-NEXT:    movdqa %xmm1, %xmm138870; SSE-NEXT:    pandn %xmm7, %xmm138871; SSE-NEXT:    punpckhbw {{.*#+}} xmm8 = xmm8[8],xmm12[8],xmm8[9],xmm12[9],xmm8[10],xmm12[10],xmm8[11],xmm12[11],xmm8[12],xmm12[12],xmm8[13],xmm12[13],xmm8[14],xmm12[14],xmm8[15],xmm12[15]8872; SSE-NEXT:    pand %xmm1, %xmm88873; SSE-NEXT:    por %xmm13, %xmm88874; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8875; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8876; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm3[0,1,0,3]8877; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,4,4,7,6]8878; SSE-NEXT:    packuswb %xmm7, %xmm78879; SSE-NEXT:    movdqa %xmm6, %xmm138880; SSE-NEXT:    pandn %xmm7, %xmm138881; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm8[2,1,0,3]8882; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[0,0,3,2,4,5,6,7]8883; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,5,5,5,5]8884; SSE-NEXT:    packuswb %xmm7, %xmm78885; SSE-NEXT:    pand %xmm6, %xmm78886; SSE-NEXT:    por %xmm7, %xmm138887; SSE-NEXT:    movdqa %xmm5, %xmm78888; SSE-NEXT:    pandn %xmm13, %xmm78889; SSE-NEXT:    andps %xmm5, %xmm98890; SSE-NEXT:    por %xmm9, %xmm78891; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload8892; SSE-NEXT:    pand %xmm10, %xmm88893; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload8894; SSE-NEXT:    movdqa %xmm8, %xmm98895; SSE-NEXT:    punpckhbw {{.*#+}} xmm9 = xmm9[8],xmm12[8],xmm9[9],xmm12[9],xmm9[10],xmm12[10],xmm9[11],xmm12[11],xmm9[12],xmm12[12],xmm9[13],xmm12[13],xmm9[14],xmm12[14],xmm9[15],xmm12[15]8896; SSE-NEXT:    movdqa %xmm0, %xmm138897; SSE-NEXT:    pandn %xmm9, %xmm138898; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm12[0],xmm8[1],xmm12[1],xmm8[2],xmm12[2],xmm8[3],xmm12[3],xmm8[4],xmm12[4],xmm8[5],xmm12[5],xmm8[6],xmm12[6],xmm8[7],xmm12[7]8899; SSE-NEXT:    pand %xmm0, %xmm88900; SSE-NEXT:    por %xmm13, %xmm88901; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,1,0,3]8902; SSE-NEXT:    pshufhw {{.*#+}} xmm15 = xmm8[0,1,2,3,5,4,7,6]8903; SSE-NEXT:    psrldq {{.*#+}} xmm9 = xmm9[10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero8904; SSE-NEXT:    packuswb %xmm9, %xmm158905; SSE-NEXT:    movdqa %xmm10, %xmm138906; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8907; SSE-NEXT:    pandn %xmm3, %xmm138908; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm3[1,3,2,3]8909; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8910; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm3[0,2,2,3]8911; SSE-NEXT:    punpckldq {{.*#+}} xmm9 = xmm9[0],xmm8[0],xmm9[1],xmm8[1]8912; SSE-NEXT:    movdqa %xmm9, %xmm88913; SSE-NEXT:    punpckhbw {{.*#+}} xmm8 = xmm8[8],xmm12[8],xmm8[9],xmm12[9],xmm8[10],xmm12[10],xmm8[11],xmm12[11],xmm8[12],xmm12[12],xmm8[13],xmm12[13],xmm8[14],xmm12[14],xmm8[15],xmm12[15]8914; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[2,1,2,3]8915; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm8[0,2,2,3,4,5,6,7]8916; SSE-NEXT:    punpcklbw {{.*#+}} xmm9 = xmm9[0],xmm12[0],xmm9[1],xmm12[1],xmm9[2],xmm12[2],xmm9[3],xmm12[3],xmm9[4],xmm12[4],xmm9[5],xmm12[5],xmm9[6],xmm12[6],xmm9[7],xmm12[7]8917; SSE-NEXT:    pshufd {{.*#+}} xmm9 = xmm9[2,1,2,3]8918; SSE-NEXT:    pshuflw {{.*#+}} xmm9 = xmm9[1,3,2,3,4,5,6,7]8919; SSE-NEXT:    punpcklwd {{.*#+}} xmm9 = xmm9[0],xmm8[0],xmm9[1],xmm8[1],xmm9[2],xmm8[2],xmm9[3],xmm8[3]8920; SSE-NEXT:    packuswb %xmm9, %xmm98921; SSE-NEXT:    movss {{.*#+}} xmm15 = xmm9[0],xmm15[1,2,3]8922; SSE-NEXT:    movdqa %xmm14, %xmm88923; SSE-NEXT:    pandn %xmm11, %xmm88924; SSE-NEXT:    movdqa %xmm2, %xmm98925; SSE-NEXT:    pand %xmm14, %xmm98926; SSE-NEXT:    por %xmm8, %xmm98927; SSE-NEXT:    movdqa %xmm9, %xmm88928; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm12[0],xmm8[1],xmm12[1],xmm8[2],xmm12[2],xmm8[3],xmm12[3],xmm8[4],xmm12[4],xmm8[5],xmm12[5],xmm8[6],xmm12[6],xmm8[7],xmm12[7]8929; SSE-NEXT:    movdqa %xmm1, %xmm118930; SSE-NEXT:    pandn %xmm8, %xmm118931; SSE-NEXT:    punpckhbw {{.*#+}} xmm9 = xmm9[8],xmm12[8],xmm9[9],xmm12[9],xmm9[10],xmm12[10],xmm9[11],xmm12[11],xmm9[12],xmm12[12],xmm9[13],xmm12[13],xmm9[14],xmm12[14],xmm9[15],xmm12[15]8932; SSE-NEXT:    pand %xmm1, %xmm98933; SSE-NEXT:    por %xmm11, %xmm98934; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload8935; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload8936; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm2[0,1,0,3]8937; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,4,7,6]8938; SSE-NEXT:    packuswb %xmm8, %xmm88939; SSE-NEXT:    movdqa %xmm6, %xmm118940; SSE-NEXT:    pandn %xmm8, %xmm118941; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm9[2,1,0,3]8942; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm8[0,0,3,2,4,5,6,7]8943; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,5,5,5,5]8944; SSE-NEXT:    packuswb %xmm8, %xmm88945; SSE-NEXT:    pand %xmm6, %xmm88946; SSE-NEXT:    por %xmm8, %xmm118947; SSE-NEXT:    movdqa %xmm5, %xmm98948; SSE-NEXT:    pandn %xmm11, %xmm98949; SSE-NEXT:    andps %xmm5, %xmm158950; SSE-NEXT:    por %xmm15, %xmm98951; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload8952; SSE-NEXT:    pand %xmm10, %xmm88953; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload8954; SSE-NEXT:    movdqa %xmm8, %xmm118955; SSE-NEXT:    punpckhbw {{.*#+}} xmm11 = xmm11[8],xmm12[8],xmm11[9],xmm12[9],xmm11[10],xmm12[10],xmm11[11],xmm12[11],xmm11[12],xmm12[12],xmm11[13],xmm12[13],xmm11[14],xmm12[14],xmm11[15],xmm12[15]8956; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm12[0],xmm8[1],xmm12[1],xmm8[2],xmm12[2],xmm8[3],xmm12[3],xmm8[4],xmm12[4],xmm8[5],xmm12[5],xmm8[6],xmm12[6],xmm8[7],xmm12[7]8957; SSE-NEXT:    pand %xmm0, %xmm88958; SSE-NEXT:    pandn %xmm11, %xmm08959; SSE-NEXT:    por %xmm8, %xmm08960; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]8961; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,5,4,7,6]8962; SSE-NEXT:    psrldq {{.*#+}} xmm11 = xmm11[10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero8963; SSE-NEXT:    packuswb %xmm11, %xmm08964; SSE-NEXT:    movdqa %xmm10, %xmm28965; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload8966; SSE-NEXT:    pand %xmm10, %xmm158967; SSE-NEXT:    pand %xmm10, %xmm48968; SSE-NEXT:    pand %xmm10, %xmm38969; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8970; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8971; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm3[0,2,2,3]8972; SSE-NEXT:    pand %xmm10, %xmm38973; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill8974; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload8975; SSE-NEXT:    pandn %xmm3, %xmm28976; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm3[1,3,2,3]8977; SSE-NEXT:    punpckldq {{.*#+}} xmm8 = xmm8[0],xmm11[0],xmm8[1],xmm11[1]8978; SSE-NEXT:    movdqa %xmm8, %xmm118979; SSE-NEXT:    punpckhbw {{.*#+}} xmm11 = xmm11[8],xmm12[8],xmm11[9],xmm12[9],xmm11[10],xmm12[10],xmm11[11],xmm12[11],xmm11[12],xmm12[12],xmm11[13],xmm12[13],xmm11[14],xmm12[14],xmm11[15],xmm12[15]8980; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm11[2,1,2,3]8981; SSE-NEXT:    pshuflw {{.*#+}} xmm11 = xmm11[0,2,2,3,4,5,6,7]8982; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm12[0],xmm8[1],xmm12[1],xmm8[2],xmm12[2],xmm8[3],xmm12[3],xmm8[4],xmm12[4],xmm8[5],xmm12[5],xmm8[6],xmm12[6],xmm8[7],xmm12[7]8983; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[2,1,2,3]8984; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm8[1,3,2,3,4,5,6,7]8985; SSE-NEXT:    punpcklwd {{.*#+}} xmm8 = xmm8[0],xmm11[0],xmm8[1],xmm11[1],xmm8[2],xmm11[2],xmm8[3],xmm11[3]8986; SSE-NEXT:    packuswb %xmm8, %xmm88987; SSE-NEXT:    movss {{.*#+}} xmm0 = xmm8[0],xmm0[1,2,3]8988; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload8989; SSE-NEXT:    movdqa %xmm14, %xmm38990; SSE-NEXT:    pand %xmm14, %xmm88991; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload8992; SSE-NEXT:    por %xmm8, %xmm38993; SSE-NEXT:    movdqa %xmm3, %xmm88994; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm12[0],xmm8[1],xmm12[1],xmm8[2],xmm12[2],xmm8[3],xmm12[3],xmm8[4],xmm12[4],xmm8[5],xmm12[5],xmm8[6],xmm12[6],xmm8[7],xmm12[7]8995; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm12[8],xmm3[9],xmm12[9],xmm3[10],xmm12[10],xmm3[11],xmm12[11],xmm3[12],xmm12[12],xmm3[13],xmm12[13],xmm3[14],xmm12[14],xmm3[15],xmm12[15]8996; SSE-NEXT:    pand %xmm1, %xmm38997; SSE-NEXT:    pandn %xmm8, %xmm18998; SSE-NEXT:    por %xmm3, %xmm18999; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9000; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload9001; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm3[0,1,0,3]9002; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,4,7,6]9003; SSE-NEXT:    packuswb %xmm8, %xmm89004; SSE-NEXT:    movdqa %xmm6, %xmm149005; SSE-NEXT:    pandn %xmm8, %xmm149006; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,1,0,3]9007; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,0,3,2,4,5,6,7]9008; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,5,5,5]9009; SSE-NEXT:    packuswb %xmm1, %xmm19010; SSE-NEXT:    pand %xmm6, %xmm19011; SSE-NEXT:    por %xmm1, %xmm149012; SSE-NEXT:    movdqa %xmm5, %xmm119013; SSE-NEXT:    pandn %xmm14, %xmm119014; SSE-NEXT:    andps %xmm5, %xmm09015; SSE-NEXT:    por %xmm0, %xmm119016; SSE-NEXT:    movdqa %xmm15, %xmm19017; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9018; SSE-NEXT:    movdqa %xmm1, %xmm09019; SSE-NEXT:    pxor %xmm3, %xmm39020; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3],xmm0[4],xmm3[4],xmm0[5],xmm3[5],xmm0[6],xmm3[6],xmm0[7],xmm3[7]9021; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,4,6,7]9022; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm3[8],xmm1[9],xmm3[9],xmm1[10],xmm3[10],xmm1[11],xmm3[11],xmm1[12],xmm3[12],xmm1[13],xmm3[13],xmm1[14],xmm3[14],xmm1[15],xmm3[15]9023; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,1]9024; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,7,6,7]9025; SSE-NEXT:    punpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]9026; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9027; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm3[8],xmm1[9],xmm3[9],xmm1[10],xmm3[10],xmm1[11],xmm3[11],xmm1[12],xmm3[12],xmm1[13],xmm3[13],xmm1[14],xmm3[14],xmm1[15],xmm3[15]9028; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9029; SSE-NEXT:    pandn %xmm1, %xmm109030; SSE-NEXT:    movdqa %xmm1, %xmm89031; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9032; SSE-NEXT:    por %xmm10, %xmm19033; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,1,3]9034; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]9035; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]9036; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,5]9037; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[3,3,3,3]9038; SSE-NEXT:    packuswb %xmm8, %xmm19039; SSE-NEXT:    packuswb %xmm0, %xmm09040; SSE-NEXT:    movss {{.*#+}} xmm1 = xmm0[0],xmm1[1,2,3]9041; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9042; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9043; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]9044; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,4,7]9045; SSE-NEXT:    packuswb %xmm0, %xmm09046; SSE-NEXT:    movdqa %xmm6, %xmm89047; SSE-NEXT:    pandn %xmm0, %xmm89048; SSE-NEXT:    pshufd $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload9049; SSE-NEXT:    # xmm0 = mem[1,3,2,3]9050; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload9051; SSE-NEXT:    # xmm14 = mem[0,2,2,3]9052; SSE-NEXT:    punpckldq {{.*#+}} xmm14 = xmm14[0],xmm0[0],xmm14[1],xmm0[1]9053; SSE-NEXT:    movdqa %xmm14, %xmm09054; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3],xmm0[4],xmm3[4],xmm0[5],xmm3[5],xmm0[6],xmm3[6],xmm0[7],xmm3[7]9055; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [65535,65535,65535,0,65535,0,65535,65535]9056; SSE-NEXT:    movdqa %xmm10, %xmm159057; SSE-NEXT:    pandn %xmm0, %xmm159058; SSE-NEXT:    punpckhbw {{.*#+}} xmm14 = xmm14[8],xmm3[8],xmm14[9],xmm3[9],xmm14[10],xmm3[10],xmm14[11],xmm3[11],xmm14[12],xmm3[12],xmm14[13],xmm3[13],xmm14[14],xmm3[14],xmm14[15],xmm3[15]9059; SSE-NEXT:    pand %xmm10, %xmm149060; SSE-NEXT:    por %xmm15, %xmm149061; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm14[2,1,1,1]9062; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,0,3,4,5,6,7]9063; SSE-NEXT:    packuswb %xmm0, %xmm149064; SSE-NEXT:    pand %xmm6, %xmm149065; SSE-NEXT:    por %xmm8, %xmm149066; SSE-NEXT:    movdqa %xmm5, %xmm39067; SSE-NEXT:    pandn %xmm14, %xmm39068; SSE-NEXT:    andps %xmm5, %xmm19069; SSE-NEXT:    por %xmm1, %xmm39070; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload9071; SSE-NEXT:    movdqa %xmm4, %xmm19072; SSE-NEXT:    pxor %xmm0, %xmm09073; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]9074; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,4,6,7]9075; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm0[8],xmm4[9],xmm0[9],xmm4[10],xmm0[10],xmm4[11],xmm0[11],xmm4[12],xmm0[12],xmm4[13],xmm0[13],xmm4[14],xmm0[14],xmm4[15],xmm0[15]9076; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm4[0,1,2,1]9077; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,5,7,6,7]9078; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]9079; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9080; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm0[8],xmm4[9],xmm0[9],xmm4[10],xmm0[10],xmm4[11],xmm0[11],xmm4[12],xmm0[12],xmm4[13],xmm0[13],xmm4[14],xmm0[14],xmm4[15],xmm0[15]9081; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload9082; SSE-NEXT:    pandn %xmm4, %xmm129083; SSE-NEXT:    movdqa (%rsp), %xmm8 # 16-byte Reload9084; SSE-NEXT:    por %xmm12, %xmm89085; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,2,1,3]9086; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,7,6,7]9087; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,1,2,0]9088; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,7,6,5]9089; SSE-NEXT:    pshufd {{.*#+}} xmm12 = xmm4[3,3,3,3]9090; SSE-NEXT:    packuswb %xmm12, %xmm89091; SSE-NEXT:    packuswb %xmm1, %xmm19092; SSE-NEXT:    movss {{.*#+}} xmm8 = xmm1[0],xmm8[1,2,3]9093; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9094; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9095; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,0,3]9096; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,7]9097; SSE-NEXT:    packuswb %xmm1, %xmm19098; SSE-NEXT:    movdqa %xmm6, %xmm129099; SSE-NEXT:    pandn %xmm1, %xmm129100; SSE-NEXT:    pshufd $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9101; SSE-NEXT:    # xmm1 = mem[1,3,2,3]9102; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload9103; SSE-NEXT:    # xmm14 = mem[0,2,2,3]9104; SSE-NEXT:    punpckldq {{.*#+}} xmm14 = xmm14[0],xmm1[0],xmm14[1],xmm1[1]9105; SSE-NEXT:    movdqa %xmm14, %xmm19106; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]9107; SSE-NEXT:    movdqa %xmm10, %xmm159108; SSE-NEXT:    pandn %xmm1, %xmm159109; SSE-NEXT:    punpckhbw {{.*#+}} xmm14 = xmm14[8],xmm0[8],xmm14[9],xmm0[9],xmm14[10],xmm0[10],xmm14[11],xmm0[11],xmm14[12],xmm0[12],xmm14[13],xmm0[13],xmm14[14],xmm0[14],xmm14[15],xmm0[15]9110; SSE-NEXT:    pand %xmm10, %xmm149111; SSE-NEXT:    por %xmm15, %xmm149112; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm14[2,1,1,1]9113; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,1,0,3,4,5,6,7]9114; SSE-NEXT:    packuswb %xmm1, %xmm19115; SSE-NEXT:    pand %xmm6, %xmm19116; SSE-NEXT:    por %xmm12, %xmm19117; SSE-NEXT:    movdqa %xmm5, %xmm129118; SSE-NEXT:    pandn %xmm1, %xmm129119; SSE-NEXT:    andps %xmm5, %xmm89120; SSE-NEXT:    movdqa %xmm5, %xmm49121; SSE-NEXT:    por %xmm8, %xmm129122; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9123; SSE-NEXT:    por %xmm13, %xmm09124; SSE-NEXT:    movdqa %xmm0, %xmm19125; SSE-NEXT:    pxor %xmm13, %xmm139126; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm13[0],xmm1[1],xmm13[1],xmm1[2],xmm13[2],xmm1[3],xmm13[3],xmm1[4],xmm13[4],xmm1[5],xmm13[5],xmm1[6],xmm13[6],xmm1[7],xmm13[7]9127; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,4,6,7]9128; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm13[8],xmm0[9],xmm13[9],xmm0[10],xmm13[10],xmm0[11],xmm13[11],xmm0[12],xmm13[12],xmm0[13],xmm13[13],xmm0[14],xmm13[14],xmm0[15],xmm13[15]9129; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm0[0,1,2,1]9130; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,5,7,6,7]9131; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]9132; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9133; SSE-NEXT:    punpckhbw {{.*#+}} xmm5 = xmm5[8],xmm13[8],xmm5[9],xmm13[9],xmm5[10],xmm13[10],xmm5[11],xmm13[11],xmm5[12],xmm13[12],xmm5[13],xmm13[13],xmm5[14],xmm13[14],xmm5[15],xmm13[15]9134; SSE-NEXT:    pxor %xmm0, %xmm09135; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload9136; SSE-NEXT:    pandn %xmm5, %xmm139137; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9138; SSE-NEXT:    por %xmm13, %xmm89139; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,2,1,3]9140; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,7,6,7]9141; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,1,2,0]9142; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,7,6,5]9143; SSE-NEXT:    pshufd {{.*#+}} xmm13 = xmm5[3,3,3,3]9144; SSE-NEXT:    packuswb %xmm13, %xmm89145; SSE-NEXT:    packuswb %xmm1, %xmm19146; SSE-NEXT:    movss {{.*#+}} xmm8 = xmm1[0],xmm8[1,2,3]9147; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9148; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9149; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,0,3]9150; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,4,7]9151; SSE-NEXT:    packuswb %xmm1, %xmm19152; SSE-NEXT:    movdqa %xmm6, %xmm139153; SSE-NEXT:    pandn %xmm1, %xmm139154; SSE-NEXT:    pshufd $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9155; SSE-NEXT:    # xmm1 = mem[1,3,2,3]9156; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload9157; SSE-NEXT:    # xmm14 = mem[0,2,2,3]9158; SSE-NEXT:    punpckldq {{.*#+}} xmm14 = xmm14[0],xmm1[0],xmm14[1],xmm1[1]9159; SSE-NEXT:    movdqa %xmm14, %xmm19160; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]9161; SSE-NEXT:    movdqa %xmm10, %xmm159162; SSE-NEXT:    pandn %xmm1, %xmm159163; SSE-NEXT:    punpckhbw {{.*#+}} xmm14 = xmm14[8],xmm0[8],xmm14[9],xmm0[9],xmm14[10],xmm0[10],xmm14[11],xmm0[11],xmm14[12],xmm0[12],xmm14[13],xmm0[13],xmm14[14],xmm0[14],xmm14[15],xmm0[15]9164; SSE-NEXT:    pand %xmm10, %xmm149165; SSE-NEXT:    por %xmm15, %xmm149166; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm14[2,1,1,1]9167; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,1,0,3,4,5,6,7]9168; SSE-NEXT:    packuswb %xmm1, %xmm19169; SSE-NEXT:    pand %xmm6, %xmm19170; SSE-NEXT:    por %xmm13, %xmm19171; SSE-NEXT:    movdqa %xmm4, %xmm09172; SSE-NEXT:    movdqa %xmm4, %xmm139173; SSE-NEXT:    pandn %xmm1, %xmm139174; SSE-NEXT:    andps %xmm4, %xmm89175; SSE-NEXT:    por %xmm8, %xmm139176; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9177; SSE-NEXT:    movdqa %xmm2, %xmm19178; SSE-NEXT:    pxor %xmm14, %xmm149179; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm14[0],xmm1[1],xmm14[1],xmm1[2],xmm14[2],xmm1[3],xmm14[3],xmm1[4],xmm14[4],xmm1[5],xmm14[5],xmm1[6],xmm14[6],xmm1[7],xmm14[7]9180; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,4,6,7]9181; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm14[8],xmm2[9],xmm14[9],xmm2[10],xmm14[10],xmm2[11],xmm14[11],xmm2[12],xmm14[12],xmm2[13],xmm14[13],xmm2[14],xmm14[14],xmm2[15],xmm14[15]9182; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm2[0,1,2,1]9183; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,5,7,6,7]9184; SSE-NEXT:    punpckhwd {{.*#+}} xmm1 = xmm1[4],xmm8[4],xmm1[5],xmm8[5],xmm1[6],xmm8[6],xmm1[7],xmm8[7]9185; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9186; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm14[8],xmm2[9],xmm14[9],xmm2[10],xmm14[10],xmm2[11],xmm14[11],xmm2[12],xmm14[12],xmm2[13],xmm14[13],xmm2[14],xmm14[14],xmm2[15],xmm14[15]9187; SSE-NEXT:    pxor %xmm15, %xmm159188; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9189; SSE-NEXT:    pandn %xmm2, %xmm59190; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9191; SSE-NEXT:    por %xmm5, %xmm49192; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm4[0,2,1,3]9193; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,7,6,7]9194; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,1,2,0]9195; SSE-NEXT:    pshufhw {{.*#+}} xmm14 = xmm8[0,1,2,3,4,7,6,5]9196; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm2[3,3,3,3]9197; SSE-NEXT:    packuswb %xmm8, %xmm149198; SSE-NEXT:    packuswb %xmm1, %xmm19199; SSE-NEXT:    movss {{.*#+}} xmm14 = xmm1[0],xmm14[1,2,3]9200; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9201; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload9202; SSE-NEXT:    pshufd $237, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload9203; SSE-NEXT:    # xmm1 = mem[1,3,2,3]9204; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload9205; SSE-NEXT:    # xmm8 = mem[0,2,2,3]9206; SSE-NEXT:    punpckldq {{.*#+}} xmm8 = xmm8[0],xmm1[0],xmm8[1],xmm1[1]9207; SSE-NEXT:    movdqa %xmm8, %xmm19208; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm15[0],xmm1[1],xmm15[1],xmm1[2],xmm15[2],xmm1[3],xmm15[3],xmm1[4],xmm15[4],xmm1[5],xmm15[5],xmm1[6],xmm15[6],xmm1[7],xmm15[7]9209; SSE-NEXT:    punpckhbw {{.*#+}} xmm8 = xmm8[8],xmm15[8],xmm8[9],xmm15[9],xmm8[10],xmm15[10],xmm8[11],xmm15[11],xmm8[12],xmm15[12],xmm8[13],xmm15[13],xmm8[14],xmm15[14],xmm8[15],xmm15[15]9210; SSE-NEXT:    pand %xmm10, %xmm89211; SSE-NEXT:    pandn %xmm1, %xmm109212; SSE-NEXT:    por %xmm8, %xmm109213; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm10[2,1,1,1]9214; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,1,0,3,4,5,6,7]9215; SSE-NEXT:    packuswb %xmm1, %xmm19216; SSE-NEXT:    pand %xmm6, %xmm19217; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm2[0,1,0,3]9218; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,5,4,7]9219; SSE-NEXT:    packuswb %xmm8, %xmm89220; SSE-NEXT:    pandn %xmm8, %xmm69221; SSE-NEXT:    por %xmm6, %xmm19222; SSE-NEXT:    andps %xmm0, %xmm149223; SSE-NEXT:    pandn %xmm1, %xmm09224; SSE-NEXT:    por %xmm14, %xmm09225; SSE-NEXT:    movdqa %xmm0, %xmm19226; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9227; SSE-NEXT:    movaps %xmm0, (%rsi)9228; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9229; SSE-NEXT:    movaps %xmm0, 48(%rsi)9230; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9231; SSE-NEXT:    movaps %xmm0, 32(%rsi)9232; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9233; SSE-NEXT:    movaps %xmm0, 16(%rsi)9234; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9235; SSE-NEXT:    movaps %xmm0, (%rdx)9236; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9237; SSE-NEXT:    movaps %xmm0, 48(%rdx)9238; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9239; SSE-NEXT:    movaps %xmm0, 32(%rdx)9240; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9241; SSE-NEXT:    movaps %xmm0, 16(%rdx)9242; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9243; SSE-NEXT:    movaps %xmm0, (%rcx)9244; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9245; SSE-NEXT:    movaps %xmm0, 48(%rcx)9246; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9247; SSE-NEXT:    movaps %xmm0, 32(%rcx)9248; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9249; SSE-NEXT:    movaps %xmm0, 16(%rcx)9250; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9251; SSE-NEXT:    movaps %xmm0, (%r8)9252; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9253; SSE-NEXT:    movaps %xmm0, 48(%r8)9254; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9255; SSE-NEXT:    movaps %xmm0, 32(%r8)9256; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9257; SSE-NEXT:    movaps %xmm0, 16(%r8)9258; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9259; SSE-NEXT:    movaps %xmm0, (%r9)9260; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9261; SSE-NEXT:    movaps %xmm0, 48(%r9)9262; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9263; SSE-NEXT:    movaps %xmm0, 32(%r9)9264; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9265; SSE-NEXT:    movaps %xmm0, 16(%r9)9266; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax9267; SSE-NEXT:    movdqa %xmm11, (%rax)9268; SSE-NEXT:    movdqa %xmm9, 48(%rax)9269; SSE-NEXT:    movdqa %xmm7, 32(%rax)9270; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9271; SSE-NEXT:    movaps %xmm0, 16(%rax)9272; SSE-NEXT:    movq {{[0-9]+}}(%rsp), %rax9273; SSE-NEXT:    movdqa %xmm1, (%rax)9274; SSE-NEXT:    movdqa %xmm13, 48(%rax)9275; SSE-NEXT:    movdqa %xmm12, 32(%rax)9276; SSE-NEXT:    movdqa %xmm3, 16(%rax)9277; SSE-NEXT:    addq $1528, %rsp # imm = 0x5F89278; SSE-NEXT:    retq9279;9280; AVX-LABEL: load_i8_stride7_vf64:9281; AVX:       # %bb.0:9282; AVX-NEXT:    subq $744, %rsp # imm = 0x2E89283; AVX-NEXT:    vmovddup {{.*#+}} xmm0 = [128,128,6,13,0,0,0,128,128,128,6,13,0,0,0,128]9284; AVX-NEXT:    # xmm0 = mem[0,0]9285; AVX-NEXT:    vmovdqa 16(%rdi), %xmm39286; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9287; AVX-NEXT:    vmovdqa 176(%rdi), %xmm109288; AVX-NEXT:    vpshufb %xmm0, %xmm10, %xmm19289; AVX-NEXT:    vmovdqa 48(%rdi), %xmm89290; AVX-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9291; AVX-NEXT:    vmovq {{.*#+}} xmm2 = [128,128,128,5,12,0,0,0,0,0,0,0,0,0,0,0]9292; AVX-NEXT:    vpshufb %xmm2, %xmm3, %xmm49293; AVX-NEXT:    vmovq {{.*#+}} xmm3 = [0,7,14,128,128,0,0,0,0,0,0,0,0,0,0,0]9294; AVX-NEXT:    vmovdqa (%rdi), %xmm59295; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9296; AVX-NEXT:    vpshufb %xmm3, %xmm5, %xmm59297; AVX-NEXT:    vpor %xmm4, %xmm5, %xmm79298; AVX-NEXT:    vmovddup {{.*#+}} xmm4 = [128,128,0,0,0,3,10,128,128,128,0,0,0,3,10,128]9299; AVX-NEXT:    # xmm4 = mem[0,0]9300; AVX-NEXT:    vmovdqa 32(%rdi), %xmm59301; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9302; AVX-NEXT:    vpshufb %xmm4, %xmm5, %xmm69303; AVX-NEXT:    vmovddup {{.*#+}} xmm5 = [8,15,0,0,0,128,128,1,8,15,0,0,0,128,128,1]9304; AVX-NEXT:    # xmm5 = mem[0,0]9305; AVX-NEXT:    vpshufb %xmm5, %xmm8, %xmm89306; AVX-NEXT:    vpor %xmm6, %xmm8, %xmm89307; AVX-NEXT:    vmovq {{.*#+}} xmm6 = [255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0]9308; AVX-NEXT:    vpblendvb %xmm6, %xmm7, %xmm8, %xmm79309; AVX-NEXT:    vmovdqu %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9310; AVX-NEXT:    vmovdqa 240(%rdi), %xmm79311; AVX-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9312; AVX-NEXT:    vpshufb %xmm2, %xmm7, %xmm29313; AVX-NEXT:    vmovdqa 224(%rdi), %xmm79314; AVX-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9315; AVX-NEXT:    vpshufb %xmm3, %xmm7, %xmm39316; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm29317; AVX-NEXT:    vmovdqa 256(%rdi), %xmm39318; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9319; AVX-NEXT:    vpshufb %xmm4, %xmm3, %xmm39320; AVX-NEXT:    vmovdqa 272(%rdi), %xmm49321; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9322; AVX-NEXT:    vpshufb %xmm5, %xmm4, %xmm49323; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm39324; AVX-NEXT:    vmovddup {{.*#+}} xmm4 = [8,15,128,128,0,0,0,1,8,15,128,128,0,0,0,1]9325; AVX-NEXT:    # xmm4 = mem[0,0]9326; AVX-NEXT:    vpblendvb %xmm6, %xmm2, %xmm3, %xmm29327; AVX-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9328; AVX-NEXT:    vmovdqa 160(%rdi), %xmm79329; AVX-NEXT:    vpshufb %xmm4, %xmm7, %xmm29330; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm29331; AVX-NEXT:    vbroadcastss {{.*#+}} xmm3 = [128,3,10,128,128,3,10,128,128,3,10,128,128,3,10,128]9332; AVX-NEXT:    vmovdqa 144(%rdi), %xmm129333; AVX-NEXT:    vpshufb %xmm3, %xmm12, %xmm19334; AVX-NEXT:    vbroadcastss {{.*#+}} xmm5 = [12,128,128,5,12,128,128,5,12,128,128,5,12,128,128,5]9335; AVX-NEXT:    vmovdqa 128(%rdi), %xmm149336; AVX-NEXT:    vpshufb %xmm5, %xmm14, %xmm99337; AVX-NEXT:    vpor %xmm1, %xmm9, %xmm99338; AVX-NEXT:    vmovdqa {{.*#+}} xmm15 = [u,u,u,0,0,0,0,255,255,255,255,255,u,u,u,u]9339; AVX-NEXT:    vpblendvb %xmm15, %xmm2, %xmm9, %xmm29340; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9341; AVX-NEXT:    vmovdqa 400(%rdi), %xmm99342; AVX-NEXT:    vpshufb %xmm0, %xmm9, %xmm09343; AVX-NEXT:    vmovdqa 384(%rdi), %xmm69344; AVX-NEXT:    vpshufb %xmm4, %xmm6, %xmm29345; AVX-NEXT:    vpor %xmm0, %xmm2, %xmm09346; AVX-NEXT:    vmovdqa 368(%rdi), %xmm89347; AVX-NEXT:    vpshufb %xmm3, %xmm8, %xmm29348; AVX-NEXT:    vmovdqa 352(%rdi), %xmm119349; AVX-NEXT:    vpshufb %xmm5, %xmm11, %xmm39350; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm29351; AVX-NEXT:    vpblendvb %xmm15, %xmm0, %xmm2, %xmm09352; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9353; AVX-NEXT:    vmovddup {{.*#+}} xmm0 = [9,128,128,128,0,0,0,2,9,128,128,128,0,0,0,2]9354; AVX-NEXT:    # xmm0 = mem[0,0]9355; AVX-NEXT:    vpshufb %xmm0, %xmm7, %xmm39356; AVX-NEXT:    vmovdqa %xmm7, %xmm19357; AVX-NEXT:    vmovdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9358; AVX-NEXT:    vmovddup {{.*#+}} xmm2 = [128,0,7,14,0,0,0,128,128,0,7,14,0,0,0,128]9359; AVX-NEXT:    # xmm2 = mem[0,0]9360; AVX-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9361; AVX-NEXT:    vpshufb %xmm2, %xmm10, %xmm49362; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm59363; AVX-NEXT:    vbroadcastss {{.*#+}} xmm3 = [128,4,11,128,128,4,11,128,128,4,11,128,128,4,11,128]9364; AVX-NEXT:    vpshufb %xmm3, %xmm12, %xmm139365; AVX-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9366; AVX-NEXT:    vbroadcastss {{.*#+}} xmm4 = [13,128,128,6,13,128,128,6,13,128,128,6,13,128,128,6]9367; AVX-NEXT:    vmovdqa %xmm14, %xmm79368; AVX-NEXT:    vmovdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9369; AVX-NEXT:    vpshufb %xmm4, %xmm14, %xmm149370; AVX-NEXT:    vpor %xmm13, %xmm14, %xmm139371; AVX-NEXT:    vpblendvb %xmm15, %xmm5, %xmm13, %xmm59372; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9373; AVX-NEXT:    vmovdqa %xmm6, (%rsp) # 16-byte Spill9374; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm09375; AVX-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9376; AVX-NEXT:    vpshufb %xmm2, %xmm9, %xmm29377; AVX-NEXT:    vpor %xmm0, %xmm2, %xmm09378; AVX-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9379; AVX-NEXT:    vpshufb %xmm3, %xmm8, %xmm29380; AVX-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9381; AVX-NEXT:    vpshufb %xmm4, %xmm11, %xmm39382; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm29383; AVX-NEXT:    vpblendvb %xmm15, %xmm0, %xmm2, %xmm09384; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9385; AVX-NEXT:    vmovq {{.*#+}} xmm0 = [0,0,128,128,128,5,12,0,0,0,0,0,0,0,0,0]9386; AVX-NEXT:    vpshufb %xmm0, %xmm12, %xmm29387; AVX-NEXT:    vmovq {{.*#+}} xmm12 = [0,0,0,7,14,128,128,0,0,0,0,0,0,0,0,0]9388; AVX-NEXT:    vpshufb %xmm12, %xmm7, %xmm39389; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm59390; AVX-NEXT:    vmovddup {{.*#+}} xmm2 = [10,128,128,128,0,0,0,3,10,128,128,128,0,0,0,3]9391; AVX-NEXT:    # xmm2 = mem[0,0]9392; AVX-NEXT:    vpshufb %xmm2, %xmm1, %xmm49393; AVX-NEXT:    vmovddup {{.*#+}} xmm3 = [128,1,8,15,0,0,0,128,128,1,8,15,0,0,0,128]9394; AVX-NEXT:    # xmm3 = mem[0,0]9395; AVX-NEXT:    vpshufb %xmm3, %xmm10, %xmm139396; AVX-NEXT:    vpor %xmm4, %xmm13, %xmm139397; AVX-NEXT:    vmovq {{.*#+}} xmm4 = [0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0]9398; AVX-NEXT:    vpblendvb %xmm4, %xmm5, %xmm13, %xmm59399; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9400; AVX-NEXT:    vpshufb %xmm0, %xmm8, %xmm09401; AVX-NEXT:    vpshufb %xmm12, %xmm11, %xmm19402; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm09403; AVX-NEXT:    vpshufb %xmm2, %xmm6, %xmm19404; AVX-NEXT:    vpshufb %xmm3, %xmm9, %xmm29405; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm19406; AVX-NEXT:    vpblendvb %xmm4, %xmm0, %xmm1, %xmm09407; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9408; AVX-NEXT:    vmovq {{.*#+}} xmm14 = [128,128,128,6,13,0,0,0,0,0,0,0,0,0,0,0]9409; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload9410; AVX-NEXT:    vpshufb %xmm14, %xmm11, %xmm09411; AVX-NEXT:    vmovq {{.*#+}} xmm2 = [1,8,15,128,128,0,0,0,0,0,0,0,0,0,0,0]9412; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9413; AVX-NEXT:    vpshufb %xmm2, %xmm10, %xmm39414; AVX-NEXT:    vpor %xmm0, %xmm3, %xmm39415; AVX-NEXT:    vbroadcastss {{.*#+}} xmm4 = [9,128,128,2,9,128,128,2,9,128,128,2,9,128,128,2]9416; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload9417; AVX-NEXT:    vpshufb %xmm4, %xmm15, %xmm09418; AVX-NEXT:    vbroadcastss {{.*#+}} xmm5 = [128,4,11,128,128,4,11,128,128,4,11,128,128,4,11,128]9419; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload9420; AVX-NEXT:    vpshufb %xmm5, %xmm7, %xmm139421; AVX-NEXT:    vpor %xmm0, %xmm13, %xmm139422; AVX-NEXT:    vmovq {{.*#+}} xmm12 = [255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0]9423; AVX-NEXT:    vpblendvb %xmm12, %xmm3, %xmm13, %xmm09424; AVX-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9425; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9426; AVX-NEXT:    vpshufb %xmm14, %xmm1, %xmm09427; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload9428; AVX-NEXT:    vpshufb %xmm2, %xmm13, %xmm29429; AVX-NEXT:    vpor %xmm0, %xmm2, %xmm149430; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9431; AVX-NEXT:    vpshufb %xmm4, %xmm8, %xmm29432; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9433; AVX-NEXT:    vpshufb %xmm5, %xmm0, %xmm39434; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm29435; AVX-NEXT:    vpblendvb %xmm12, %xmm14, %xmm2, %xmm29436; AVX-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9437; AVX-NEXT:    vmovq {{.*#+}} xmm9 = [2,9,128,128,128,0,0,0,0,0,0,0,0,0,0,0]9438; AVX-NEXT:    vpshufb %xmm9, %xmm10, %xmm29439; AVX-NEXT:    vmovq {{.*#+}} xmm3 = [128,128,0,7,14,0,0,0,0,0,0,0,0,0,0,0]9440; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm49441; AVX-NEXT:    vpor %xmm2, %xmm4, %xmm29442; AVX-NEXT:    vbroadcastss {{.*#+}} xmm4 = [10,128,128,3,10,128,128,3,10,128,128,3,10,128,128,3]9443; AVX-NEXT:    vpshufb %xmm4, %xmm15, %xmm59444; AVX-NEXT:    vbroadcastss {{.*#+}} xmm6 = [128,5,12,128,128,5,12,128,128,5,12,128,128,5,12,128]9445; AVX-NEXT:    vpshufb %xmm6, %xmm7, %xmm149446; AVX-NEXT:    vpor %xmm5, %xmm14, %xmm59447; AVX-NEXT:    vmovdqa %xmm12, %xmm149448; AVX-NEXT:    vpblendvb %xmm12, %xmm2, %xmm5, %xmm29449; AVX-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9450; AVX-NEXT:    vpshufb %xmm9, %xmm13, %xmm59451; AVX-NEXT:    vmovdqa %xmm13, %xmm99452; AVX-NEXT:    vpshufb %xmm3, %xmm1, %xmm29453; AVX-NEXT:    vmovdqa %xmm1, %xmm129454; AVX-NEXT:    vpor %xmm5, %xmm2, %xmm19455; AVX-NEXT:    vpshufb %xmm4, %xmm8, %xmm29456; AVX-NEXT:    vpshufb %xmm6, %xmm0, %xmm39457; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm29458; AVX-NEXT:    vpblendvb %xmm14, %xmm1, %xmm2, %xmm19459; AVX-NEXT:    vmovdqa %xmm14, %xmm69460; AVX-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9461; AVX-NEXT:    vmovq {{.*#+}} xmm1 = [3,10,128,128,128,0,0,0,0,0,0,0,0,0,0,0]9462; AVX-NEXT:    vpshufb %xmm1, %xmm10, %xmm39463; AVX-NEXT:    vmovq {{.*#+}} xmm2 = [128,128,1,8,15,0,0,0,0,0,0,0,0,0,0,0]9464; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm49465; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm59466; AVX-NEXT:    vbroadcastss {{.*#+}} xmm3 = [11,128,128,4,11,128,128,4,11,128,128,4,11,128,128,4]9467; AVX-NEXT:    vpshufb %xmm3, %xmm15, %xmm139468; AVX-NEXT:    vbroadcastss {{.*#+}} xmm4 = [128,6,13,128,128,6,13,128,128,6,13,128,128,6,13,128]9469; AVX-NEXT:    vpshufb %xmm4, %xmm7, %xmm149470; AVX-NEXT:    vpor %xmm13, %xmm14, %xmm139471; AVX-NEXT:    vpblendvb %xmm6, %xmm5, %xmm13, %xmm59472; AVX-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9473; AVX-NEXT:    vpshufb %xmm1, %xmm9, %xmm19474; AVX-NEXT:    vpshufb %xmm2, %xmm12, %xmm29475; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm19476; AVX-NEXT:    vpshufb %xmm3, %xmm8, %xmm29477; AVX-NEXT:    vpshufb %xmm4, %xmm0, %xmm39478; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm29479; AVX-NEXT:    vpblendvb %xmm6, %xmm1, %xmm2, %xmm09480; AVX-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9481; AVX-NEXT:    vmovq {{.*#+}} xmm0 = [0,0,128,128,128,6,13,0,0,0,0,0,0,0,0,0]9482; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload9483; AVX-NEXT:    vpshufb %xmm0, %xmm11, %xmm19484; AVX-NEXT:    vmovq {{.*#+}} xmm3 = [0,0,1,8,15,128,128,0,0,0,0,0,0,0,0,0]9485; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload9486; AVX-NEXT:    vpshufb %xmm3, %xmm15, %xmm29487; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm19488; AVX-NEXT:    vbroadcastss {{.*#+}} xmm4 = [128,2,9,128,128,2,9,128,128,2,9,128,128,2,9,128]9489; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9490; AVX-NEXT:    vpshufb %xmm4, %xmm8, %xmm29491; AVX-NEXT:    vbroadcastss {{.*#+}} xmm5 = [11,128,128,4,11,128,128,4,11,128,128,4,11,128,128,4]9492; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload9493; AVX-NEXT:    vpshufb %xmm5, %xmm12, %xmm139494; AVX-NEXT:    vpor %xmm2, %xmm13, %xmm139495; AVX-NEXT:    vmovq {{.*#+}} xmm2 = [0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0]9496; AVX-NEXT:    vpblendvb %xmm2, %xmm1, %xmm13, %xmm19497; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9498; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload9499; AVX-NEXT:    vpshufb %xmm0, %xmm7, %xmm09500; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9501; AVX-NEXT:    vpshufb %xmm3, %xmm10, %xmm19502; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm09503; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload9504; AVX-NEXT:    vpshufb %xmm4, %xmm9, %xmm19505; AVX-NEXT:    vmovdqa (%rsp), %xmm6 # 16-byte Reload9506; AVX-NEXT:    vpshufb %xmm5, %xmm6, %xmm39507; AVX-NEXT:    vpor %xmm1, %xmm3, %xmm19508; AVX-NEXT:    vpblendvb %xmm2, %xmm0, %xmm1, %xmm09509; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9510; AVX-NEXT:    vmovq {{.*#+}} xmm1 = [0,0,2,9,128,128,128,0,0,0,0,0,0,0,0,0]9511; AVX-NEXT:    vpshufb %xmm1, %xmm15, %xmm09512; AVX-NEXT:    vmovq {{.*#+}} xmm3 = [0,0,128,128,0,7,14,0,0,0,0,0,0,0,0,0]9513; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm49514; AVX-NEXT:    vpor %xmm0, %xmm4, %xmm59515; AVX-NEXT:    vbroadcastss {{.*#+}} xmm4 = [128,3,10,128,128,3,10,128,128,3,10,128,128,3,10,128]9516; AVX-NEXT:    vpshufb %xmm4, %xmm8, %xmm139517; AVX-NEXT:    vmovdqa %xmm8, %xmm119518; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [12,128,128,5,12,128,128,5,12,128,128,5,12,128,128,5]9519; AVX-NEXT:    vpshufb %xmm0, %xmm12, %xmm149520; AVX-NEXT:    vpor %xmm13, %xmm14, %xmm139521; AVX-NEXT:    vmovdqa %xmm2, %xmm89522; AVX-NEXT:    vpblendvb %xmm2, %xmm5, %xmm13, %xmm29523; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9524; AVX-NEXT:    vpshufb %xmm1, %xmm10, %xmm19525; AVX-NEXT:    vmovdqa %xmm10, %xmm29526; AVX-NEXT:    vpshufb %xmm3, %xmm7, %xmm39527; AVX-NEXT:    vmovdqa %xmm7, %xmm109528; AVX-NEXT:    vpor %xmm1, %xmm3, %xmm19529; AVX-NEXT:    vpshufb %xmm4, %xmm9, %xmm39530; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm09531; AVX-NEXT:    vpor %xmm3, %xmm0, %xmm09532; AVX-NEXT:    vpblendvb %xmm8, %xmm1, %xmm0, %xmm149533; AVX-NEXT:    vmovq {{.*#+}} xmm1 = [0,0,3,10,128,128,128,0,0,0,0,0,0,0,0,0]9534; AVX-NEXT:    vpshufb %xmm1, %xmm15, %xmm09535; AVX-NEXT:    vmovq {{.*#+}} xmm3 = [0,0,128,128,1,8,15,0,0,0,0,0,0,0,0,0]9536; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload9537; AVX-NEXT:    vpshufb %xmm3, %xmm7, %xmm49538; AVX-NEXT:    vpor %xmm0, %xmm4, %xmm49539; AVX-NEXT:    vbroadcastss {{.*#+}} xmm13 = [128,4,11,128,128,4,11,128,128,4,11,128,128,4,11,128]9540; AVX-NEXT:    vpshufb %xmm13, %xmm11, %xmm59541; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [13,128,128,6,13,128,128,6,13,128,128,6,13,128,128,6]9542; AVX-NEXT:    vpshufb %xmm0, %xmm12, %xmm119543; AVX-NEXT:    vpor %xmm5, %xmm11, %xmm59544; AVX-NEXT:    vmovdqa %xmm8, %xmm119545; AVX-NEXT:    vpblendvb %xmm8, %xmm4, %xmm5, %xmm89546; AVX-NEXT:    vpshufb %xmm1, %xmm2, %xmm19547; AVX-NEXT:    vpshufb %xmm3, %xmm10, %xmm39548; AVX-NEXT:    vpor %xmm1, %xmm3, %xmm19549; AVX-NEXT:    vpshufb %xmm13, %xmm9, %xmm39550; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm09551; AVX-NEXT:    vmovdqa %xmm6, %xmm99552; AVX-NEXT:    vpor %xmm3, %xmm0, %xmm09553; AVX-NEXT:    vpblendvb %xmm11, %xmm1, %xmm0, %xmm29554; AVX-NEXT:    vmovdqa 208(%rdi), %xmm69555; AVX-NEXT:    vmovdqa 192(%rdi), %xmm59556; AVX-NEXT:    vmovddup {{.*#+}} xmm3 = [0,0,0,128,128,128,5,12,0,0,0,128,128,128,5,12]9557; AVX-NEXT:    # xmm3 = mem[0,0]9558; AVX-NEXT:    vpshufb %xmm3, %xmm6, %xmm49559; AVX-NEXT:    vmovddup {{.*#+}} xmm11 = [0,0,0,0,7,14,128,128,0,0,0,0,7,14,128,128]9560; AVX-NEXT:    # xmm11 = mem[0,0]9561; AVX-NEXT:    vpshufb %xmm11, %xmm5, %xmm139562; AVX-NEXT:    vpor %xmm4, %xmm13, %xmm49563; AVX-NEXT:    vpmovsxdq {{.*#+}} xmm13 = [18446744073709486080,16777215]9564; AVX-NEXT:    vpblendvb %xmm13, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4, %xmm0 # 16-byte Folded Reload9565; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9566; AVX-NEXT:    vmovdqa 432(%rdi), %xmm49567; AVX-NEXT:    vpshufb %xmm3, %xmm4, %xmm09568; AVX-NEXT:    vmovdqa 416(%rdi), %xmm39569; AVX-NEXT:    vpshufb %xmm11, %xmm3, %xmm119570; AVX-NEXT:    vpor %xmm0, %xmm11, %xmm09571; AVX-NEXT:    vpblendvb %xmm13, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9572; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9573; AVX-NEXT:    vmovddup {{.*#+}} xmm1 = [0,0,0,128,128,128,6,13,0,0,0,128,128,128,6,13]9574; AVX-NEXT:    # xmm1 = mem[0,0]9575; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm119576; AVX-NEXT:    vmovddup {{.*#+}} xmm0 = [0,0,0,1,8,15,128,128,0,0,0,1,8,15,128,128]9577; AVX-NEXT:    # xmm0 = mem[0,0]9578; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm159579; AVX-NEXT:    vpor %xmm11, %xmm15, %xmm119580; AVX-NEXT:    vpblendvb %xmm13, {{[-0-9]+}}(%r{{[sb]}}p), %xmm11, %xmm10 # 16-byte Folded Reload9581; AVX-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9582; AVX-NEXT:    vpshufb %xmm1, %xmm4, %xmm19583; AVX-NEXT:    vpshufb %xmm0, %xmm3, %xmm09584; AVX-NEXT:    vpor %xmm1, %xmm0, %xmm09585; AVX-NEXT:    vpblendvb %xmm13, %xmm14, %xmm0, %xmm09586; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9587; AVX-NEXT:    vmovddup {{.*#+}} xmm0 = [0,0,0,2,9,128,128,128,0,0,0,2,9,128,128,128]9588; AVX-NEXT:    # xmm0 = mem[0,0]9589; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm19590; AVX-NEXT:    vmovddup {{.*#+}} xmm11 = [0,0,0,128,128,0,7,14,0,0,0,128,128,0,7,14]9591; AVX-NEXT:    # xmm11 = mem[0,0]9592; AVX-NEXT:    vpshufb %xmm11, %xmm6, %xmm149593; AVX-NEXT:    vpor %xmm1, %xmm14, %xmm19594; AVX-NEXT:    vpblendvb %xmm13, %xmm8, %xmm1, %xmm19595; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9596; AVX-NEXT:    vpshufb %xmm0, %xmm3, %xmm09597; AVX-NEXT:    vpshufb %xmm11, %xmm4, %xmm19598; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm09599; AVX-NEXT:    vpblendvb %xmm13, %xmm2, %xmm0, %xmm09600; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9601; AVX-NEXT:    vmovd {{.*#+}} xmm14 = [2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]9602; AVX-NEXT:    vpshufb %xmm14, %xmm7, %xmm19603; AVX-NEXT:    vmovd {{.*#+}} xmm0 = [0,0,4,11,0,0,0,0,0,0,0,0,0,0,0,0]9604; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9605; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm29606; AVX-NEXT:    vpunpckldq {{.*#+}} xmm7 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]9607; AVX-NEXT:    vmovddup {{.*#+}} xmm1 = [128,5,12,0,0,0,128,128,128,5,12,0,0,0,128,128]9608; AVX-NEXT:    # xmm1 = mem[0,0]9609; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9610; AVX-NEXT:    vpshufb %xmm1, %xmm2, %xmm89611; AVX-NEXT:    vmovddup {{.*#+}} xmm2 = [14,128,128,0,0,0,0,7,14,128,128,0,0,0,0,7]9612; AVX-NEXT:    # xmm2 = mem[0,0]9613; AVX-NEXT:    vpshufb %xmm2, %xmm12, %xmm109614; AVX-NEXT:    vpor %xmm8, %xmm10, %xmm89615; AVX-NEXT:    vpblendw {{.*#+}} xmm8 = xmm8[0],xmm7[1,2],xmm8[3,4,5,6,7]9616; AVX-NEXT:    vmovddup {{.*#+}} xmm7 = [0,0,0,3,10,128,128,128,0,0,0,3,10,128,128,128]9617; AVX-NEXT:    # xmm7 = mem[0,0]9618; AVX-NEXT:    vpshufb %xmm7, %xmm5, %xmm109619; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9620; AVX-NEXT:    vmovddup {{.*#+}} xmm11 = [0,0,0,128,128,1,8,15,0,0,0,128,128,1,8,15]9621; AVX-NEXT:    # xmm11 = mem[0,0]9622; AVX-NEXT:    vpshufb %xmm11, %xmm6, %xmm129623; AVX-NEXT:    vpor %xmm10, %xmm12, %xmm109624; AVX-NEXT:    vpblendvb %xmm13, %xmm8, %xmm10, %xmm89625; AVX-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9626; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9627; AVX-NEXT:    vpshufb %xmm0, %xmm8, %xmm09628; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9629; AVX-NEXT:    vpshufb %xmm14, %xmm8, %xmm89630; AVX-NEXT:    vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm8[0],xmm0[1],xmm8[1]9631; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9632; AVX-NEXT:    vpshufb %xmm1, %xmm8, %xmm19633; AVX-NEXT:    vpshufb %xmm2, %xmm9, %xmm29634; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm19635; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0],xmm0[1,2],xmm1[3,4,5,6,7]9636; AVX-NEXT:    vpshufb %xmm7, %xmm3, %xmm19637; AVX-NEXT:    vmovdqa %xmm4, %xmm89638; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9639; AVX-NEXT:    vpshufb %xmm11, %xmm4, %xmm29640; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm19641; AVX-NEXT:    vpblendvb %xmm13, %xmm0, %xmm1, %xmm09642; AVX-NEXT:    vmovdqa %xmm0, (%rsp) # 16-byte Spill9643; AVX-NEXT:    vbroadcastss {{.*#+}} xmm14 = [0,0,2,9,0,0,2,9,0,0,2,9,0,0,2,9]9644; AVX-NEXT:    vmovdqa %xmm6, %xmm139645; AVX-NEXT:    vmovdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9646; AVX-NEXT:    vpshufb %xmm14, %xmm6, %xmm19647; AVX-NEXT:    vbroadcastss {{.*#+}} xmm0 = [0,0,4,11,0,0,4,11,0,0,4,11,0,0,4,11]9648; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm29649; AVX-NEXT:    vmovdqa %xmm0, %xmm59650; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1],xmm2[2],xmm1[2],xmm2[3],xmm1[3]9651; AVX-NEXT:    vpblendw $63, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload9652; AVX-NEXT:    # xmm1 = mem[0,1,2,3,4,5],xmm1[6,7]9653; AVX-NEXT:    vbroadcastss {{.*#+}} xmm15 = [4,11,0,0,4,11,0,0,4,11,0,0,4,11,0,0]9654; AVX-NEXT:    vmovdqa 80(%rdi), %xmm49655; AVX-NEXT:    vpshufb %xmm15, %xmm4, %xmm79656; AVX-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9657; AVX-NEXT:    vbroadcastss {{.*#+}} xmm6 = [0,0,6,13,0,0,6,13,0,0,6,13,0,0,6,13]9658; AVX-NEXT:    vmovdqa 64(%rdi), %xmm09659; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9660; AVX-NEXT:    vpshufb %xmm6, %xmm0, %xmm109661; AVX-NEXT:    vpunpckldq {{.*#+}} xmm7 = xmm10[0],xmm7[0],xmm10[1],xmm7[1]9662; AVX-NEXT:    vmovdqa 96(%rdi), %xmm09663; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9664; AVX-NEXT:    vpalignr {{.*#+}} xmm7 = xmm7[10,11,12,13,14,15],xmm0[0,1,2,3,4,5,6,7,8,9]9665; AVX-NEXT:    vmovddup {{.*#+}} xmm11 = [0,0,0,1,2,3,8,15,0,0,0,1,2,3,8,15]9666; AVX-NEXT:    # xmm11 = mem[0,0]9667; AVX-NEXT:    vpshufb %xmm11, %xmm7, %xmm109668; AVX-NEXT:    vmovd {{.*#+}} xmm0 = [0,7,14,0,0,0,0,0,0,0,0,0,0,0,0,0]9669; AVX-NEXT:    vmovdqa 112(%rdi), %xmm29670; AVX-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9671; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm129672; AVX-NEXT:    vinsertf128 $1, %xmm12, %ymm10, %ymm109673; AVX-NEXT:    vmovaps {{.*#+}} ymm2 = [65535,65535,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535,65535,65535]9674; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm12 # 32-byte Folded Reload9675; AVX-NEXT:    vandnps %ymm10, %ymm2, %ymm109676; AVX-NEXT:    vorps %ymm10, %ymm12, %ymm109677; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19678; AVX-NEXT:    vmovaps {{.*#+}} ymm12 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0]9679; AVX-NEXT:    vandnps %ymm1, %ymm12, %ymm19680; AVX-NEXT:    vandps %ymm12, %ymm10, %ymm109681; AVX-NEXT:    vorps %ymm1, %ymm10, %ymm19682; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9683; AVX-NEXT:    vpshufb %xmm14, %xmm8, %xmm19684; AVX-NEXT:    vpshufb %xmm5, %xmm3, %xmm109685; AVX-NEXT:    vmovdqa %xmm3, %xmm59686; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9687; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm10[0],xmm1[0],xmm10[1],xmm1[1],xmm10[2],xmm1[2],xmm10[3],xmm1[3]9688; AVX-NEXT:    vpblendw $63, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload9689; AVX-NEXT:    # xmm1 = mem[0,1,2,3,4,5],xmm1[6,7]9690; AVX-NEXT:    vmovdqa 304(%rdi), %xmm39691; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9692; AVX-NEXT:    vpshufb %xmm15, %xmm3, %xmm149693; AVX-NEXT:    vmovdqa 288(%rdi), %xmm39694; AVX-NEXT:    vmovdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9695; AVX-NEXT:    vpshufb %xmm6, %xmm3, %xmm159696; AVX-NEXT:    vpunpckldq {{.*#+}} xmm14 = xmm15[0],xmm14[0],xmm15[1],xmm14[1]9697; AVX-NEXT:    vmovdqa 320(%rdi), %xmm99698; AVX-NEXT:    vpalignr {{.*#+}} xmm14 = xmm14[10,11,12,13,14,15],xmm9[0,1,2,3,4,5,6,7,8,9]9699; AVX-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9700; AVX-NEXT:    vpshufb %xmm11, %xmm14, %xmm119701; AVX-NEXT:    vmovdqa 336(%rdi), %xmm89702; AVX-NEXT:    vpshufb %xmm0, %xmm8, %xmm09703; AVX-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill9704; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm11, %ymm09705; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm11 # 32-byte Folded Reload9706; AVX-NEXT:    vandnps %ymm0, %ymm2, %ymm09707; AVX-NEXT:    vorps %ymm0, %ymm11, %ymm09708; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19709; AVX-NEXT:    vandnps %ymm1, %ymm12, %ymm19710; AVX-NEXT:    vandps %ymm0, %ymm12, %ymm09711; AVX-NEXT:    vorps %ymm1, %ymm0, %ymm09712; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9713; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm13[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]9714; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload9715; AVX-NEXT:    vpshufb {{.*#+}} xmm11 = xmm6[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]9716; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm11[0],xmm1[0],xmm11[1],xmm1[1],xmm11[2],xmm1[2],xmm11[3],xmm1[3]9717; AVX-NEXT:    vpblendw $63, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1, %xmm1 # 16-byte Folded Reload9718; AVX-NEXT:    # xmm1 = mem[0,1,2,3,4,5],xmm1[6,7]9719; AVX-NEXT:    vpshufb {{.*#+}} xmm11 = xmm4[u,u,u,u,5,12,u,u,u,u,u,u,u,u,u,u]9720; AVX-NEXT:    vbroadcastss {{.*#+}} xmm7 = [0,0,7,14,0,0,7,14,0,0,7,14,0,0,7,14]9721; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload9722; AVX-NEXT:    vpshufb %xmm7, %xmm15, %xmm109723; AVX-NEXT:    vpunpckldq {{.*#+}} xmm10 = xmm10[0],xmm11[0],xmm10[1],xmm11[1]9724; AVX-NEXT:    vxorps %xmm0, %xmm0, %xmm09725; AVX-NEXT:    vpblendw {{.*#+}} xmm10 = xmm10[0,1,2,3,4,5,6],xmm0[7]9726; AVX-NEXT:    vmovddup {{.*#+}} xmm2 = [0,128,128,128,128,128,3,10,0,128,128,128,128,128,3,10]9727; AVX-NEXT:    # xmm2 = mem[0,0]9728; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload9729; AVX-NEXT:    vpshufb %xmm2, %xmm4, %xmm119730; AVX-NEXT:    vpor %xmm11, %xmm10, %xmm109731; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9732; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm3[1,8,15,u,u,u,u,u,u,u,u,u,u,u,u,u]9733; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm10, %ymm109734; AVX-NEXT:    vmovaps {{.*#+}} ymm14 = [0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]9735; AVX-NEXT:    vandnps {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm0 # 32-byte Folded Reload9736; AVX-NEXT:    vandps %ymm14, %ymm10, %ymm109737; AVX-NEXT:    vorps %ymm0, %ymm10, %ymm09738; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm19739; AVX-NEXT:    vandnps %ymm1, %ymm12, %ymm19740; AVX-NEXT:    vandps %ymm0, %ymm12, %ymm09741; AVX-NEXT:    vorps %ymm1, %ymm0, %ymm09742; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9743; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload9744; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm13[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]9745; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm5[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]9746; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]9747; AVX-NEXT:    vpblendw $63, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9748; AVX-NEXT:    # xmm0 = mem[0,1,2,3,4,5],xmm0[6,7]9749; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9750; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm5[u,u,u,u,5,12,u,u,u,u,u,u,u,u,u,u]9751; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload9752; AVX-NEXT:    vpshufb %xmm7, %xmm11, %xmm79753; AVX-NEXT:    vpunpckldq {{.*#+}} xmm1 = xmm7[0],xmm1[0],xmm7[1],xmm1[1]9754; AVX-NEXT:    vpxor %xmm7, %xmm7, %xmm79755; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6],xmm7[7]9756; AVX-NEXT:    vpshufb %xmm2, %xmm9, %xmm29757; AVX-NEXT:    vpor %xmm2, %xmm1, %xmm19758; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm8[1,8,15,u,u,u,u,u,u,u,u,u,u,u,u,u]9759; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm19760; AVX-NEXT:    vandnps {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm2 # 32-byte Folded Reload9761; AVX-NEXT:    vandps %ymm1, %ymm14, %ymm19762; AVX-NEXT:    vorps %ymm2, %ymm1, %ymm19763; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm09764; AVX-NEXT:    vandnps %ymm0, %ymm12, %ymm09765; AVX-NEXT:    vandps %ymm1, %ymm12, %ymm19766; AVX-NEXT:    vorps %ymm0, %ymm1, %ymm09767; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9768; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [0,0,4,11,0,0,4,11,0,0,4,11,0,0,4,11]9769; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9770; AVX-NEXT:    vpshufb %xmm2, %xmm0, %xmm09771; AVX-NEXT:    vbroadcastss {{.*#+}} xmm1 = [0,0,6,13,0,0,6,13,0,0,6,13,0,0,6,13]9772; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm19773; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]9774; AVX-NEXT:    vpblendw $63, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0, %xmm0 # 16-byte Folded Reload9775; AVX-NEXT:    # xmm0 = mem[0,1,2,3,4,5],xmm0[6,7]9776; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9777; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm10[u,u,u,u,u,u,u,u,u,u,u,u,6,13,u,u]9778; AVX-NEXT:    vbroadcastss {{.*#+}} xmm14 = [0,1,8,15,0,1,8,15,0,1,8,15,0,1,8,15]9779; AVX-NEXT:    vpshufb %xmm14, %xmm15, %xmm69780; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm6[2],xmm1[2],xmm6[3],xmm1[3]9781; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6],xmm7[7]9782; AVX-NEXT:    vmovddup {{.*#+}} xmm6 = [0,128,128,128,128,128,4,11,0,128,128,128,128,128,4,11]9783; AVX-NEXT:    # xmm6 = mem[0,0]9784; AVX-NEXT:    vmovdqa %xmm4, %xmm129785; AVX-NEXT:    vpshufb %xmm6, %xmm4, %xmm79786; AVX-NEXT:    vpor %xmm7, %xmm1, %xmm19787; AVX-NEXT:    vmovd {{.*#+}} xmm9 = [2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]9788; AVX-NEXT:    vpshufb %xmm9, %xmm3, %xmm79789; AVX-NEXT:    vinsertf128 $1, %xmm7, %ymm1, %ymm79790; AVX-NEXT:    vmovaps {{.*#+}} ymm1 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]9791; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm8 # 32-byte Folded Reload9792; AVX-NEXT:    vandnps %ymm7, %ymm1, %ymm79793; AVX-NEXT:    vorps %ymm7, %ymm8, %ymm79794; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm0, %ymm89795; AVX-NEXT:    vmovaps {{.*#+}} ymm15 = [65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0]9796; AVX-NEXT:    vandnps %ymm8, %ymm15, %ymm89797; AVX-NEXT:    vandps %ymm7, %ymm15, %ymm79798; AVX-NEXT:    vorps %ymm7, %ymm8, %ymm09799; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9800; AVX-NEXT:    vpshufb %xmm2, %xmm13, %xmm49801; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9802; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]9803; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]9804; AVX-NEXT:    vpblendw $63, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3, %xmm3 # 16-byte Folded Reload9805; AVX-NEXT:    # xmm3 = mem[0,1,2,3,4,5],xmm3[6,7]9806; AVX-NEXT:    vmovdqa %xmm5, %xmm09807; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm5[u,u,u,u,u,u,u,u,u,u,u,u,6,13,u,u]9808; AVX-NEXT:    vmovdqa %xmm11, %xmm19809; AVX-NEXT:    vpshufb %xmm14, %xmm11, %xmm49810; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm4[2],xmm2[2],xmm4[3],xmm2[3]9811; AVX-NEXT:    vxorps %xmm7, %xmm7, %xmm79812; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,6],xmm7[7]9813; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload9814; AVX-NEXT:    vpshufb %xmm6, %xmm13, %xmm49815; AVX-NEXT:    vpor %xmm4, %xmm2, %xmm29816; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload9817; AVX-NEXT:    vpshufb %xmm9, %xmm14, %xmm49818; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm2, %ymm29819; AVX-NEXT:    vmovaps {{.*#+}} ymm5 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]9820; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm5, %ymm4 # 32-byte Folded Reload9821; AVX-NEXT:    vandnps %ymm2, %ymm5, %ymm29822; AVX-NEXT:    vorps %ymm2, %ymm4, %ymm29823; AVX-NEXT:    vinsertf128 $1, %xmm3, %ymm0, %ymm39824; AVX-NEXT:    vandnps %ymm3, %ymm15, %ymm39825; AVX-NEXT:    vandps %ymm2, %ymm15, %ymm29826; AVX-NEXT:    vorps %ymm3, %ymm2, %ymm29827; AVX-NEXT:    vmovups %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9828; AVX-NEXT:    vmovddup {{.*#+}} xmm3 = [0,2,9,128,128,128,0,0,0,2,9,128,128,128,0,0]9829; AVX-NEXT:    # xmm3 = mem[0,0]9830; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload9831; AVX-NEXT:    vpshufb %xmm3, %xmm9, %xmm29832; AVX-NEXT:    vmovddup {{.*#+}} xmm4 = [0,128,128,0,7,14,0,0,0,128,128,0,7,14,0,0]9833; AVX-NEXT:    # xmm4 = mem[0,0]9834; AVX-NEXT:    vpshufb %xmm4, %xmm10, %xmm59835; AVX-NEXT:    vpor %xmm2, %xmm5, %xmm29836; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,6],xmm7[7]9837; AVX-NEXT:    vmovddup {{.*#+}} xmm5 = [0,128,128,128,128,128,5,12,0,128,128,128,128,128,5,12]9838; AVX-NEXT:    # xmm5 = mem[0,0]9839; AVX-NEXT:    vpshufb %xmm5, %xmm12, %xmm69840; AVX-NEXT:    vmovdqa %xmm12, %xmm119841; AVX-NEXT:    vpor %xmm6, %xmm2, %xmm69842; AVX-NEXT:    vmovd {{.*#+}} xmm8 = [3,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]9843; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload9844; AVX-NEXT:    vpshufb %xmm8, %xmm2, %xmm79845; AVX-NEXT:    vinsertf128 $1, %xmm7, %ymm6, %ymm69846; AVX-NEXT:    vmovaps {{.*#+}} ymm12 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]9847; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm7 # 32-byte Folded Reload9848; AVX-NEXT:    vandnps %ymm6, %ymm12, %ymm69849; AVX-NEXT:    vorps %ymm6, %ymm7, %ymm69850; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm7 # 16-byte Folded Reload9851; AVX-NEXT:    vandnps %ymm7, %ymm15, %ymm79852; AVX-NEXT:    vandps %ymm6, %ymm15, %ymm69853; AVX-NEXT:    vorps %ymm7, %ymm6, %ymm69854; AVX-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9855; AVX-NEXT:    vpshufb %xmm3, %xmm1, %xmm39856; AVX-NEXT:    vpshufb %xmm4, %xmm0, %xmm49857; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm39858; AVX-NEXT:    vpxor %xmm0, %xmm0, %xmm09859; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,6],xmm0[7]9860; AVX-NEXT:    vpshufb %xmm5, %xmm13, %xmm49861; AVX-NEXT:    vpor %xmm4, %xmm3, %xmm39862; AVX-NEXT:    vpshufb %xmm8, %xmm14, %xmm49863; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm3, %ymm39864; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm4 # 32-byte Folded Reload9865; AVX-NEXT:    vandnps %ymm3, %ymm12, %ymm39866; AVX-NEXT:    vorps %ymm3, %ymm4, %ymm39867; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 16-byte Folded Reload9868; AVX-NEXT:    vandnps %ymm4, %ymm15, %ymm49869; AVX-NEXT:    vandps %ymm3, %ymm15, %ymm39870; AVX-NEXT:    vorps %ymm4, %ymm3, %ymm09871; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9872; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9873; AVX-NEXT:    vmovd {{.*#+}} xmm14 = [2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0]9874; AVX-NEXT:    vpshufb %xmm14, %xmm8, %xmm39875; AVX-NEXT:    vmovd {{.*#+}} xmm0 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]9876; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload9877; AVX-NEXT:    vpshufb %xmm0, %xmm13, %xmm49878; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]9879; AVX-NEXT:    vmovddup {{.*#+}} xmm4 = [12,0,0,0,128,128,128,5,12,0,0,0,128,128,128,5]9880; AVX-NEXT:    # xmm4 = mem[0,0]9881; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload9882; AVX-NEXT:    vpshufb %xmm4, %xmm12, %xmm59883; AVX-NEXT:    vmovddup {{.*#+}} xmm6 = [128,0,0,0,0,7,14,128,128,0,0,0,0,7,14,128]9884; AVX-NEXT:    # xmm6 = mem[0,0]9885; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9886; AVX-NEXT:    vpshufb %xmm6, %xmm1, %xmm79887; AVX-NEXT:    vpor %xmm5, %xmm7, %xmm59888; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1],xmm5[2,3,4,5,6,7]9889; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm9[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm9[u,u]9890; AVX-NEXT:    vmovddup {{.*#+}} xmm5 = [0,128,128,1,8,15,0,0,0,128,128,1,8,15,0,0]9891; AVX-NEXT:    # xmm5 = mem[0,0]9892; AVX-NEXT:    vpshufb %xmm5, %xmm10, %xmm99893; AVX-NEXT:    vpor %xmm7, %xmm9, %xmm79894; AVX-NEXT:    vpxor %xmm9, %xmm9, %xmm99895; AVX-NEXT:    vpblendw {{.*#+}} xmm7 = xmm7[0,1,2,3,4,5,6],xmm9[7]9896; AVX-NEXT:    vmovddup {{.*#+}} xmm9 = [0,128,128,128,128,128,6,13,0,128,128,128,128,128,6,13]9897; AVX-NEXT:    # xmm9 = mem[0,0]9898; AVX-NEXT:    vpshufb %xmm9, %xmm11, %xmm109899; AVX-NEXT:    vpor %xmm7, %xmm10, %xmm79900; AVX-NEXT:    vmovdqa %xmm0, %xmm119901; AVX-NEXT:    vpshufb %xmm0, %xmm2, %xmm109902; AVX-NEXT:    vinsertf128 $1, %xmm10, %ymm7, %ymm79903; AVX-NEXT:    vmovaps {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]9904; AVX-NEXT:    vandps %ymm0, %ymm3, %ymm39905; AVX-NEXT:    vandnps %ymm7, %ymm0, %ymm79906; AVX-NEXT:    vorps %ymm7, %ymm3, %ymm39907; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm7 # 16-byte Folded Reload9908; AVX-NEXT:    vandnps %ymm7, %ymm15, %ymm79909; AVX-NEXT:    vandps %ymm3, %ymm15, %ymm39910; AVX-NEXT:    vorps %ymm7, %ymm3, %ymm09911; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9912; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9913; AVX-NEXT:    vpshufb %xmm14, %xmm10, %xmm39914; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload9915; AVX-NEXT:    vpshufb %xmm11, %xmm14, %xmm79916; AVX-NEXT:    vmovdqa %xmm11, %xmm29917; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm7[0],xmm3[0],xmm7[1],xmm3[1],xmm7[2],xmm3[2],xmm7[3],xmm3[3]9918; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload9919; AVX-NEXT:    vpshufb %xmm4, %xmm11, %xmm49920; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload9921; AVX-NEXT:    vpshufb %xmm6, %xmm7, %xmm69922; AVX-NEXT:    vpor %xmm4, %xmm6, %xmm49923; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1],xmm4[2,3,4,5,6,7]9924; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9925; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm0[u,u]9926; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload9927; AVX-NEXT:    vpshufb %xmm5, %xmm0, %xmm59928; AVX-NEXT:    vpor %xmm4, %xmm5, %xmm49929; AVX-NEXT:    vpxor %xmm5, %xmm5, %xmm59930; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,5,6],xmm5[7]9931; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9932; AVX-NEXT:    vpshufb %xmm9, %xmm5, %xmm59933; AVX-NEXT:    vpor %xmm5, %xmm4, %xmm49934; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload9935; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm59936; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm4, %ymm49937; AVX-NEXT:    vmovaps {{.*#+}} ymm2 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]9938; AVX-NEXT:    vandps %ymm2, %ymm3, %ymm39939; AVX-NEXT:    vandnps %ymm4, %ymm2, %ymm49940; AVX-NEXT:    vorps %ymm4, %ymm3, %ymm39941; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 16-byte Folded Reload9942; AVX-NEXT:    vandnps %ymm4, %ymm15, %ymm49943; AVX-NEXT:    vandps %ymm3, %ymm15, %ymm39944; AVX-NEXT:    vorps %ymm4, %ymm3, %ymm39945; AVX-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9946; AVX-NEXT:    vmovd {{.*#+}} xmm2 = [3,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0]9947; AVX-NEXT:    vpshufb %xmm2, %xmm8, %xmm39948; AVX-NEXT:    vmovd {{.*#+}} xmm8 = [5,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0]9949; AVX-NEXT:    vpshufb %xmm8, %xmm13, %xmm49950; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]9951; AVX-NEXT:    vmovddup {{.*#+}} xmm4 = [13,0,0,0,128,128,128,6,13,0,0,0,128,128,128,6]9952; AVX-NEXT:    # xmm4 = mem[0,0]9953; AVX-NEXT:    vpshufb %xmm4, %xmm12, %xmm59954; AVX-NEXT:    vmovddup {{.*#+}} xmm6 = [128,0,0,0,1,8,15,128,128,0,0,0,1,8,15,128]9955; AVX-NEXT:    # xmm6 = mem[0,0]9956; AVX-NEXT:    vpshufb %xmm6, %xmm1, %xmm79957; AVX-NEXT:    vpor %xmm5, %xmm7, %xmm59958; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm3[0,1],xmm5[2,3,4,5,6,7]9959; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9960; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[u,u,u,u,u,u,u,u,u],zero,zero,xmm1[2,9,u,u,u]9961; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload9962; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = xmm12[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm12[u,u,u]9963; AVX-NEXT:    vpor %xmm3, %xmm9, %xmm99964; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u,u,u,u,u,u,9,10,11,12],zero,zero,zero9965; AVX-NEXT:    vmovddup {{.*#+}} xmm7 = [0,128,128,128,128,0,7,14,0,128,128,128,128,0,7,14]9966; AVX-NEXT:    # xmm7 = mem[0,0]9967; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9968; AVX-NEXT:    vpshufb %xmm7, %xmm1, %xmm139969; AVX-NEXT:    vpor %xmm13, %xmm9, %xmm99970; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload9971; AVX-NEXT:    vpshufb %xmm8, %xmm3, %xmm139972; AVX-NEXT:    vinsertf128 $1, %xmm13, %ymm9, %ymm99973; AVX-NEXT:    vmovaps {{.*#+}} ymm13 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]9974; AVX-NEXT:    vandps %ymm5, %ymm13, %ymm59975; AVX-NEXT:    vandnps %ymm9, %ymm13, %ymm99976; AVX-NEXT:    vorps %ymm5, %ymm9, %ymm59977; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm9 # 16-byte Folded Reload9978; AVX-NEXT:    vandnps %ymm9, %ymm15, %ymm99979; AVX-NEXT:    vandps %ymm5, %ymm15, %ymm59980; AVX-NEXT:    vorps %ymm5, %ymm9, %ymm19981; AVX-NEXT:    vmovups %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill9982; AVX-NEXT:    vpshufb %xmm2, %xmm10, %xmm29983; AVX-NEXT:    vpshufb %xmm8, %xmm14, %xmm99984; AVX-NEXT:    vmovdqa %xmm8, %xmm149985; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm2 = xmm9[0],xmm2[0],xmm9[1],xmm2[1],xmm9[2],xmm2[2],xmm9[3],xmm2[3]9986; AVX-NEXT:    vpshufb %xmm4, %xmm11, %xmm49987; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload9988; AVX-NEXT:    vpshufb %xmm6, %xmm8, %xmm69989; AVX-NEXT:    vpor %xmm4, %xmm6, %xmm49990; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1],xmm4[2,3,4,5,6,7]9991; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,xmm0[2,9,u,u,u]9992; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload9993; AVX-NEXT:    vpshufb {{.*#+}} xmm6 = xmm10[u,u,u,u,u,u,u,u,u,4,11],zero,zero,xmm10[u,u,u]9994; AVX-NEXT:    vpor %xmm4, %xmm6, %xmm49995; AVX-NEXT:    vmovddup {{.*#+}} xmm11 = [0,9,10,11,12,128,128,128,0,9,10,11,12,128,128,128]9996; AVX-NEXT:    # xmm11 = mem[0,0]9997; AVX-NEXT:    vpshufb %xmm11, %xmm4, %xmm49998; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload9999; AVX-NEXT:    vpshufb %xmm7, %xmm1, %xmm610000; AVX-NEXT:    vpor %xmm6, %xmm4, %xmm410001; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload10002; AVX-NEXT:    vpshufb %xmm14, %xmm5, %xmm610003; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm4, %ymm410004; AVX-NEXT:    vandps %ymm2, %ymm13, %ymm210005; AVX-NEXT:    vandnps %ymm4, %ymm13, %ymm410006; AVX-NEXT:    vorps %ymm4, %ymm2, %ymm210007; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm4 # 16-byte Folded Reload10008; AVX-NEXT:    vandnps %ymm4, %ymm15, %ymm410009; AVX-NEXT:    vandps %ymm2, %ymm15, %ymm210010; AVX-NEXT:    vorps %ymm4, %ymm2, %ymm010011; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10012; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10013; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]10014; AVX-NEXT:    vmovd {{.*#+}} xmm2 = [6,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0]10015; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10016; AVX-NEXT:    vpshufb %xmm2, %xmm0, %xmm610017; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm4 = xmm6[0],xmm4[0],xmm6[1],xmm4[1],xmm6[2],xmm4[2],xmm6[3],xmm4[3]10018; AVX-NEXT:    vmovddup {{.*#+}} xmm6 = [128,0,0,0,2,9,128,128,128,0,0,0,2,9,128,128]10019; AVX-NEXT:    # xmm6 = mem[0,0]10020; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10021; AVX-NEXT:    vpshufb %xmm6, %xmm0, %xmm710022; AVX-NEXT:    vmovddup {{.*#+}} xmm0 = [14,0,0,0,128,128,0,7,14,0,0,0,128,128,0,7]10023; AVX-NEXT:    # xmm0 = mem[0,0]10024; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10025; AVX-NEXT:    vpshufb %xmm0, %xmm9, %xmm910026; AVX-NEXT:    vpor %xmm7, %xmm9, %xmm710027; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm4[0,1],xmm7[2,3,4,5,6,7]10028; AVX-NEXT:    vbroadcastss {{.*#+}} xmm7 = [10,128,128,3,10,128,128,3,10,128,128,3,10,128,128,3]10029; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10030; AVX-NEXT:    vpshufb %xmm7, %xmm9, %xmm910031; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm12[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm12[u,u,u]10032; AVX-NEXT:    vpor %xmm9, %xmm13, %xmm910033; AVX-NEXT:    vpshufb %xmm11, %xmm9, %xmm910034; AVX-NEXT:    vmovddup {{.*#+}} xmm13 = [0,128,128,128,128,1,8,15,0,128,128,128,128,1,8,15]10035; AVX-NEXT:    # xmm13 = mem[0,0]10036; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10037; AVX-NEXT:    vpshufb %xmm13, %xmm11, %xmm1410038; AVX-NEXT:    vpor %xmm14, %xmm9, %xmm910039; AVX-NEXT:    vpshufb %xmm2, %xmm3, %xmm1410040; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm9, %ymm910041; AVX-NEXT:    vmovaps {{.*#+}} ymm11 = [255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]10042; AVX-NEXT:    vandps %ymm4, %ymm11, %ymm410043; AVX-NEXT:    vandnps %ymm9, %ymm11, %ymm910044; AVX-NEXT:    vorps %ymm4, %ymm9, %ymm410045; AVX-NEXT:    vinsertf128 $1, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm9 # 16-byte Folded Reload10046; AVX-NEXT:    vandnps %ymm9, %ymm15, %ymm910047; AVX-NEXT:    vandps %ymm4, %ymm15, %ymm410048; AVX-NEXT:    vorps %ymm4, %ymm9, %ymm410049; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10050; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = xmm3[4,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u]10051; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10052; AVX-NEXT:    vpshufb %xmm2, %xmm3, %xmm1210053; AVX-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm12[0],xmm9[0],xmm12[1],xmm9[1],xmm12[2],xmm9[2],xmm12[3],xmm9[3]10054; AVX-NEXT:    vpshufb %xmm6, %xmm8, %xmm610055; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload10056; AVX-NEXT:    vpshufb %xmm0, %xmm3, %xmm810057; AVX-NEXT:    vpor %xmm6, %xmm8, %xmm610058; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm9[0,1],xmm6[2,3,4,5,6,7]10059; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload10060; AVX-NEXT:    vpshufb %xmm7, %xmm0, %xmm710061; AVX-NEXT:    vpshufb {{.*#+}} xmm8 = xmm10[u,u,u,u,u,u,u,u,u,5,12],zero,zero,xmm10[u,u,u]10062; AVX-NEXT:    vpor %xmm7, %xmm8, %xmm710063; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm7[u,u,u,u,u,u,u,u,u,9,10,11,12],zero,zero,zero10064; AVX-NEXT:    vpshufb %xmm13, %xmm1, %xmm710065; AVX-NEXT:    vpor %xmm7, %xmm3, %xmm310066; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm210067; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm3, %ymm210068; AVX-NEXT:    vandps %ymm6, %ymm11, %ymm310069; AVX-NEXT:    vandnps %ymm2, %ymm11, %ymm110070; AVX-NEXT:    vorps %ymm1, %ymm3, %ymm110071; AVX-NEXT:    vinsertf128 $1, (%rsp), %ymm0, %ymm2 # 16-byte Folded Reload10072; AVX-NEXT:    vandnps %ymm2, %ymm15, %ymm210073; AVX-NEXT:    vandps %ymm1, %ymm15, %ymm010074; AVX-NEXT:    vorps %ymm2, %ymm0, %ymm010075; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10076; AVX-NEXT:    vmovaps %ymm1, 32(%rsi)10077; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10078; AVX-NEXT:    vmovaps %ymm1, (%rsi)10079; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10080; AVX-NEXT:    vmovaps %ymm1, 32(%rdx)10081; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10082; AVX-NEXT:    vmovaps %ymm1, (%rdx)10083; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10084; AVX-NEXT:    vmovaps %ymm1, 32(%rcx)10085; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10086; AVX-NEXT:    vmovaps %ymm1, (%rcx)10087; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10088; AVX-NEXT:    vmovaps %ymm1, 32(%r8)10089; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10090; AVX-NEXT:    vmovaps %ymm1, (%r8)10091; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10092; AVX-NEXT:    vmovaps %ymm1, 32(%r9)10093; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10094; AVX-NEXT:    vmovaps %ymm1, (%r9)10095; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax10096; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10097; AVX-NEXT:    vmovaps %ymm1, 32(%rax)10098; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10099; AVX-NEXT:    vmovaps %ymm1, (%rax)10100; AVX-NEXT:    movq {{[0-9]+}}(%rsp), %rax10101; AVX-NEXT:    vmovaps %ymm0, 32(%rax)10102; AVX-NEXT:    vmovaps %ymm4, (%rax)10103; AVX-NEXT:    addq $744, %rsp # imm = 0x2E810104; AVX-NEXT:    vzeroupper10105; AVX-NEXT:    retq10106;10107; AVX2-LABEL: load_i8_stride7_vf64:10108; AVX2:       # %bb.0:10109; AVX2-NEXT:    subq $760, %rsp # imm = 0x2F810110; AVX2-NEXT:    vmovdqa 320(%rdi), %ymm610111; AVX2-NEXT:    vmovdqa 224(%rdi), %ymm710112; AVX2-NEXT:    vmovdqa 256(%rdi), %ymm810113; AVX2-NEXT:    vmovdqa (%rdi), %ymm1210114; AVX2-NEXT:    vmovdqa 32(%rdi), %ymm1010115; AVX2-NEXT:    vmovdqa 64(%rdi), %ymm1110116; AVX2-NEXT:    vmovdqa 96(%rdi), %ymm510117; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm13 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]10118; AVX2-NEXT:    vpblendvb %ymm13, %ymm12, %ymm10, %ymm010119; AVX2-NEXT:    vmovdqu %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10120; AVX2-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10121; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm210122; AVX2-NEXT:    vmovdqa {{.*#+}} xmm1 = [128,128,128,5,12,128,128,1,8,15,u,u,u,u,u,u]10123; AVX2-NEXT:    vpshufb %xmm1, %xmm2, %xmm310124; AVX2-NEXT:    vmovdqa {{.*#+}} xmm2 = [0,7,14,128,128,3,10,128,128,128,u,u,u,u,u,u]10125; AVX2-NEXT:    vpshufb %xmm2, %xmm0, %xmm010126; AVX2-NEXT:    vpor %xmm3, %xmm0, %xmm010127; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm14 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]10128; AVX2-NEXT:    vpblendvb %ymm14, %ymm5, %ymm11, %ymm310129; AVX2-NEXT:    vmovdqa %ymm5, %ymm910130; AVX2-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10131; AVX2-NEXT:    vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10132; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm410133; AVX2-NEXT:    vpblendw {{.*#+}} ymm4 = ymm3[0,1],ymm4[2],ymm3[3,4],ymm4[5],ymm3[6,7,8,9],ymm4[10],ymm3[11,12],ymm4[13],ymm3[14,15]10134; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,7,14,0,0,0,0,0,0,0,6,13,4,11,2,9,0,7,14,0,0,0,0,0,0,0,6,13,4,11,2,9]10135; AVX2-NEXT:    # ymm3 = mem[0,1,0,1]10136; AVX2-NEXT:    vpshufb %ymm3, %ymm4, %ymm510137; AVX2-NEXT:    vpmovsxbw {{.*#+}} xmm4 = [65535,65535,65535,65535,65535,0,0,0]10138; AVX2-NEXT:    vpblendvb %ymm4, %ymm0, %ymm5, %ymm010139; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10140; AVX2-NEXT:    vpblendvb %ymm13, %ymm7, %ymm8, %ymm510141; AVX2-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10142; AVX2-NEXT:    vmovdqa %ymm7, %ymm010143; AVX2-NEXT:    vmovdqu %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10144; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm710145; AVX2-NEXT:    vpshufb %xmm1, %xmm7, %xmm110146; AVX2-NEXT:    vmovdqa 288(%rdi), %ymm1510147; AVX2-NEXT:    vpshufb %xmm2, %xmm5, %xmm210148; AVX2-NEXT:    vpor %xmm1, %xmm2, %xmm110149; AVX2-NEXT:    vpblendvb %ymm14, %ymm6, %ymm15, %ymm210150; AVX2-NEXT:    vmovdqu %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10151; AVX2-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10152; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm510153; AVX2-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0,1],ymm5[2],ymm2[3,4],ymm5[5],ymm2[6,7,8,9],ymm5[10],ymm2[11,12],ymm5[13],ymm2[14,15]10154; AVX2-NEXT:    vpshufb %ymm3, %ymm2, %ymm210155; AVX2-NEXT:    vpblendvb %ymm4, %ymm1, %ymm2, %ymm110156; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10157; AVX2-NEXT:    vpblendvb %ymm13, %ymm11, %ymm9, %ymm210158; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm310159; AVX2-NEXT:    vpblendw {{.*#+}} ymm4 = ymm2[0,1],ymm3[2],ymm2[3,4,5],ymm3[6],ymm2[7,8,9],ymm3[10],ymm2[11,12,13],ymm3[14],ymm2[15]10160; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10161; AVX2-NEXT:    vpblendvb %ymm1, %ymm12, %ymm10, %ymm510162; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm310163; AVX2-NEXT:    vmovdqa {{.*#+}} xmm2 = [128,128,128,6,13,128,128,2,9,u,u,u,u,u,u,u]10164; AVX2-NEXT:    vpshufb %xmm2, %xmm3, %xmm710165; AVX2-NEXT:    vmovdqa {{.*#+}} xmm3 = [1,8,15,128,128,4,11,128,128,u,u,u,u,u,u,u]10166; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm510167; AVX2-NEXT:    vpor %xmm7, %xmm5, %xmm510168; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm7 = [1,8,15,0,0,0,0,0,0,0,7,14,5,12,3,10,1,8,15,0,0,0,0,0,0,0,7,14,5,12,3,10]10169; AVX2-NEXT:    # ymm7 = mem[0,1,0,1]10170; AVX2-NEXT:    vpshufb %ymm7, %ymm4, %ymm410171; AVX2-NEXT:    vpmovsxdq {{.*#+}} ymm9 = [0,18446744073709551360,16777215,0]10172; AVX2-NEXT:    vpblendvb %ymm9, %ymm4, %ymm5, %ymm410173; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10174; AVX2-NEXT:    vpblendvb %ymm13, %ymm15, %ymm6, %ymm410175; AVX2-NEXT:    vextracti128 $1, %ymm4, %xmm510176; AVX2-NEXT:    vpblendw {{.*#+}} ymm4 = ymm4[0,1],ymm5[2],ymm4[3,4,5],ymm5[6],ymm4[7,8,9],ymm5[10],ymm4[11,12,13],ymm5[14],ymm4[15]10177; AVX2-NEXT:    vpshufb %ymm7, %ymm4, %ymm410178; AVX2-NEXT:    vpblendvb %ymm1, %ymm0, %ymm8, %ymm510179; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm710180; AVX2-NEXT:    vpshufb %xmm2, %xmm7, %xmm210181; AVX2-NEXT:    vpshufb %xmm3, %xmm5, %xmm310182; AVX2-NEXT:    vpor %xmm2, %xmm3, %xmm210183; AVX2-NEXT:    vpblendvb %ymm9, %ymm4, %ymm2, %ymm010184; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10185; AVX2-NEXT:    vmovdqa 160(%rdi), %ymm910186; AVX2-NEXT:    vmovdqa 128(%rdi), %ymm1510187; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10188; AVX2-NEXT:    vpblendvb %ymm4, %ymm9, %ymm15, %ymm210189; AVX2-NEXT:    vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10190; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm310191; AVX2-NEXT:    vmovdqa {{.*#+}} xmm8 = [u,u,u,128,128,3,10,128,128,128,6,13,u,u,u,u]10192; AVX2-NEXT:    vpshufb %xmm8, %xmm3, %xmm310193; AVX2-NEXT:    vmovdqa {{.*#+}} xmm7 = [u,u,u,5,12,128,128,1,8,15,128,128,u,u,u,u]10194; AVX2-NEXT:    vpshufb %xmm7, %xmm2, %xmm210195; AVX2-NEXT:    vpor %xmm3, %xmm2, %xmm210196; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [2,9,2,9,2,9,2,9,2,9,2,9,2,9,2,9]10197; AVX2-NEXT:    vmovdqa 208(%rdi), %xmm510198; AVX2-NEXT:    vpshufb %xmm12, %xmm5, %xmm310199; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]10200; AVX2-NEXT:    vmovdqa 192(%rdi), %xmm110201; AVX2-NEXT:    vpshufb %xmm11, %xmm1, %xmm1010202; AVX2-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10203; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm10[0],xmm3[0],xmm10[1],xmm3[1],xmm10[2],xmm3[2],xmm10[3],xmm3[3]10204; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm210205; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm310206; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]10207; AVX2-NEXT:    vpmovsxdq {{.*#+}} ymm14 = [18446744073709551615,18446744073709551615,16777215,0]10208; AVX2-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm0 # 32-byte Folded Reload10209; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10210; AVX2-NEXT:    vmovdqa 384(%rdi), %ymm210211; AVX2-NEXT:    vmovdqa 352(%rdi), %ymm310212; AVX2-NEXT:    vpblendvb %ymm4, %ymm2, %ymm3, %ymm010213; AVX2-NEXT:    vmovdqa %ymm2, %ymm410214; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm610215; AVX2-NEXT:    vpshufb %xmm8, %xmm6, %xmm610216; AVX2-NEXT:    vpshufb %xmm7, %xmm0, %xmm010217; AVX2-NEXT:    vpor %xmm6, %xmm0, %xmm010218; AVX2-NEXT:    vmovdqa 432(%rdi), %xmm1310219; AVX2-NEXT:    vpshufb %xmm12, %xmm13, %xmm610220; AVX2-NEXT:    vmovdqa 416(%rdi), %xmm210221; AVX2-NEXT:    vpshufb %xmm11, %xmm2, %xmm810222; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm8[0],xmm6[0],xmm8[1],xmm6[1],xmm8[2],xmm6[2],xmm8[3],xmm6[3]10223; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm010224; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610225; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm6[7]10226; AVX2-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10227; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10228; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]10229; AVX2-NEXT:    vpblendvb %ymm7, %ymm9, %ymm15, %ymm010230; AVX2-NEXT:    vmovdqa {{.*#+}} xmm10 = [u,u,u,6,13,128,128,2,9,128,128,128,u,u,u,u]10231; AVX2-NEXT:    vpshufb %xmm10, %xmm0, %xmm610232; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm010233; AVX2-NEXT:    vmovdqa {{.*#+}} xmm8 = [u,u,u,128,128,4,11,128,128,0,7,14,u,u,u,u]10234; AVX2-NEXT:    vpshufb %xmm8, %xmm0, %xmm010235; AVX2-NEXT:    vpor %xmm6, %xmm0, %xmm010236; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [3,10,3,10,3,10,3,10,3,10,3,10,3,10,3,10]10237; AVX2-NEXT:    vpshufb %xmm6, %xmm5, %xmm910238; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [5,12,5,12,5,12,5,12,5,12,5,12,5,12,5,12]10239; AVX2-NEXT:    vpshufb %xmm12, %xmm1, %xmm1110240; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm11[0],xmm9[0],xmm11[1],xmm9[1],xmm11[2],xmm9[2],xmm11[3],xmm9[3]10241; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm010242; AVX2-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm910243; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm9[7]10244; AVX2-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10245; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10246; AVX2-NEXT:    vpblendvb %ymm7, %ymm4, %ymm3, %ymm010247; AVX2-NEXT:    vmovdqa %ymm3, %ymm1110248; AVX2-NEXT:    vpshufb %xmm10, %xmm0, %xmm110249; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm010250; AVX2-NEXT:    vpshufb %xmm8, %xmm0, %xmm010251; AVX2-NEXT:    vpor %xmm1, %xmm0, %xmm010252; AVX2-NEXT:    vpshufb %xmm6, %xmm13, %xmm110253; AVX2-NEXT:    vpshufb %xmm12, %xmm2, %xmm610254; AVX2-NEXT:    vmovdqa %xmm2, %xmm1210255; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm6[0],xmm1[0],xmm6[1],xmm1[1],xmm6[2],xmm1[2],xmm6[3],xmm1[3]10256; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm010257; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110258; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm1[7]10259; AVX2-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10260; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10261; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10262; AVX2-NEXT:    vpblendvb %ymm2, %ymm3, %ymm4, %ymm010263; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10264; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm110265; AVX2-NEXT:    vmovdqa {{.*#+}} xmm6 = [u,u,128,128,128,6,13,128,128,2,9,u,u,u,u,u]10266; AVX2-NEXT:    vpshufb %xmm6, %xmm1, %xmm110267; AVX2-NEXT:    vmovdqa {{.*#+}} xmm7 = [u,u,1,8,15,128,128,4,11,128,128,u,u,u,u,u]10268; AVX2-NEXT:    vpshufb %xmm7, %xmm0, %xmm010269; AVX2-NEXT:    vpor %xmm1, %xmm0, %xmm010270; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm1 = [0,0,0,128,128,128,5,12,0,0,0,128,128,128,5,12]10271; AVX2-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10272; AVX2-NEXT:    vpshufb %xmm1, %xmm13, %xmm810273; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm9 = [0,0,0,0,7,14,128,128,0,0,0,0,7,14,128,128]10274; AVX2-NEXT:    vpshufb %xmm9, %xmm12, %xmm1010275; AVX2-NEXT:    vmovdqa %xmm12, %xmm310276; AVX2-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10277; AVX2-NEXT:    vpor %xmm8, %xmm10, %xmm810278; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm1010279; AVX2-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm810280; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm0 = [0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0]10281; AVX2-NEXT:    # ymm0 = mem[0,1,0,1]10282; AVX2-NEXT:    vpblendvb %ymm0, %ymm10, %ymm8, %ymm810283; AVX2-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10284; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload10285; AVX2-NEXT:    vpblendvb %ymm2, %ymm15, %ymm12, %ymm810286; AVX2-NEXT:    vextracti128 $1, %ymm8, %xmm1010287; AVX2-NEXT:    vpshufb %xmm6, %xmm10, %xmm610288; AVX2-NEXT:    vpshufb %xmm7, %xmm8, %xmm710289; AVX2-NEXT:    vpor %xmm6, %xmm7, %xmm610290; AVX2-NEXT:    vpshufb %xmm1, %xmm5, %xmm110291; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10292; AVX2-NEXT:    vpshufb %xmm9, %xmm14, %xmm710293; AVX2-NEXT:    vpor %xmm1, %xmm7, %xmm110294; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610295; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110296; AVX2-NEXT:    vpblendvb %ymm0, %ymm6, %ymm1, %ymm110297; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10298; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]10299; AVX2-NEXT:    vpblendvb %ymm2, %ymm11, %ymm4, %ymm110300; AVX2-NEXT:    vmovdqa {{.*#+}} xmm6 = [u,u,2,9,128,128,128,5,12,128,128,u,u,u,u,u]10301; AVX2-NEXT:    vpshufb %xmm6, %xmm1, %xmm710302; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm110303; AVX2-NEXT:    vmovdqa {{.*#+}} xmm8 = [u,u,128,128,0,7,14,128,128,3,10,u,u,u,u,u]10304; AVX2-NEXT:    vpshufb %xmm8, %xmm1, %xmm110305; AVX2-NEXT:    vpor %xmm7, %xmm1, %xmm110306; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm7 = [0,0,0,128,128,128,6,13,0,0,0,128,128,128,6,13]10307; AVX2-NEXT:    vpshufb %xmm7, %xmm13, %xmm910308; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm10 = [0,0,0,1,8,15,128,128,0,0,0,1,8,15,128,128]10309; AVX2-NEXT:    vpshufb %xmm10, %xmm3, %xmm1110310; AVX2-NEXT:    vpor %xmm9, %xmm11, %xmm910311; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110312; AVX2-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm910313; AVX2-NEXT:    vpblendvb %ymm0, %ymm1, %ymm9, %ymm110314; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10315; AVX2-NEXT:    vmovdqu %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10316; AVX2-NEXT:    vpblendvb %ymm2, %ymm15, %ymm12, %ymm110317; AVX2-NEXT:    vmovdqa %ymm12, %ymm210318; AVX2-NEXT:    vpshufb %xmm6, %xmm1, %xmm610319; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm110320; AVX2-NEXT:    vpshufb %xmm8, %xmm1, %xmm110321; AVX2-NEXT:    vpor %xmm6, %xmm1, %xmm110322; AVX2-NEXT:    vpshufb %xmm7, %xmm5, %xmm610323; AVX2-NEXT:    vmovdqa %xmm5, %xmm1310324; AVX2-NEXT:    vpshufb %xmm10, %xmm14, %xmm710325; AVX2-NEXT:    vpor %xmm6, %xmm7, %xmm610326; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110327; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610328; AVX2-NEXT:    vpblendvb %ymm0, %ymm1, %ymm6, %ymm110329; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10330; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm6 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]10331; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload10332; AVX2-NEXT:    vpblendvb %ymm6, %ymm3, %ymm4, %ymm110333; AVX2-NEXT:    vmovdqa {{.*#+}} xmm5 = [u,u,3,10,128,128,128,6,13,128,128,u,u,u,u,u]10334; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm710335; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm110336; AVX2-NEXT:    vmovdqa {{.*#+}} xmm8 = [u,u,128,128,1,8,15,128,128,4,11,u,u,u,u,u]10337; AVX2-NEXT:    vpshufb %xmm8, %xmm1, %xmm110338; AVX2-NEXT:    vpor %xmm7, %xmm1, %xmm110339; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm7 = [0,0,0,2,9,128,128,128,0,0,0,2,9,128,128,128]10340; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10341; AVX2-NEXT:    vpshufb %xmm7, %xmm12, %xmm910342; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm10 = [0,0,0,128,128,0,7,14,0,0,0,128,128,0,7,14]10343; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10344; AVX2-NEXT:    vpshufb %xmm10, %xmm14, %xmm1110345; AVX2-NEXT:    vpor %xmm9, %xmm11, %xmm910346; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110347; AVX2-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm910348; AVX2-NEXT:    vpblendvb %ymm0, %ymm1, %ymm9, %ymm110349; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10350; AVX2-NEXT:    vpblendvb %ymm6, %ymm15, %ymm2, %ymm110351; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm610352; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm110353; AVX2-NEXT:    vpshufb %xmm8, %xmm1, %xmm110354; AVX2-NEXT:    vpor %xmm6, %xmm1, %xmm110355; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10356; AVX2-NEXT:    vpshufb %xmm7, %xmm11, %xmm610357; AVX2-NEXT:    vpshufb %xmm10, %xmm13, %xmm710358; AVX2-NEXT:    vmovdqa %xmm13, (%rsp) # 16-byte Spill10359; AVX2-NEXT:    vpor %xmm6, %xmm7, %xmm610360; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110361; AVX2-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610362; AVX2-NEXT:    vpblendvb %ymm0, %ymm1, %ymm6, %ymm110363; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10364; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm10 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]10365; AVX2-NEXT:    vpblendvb %ymm10, %ymm3, %ymm4, %ymm210366; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10367; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm15 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]10368; AVX2-NEXT:    vpblendvb %ymm15, %ymm4, %ymm3, %ymm110369; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm210370; AVX2-NEXT:    vmovdqa {{.*#+}} xmm3 = [u,u,128,128,2,9,128,128,128,5,12,u,u,u,u,u]10371; AVX2-NEXT:    vpshufb %xmm3, %xmm2, %xmm210372; AVX2-NEXT:    vmovdqa {{.*#+}} xmm6 = [u,u,4,11,128,128,0,7,14,128,128,u,u,u,u,u]10373; AVX2-NEXT:    vpshufb %xmm6, %xmm1, %xmm110374; AVX2-NEXT:    vpor %xmm2, %xmm1, %xmm110375; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm2 = [0,0,0,3,10,128,128,128,0,0,0,3,10,128,128,128]10376; AVX2-NEXT:    vpshufb %xmm2, %xmm12, %xmm710377; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm8 = [0,0,0,128,128,1,8,15,0,0,0,128,128,1,8,15]10378; AVX2-NEXT:    vpshufb %xmm8, %xmm14, %xmm910379; AVX2-NEXT:    vpor %xmm7, %xmm9, %xmm710380; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110381; AVX2-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm710382; AVX2-NEXT:    vpblendvb %ymm0, %ymm1, %ymm7, %ymm110383; AVX2-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10384; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10385; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10386; AVX2-NEXT:    vpblendvb %ymm10, %ymm4, %ymm1, %ymm510387; AVX2-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10388; AVX2-NEXT:    vpblendvb %ymm15, %ymm1, %ymm4, %ymm110389; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm410390; AVX2-NEXT:    vpshufb %xmm3, %xmm4, %xmm310391; AVX2-NEXT:    vpshufb %xmm6, %xmm1, %xmm110392; AVX2-NEXT:    vpor %xmm3, %xmm1, %xmm110393; AVX2-NEXT:    vpshufb %xmm2, %xmm11, %xmm210394; AVX2-NEXT:    vpshufb %xmm8, %xmm13, %xmm310395; AVX2-NEXT:    vpor %xmm2, %xmm3, %xmm210396; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110397; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm210398; AVX2-NEXT:    vpblendvb %ymm0, %ymm1, %ymm2, %ymm010399; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10400; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10401; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload10402; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]10403; AVX2-NEXT:    vpblendvb %ymm11, %ymm0, %ymm2, %ymm110404; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]10405; AVX2-NEXT:    vpblendvb %ymm5, %ymm0, %ymm2, %ymm1210406; AVX2-NEXT:    vpblendvb %ymm15, %ymm2, %ymm0, %ymm1310407; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10408; AVX2-NEXT:    vpblendvb %ymm7, %ymm2, %ymm0, %ymm310409; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10410; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm3 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]10411; AVX2-NEXT:    vpblendvb %ymm3, %ymm2, %ymm0, %ymm010412; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10413; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10414; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload10415; AVX2-NEXT:    vpblendvb %ymm3, %ymm2, %ymm0, %ymm310416; AVX2-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10417; AVX2-NEXT:    vpblendvb %ymm11, %ymm0, %ymm2, %ymm310418; AVX2-NEXT:    vpblendvb %ymm5, %ymm0, %ymm2, %ymm1410419; AVX2-NEXT:    vpblendvb %ymm15, %ymm2, %ymm0, %ymm410420; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10421; AVX2-NEXT:    vpblendvb %ymm7, %ymm2, %ymm0, %ymm010422; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10423; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload10424; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload10425; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm10 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10426; AVX2-NEXT:    vpblendvb %ymm10, %ymm6, %ymm2, %ymm010427; AVX2-NEXT:    vpblendvb %ymm11, %ymm6, %ymm2, %ymm410428; AVX2-NEXT:    vpblendvb %ymm5, %ymm6, %ymm2, %ymm910429; AVX2-NEXT:    vpblendvb %ymm15, %ymm2, %ymm6, %ymm810430; AVX2-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10431; AVX2-NEXT:    vpblendvb %ymm7, %ymm2, %ymm6, %ymm210432; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10433; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload10434; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload10435; AVX2-NEXT:    vpblendvb %ymm10, %ymm7, %ymm8, %ymm210436; AVX2-NEXT:    vpblendvb %ymm11, %ymm7, %ymm8, %ymm610437; AVX2-NEXT:    vpblendvb %ymm5, %ymm7, %ymm8, %ymm1010438; AVX2-NEXT:    vpblendvb %ymm15, %ymm8, %ymm7, %ymm510439; AVX2-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10440; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10441; AVX2-NEXT:    vpblendvb %ymm5, %ymm8, %ymm7, %ymm1110442; AVX2-NEXT:    vmovdqa {{.*#+}} xmm8 = [2,9,128,128,128,5,12,128,128,u,u,u,u,u,u,u]10443; AVX2-NEXT:    vpshufb %xmm8, %xmm1, %xmm1510444; AVX2-NEXT:    vextracti128 $1, %ymm1, %xmm110445; AVX2-NEXT:    vmovdqa {{.*#+}} xmm7 = [128,128,0,7,14,128,128,3,10,u,u,u,u,u,u,u]10446; AVX2-NEXT:    vpshufb %xmm7, %xmm1, %xmm110447; AVX2-NEXT:    vpor %xmm1, %xmm15, %xmm110448; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm1510449; AVX2-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0,1,2],ymm15[3],ymm0[4,5],ymm15[6],ymm0[7,8,9,10],ymm15[11],ymm0[12,13],ymm15[14],ymm0[15]10450; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [2,9,0,0,0,0,0,0,0,1,8,15,6,13,4,11,2,9,0,0,0,0,0,0,0,1,8,15,6,13,4,11]10451; AVX2-NEXT:    # ymm5 = mem[0,1,0,1]10452; AVX2-NEXT:    vpshufb %ymm5, %ymm0, %ymm010453; AVX2-NEXT:    vpmovsxwq {{.*#+}} xmm15 = [18446744073709551615,255]10454; AVX2-NEXT:    vpblendvb %ymm15, %ymm1, %ymm0, %ymm010455; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10456; AVX2-NEXT:    vpshufb %xmm8, %xmm3, %xmm010457; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm110458; AVX2-NEXT:    vpshufb %xmm7, %xmm1, %xmm110459; AVX2-NEXT:    vpor %xmm0, %xmm1, %xmm010460; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm110461; AVX2-NEXT:    vpblendw {{.*#+}} ymm1 = ymm2[0,1,2],ymm1[3],ymm2[4,5],ymm1[6],ymm2[7,8,9,10],ymm1[11],ymm2[12,13],ymm1[14],ymm2[15]10462; AVX2-NEXT:    vpshufb %ymm5, %ymm1, %ymm110463; AVX2-NEXT:    vpblendvb %ymm15, %ymm0, %ymm1, %ymm010464; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10465; AVX2-NEXT:    vmovdqa {{.*#+}} xmm0 = [3,10,128,128,128,6,13,128,128,u,u,u,u,u,u,u]10466; AVX2-NEXT:    vpshufb %xmm0, %xmm12, %xmm110467; AVX2-NEXT:    vextracti128 $1, %ymm12, %xmm210468; AVX2-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,1,8,15,128,128,4,11,u,u,u,u,u,u,u]10469; AVX2-NEXT:    vpshufb %xmm3, %xmm2, %xmm210470; AVX2-NEXT:    vpor %xmm1, %xmm2, %xmm110471; AVX2-NEXT:    vextracti128 $1, %ymm4, %xmm210472; AVX2-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0],ymm4[1,2],ymm2[3],ymm4[4,5,6],ymm2[7,8],ymm4[9,10],ymm2[11],ymm4[12,13,14],ymm2[15]10473; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [3,10,0,0,0,0,0,0,0,2,9,0,7,14,5,12,3,10,0,0,0,0,0,0,0,2,9,0,7,14,5,12]10474; AVX2-NEXT:    # ymm4 = mem[0,1,0,1]10475; AVX2-NEXT:    vpshufb %ymm4, %ymm2, %ymm210476; AVX2-NEXT:    vpblendvb %ymm15, %ymm1, %ymm2, %ymm1210477; AVX2-NEXT:    vpshufb %xmm0, %xmm14, %xmm010478; AVX2-NEXT:    vextracti128 $1, %ymm14, %xmm110479; AVX2-NEXT:    vpshufb %xmm3, %xmm1, %xmm110480; AVX2-NEXT:    vpor %xmm0, %xmm1, %xmm010481; AVX2-NEXT:    vextracti128 $1, %ymm6, %xmm110482; AVX2-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0],ymm6[1,2],ymm1[3],ymm6[4,5,6],ymm1[7,8],ymm6[9,10],ymm1[11],ymm6[12,13,14],ymm1[15]10483; AVX2-NEXT:    vpshufb %ymm4, %ymm1, %ymm110484; AVX2-NEXT:    vpblendvb %ymm15, %ymm0, %ymm1, %ymm1410485; AVX2-NEXT:    vextracti128 $1, %ymm13, %xmm010486; AVX2-NEXT:    vmovdqa {{.*#+}} xmm1 = [128,128,2,9,128,128,128,5,12,u,u,u,u,u,u,u]10487; AVX2-NEXT:    vpshufb %xmm1, %xmm0, %xmm010488; AVX2-NEXT:    vmovdqa {{.*#+}} xmm2 = [4,11,128,128,0,7,14,128,128,u,u,u,u,u,u,u]10489; AVX2-NEXT:    vpshufb %xmm2, %xmm13, %xmm310490; AVX2-NEXT:    vpor %xmm0, %xmm3, %xmm010491; AVX2-NEXT:    vextracti128 $1, %ymm9, %xmm310492; AVX2-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0],ymm9[1,2,3],ymm3[4],ymm9[5,6],ymm3[7,8],ymm9[9,10,11],ymm3[12],ymm9[13,14],ymm3[15]10493; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [4,11,0,0,0,0,0,0,0,3,10,1,8,15,6,13,4,11,0,0,0,0,0,0,0,3,10,1,8,15,6,13]10494; AVX2-NEXT:    # ymm4 = mem[0,1,0,1]10495; AVX2-NEXT:    vpshufb %ymm4, %ymm3, %ymm310496; AVX2-NEXT:    vpblendvb %ymm15, %ymm0, %ymm3, %ymm610497; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload10498; AVX2-NEXT:    vextracti128 $1, %ymm3, %xmm010499; AVX2-NEXT:    vpshufb %xmm1, %xmm0, %xmm010500; AVX2-NEXT:    vpshufb %xmm2, %xmm3, %xmm110501; AVX2-NEXT:    vpor %xmm0, %xmm1, %xmm010502; AVX2-NEXT:    vextracti128 $1, %ymm10, %xmm110503; AVX2-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0],ymm10[1,2,3],ymm1[4],ymm10[5,6],ymm1[7,8],ymm10[9,10,11],ymm1[12],ymm10[13,14],ymm1[15]10504; AVX2-NEXT:    vpshufb %ymm4, %ymm1, %ymm110505; AVX2-NEXT:    vpblendvb %ymm15, %ymm0, %ymm1, %ymm010506; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload10507; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm110508; AVX2-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,3,10,128,128,128,6,13,u,u,u,u,u,u,u]10509; AVX2-NEXT:    vpshufb %xmm3, %xmm1, %xmm110510; AVX2-NEXT:    vmovdqa {{.*#+}} xmm4 = [5,12,128,128,1,8,15,128,128,u,u,u,u,u,u,u]10511; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm210512; AVX2-NEXT:    vpor %xmm1, %xmm2, %xmm110513; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload10514; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm210515; AVX2-NEXT:    vpblendw {{.*#+}} ymm2 = ymm5[0],ymm2[1],ymm5[2,3],ymm2[4],ymm5[5,6,7,8],ymm2[9],ymm5[10,11],ymm2[12],ymm5[13,14,15]10516; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [5,12,0,0,0,0,0,0,0,4,11,2,9,0,7,14,5,12,0,0,0,0,0,0,0,4,11,2,9,0,7,14]10517; AVX2-NEXT:    # ymm5 = mem[0,1,0,1]10518; AVX2-NEXT:    vpshufb %ymm5, %ymm2, %ymm210519; AVX2-NEXT:    vpblendvb %ymm15, %ymm1, %ymm2, %ymm210520; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload10521; AVX2-NEXT:    vextracti128 $1, %ymm7, %xmm110522; AVX2-NEXT:    vpshufb %xmm3, %xmm1, %xmm110523; AVX2-NEXT:    vpshufb %xmm4, %xmm7, %xmm310524; AVX2-NEXT:    vpor %xmm1, %xmm3, %xmm110525; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10526; AVX2-NEXT:    vextracti128 $1, %ymm4, %xmm310527; AVX2-NEXT:    vpblendw {{.*#+}} ymm3 = ymm4[0],ymm3[1],ymm4[2,3],ymm3[4],ymm4[5,6,7,8],ymm3[9],ymm4[10,11],ymm3[12],ymm4[13,14,15]10528; AVX2-NEXT:    vpshufb %ymm5, %ymm3, %ymm310529; AVX2-NEXT:    vpblendvb %ymm15, %ymm1, %ymm3, %ymm110530; AVX2-NEXT:    vmovdqa {{.*#+}} xmm4 = [6,13,128,128,2,9,128,128,128,u,u,u,u,u,u,u]10531; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload10532; AVX2-NEXT:    vpshufb %xmm4, %xmm5, %xmm310533; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm510534; AVX2-NEXT:    vmovdqa {{.*#+}} xmm7 = [128,128,4,11,128,128,0,7,14,u,u,u,u,u,u,u]10535; AVX2-NEXT:    vpshufb %xmm7, %xmm5, %xmm510536; AVX2-NEXT:    vpor %xmm3, %xmm5, %xmm310537; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload10538; AVX2-NEXT:    vextracti128 $1, %ymm8, %xmm510539; AVX2-NEXT:    vpblendw {{.*#+}} ymm5 = ymm8[0],ymm5[1],ymm8[2,3,4],ymm5[5],ymm8[6,7,8],ymm5[9],ymm8[10,11,12],ymm5[13],ymm8[14,15]10540; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm8 = [6,13,0,0,0,0,0,0,0,5,12,3,10,1,8,15,6,13,0,0,0,0,0,0,0,5,12,3,10,1,8,15]10541; AVX2-NEXT:    # ymm8 = mem[0,1,0,1]10542; AVX2-NEXT:    vpshufb %ymm8, %ymm5, %ymm510543; AVX2-NEXT:    vpblendvb %ymm15, %ymm3, %ymm5, %ymm310544; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload10545; AVX2-NEXT:    vpshufb %xmm4, %xmm5, %xmm410546; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm510547; AVX2-NEXT:    vpshufb %xmm7, %xmm5, %xmm510548; AVX2-NEXT:    vpor %xmm4, %xmm5, %xmm410549; AVX2-NEXT:    vextracti128 $1, %ymm11, %xmm510550; AVX2-NEXT:    vpblendw {{.*#+}} ymm5 = ymm11[0],ymm5[1],ymm11[2,3,4],ymm5[5],ymm11[6,7,8],ymm5[9],ymm11[10,11,12],ymm5[13],ymm11[14,15]10551; AVX2-NEXT:    vpshufb %ymm8, %ymm5, %ymm510552; AVX2-NEXT:    vpblendvb %ymm15, %ymm4, %ymm5, %ymm410553; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload10554; AVX2-NEXT:    vextracti128 $1, %ymm9, %xmm510555; AVX2-NEXT:    vmovdqa {{.*#+}} xmm7 = [u,u,128,128,128,5,12,128,128,1,8,15,u,u,u,u]10556; AVX2-NEXT:    vpshufb %xmm7, %xmm5, %xmm510557; AVX2-NEXT:    vmovdqa {{.*#+}} xmm8 = [u,u,0,7,14,128,128,3,10,128,128,128,u,u,u,u]10558; AVX2-NEXT:    vpshufb %xmm8, %xmm9, %xmm910559; AVX2-NEXT:    vpor %xmm5, %xmm9, %xmm510560; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]10561; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10562; AVX2-NEXT:    vpshufb %xmm13, %xmm9, %xmm910563; AVX2-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [6,13,6,13,6,13,6,13,6,13,6,13,6,13,6,13]10564; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10565; AVX2-NEXT:    vpshufb %xmm10, %xmm11, %xmm1110566; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm11[0],xmm9[0],xmm11[1],xmm9[1],xmm11[2],xmm9[2],xmm11[3],xmm9[3]10567; AVX2-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm510568; AVX2-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm910569; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm9[7]10570; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload10571; AVX2-NEXT:    vpblendw {{.*#+}} ymm5 = ymm9[0],ymm5[1,2,3,4,5,6,7],ymm9[8],ymm5[9,10,11,12,13,14,15]10572; AVX2-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]10573; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload10574; AVX2-NEXT:    vextracti128 $1, %ymm11, %xmm910575; AVX2-NEXT:    vpshufb %xmm7, %xmm9, %xmm710576; AVX2-NEXT:    vpshufb %xmm8, %xmm11, %xmm810577; AVX2-NEXT:    vpor %xmm7, %xmm8, %xmm710578; AVX2-NEXT:    vmovdqa (%rsp), %xmm8 # 16-byte Reload10579; AVX2-NEXT:    vpshufb %xmm13, %xmm8, %xmm810580; AVX2-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload10581; AVX2-NEXT:    vpshufb %xmm10, %xmm9, %xmm910582; AVX2-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm9[0],xmm8[0],xmm9[1],xmm8[1],xmm9[2],xmm8[2],xmm9[3],xmm8[3]10583; AVX2-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm710584; AVX2-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm810585; AVX2-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5,6],ymm8[7]10586; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload10587; AVX2-NEXT:    vpblendw {{.*#+}} ymm7 = ymm8[0],ymm7[1,2,3,4,5,6,7],ymm8[8],ymm7[9,10,11,12,13,14,15]10588; AVX2-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3],ymm7[4,5,6,7]10589; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm8 # 32-byte Folded Reload10590; AVX2-NEXT:    # ymm8 = ymm12[0],mem[1,2,3,4,5,6,7],ymm12[8],mem[9,10,11,12,13,14,15]10591; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm12[0,1,2,3],ymm8[4,5,6,7]10592; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm9 # 32-byte Folded Reload10593; AVX2-NEXT:    # ymm9 = ymm14[0],mem[1,2,3,4,5,6,7],ymm14[8],mem[9,10,11,12,13,14,15]10594; AVX2-NEXT:    vpblendd {{.*#+}} ymm9 = ymm14[0,1,2,3],ymm9[4,5,6,7]10595; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm10 # 32-byte Folded Reload10596; AVX2-NEXT:    # ymm10 = ymm6[0],mem[1,2,3,4,5,6,7],ymm6[8],mem[9,10,11,12,13,14,15]10597; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm10[4,5,6,7]10598; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm10 # 32-byte Folded Reload10599; AVX2-NEXT:    # ymm10 = ymm0[0],mem[1,2,3,4,5,6,7],ymm0[8],mem[9,10,11,12,13,14,15]10600; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm10[4,5,6,7]10601; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm10 # 32-byte Folded Reload10602; AVX2-NEXT:    # ymm10 = ymm2[0],mem[1,2,3,4,5,6,7],ymm2[8],mem[9,10,11,12,13,14,15]10603; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm10[4,5,6,7]10604; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload10605; AVX2-NEXT:    # ymm10 = ymm1[0],mem[1,2,3,4,5,6,7],ymm1[8],mem[9,10,11,12,13,14,15]10606; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm10[4,5,6,7]10607; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm10 # 32-byte Folded Reload10608; AVX2-NEXT:    # ymm10 = ymm3[0],mem[1,2,3,4,5,6,7],ymm3[8],mem[9,10,11,12,13,14,15]10609; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm10[4,5,6,7]10610; AVX2-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm10 # 32-byte Folded Reload10611; AVX2-NEXT:    # ymm10 = ymm4[0],mem[1,2,3,4,5,6,7],ymm4[8],mem[9,10,11,12,13,14,15]10612; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm10[4,5,6,7]10613; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload10614; AVX2-NEXT:    vmovaps %ymm10, 32(%rsi)10615; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload10616; AVX2-NEXT:    vmovaps %ymm10, (%rsi)10617; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload10618; AVX2-NEXT:    vmovaps %ymm10, 32(%rdx)10619; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload10620; AVX2-NEXT:    vmovaps %ymm10, (%rdx)10621; AVX2-NEXT:    vmovdqa %ymm5, 32(%rcx)10622; AVX2-NEXT:    vmovdqa %ymm7, (%rcx)10623; AVX2-NEXT:    vmovdqa %ymm8, 32(%r8)10624; AVX2-NEXT:    vmovdqa %ymm9, (%r8)10625; AVX2-NEXT:    vmovdqa %ymm6, 32(%r9)10626; AVX2-NEXT:    vmovdqa %ymm0, (%r9)10627; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax10628; AVX2-NEXT:    vmovdqa %ymm2, 32(%rax)10629; AVX2-NEXT:    vmovdqa %ymm1, (%rax)10630; AVX2-NEXT:    movq {{[0-9]+}}(%rsp), %rax10631; AVX2-NEXT:    vmovdqa %ymm3, 32(%rax)10632; AVX2-NEXT:    vmovdqa %ymm4, (%rax)10633; AVX2-NEXT:    addq $760, %rsp # imm = 0x2F810634; AVX2-NEXT:    vzeroupper10635; AVX2-NEXT:    retq10636;10637; AVX2-FP-LABEL: load_i8_stride7_vf64:10638; AVX2-FP:       # %bb.0:10639; AVX2-FP-NEXT:    subq $760, %rsp # imm = 0x2F810640; AVX2-FP-NEXT:    vmovdqa 320(%rdi), %ymm610641; AVX2-FP-NEXT:    vmovdqa 224(%rdi), %ymm710642; AVX2-FP-NEXT:    vmovdqa 256(%rdi), %ymm810643; AVX2-FP-NEXT:    vmovdqa (%rdi), %ymm1210644; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %ymm1010645; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %ymm1110646; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %ymm510647; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm13 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]10648; AVX2-FP-NEXT:    vpblendvb %ymm13, %ymm12, %ymm10, %ymm010649; AVX2-FP-NEXT:    vmovdqu %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10650; AVX2-FP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10651; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm210652; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm1 = [128,128,128,5,12,128,128,1,8,15,u,u,u,u,u,u]10653; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm2, %xmm310654; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm2 = [0,7,14,128,128,3,10,128,128,128,u,u,u,u,u,u]10655; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm0, %xmm010656; AVX2-FP-NEXT:    vpor %xmm3, %xmm0, %xmm010657; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm14 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]10658; AVX2-FP-NEXT:    vpblendvb %ymm14, %ymm5, %ymm11, %ymm310659; AVX2-FP-NEXT:    vmovdqa %ymm5, %ymm910660; AVX2-FP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10661; AVX2-FP-NEXT:    vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10662; AVX2-FP-NEXT:    vextracti128 $1, %ymm3, %xmm410663; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm3[0,1],ymm4[2],ymm3[3,4],ymm4[5],ymm3[6,7,8,9],ymm4[10],ymm3[11,12],ymm4[13],ymm3[14,15]10664; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,7,14,0,0,0,0,0,0,0,6,13,4,11,2,9,0,7,14,0,0,0,0,0,0,0,6,13,4,11,2,9]10665; AVX2-FP-NEXT:    # ymm3 = mem[0,1,0,1]10666; AVX2-FP-NEXT:    vpshufb %ymm3, %ymm4, %ymm510667; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} xmm4 = [65535,65535,65535,65535,65535,0,0,0]10668; AVX2-FP-NEXT:    vpblendvb %ymm4, %ymm0, %ymm5, %ymm010669; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10670; AVX2-FP-NEXT:    vpblendvb %ymm13, %ymm7, %ymm8, %ymm510671; AVX2-FP-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10672; AVX2-FP-NEXT:    vmovdqa %ymm7, %ymm010673; AVX2-FP-NEXT:    vmovdqu %ymm7, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10674; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm710675; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm7, %xmm110676; AVX2-FP-NEXT:    vmovdqa 288(%rdi), %ymm1510677; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm5, %xmm210678; AVX2-FP-NEXT:    vpor %xmm1, %xmm2, %xmm110679; AVX2-FP-NEXT:    vpblendvb %ymm14, %ymm6, %ymm15, %ymm210680; AVX2-FP-NEXT:    vmovdqu %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10681; AVX2-FP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10682; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm510683; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0,1],ymm5[2],ymm2[3,4],ymm5[5],ymm2[6,7,8,9],ymm5[10],ymm2[11,12],ymm5[13],ymm2[14,15]10684; AVX2-FP-NEXT:    vpshufb %ymm3, %ymm2, %ymm210685; AVX2-FP-NEXT:    vpblendvb %ymm4, %ymm1, %ymm2, %ymm110686; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10687; AVX2-FP-NEXT:    vpblendvb %ymm13, %ymm11, %ymm9, %ymm210688; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm310689; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm2[0,1],ymm3[2],ymm2[3,4,5],ymm3[6],ymm2[7,8,9],ymm3[10],ymm2[11,12,13],ymm3[14],ymm2[15]10690; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10691; AVX2-FP-NEXT:    vpblendvb %ymm1, %ymm12, %ymm10, %ymm510692; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm310693; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm2 = [128,128,128,6,13,128,128,2,9,u,u,u,u,u,u,u]10694; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm3, %xmm710695; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm3 = [1,8,15,128,128,4,11,128,128,u,u,u,u,u,u,u]10696; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm510697; AVX2-FP-NEXT:    vpor %xmm7, %xmm5, %xmm510698; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm7 = [1,8,15,0,0,0,0,0,0,0,7,14,5,12,3,10,1,8,15,0,0,0,0,0,0,0,7,14,5,12,3,10]10699; AVX2-FP-NEXT:    # ymm7 = mem[0,1,0,1]10700; AVX2-FP-NEXT:    vpshufb %ymm7, %ymm4, %ymm410701; AVX2-FP-NEXT:    vpmovsxdq {{.*#+}} ymm9 = [0,18446744073709551360,16777215,0]10702; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm4, %ymm5, %ymm410703; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10704; AVX2-FP-NEXT:    vpblendvb %ymm13, %ymm15, %ymm6, %ymm410705; AVX2-FP-NEXT:    vextracti128 $1, %ymm4, %xmm510706; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm4[0,1],ymm5[2],ymm4[3,4,5],ymm5[6],ymm4[7,8,9],ymm5[10],ymm4[11,12,13],ymm5[14],ymm4[15]10707; AVX2-FP-NEXT:    vpshufb %ymm7, %ymm4, %ymm410708; AVX2-FP-NEXT:    vpblendvb %ymm1, %ymm0, %ymm8, %ymm510709; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm710710; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm7, %xmm210711; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm5, %xmm310712; AVX2-FP-NEXT:    vpor %xmm2, %xmm3, %xmm210713; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm4, %ymm2, %ymm010714; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10715; AVX2-FP-NEXT:    vmovdqa 160(%rdi), %ymm910716; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %ymm1510717; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10718; AVX2-FP-NEXT:    vpblendvb %ymm4, %ymm9, %ymm15, %ymm210719; AVX2-FP-NEXT:    vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10720; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm310721; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm8 = [u,u,u,128,128,3,10,128,128,128,6,13,u,u,u,u]10722; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm3, %xmm310723; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm7 = [u,u,u,5,12,128,128,1,8,15,128,128,u,u,u,u]10724; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm2, %xmm210725; AVX2-FP-NEXT:    vpor %xmm3, %xmm2, %xmm210726; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [2,9,2,9,2,9,2,9,2,9,2,9,2,9,2,9]10727; AVX2-FP-NEXT:    vmovdqa 208(%rdi), %xmm510728; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm5, %xmm310729; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]10730; AVX2-FP-NEXT:    vmovdqa 192(%rdi), %xmm110731; AVX2-FP-NEXT:    vpshufb %xmm11, %xmm1, %xmm1010732; AVX2-FP-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10733; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm10[0],xmm3[0],xmm10[1],xmm3[1],xmm10[2],xmm3[2],xmm10[3],xmm3[3]10734; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm210735; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm310736; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]10737; AVX2-FP-NEXT:    vpmovsxdq {{.*#+}} ymm14 = [18446744073709551615,18446744073709551615,16777215,0]10738; AVX2-FP-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm0 # 32-byte Folded Reload10739; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10740; AVX2-FP-NEXT:    vmovdqa 384(%rdi), %ymm210741; AVX2-FP-NEXT:    vmovdqa 352(%rdi), %ymm310742; AVX2-FP-NEXT:    vpblendvb %ymm4, %ymm2, %ymm3, %ymm010743; AVX2-FP-NEXT:    vmovdqa %ymm2, %ymm410744; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm610745; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm6, %xmm610746; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm0, %xmm010747; AVX2-FP-NEXT:    vpor %xmm6, %xmm0, %xmm010748; AVX2-FP-NEXT:    vmovdqa 432(%rdi), %xmm1310749; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm13, %xmm610750; AVX2-FP-NEXT:    vmovdqa 416(%rdi), %xmm210751; AVX2-FP-NEXT:    vpshufb %xmm11, %xmm2, %xmm810752; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm8[0],xmm6[0],xmm8[1],xmm6[1],xmm8[2],xmm6[2],xmm8[3],xmm6[3]10753; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm010754; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610755; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm6[7]10756; AVX2-FP-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10757; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10758; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]10759; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm9, %ymm15, %ymm010760; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm10 = [u,u,u,6,13,128,128,2,9,128,128,128,u,u,u,u]10761; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm0, %xmm610762; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm010763; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm8 = [u,u,u,128,128,4,11,128,128,0,7,14,u,u,u,u]10764; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm0, %xmm010765; AVX2-FP-NEXT:    vpor %xmm6, %xmm0, %xmm010766; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm6 = [3,10,3,10,3,10,3,10,3,10,3,10,3,10,3,10]10767; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm5, %xmm910768; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm12 = [5,12,5,12,5,12,5,12,5,12,5,12,5,12,5,12]10769; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm1, %xmm1110770; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm11[0],xmm9[0],xmm11[1],xmm9[1],xmm11[2],xmm9[2],xmm11[3],xmm9[3]10771; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm010772; AVX2-FP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm910773; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm9[7]10774; AVX2-FP-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10775; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10776; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm4, %ymm3, %ymm010777; AVX2-FP-NEXT:    vmovdqa %ymm3, %ymm1110778; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm0, %xmm110779; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm010780; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm0, %xmm010781; AVX2-FP-NEXT:    vpor %xmm1, %xmm0, %xmm010782; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm13, %xmm110783; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm2, %xmm610784; AVX2-FP-NEXT:    vmovdqa %xmm2, %xmm1210785; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm1 = xmm6[0],xmm1[0],xmm6[1],xmm1[1],xmm6[2],xmm1[2],xmm6[3],xmm1[3]10786; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm010787; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110788; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm1[7]10789; AVX2-FP-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload10790; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10791; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10792; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm3, %ymm4, %ymm010793; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10794; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm110795; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm6 = [u,u,128,128,128,6,13,128,128,2,9,u,u,u,u,u]10796; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm1, %xmm110797; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm7 = [u,u,1,8,15,128,128,4,11,128,128,u,u,u,u,u]10798; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm0, %xmm010799; AVX2-FP-NEXT:    vpor %xmm1, %xmm0, %xmm010800; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm1 = [0,0,0,128,128,128,5,12,0,0,0,128,128,128,5,12]10801; AVX2-FP-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10802; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm13, %xmm810803; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm9 = [0,0,0,0,7,14,128,128,0,0,0,0,7,14,128,128]10804; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm12, %xmm1010805; AVX2-FP-NEXT:    vmovdqa %xmm12, %xmm310806; AVX2-FP-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill10807; AVX2-FP-NEXT:    vpor %xmm8, %xmm10, %xmm810808; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm1010809; AVX2-FP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm810810; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm0 = [0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0]10811; AVX2-FP-NEXT:    # ymm0 = mem[0,1,0,1]10812; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm10, %ymm8, %ymm810813; AVX2-FP-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10814; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload10815; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm15, %ymm12, %ymm810816; AVX2-FP-NEXT:    vextracti128 $1, %ymm8, %xmm1010817; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm10, %xmm610818; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm8, %xmm710819; AVX2-FP-NEXT:    vpor %xmm6, %xmm7, %xmm610820; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm5, %xmm110821; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10822; AVX2-FP-NEXT:    vpshufb %xmm9, %xmm14, %xmm710823; AVX2-FP-NEXT:    vpor %xmm1, %xmm7, %xmm110824; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610825; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110826; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm6, %ymm1, %ymm110827; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10828; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]10829; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm11, %ymm4, %ymm110830; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm6 = [u,u,2,9,128,128,128,5,12,128,128,u,u,u,u,u]10831; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm1, %xmm710832; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm110833; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm8 = [u,u,128,128,0,7,14,128,128,3,10,u,u,u,u,u]10834; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm1, %xmm110835; AVX2-FP-NEXT:    vpor %xmm7, %xmm1, %xmm110836; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm7 = [0,0,0,128,128,128,6,13,0,0,0,128,128,128,6,13]10837; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm13, %xmm910838; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm10 = [0,0,0,1,8,15,128,128,0,0,0,1,8,15,128,128]10839; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm3, %xmm1110840; AVX2-FP-NEXT:    vpor %xmm9, %xmm11, %xmm910841; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110842; AVX2-FP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm910843; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm1, %ymm9, %ymm110844; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10845; AVX2-FP-NEXT:    vmovdqu %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10846; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm15, %ymm12, %ymm110847; AVX2-FP-NEXT:    vmovdqa %ymm12, %ymm210848; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm1, %xmm610849; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm110850; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm1, %xmm110851; AVX2-FP-NEXT:    vpor %xmm6, %xmm1, %xmm110852; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm5, %xmm610853; AVX2-FP-NEXT:    vmovdqa %xmm5, %xmm1310854; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm14, %xmm710855; AVX2-FP-NEXT:    vpor %xmm6, %xmm7, %xmm610856; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110857; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610858; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm1, %ymm6, %ymm110859; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10860; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm6 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]10861; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload10862; AVX2-FP-NEXT:    vpblendvb %ymm6, %ymm3, %ymm4, %ymm110863; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm5 = [u,u,3,10,128,128,128,6,13,128,128,u,u,u,u,u]10864; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm710865; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm110866; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm8 = [u,u,128,128,1,8,15,128,128,4,11,u,u,u,u,u]10867; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm1, %xmm110868; AVX2-FP-NEXT:    vpor %xmm7, %xmm1, %xmm110869; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm7 = [0,0,0,2,9,128,128,128,0,0,0,2,9,128,128,128]10870; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload10871; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm12, %xmm910872; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm10 = [0,0,0,128,128,0,7,14,0,0,0,128,128,0,7,14]10873; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload10874; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm14, %xmm1110875; AVX2-FP-NEXT:    vpor %xmm9, %xmm11, %xmm910876; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110877; AVX2-FP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm910878; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm1, %ymm9, %ymm110879; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10880; AVX2-FP-NEXT:    vpblendvb %ymm6, %ymm15, %ymm2, %ymm110881; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm610882; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm110883; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm1, %xmm110884; AVX2-FP-NEXT:    vpor %xmm6, %xmm1, %xmm110885; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload10886; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm11, %xmm610887; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm13, %xmm710888; AVX2-FP-NEXT:    vmovdqa %xmm13, (%rsp) # 16-byte Spill10889; AVX2-FP-NEXT:    vpor %xmm6, %xmm7, %xmm610890; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110891; AVX2-FP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm610892; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm1, %ymm6, %ymm110893; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10894; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm10 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]10895; AVX2-FP-NEXT:    vpblendvb %ymm10, %ymm3, %ymm4, %ymm210896; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10897; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm15 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]10898; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm4, %ymm3, %ymm110899; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm210900; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm3 = [u,u,128,128,2,9,128,128,128,5,12,u,u,u,u,u]10901; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm2, %xmm210902; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm6 = [u,u,4,11,128,128,0,7,14,128,128,u,u,u,u,u]10903; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm1, %xmm110904; AVX2-FP-NEXT:    vpor %xmm2, %xmm1, %xmm110905; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm2 = [0,0,0,3,10,128,128,128,0,0,0,3,10,128,128,128]10906; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm12, %xmm710907; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm8 = [0,0,0,128,128,1,8,15,0,0,0,128,128,1,8,15]10908; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm14, %xmm910909; AVX2-FP-NEXT:    vpor %xmm7, %xmm9, %xmm710910; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110911; AVX2-FP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm710912; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm1, %ymm7, %ymm110913; AVX2-FP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10914; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload10915; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload10916; AVX2-FP-NEXT:    vpblendvb %ymm10, %ymm4, %ymm1, %ymm510917; AVX2-FP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10918; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm1, %ymm4, %ymm110919; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm410920; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm4, %xmm310921; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm1, %xmm110922; AVX2-FP-NEXT:    vpor %xmm3, %xmm1, %xmm110923; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm11, %xmm210924; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm13, %xmm310925; AVX2-FP-NEXT:    vpor %xmm2, %xmm3, %xmm210926; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm110927; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm210928; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm1, %ymm2, %ymm010929; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10930; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10931; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload10932; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]10933; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm0, %ymm2, %ymm110934; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]10935; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm0, %ymm2, %ymm1210936; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm2, %ymm0, %ymm1310937; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10938; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm2, %ymm0, %ymm310939; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10940; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm3 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]10941; AVX2-FP-NEXT:    vpblendvb %ymm3, %ymm2, %ymm0, %ymm010942; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10943; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload10944; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload10945; AVX2-FP-NEXT:    vpblendvb %ymm3, %ymm2, %ymm0, %ymm310946; AVX2-FP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10947; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm0, %ymm2, %ymm310948; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm0, %ymm2, %ymm1410949; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm2, %ymm0, %ymm410950; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10951; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm2, %ymm0, %ymm010952; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10953; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload10954; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload10955; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm10 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10956; AVX2-FP-NEXT:    vpblendvb %ymm10, %ymm6, %ymm2, %ymm010957; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm6, %ymm2, %ymm410958; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm6, %ymm2, %ymm910959; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm2, %ymm6, %ymm810960; AVX2-FP-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10961; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm2, %ymm6, %ymm210962; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10963; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload10964; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload10965; AVX2-FP-NEXT:    vpblendvb %ymm10, %ymm7, %ymm8, %ymm210966; AVX2-FP-NEXT:    vpblendvb %ymm11, %ymm7, %ymm8, %ymm610967; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm7, %ymm8, %ymm1010968; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm8, %ymm7, %ymm510969; AVX2-FP-NEXT:    vmovdqu %ymm5, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10970; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]10971; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm8, %ymm7, %ymm1110972; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm8 = [2,9,128,128,128,5,12,128,128,u,u,u,u,u,u,u]10973; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm1, %xmm1510974; AVX2-FP-NEXT:    vextracti128 $1, %ymm1, %xmm110975; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm7 = [128,128,0,7,14,128,128,3,10,u,u,u,u,u,u,u]10976; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm1, %xmm110977; AVX2-FP-NEXT:    vpor %xmm1, %xmm15, %xmm110978; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm1510979; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0,1,2],ymm15[3],ymm0[4,5],ymm15[6],ymm0[7,8,9,10],ymm15[11],ymm0[12,13],ymm15[14],ymm0[15]10980; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [2,9,0,0,0,0,0,0,0,1,8,15,6,13,4,11,2,9,0,0,0,0,0,0,0,1,8,15,6,13,4,11]10981; AVX2-FP-NEXT:    # ymm5 = mem[0,1,0,1]10982; AVX2-FP-NEXT:    vpshufb %ymm5, %ymm0, %ymm010983; AVX2-FP-NEXT:    vpmovsxwq {{.*#+}} xmm15 = [18446744073709551615,255]10984; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm1, %ymm0, %ymm010985; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10986; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm3, %xmm010987; AVX2-FP-NEXT:    vextracti128 $1, %ymm3, %xmm110988; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm1, %xmm110989; AVX2-FP-NEXT:    vpor %xmm0, %xmm1, %xmm010990; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm110991; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm2[0,1,2],ymm1[3],ymm2[4,5],ymm1[6],ymm2[7,8,9,10],ymm1[11],ymm2[12,13],ymm1[14],ymm2[15]10992; AVX2-FP-NEXT:    vpshufb %ymm5, %ymm1, %ymm110993; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm0, %ymm1, %ymm010994; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill10995; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm0 = [3,10,128,128,128,6,13,128,128,u,u,u,u,u,u,u]10996; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm12, %xmm110997; AVX2-FP-NEXT:    vextracti128 $1, %ymm12, %xmm210998; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,1,8,15,128,128,4,11,u,u,u,u,u,u,u]10999; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm2, %xmm211000; AVX2-FP-NEXT:    vpor %xmm1, %xmm2, %xmm111001; AVX2-FP-NEXT:    vextracti128 $1, %ymm4, %xmm211002; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0],ymm4[1,2],ymm2[3],ymm4[4,5,6],ymm2[7,8],ymm4[9,10],ymm2[11],ymm4[12,13,14],ymm2[15]11003; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [3,10,0,0,0,0,0,0,0,2,9,0,7,14,5,12,3,10,0,0,0,0,0,0,0,2,9,0,7,14,5,12]11004; AVX2-FP-NEXT:    # ymm4 = mem[0,1,0,1]11005; AVX2-FP-NEXT:    vpshufb %ymm4, %ymm2, %ymm211006; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm1, %ymm2, %ymm1211007; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm14, %xmm011008; AVX2-FP-NEXT:    vextracti128 $1, %ymm14, %xmm111009; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm1, %xmm111010; AVX2-FP-NEXT:    vpor %xmm0, %xmm1, %xmm011011; AVX2-FP-NEXT:    vextracti128 $1, %ymm6, %xmm111012; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0],ymm6[1,2],ymm1[3],ymm6[4,5,6],ymm1[7,8],ymm6[9,10],ymm1[11],ymm6[12,13,14],ymm1[15]11013; AVX2-FP-NEXT:    vpshufb %ymm4, %ymm1, %ymm111014; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm0, %ymm1, %ymm1411015; AVX2-FP-NEXT:    vextracti128 $1, %ymm13, %xmm011016; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm1 = [128,128,2,9,128,128,128,5,12,u,u,u,u,u,u,u]11017; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm0, %xmm011018; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm2 = [4,11,128,128,0,7,14,128,128,u,u,u,u,u,u,u]11019; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm13, %xmm311020; AVX2-FP-NEXT:    vpor %xmm0, %xmm3, %xmm011021; AVX2-FP-NEXT:    vextracti128 $1, %ymm9, %xmm311022; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0],ymm9[1,2,3],ymm3[4],ymm9[5,6],ymm3[7,8],ymm9[9,10,11],ymm3[12],ymm9[13,14],ymm3[15]11023; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [4,11,0,0,0,0,0,0,0,3,10,1,8,15,6,13,4,11,0,0,0,0,0,0,0,3,10,1,8,15,6,13]11024; AVX2-FP-NEXT:    # ymm4 = mem[0,1,0,1]11025; AVX2-FP-NEXT:    vpshufb %ymm4, %ymm3, %ymm311026; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm0, %ymm3, %ymm611027; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload11028; AVX2-FP-NEXT:    vextracti128 $1, %ymm3, %xmm011029; AVX2-FP-NEXT:    vpshufb %xmm1, %xmm0, %xmm011030; AVX2-FP-NEXT:    vpshufb %xmm2, %xmm3, %xmm111031; AVX2-FP-NEXT:    vpor %xmm0, %xmm1, %xmm011032; AVX2-FP-NEXT:    vextracti128 $1, %ymm10, %xmm111033; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0],ymm10[1,2,3],ymm1[4],ymm10[5,6],ymm1[7,8],ymm10[9,10,11],ymm1[12],ymm10[13,14],ymm1[15]11034; AVX2-FP-NEXT:    vpshufb %ymm4, %ymm1, %ymm111035; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm0, %ymm1, %ymm011036; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload11037; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm111038; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,3,10,128,128,128,6,13,u,u,u,u,u,u,u]11039; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm1, %xmm111040; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm4 = [5,12,128,128,1,8,15,128,128,u,u,u,u,u,u,u]11041; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm211042; AVX2-FP-NEXT:    vpor %xmm1, %xmm2, %xmm111043; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload11044; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm211045; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm5[0],ymm2[1],ymm5[2,3],ymm2[4],ymm5[5,6,7,8],ymm2[9],ymm5[10,11],ymm2[12],ymm5[13,14,15]11046; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [5,12,0,0,0,0,0,0,0,4,11,2,9,0,7,14,5,12,0,0,0,0,0,0,0,4,11,2,9,0,7,14]11047; AVX2-FP-NEXT:    # ymm5 = mem[0,1,0,1]11048; AVX2-FP-NEXT:    vpshufb %ymm5, %ymm2, %ymm211049; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm1, %ymm2, %ymm211050; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload11051; AVX2-FP-NEXT:    vextracti128 $1, %ymm7, %xmm111052; AVX2-FP-NEXT:    vpshufb %xmm3, %xmm1, %xmm111053; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm7, %xmm311054; AVX2-FP-NEXT:    vpor %xmm1, %xmm3, %xmm111055; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11056; AVX2-FP-NEXT:    vextracti128 $1, %ymm4, %xmm311057; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm4[0],ymm3[1],ymm4[2,3],ymm3[4],ymm4[5,6,7,8],ymm3[9],ymm4[10,11],ymm3[12],ymm4[13,14,15]11058; AVX2-FP-NEXT:    vpshufb %ymm5, %ymm3, %ymm311059; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm1, %ymm3, %ymm111060; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm4 = [6,13,128,128,2,9,128,128,128,u,u,u,u,u,u,u]11061; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload11062; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm5, %xmm311063; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm511064; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm7 = [128,128,4,11,128,128,0,7,14,u,u,u,u,u,u,u]11065; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm5, %xmm511066; AVX2-FP-NEXT:    vpor %xmm3, %xmm5, %xmm311067; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload11068; AVX2-FP-NEXT:    vextracti128 $1, %ymm8, %xmm511069; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm5 = ymm8[0],ymm5[1],ymm8[2,3,4],ymm5[5],ymm8[6,7,8],ymm5[9],ymm8[10,11,12],ymm5[13],ymm8[14,15]11070; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm8 = [6,13,0,0,0,0,0,0,0,5,12,3,10,1,8,15,6,13,0,0,0,0,0,0,0,5,12,3,10,1,8,15]11071; AVX2-FP-NEXT:    # ymm8 = mem[0,1,0,1]11072; AVX2-FP-NEXT:    vpshufb %ymm8, %ymm5, %ymm511073; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm3, %ymm5, %ymm311074; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload11075; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm5, %xmm411076; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm511077; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm5, %xmm511078; AVX2-FP-NEXT:    vpor %xmm4, %xmm5, %xmm411079; AVX2-FP-NEXT:    vextracti128 $1, %ymm11, %xmm511080; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm5 = ymm11[0],ymm5[1],ymm11[2,3,4],ymm5[5],ymm11[6,7,8],ymm5[9],ymm11[10,11,12],ymm5[13],ymm11[14,15]11081; AVX2-FP-NEXT:    vpshufb %ymm8, %ymm5, %ymm511082; AVX2-FP-NEXT:    vpblendvb %ymm15, %ymm4, %ymm5, %ymm411083; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload11084; AVX2-FP-NEXT:    vextracti128 $1, %ymm9, %xmm511085; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm7 = [u,u,128,128,128,5,12,128,128,1,8,15,u,u,u,u]11086; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm5, %xmm511087; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm8 = [u,u,0,7,14,128,128,3,10,128,128,128,u,u,u,u]11088; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm9, %xmm911089; AVX2-FP-NEXT:    vpor %xmm5, %xmm9, %xmm511090; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm13 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]11091; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload11092; AVX2-FP-NEXT:    vpshufb %xmm13, %xmm9, %xmm911093; AVX2-FP-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [6,13,6,13,6,13,6,13,6,13,6,13,6,13,6,13]11094; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload11095; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm11, %xmm1111096; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm9 = xmm11[0],xmm9[0],xmm11[1],xmm9[1],xmm11[2],xmm9[2],xmm11[3],xmm9[3]11097; AVX2-FP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511098; AVX2-FP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm911099; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm9[7]11100; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm9 # 32-byte Reload11101; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm5 = ymm9[0],ymm5[1,2,3,4,5,6,7],ymm9[8],ymm5[9,10,11,12,13,14,15]11102; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm9[0,1,2,3],ymm5[4,5,6,7]11103; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload11104; AVX2-FP-NEXT:    vextracti128 $1, %ymm11, %xmm911105; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm9, %xmm711106; AVX2-FP-NEXT:    vpshufb %xmm8, %xmm11, %xmm811107; AVX2-FP-NEXT:    vpor %xmm7, %xmm8, %xmm711108; AVX2-FP-NEXT:    vmovdqa (%rsp), %xmm8 # 16-byte Reload11109; AVX2-FP-NEXT:    vpshufb %xmm13, %xmm8, %xmm811110; AVX2-FP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload11111; AVX2-FP-NEXT:    vpshufb %xmm10, %xmm9, %xmm911112; AVX2-FP-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm9[0],xmm8[0],xmm9[1],xmm8[1],xmm9[2],xmm8[2],xmm9[3],xmm8[3]11113; AVX2-FP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm711114; AVX2-FP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm811115; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5,6],ymm8[7]11116; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload11117; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm7 = ymm8[0],ymm7[1,2,3,4,5,6,7],ymm8[8],ymm7[9,10,11,12,13,14,15]11118; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm8[0,1,2,3],ymm7[4,5,6,7]11119; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm8 # 32-byte Folded Reload11120; AVX2-FP-NEXT:    # ymm8 = ymm12[0],mem[1,2,3,4,5,6,7],ymm12[8],mem[9,10,11,12,13,14,15]11121; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm12[0,1,2,3],ymm8[4,5,6,7]11122; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm9 # 32-byte Folded Reload11123; AVX2-FP-NEXT:    # ymm9 = ymm14[0],mem[1,2,3,4,5,6,7],ymm14[8],mem[9,10,11,12,13,14,15]11124; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm14[0,1,2,3],ymm9[4,5,6,7]11125; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm6, %ymm10 # 32-byte Folded Reload11126; AVX2-FP-NEXT:    # ymm10 = ymm6[0],mem[1,2,3,4,5,6,7],ymm6[8],mem[9,10,11,12,13,14,15]11127; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3],ymm10[4,5,6,7]11128; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm10 # 32-byte Folded Reload11129; AVX2-FP-NEXT:    # ymm10 = ymm0[0],mem[1,2,3,4,5,6,7],ymm0[8],mem[9,10,11,12,13,14,15]11130; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm10[4,5,6,7]11131; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm10 # 32-byte Folded Reload11132; AVX2-FP-NEXT:    # ymm10 = ymm2[0],mem[1,2,3,4,5,6,7],ymm2[8],mem[9,10,11,12,13,14,15]11133; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm10[4,5,6,7]11134; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload11135; AVX2-FP-NEXT:    # ymm10 = ymm1[0],mem[1,2,3,4,5,6,7],ymm1[8],mem[9,10,11,12,13,14,15]11136; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm10[4,5,6,7]11137; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm10 # 32-byte Folded Reload11138; AVX2-FP-NEXT:    # ymm10 = ymm3[0],mem[1,2,3,4,5,6,7],ymm3[8],mem[9,10,11,12,13,14,15]11139; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm10[4,5,6,7]11140; AVX2-FP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm4, %ymm10 # 32-byte Folded Reload11141; AVX2-FP-NEXT:    # ymm10 = ymm4[0],mem[1,2,3,4,5,6,7],ymm4[8],mem[9,10,11,12,13,14,15]11142; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm10[4,5,6,7]11143; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload11144; AVX2-FP-NEXT:    vmovaps %ymm10, 32(%rsi)11145; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload11146; AVX2-FP-NEXT:    vmovaps %ymm10, (%rsi)11147; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload11148; AVX2-FP-NEXT:    vmovaps %ymm10, 32(%rdx)11149; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload11150; AVX2-FP-NEXT:    vmovaps %ymm10, (%rdx)11151; AVX2-FP-NEXT:    vmovdqa %ymm5, 32(%rcx)11152; AVX2-FP-NEXT:    vmovdqa %ymm7, (%rcx)11153; AVX2-FP-NEXT:    vmovdqa %ymm8, 32(%r8)11154; AVX2-FP-NEXT:    vmovdqa %ymm9, (%r8)11155; AVX2-FP-NEXT:    vmovdqa %ymm6, 32(%r9)11156; AVX2-FP-NEXT:    vmovdqa %ymm0, (%r9)11157; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax11158; AVX2-FP-NEXT:    vmovdqa %ymm2, 32(%rax)11159; AVX2-FP-NEXT:    vmovdqa %ymm1, (%rax)11160; AVX2-FP-NEXT:    movq {{[0-9]+}}(%rsp), %rax11161; AVX2-FP-NEXT:    vmovdqa %ymm3, 32(%rax)11162; AVX2-FP-NEXT:    vmovdqa %ymm4, (%rax)11163; AVX2-FP-NEXT:    addq $760, %rsp # imm = 0x2F811164; AVX2-FP-NEXT:    vzeroupper11165; AVX2-FP-NEXT:    retq11166;11167; AVX2-FCP-LABEL: load_i8_stride7_vf64:11168; AVX2-FCP:       # %bb.0:11169; AVX2-FCP-NEXT:    subq $776, %rsp # imm = 0x30811170; AVX2-FCP-NEXT:    vmovdqa 320(%rdi), %ymm1511171; AVX2-FCP-NEXT:    vmovdqa 224(%rdi), %ymm611172; AVX2-FCP-NEXT:    vmovdqa 256(%rdi), %ymm1011173; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm1311174; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm1211175; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %ymm1111176; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %ymm911177; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]11178; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm13, %ymm12, %ymm011179; AVX2-FCP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11180; AVX2-FCP-NEXT:    vmovdqu %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11181; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm211182; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm1 = [128,128,128,5,12,128,128,1,8,15,u,u,u,u,u,u]11183; AVX2-FCP-NEXT:    vpshufb %xmm1, %xmm2, %xmm311184; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm2 = [0,7,14,128,128,3,10,128,128,128,u,u,u,u,u,u]11185; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm0, %xmm011186; AVX2-FCP-NEXT:    vpor %xmm3, %xmm0, %xmm011187; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm14 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]11188; AVX2-FCP-NEXT:    vpblendvb %ymm14, %ymm9, %ymm11, %ymm311189; AVX2-FCP-NEXT:    vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11190; AVX2-FCP-NEXT:    vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11191; AVX2-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm411192; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm3[0,1],ymm4[2],ymm3[3,4],ymm4[5],ymm3[6,7,8,9],ymm4[10],ymm3[11,12],ymm4[13],ymm3[14,15]11193; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,7,14,0,0,0,0,0,0,0,6,13,4,11,2,9,0,7,14,0,0,0,0,0,0,0,6,13,4,11,2,9]11194; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,0,1]11195; AVX2-FCP-NEXT:    vpshufb %ymm3, %ymm4, %ymm511196; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} xmm4 = [65535,65535,65535,65535,65535,0,0,0]11197; AVX2-FCP-NEXT:    vpblendvb %ymm4, %ymm0, %ymm5, %ymm011198; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11199; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm6, %ymm10, %ymm511200; AVX2-FCP-NEXT:    vmovdqu %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11201; AVX2-FCP-NEXT:    vmovdqa %ymm6, %ymm711202; AVX2-FCP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11203; AVX2-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm611204; AVX2-FCP-NEXT:    vpshufb %xmm1, %xmm6, %xmm111205; AVX2-FCP-NEXT:    vmovdqa 288(%rdi), %ymm811206; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm5, %xmm211207; AVX2-FCP-NEXT:    vpor %xmm1, %xmm2, %xmm111208; AVX2-FCP-NEXT:    vmovdqa %ymm15, %ymm011209; AVX2-FCP-NEXT:    vmovdqu %ymm15, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11210; AVX2-FCP-NEXT:    vpblendvb %ymm14, %ymm15, %ymm8, %ymm211211; AVX2-FCP-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11212; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm511213; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0,1],ymm5[2],ymm2[3,4],ymm5[5],ymm2[6,7,8,9],ymm5[10],ymm2[11,12],ymm5[13],ymm2[14,15]11214; AVX2-FCP-NEXT:    vpshufb %ymm3, %ymm2, %ymm211215; AVX2-FCP-NEXT:    vpblendvb %ymm4, %ymm1, %ymm2, %ymm111216; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11217; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm15 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]11218; AVX2-FCP-NEXT:    vpblendvb %ymm15, %ymm11, %ymm9, %ymm211219; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm311220; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm2[0,1],ymm3[2],ymm2[3,4,5],ymm3[6],ymm2[7,8,9],ymm3[10],ymm2[11,12,13],ymm3[14],ymm2[15]11221; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]11222; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm13, %ymm12, %ymm411223; AVX2-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm511224; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm2 = [128,128,128,6,13,128,128,2,9,u,u,u,u,u,u,u]11225; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm5, %xmm511226; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm6 = [1,8,15,128,128,4,11,128,128,u,u,u,u,u,u,u]11227; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm4, %xmm411228; AVX2-FCP-NEXT:    vpor %xmm5, %xmm4, %xmm411229; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [1,8,15,0,0,0,0,0,0,0,7,14,5,12,3,10,1,8,15,0,0,0,0,0,0,0,7,14,5,12,3,10]11230; AVX2-FCP-NEXT:    # ymm5 = mem[0,1,0,1]11231; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm3, %ymm311232; AVX2-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm1 = [0,18446744073709551360,16777215,0]11233; AVX2-FCP-NEXT:    vpblendvb %ymm1, %ymm3, %ymm4, %ymm311234; AVX2-FCP-NEXT:    vmovdqu %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11235; AVX2-FCP-NEXT:    vpblendvb %ymm15, %ymm8, %ymm0, %ymm311236; AVX2-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm811237; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0,1],ymm8[2],ymm3[3,4,5],ymm8[6],ymm3[7,8,9],ymm8[10],ymm3[11,12,13],ymm8[14],ymm3[15]11238; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm3, %ymm311239; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm7, %ymm10, %ymm511240; AVX2-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm811241; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm8, %xmm211242; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm5, %xmm511243; AVX2-FCP-NEXT:    vpor %xmm2, %xmm5, %xmm211244; AVX2-FCP-NEXT:    vpblendvb %ymm1, %ymm3, %ymm2, %ymm511245; AVX2-FCP-NEXT:    vmovdqa 160(%rdi), %ymm1011246; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %ymm1211247; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]11248; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm10, %ymm12, %ymm211249; AVX2-FCP-NEXT:    vmovdqu %ymm12, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11250; AVX2-FCP-NEXT:    vmovdqu %ymm10, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11251; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm311252; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm7 = [u,u,u,128,128,3,10,128,128,128,6,13,u,u,u,u]11253; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm3, %xmm311254; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm11 = [u,u,u,5,12,128,128,1,8,15,128,128,u,u,u,u]11255; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm2, %xmm211256; AVX2-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm211257; AVX2-FCP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211258; AVX2-FCP-NEXT:    vmovdqa 192(%rdi), %ymm811259; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm4 = [1,2,0,2,1,2,4,6]11260; AVX2-FCP-NEXT:    vpermd %ymm8, %ymm4, %ymm311261; AVX2-FCP-NEXT:    vmovdqu %ymm8, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11262; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm1 = [0,7,10,13,0,7,10,13,0,7,10,13,0,7,10,13,0,7,10,13,0,7,10,13,0,7,10,13,0,7,10,13]11263; AVX2-FCP-NEXT:    vpshufb %ymm1, %ymm3, %ymm311264; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5,6],ymm3[7]11265; AVX2-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm6 = [18446744073709551615,18446744073709551615,16777215,0]11266; AVX2-FCP-NEXT:    vpblendvb %ymm6, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm0 # 32-byte Folded Reload11267; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11268; AVX2-FCP-NEXT:    vmovdqa 384(%rdi), %ymm211269; AVX2-FCP-NEXT:    vmovdqa 352(%rdi), %ymm1411270; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm2, %ymm14, %ymm011271; AVX2-FCP-NEXT:    vmovdqa %ymm2, %ymm311272; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm1311273; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm13, %xmm711274; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm0, %xmm011275; AVX2-FCP-NEXT:    vpor %xmm7, %xmm0, %xmm011276; AVX2-FCP-NEXT:    vmovdqa 416(%rdi), %ymm911277; AVX2-FCP-NEXT:    vpermd %ymm9, %ymm4, %ymm411278; AVX2-FCP-NEXT:    vmovdqu %ymm9, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11279; AVX2-FCP-NEXT:    vpshufb %ymm1, %ymm4, %ymm111280; AVX2-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011281; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm1[7]11282; AVX2-FCP-NEXT:    vpblendvb %ymm6, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11283; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11284; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm13 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]11285; AVX2-FCP-NEXT:    vpblendvb %ymm13, %ymm10, %ymm12, %ymm011286; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm1 = [u,u,u,6,13,128,128,2,9,128,128,128,u,u,u,u]11287; AVX2-FCP-NEXT:    vpshufb %xmm1, %xmm0, %xmm411288; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm011289; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm7 = [u,u,u,128,128,4,11,128,128,0,7,14,u,u,u,u]11290; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm0, %xmm011291; AVX2-FCP-NEXT:    vpor %xmm4, %xmm0, %xmm011292; AVX2-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011293; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm4 = [1,3,0,2,1,3,4,6]11294; AVX2-FCP-NEXT:    vpermd %ymm8, %ymm4, %ymm1111295; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm12 = [1,4,11,14,1,4,11,14,1,4,11,14,1,4,11,14,1,4,11,14,1,4,11,14,1,4,11,14,1,4,11,14]11296; AVX2-FCP-NEXT:    vpshufb %ymm12, %ymm11, %ymm1111297; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm11[7]11298; AVX2-FCP-NEXT:    vpblendvb %ymm6, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm0 # 32-byte Folded Reload11299; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11300; AVX2-FCP-NEXT:    vpblendvb %ymm13, %ymm2, %ymm14, %ymm011301; AVX2-FCP-NEXT:    vpshufb %xmm1, %xmm0, %xmm111302; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm011303; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm0, %xmm011304; AVX2-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm011305; AVX2-FCP-NEXT:    vpermd %ymm9, %ymm4, %ymm111306; AVX2-FCP-NEXT:    vpshufb %ymm12, %ymm1, %ymm111307; AVX2-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011308; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm1[7]11309; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm5, %ymm0, %ymm011310; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11311; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]11312; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm14, %ymm2, %ymm011313; AVX2-FCP-NEXT:    vmovdqu %ymm14, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11314; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm111315; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm4 = [u,u,128,128,128,6,13,128,128,2,9,u,u,u,u,u]11316; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm1, %xmm111317; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm6 = [u,u,1,8,15,128,128,4,11,128,128,u,u,u,u,u]11318; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm0, %xmm011319; AVX2-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm011320; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm10 = [0,0,0,128,128,128,5,12,0,0,0,128,128,128,5,12]11321; AVX2-FCP-NEXT:    vmovdqa 432(%rdi), %xmm1311322; AVX2-FCP-NEXT:    vpshufb %xmm10, %xmm13, %xmm111323; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm11 = [0,0,0,0,7,14,128,128,0,0,0,0,7,14,128,128]11324; AVX2-FCP-NEXT:    vmovdqa 416(%rdi), %xmm1511325; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm15, %xmm1211326; AVX2-FCP-NEXT:    vpor %xmm1, %xmm12, %xmm111327; AVX2-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm1211328; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111329; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm9 = [0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,0,0,0,0,0]11330; AVX2-FCP-NEXT:    # ymm9 = mem[0,1,0,1]11331; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm12, %ymm1, %ymm111332; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11333; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11334; AVX2-FCP-NEXT:    vpblendvb %ymm7, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm1 # 32-byte Folded Reload11335; AVX2-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm1211336; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm12, %xmm411337; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm1, %xmm111338; AVX2-FCP-NEXT:    vpor %xmm4, %xmm1, %xmm611339; AVX2-FCP-NEXT:    vmovdqa 208(%rdi), %xmm211340; AVX2-FCP-NEXT:    vpshufb %xmm10, %xmm2, %xmm1011341; AVX2-FCP-NEXT:    vmovdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11342; AVX2-FCP-NEXT:    vmovdqa 192(%rdi), %xmm811343; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm8, %xmm1111344; AVX2-FCP-NEXT:    vpor %xmm10, %xmm11, %xmm1011345; AVX2-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611346; AVX2-FCP-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1011347; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm6, %ymm10, %ymm111348; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11349; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]11350; AVX2-FCP-NEXT:    vpblendvb %ymm0, %ymm14, %ymm3, %ymm611351; AVX2-FCP-NEXT:    vmovdqa %ymm3, %ymm1411352; AVX2-FCP-NEXT:    vmovdqa %ymm0, %ymm311353; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm10 = [u,u,2,9,128,128,128,5,12,128,128,u,u,u,u,u]11354; AVX2-FCP-NEXT:    vpshufb %xmm10, %xmm6, %xmm1111355; AVX2-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm611356; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm12 = [u,u,128,128,0,7,14,128,128,3,10,u,u,u,u,u]11357; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm6, %xmm611358; AVX2-FCP-NEXT:    vpor %xmm6, %xmm11, %xmm611359; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm11 = [0,0,0,128,128,128,6,13,0,0,0,128,128,128,6,13]11360; AVX2-FCP-NEXT:    vmovdqa %xmm13, %xmm511361; AVX2-FCP-NEXT:    vmovdqa %xmm13, (%rsp) # 16-byte Spill11362; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm13, %xmm1311363; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm1 = [0,0,0,1,8,15,128,128,0,0,0,1,8,15,128,128]11364; AVX2-FCP-NEXT:    vmovdqa %xmm15, %xmm711365; AVX2-FCP-NEXT:    vpshufb %xmm1, %xmm15, %xmm1511366; AVX2-FCP-NEXT:    vpor %xmm13, %xmm15, %xmm1311367; AVX2-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611368; AVX2-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm1311369; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm6, %ymm13, %ymm011370; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11371; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11372; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11373; AVX2-FCP-NEXT:    vpblendvb %ymm3, %ymm4, %ymm0, %ymm611374; AVX2-FCP-NEXT:    vpshufb %xmm10, %xmm6, %xmm1011375; AVX2-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm611376; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm6, %xmm611377; AVX2-FCP-NEXT:    vpor %xmm6, %xmm10, %xmm611378; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm2, %xmm1011379; AVX2-FCP-NEXT:    vpshufb %xmm1, %xmm8, %xmm111380; AVX2-FCP-NEXT:    vpor %xmm1, %xmm10, %xmm111381; AVX2-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611382; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111383; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm6, %ymm1, %ymm111384; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11385; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm6 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]11386; AVX2-FCP-NEXT:    vmovdqa %ymm14, %ymm311387; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload11388; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm2, %ymm14, %ymm111389; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm14 = [u,u,3,10,128,128,128,6,13,128,128,u,u,u,u,u]11390; AVX2-FCP-NEXT:    vpshufb %xmm14, %xmm1, %xmm1011391; AVX2-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm111392; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm12 = [u,u,128,128,1,8,15,128,128,4,11,u,u,u,u,u]11393; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm1, %xmm111394; AVX2-FCP-NEXT:    vpor %xmm1, %xmm10, %xmm111395; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm10 = [0,0,0,2,9,128,128,128,0,0,0,2,9,128,128,128]11396; AVX2-FCP-NEXT:    vpshufb %xmm10, %xmm7, %xmm1311397; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm15 = [0,0,0,128,128,0,7,14,0,0,0,128,128,0,7,14]11398; AVX2-FCP-NEXT:    vpshufb %xmm15, %xmm5, %xmm1111399; AVX2-FCP-NEXT:    vpor %xmm13, %xmm11, %xmm1111400; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111401; AVX2-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm1111402; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm1, %ymm11, %ymm111403; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11404; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm4, %ymm0, %ymm111405; AVX2-FCP-NEXT:    vmovdqa %ymm0, %ymm1311406; AVX2-FCP-NEXT:    vpshufb %xmm14, %xmm1, %xmm611407; AVX2-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm111408; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm1, %xmm111409; AVX2-FCP-NEXT:    vpor %xmm6, %xmm1, %xmm111410; AVX2-FCP-NEXT:    vpshufb %xmm10, %xmm8, %xmm611411; AVX2-FCP-NEXT:    vmovdqa %xmm8, %xmm1411412; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11413; AVX2-FCP-NEXT:    vpshufb %xmm15, %xmm0, %xmm1011414; AVX2-FCP-NEXT:    vpor %xmm6, %xmm10, %xmm611415; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111416; AVX2-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611417; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm1, %ymm6, %ymm011418; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11419; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]11420; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm2, %ymm3, %ymm111421; AVX2-FCP-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11422; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm6 = [65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0]11423; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm3, %ymm2, %ymm111424; AVX2-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm211425; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [u,u,128,128,2,9,128,128,128,5,12,u,u,u,u,u]11426; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm2, %xmm211427; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm10 = [u,u,4,11,128,128,0,7,14,128,128,u,u,u,u,u]11428; AVX2-FCP-NEXT:    vpshufb %xmm10, %xmm1, %xmm111429; AVX2-FCP-NEXT:    vpor %xmm2, %xmm1, %xmm111430; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm2 = [0,0,0,3,10,128,128,128,0,0,0,3,10,128,128,128]11431; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm7, %xmm511432; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm11 = [0,0,0,128,128,1,8,15,0,0,0,128,128,1,8,15]11433; AVX2-FCP-NEXT:    vmovdqa (%rsp), %xmm0 # 16-byte Reload11434; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm0, %xmm811435; AVX2-FCP-NEXT:    vpor %xmm5, %xmm8, %xmm511436; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111437; AVX2-FCP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511438; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm1, %ymm5, %ymm011439; AVX2-FCP-NEXT:    vmovdqu %ymm0, (%rsp) # 32-byte Spill11440; AVX2-FCP-NEXT:    vmovdqa %ymm4, %ymm011441; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm4, %ymm13, %ymm411442; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11443; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm13, %ymm0, %ymm111444; AVX2-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm511445; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm5, %xmm311446; AVX2-FCP-NEXT:    vpshufb %xmm10, %xmm1, %xmm111447; AVX2-FCP-NEXT:    vpor %xmm3, %xmm1, %xmm111448; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm14, %xmm211449; AVX2-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload11450; AVX2-FCP-NEXT:    vpshufb %xmm11, %xmm0, %xmm311451; AVX2-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm211452; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111453; AVX2-FCP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm211454; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm1, %ymm2, %ymm011455; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11456; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11457; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11458; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]11459; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm0, %ymm1, %ymm1111460; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm15 = [0,65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535]11461; AVX2-FCP-NEXT:    vpblendvb %ymm15, %ymm0, %ymm1, %ymm911462; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm1, %ymm0, %ymm1011463; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]11464; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm1, %ymm0, %ymm211465; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11466; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [0,65535,0,0,65535,0,0,0,65535,0,0,65535,0,0,0,65535]11467; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm1, %ymm0, %ymm011468; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11469; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11470; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload11471; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm1, %ymm0, %ymm211472; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11473; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm0, %ymm1, %ymm311474; AVX2-FCP-NEXT:    vpblendvb %ymm15, %ymm0, %ymm1, %ymm811475; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm1, %ymm0, %ymm211476; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11477; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm1, %ymm0, %ymm011478; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11479; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11480; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload11481; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,0,65535,0,0,65535,0,0,0,65535,0,0,65535,0]11482; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm2, %ymm0, %ymm111483; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm2, %ymm0, %ymm411484; AVX2-FCP-NEXT:    vpblendvb %ymm15, %ymm2, %ymm0, %ymm1411485; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm0, %ymm2, %ymm1311486; AVX2-FCP-NEXT:    vmovdqu %ymm13, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11487; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm0, %ymm2, %ymm011488; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11489; AVX2-FCP-NEXT:    vmovdqa %ymm5, %ymm1311490; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload11491; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload11492; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm0, %ymm5, %ymm211493; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm0, %ymm5, %ymm1211494; AVX2-FCP-NEXT:    vpblendvb %ymm15, %ymm0, %ymm5, %ymm1511495; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm5, %ymm0, %ymm611496; AVX2-FCP-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11497; AVX2-FCP-NEXT:    vpblendvb %ymm13, %ymm5, %ymm0, %ymm011498; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11499; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm7 = [2,9,128,128,128,5,12,128,128,u,u,u,u,u,u,u]11500; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm11, %xmm011501; AVX2-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm1111502; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm6 = [128,128,0,7,14,128,128,3,10,u,u,u,u,u,u,u]11503; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm11, %xmm1111504; AVX2-FCP-NEXT:    vpor %xmm0, %xmm11, %xmm011505; AVX2-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm1111506; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0,1,2],ymm11[3],ymm1[4,5],ymm11[6],ymm1[7,8,9,10],ymm11[11],ymm1[12,13],ymm11[14],ymm1[15]11507; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [2,9,0,0,0,0,0,0,0,1,8,15,6,13,4,11,2,9,0,0,0,0,0,0,0,1,8,15,6,13,4,11]11508; AVX2-FCP-NEXT:    # ymm5 = mem[0,1,0,1]11509; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm1, %ymm111510; AVX2-FCP-NEXT:    vpmovsxwq {{.*#+}} xmm11 = [18446744073709551615,255]11511; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm0, %ymm1, %ymm011512; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11513; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm3, %xmm011514; AVX2-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm111515; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm1, %xmm111516; AVX2-FCP-NEXT:    vpor %xmm0, %xmm1, %xmm011517; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm111518; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm2[0,1,2],ymm1[3],ymm2[4,5],ymm1[6],ymm2[7,8,9,10],ymm1[11],ymm2[12,13],ymm1[14],ymm2[15]11519; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm1, %ymm111520; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm0, %ymm1, %ymm011521; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11522; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm0 = [3,10,128,128,128,6,13,128,128,u,u,u,u,u,u,u]11523; AVX2-FCP-NEXT:    vpshufb %xmm0, %xmm9, %xmm111524; AVX2-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm211525; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [128,128,1,8,15,128,128,4,11,u,u,u,u,u,u,u]11526; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm2, %xmm211527; AVX2-FCP-NEXT:    vpor %xmm1, %xmm2, %xmm111528; AVX2-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm211529; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0],ymm4[1,2],ymm2[3],ymm4[4,5,6],ymm2[7,8],ymm4[9,10],ymm2[11],ymm4[12,13,14],ymm2[15]11530; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [3,10,0,0,0,0,0,0,0,2,9,0,7,14,5,12,3,10,0,0,0,0,0,0,0,2,9,0,7,14,5,12]11531; AVX2-FCP-NEXT:    # ymm4 = mem[0,1,0,1]11532; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm2, %ymm211533; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm1, %ymm2, %ymm911534; AVX2-FCP-NEXT:    vpshufb %xmm0, %xmm8, %xmm011535; AVX2-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm111536; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm1, %xmm111537; AVX2-FCP-NEXT:    vpor %xmm0, %xmm1, %xmm011538; AVX2-FCP-NEXT:    vextracti128 $1, %ymm12, %xmm111539; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0],ymm12[1,2],ymm1[3],ymm12[4,5,6],ymm1[7,8],ymm12[9,10],ymm1[11],ymm12[12,13,14],ymm1[15]11540; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm1, %ymm111541; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm0, %ymm1, %ymm1211542; AVX2-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm011543; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm1 = [128,128,2,9,128,128,128,5,12,u,u,u,u,u,u,u]11544; AVX2-FCP-NEXT:    vpshufb %xmm1, %xmm0, %xmm011545; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm2 = [4,11,128,128,0,7,14,128,128,u,u,u,u,u,u,u]11546; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm10, %xmm311547; AVX2-FCP-NEXT:    vpor %xmm0, %xmm3, %xmm011548; AVX2-FCP-NEXT:    vextracti128 $1, %ymm14, %xmm311549; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0],ymm14[1,2,3],ymm3[4],ymm14[5,6],ymm3[7,8],ymm14[9,10,11],ymm3[12],ymm14[13,14],ymm3[15]11550; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [4,11,0,0,0,0,0,0,0,3,10,1,8,15,6,13,4,11,0,0,0,0,0,0,0,3,10,1,8,15,6,13]11551; AVX2-FCP-NEXT:    # ymm4 = mem[0,1,0,1]11552; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm3, %ymm311553; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm0, %ymm3, %ymm1411554; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload11555; AVX2-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm011556; AVX2-FCP-NEXT:    vpshufb %xmm1, %xmm0, %xmm011557; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm3, %xmm111558; AVX2-FCP-NEXT:    vpor %xmm0, %xmm1, %xmm011559; AVX2-FCP-NEXT:    vextracti128 $1, %ymm15, %xmm111560; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0],ymm15[1,2,3],ymm1[4],ymm15[5,6],ymm1[7,8],ymm15[9,10,11],ymm1[12],ymm15[13,14],ymm1[15]11561; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm1, %ymm111562; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm0, %ymm1, %ymm1511563; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload11564; AVX2-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm011565; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm1 = [128,128,3,10,128,128,128,6,13,u,u,u,u,u,u,u]11566; AVX2-FCP-NEXT:    vpshufb %xmm1, %xmm0, %xmm011567; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm2 = [5,12,128,128,1,8,15,128,128,u,u,u,u,u,u,u]11568; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm3, %xmm311569; AVX2-FCP-NEXT:    vpor %xmm0, %xmm3, %xmm011570; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11571; AVX2-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm311572; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm4[0],ymm3[1],ymm4[2,3],ymm3[4],ymm4[5,6,7,8],ymm3[9],ymm4[10,11],ymm3[12],ymm4[13,14,15]11573; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [5,12,0,0,0,0,0,0,0,4,11,2,9,0,7,14,5,12,0,0,0,0,0,0,0,4,11,2,9,0,7,14]11574; AVX2-FCP-NEXT:    # ymm4 = mem[0,1,0,1]11575; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm3, %ymm311576; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm0, %ymm3, %ymm011577; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload11578; AVX2-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm311579; AVX2-FCP-NEXT:    vpshufb %xmm1, %xmm3, %xmm111580; AVX2-FCP-NEXT:    vpshufb %xmm2, %xmm5, %xmm211581; AVX2-FCP-NEXT:    vpor %xmm1, %xmm2, %xmm111582; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload11583; AVX2-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm211584; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm3[0],ymm2[1],ymm3[2,3],ymm2[4],ymm3[5,6,7,8],ymm2[9],ymm3[10,11],ymm2[12],ymm3[13,14,15]11585; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm2, %ymm211586; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm1, %ymm2, %ymm111587; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [6,13,128,128,2,9,128,128,128,u,u,u,u,u,u,u]11588; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11589; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm4, %xmm211590; AVX2-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm411591; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm5 = [128,128,4,11,128,128,0,7,14,u,u,u,u,u,u,u]11592; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm4, %xmm411593; AVX2-FCP-NEXT:    vpor %xmm2, %xmm4, %xmm211594; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload11595; AVX2-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm411596; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm6[0],ymm4[1],ymm6[2,3,4],ymm4[5],ymm6[6,7,8],ymm4[9],ymm6[10,11,12],ymm4[13],ymm6[14,15]11597; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm6 = [6,13,0,0,0,0,0,0,0,5,12,3,10,1,8,15,6,13,0,0,0,0,0,0,0,5,12,3,10,1,8,15]11598; AVX2-FCP-NEXT:    # ymm6 = mem[0,1,0,1]11599; AVX2-FCP-NEXT:    vpshufb %ymm6, %ymm4, %ymm411600; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm2, %ymm4, %ymm211601; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload11602; AVX2-FCP-NEXT:    vpshufb %xmm3, %xmm4, %xmm311603; AVX2-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm411604; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm4, %xmm411605; AVX2-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm311606; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm5 # 32-byte Reload11607; AVX2-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm411608; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm5[0],ymm4[1],ymm5[2,3,4],ymm4[5],ymm5[6,7,8],ymm4[9],ymm5[10,11,12],ymm4[13],ymm5[14,15]11609; AVX2-FCP-NEXT:    vpshufb %ymm6, %ymm4, %ymm411610; AVX2-FCP-NEXT:    vpblendvb %ymm11, %ymm3, %ymm4, %ymm311611; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm7 # 32-byte Reload11612; AVX2-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm411613; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm5 = [u,u,128,128,128,5,12,128,128,1,8,15,u,u,u,u]11614; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm4, %xmm411615; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm6 = [u,u,0,7,14,128,128,3,10,128,128,128,u,u,u,u]11616; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm7, %xmm711617; AVX2-FCP-NEXT:    vpor %xmm4, %xmm7, %xmm411618; AVX2-FCP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm411619; AVX2-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm7 = [1,3,1,2,1,3,5,6]11620; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm8 # 32-byte Folded Reload11621; AVX2-FCP-NEXT:    vpbroadcastd {{.*#+}} ymm10 = [2,5,8,15,2,5,8,15,2,5,8,15,2,5,8,15,2,5,8,15,2,5,8,15,2,5,8,15,2,5,8,15]11622; AVX2-FCP-NEXT:    vpshufb %ymm10, %ymm8, %ymm811623; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3,4,5,6],ymm8[7]11624; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload11625; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm8[0],ymm4[1,2,3,4,5,6,7],ymm8[8],ymm4[9,10,11,12,13,14,15]11626; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm8[0,1,2,3],ymm4[4,5,6,7]11627; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm11 # 32-byte Reload11628; AVX2-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm811629; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm8, %xmm511630; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm11, %xmm611631; AVX2-FCP-NEXT:    vpor %xmm5, %xmm6, %xmm511632; AVX2-FCP-NEXT:    vpermd {{[-0-9]+}}(%r{{[sb]}}p), %ymm7, %ymm6 # 32-byte Folded Reload11633; AVX2-FCP-NEXT:    vpshufb %ymm10, %ymm6, %ymm611634; AVX2-FCP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm511635; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm5[0,1,2,3,4,5,6],ymm6[7]11636; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload11637; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm5 = ymm6[0],ymm5[1,2,3,4,5,6,7],ymm6[8],ymm5[9,10,11,12,13,14,15]11638; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]11639; AVX2-FCP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm9, %ymm6 # 32-byte Folded Reload11640; AVX2-FCP-NEXT:    # ymm6 = ymm9[0],mem[1,2,3,4,5,6,7],ymm9[8],mem[9,10,11,12,13,14,15]11641; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]11642; AVX2-FCP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm7 # 32-byte Folded Reload11643; AVX2-FCP-NEXT:    # ymm7 = ymm12[0],mem[1,2,3,4,5,6,7],ymm12[8],mem[9,10,11,12,13,14,15]11644; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm12[0,1,2,3],ymm7[4,5,6,7]11645; AVX2-FCP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm14, %ymm8 # 32-byte Folded Reload11646; AVX2-FCP-NEXT:    # ymm8 = ymm14[0],mem[1,2,3,4,5,6,7],ymm14[8],mem[9,10,11,12,13,14,15]11647; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm14[0,1,2,3],ymm8[4,5,6,7]11648; AVX2-FCP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm15, %ymm9 # 32-byte Folded Reload11649; AVX2-FCP-NEXT:    # ymm9 = ymm15[0],mem[1,2,3,4,5,6,7],ymm15[8],mem[9,10,11,12,13,14,15]11650; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm15[0,1,2,3],ymm9[4,5,6,7]11651; AVX2-FCP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm0, %ymm10 # 32-byte Folded Reload11652; AVX2-FCP-NEXT:    # ymm10 = ymm0[0],mem[1,2,3,4,5,6,7],ymm0[8],mem[9,10,11,12,13,14,15]11653; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm10[4,5,6,7]11654; AVX2-FCP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm1, %ymm10 # 32-byte Folded Reload11655; AVX2-FCP-NEXT:    # ymm10 = ymm1[0],mem[1,2,3,4,5,6,7],ymm1[8],mem[9,10,11,12,13,14,15]11656; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm10[4,5,6,7]11657; AVX2-FCP-NEXT:    vpblendw $254, (%rsp), %ymm2, %ymm10 # 32-byte Folded Reload11658; AVX2-FCP-NEXT:    # ymm10 = ymm2[0],mem[1,2,3,4,5,6,7],ymm2[8],mem[9,10,11,12,13,14,15]11659; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm10[4,5,6,7]11660; AVX2-FCP-NEXT:    vpblendw $254, {{[-0-9]+}}(%r{{[sb]}}p), %ymm3, %ymm10 # 32-byte Folded Reload11661; AVX2-FCP-NEXT:    # ymm10 = ymm3[0],mem[1,2,3,4,5,6,7],ymm3[8],mem[9,10,11,12,13,14,15]11662; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm3[0,1,2,3],ymm10[4,5,6,7]11663; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload11664; AVX2-FCP-NEXT:    vmovaps %ymm10, 32(%rsi)11665; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload11666; AVX2-FCP-NEXT:    vmovaps %ymm10, (%rsi)11667; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload11668; AVX2-FCP-NEXT:    vmovaps %ymm10, 32(%rdx)11669; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm10 # 32-byte Reload11670; AVX2-FCP-NEXT:    vmovaps %ymm10, (%rdx)11671; AVX2-FCP-NEXT:    vmovdqa %ymm4, 32(%rcx)11672; AVX2-FCP-NEXT:    vmovdqa %ymm5, (%rcx)11673; AVX2-FCP-NEXT:    vmovdqa %ymm6, 32(%r8)11674; AVX2-FCP-NEXT:    vmovdqa %ymm7, (%r8)11675; AVX2-FCP-NEXT:    vmovdqa %ymm8, 32(%r9)11676; AVX2-FCP-NEXT:    vmovdqa %ymm9, (%r9)11677; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax11678; AVX2-FCP-NEXT:    vmovdqa %ymm0, 32(%rax)11679; AVX2-FCP-NEXT:    vmovdqa %ymm1, (%rax)11680; AVX2-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax11681; AVX2-FCP-NEXT:    vmovdqa %ymm2, 32(%rax)11682; AVX2-FCP-NEXT:    vmovdqa %ymm3, (%rax)11683; AVX2-FCP-NEXT:    addq $776, %rsp # imm = 0x30811684; AVX2-FCP-NEXT:    vzeroupper11685; AVX2-FCP-NEXT:    retq11686;11687; AVX512-LABEL: load_i8_stride7_vf64:11688; AVX512:       # %bb.0:11689; AVX512-NEXT:    vmovdqa {{.*#+}} ymm0 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]11690; AVX512-NEXT:    vmovdqa (%rdi), %ymm1211691; AVX512-NEXT:    vmovdqa 32(%rdi), %ymm1311692; AVX512-NEXT:    vmovdqa64 64(%rdi), %ymm3111693; AVX512-NEXT:    vmovdqa %ymm0, %ymm111694; AVX512-NEXT:    vmovdqa64 %ymm0, %ymm2411695; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm13 ^ (ymm1 & (ymm12 ^ ymm13))11696; AVX512-NEXT:    vextracti128 $1, %ymm1, %xmm211697; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm2[5,12],zero,zero,xmm2[1,8,15,u,u,u,u,u,u]11698; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[0,7,14],zero,zero,xmm1[3,10],zero,zero,zero,xmm1[u,u,u,u,u,u]11699; AVX512-NEXT:    vpor %xmm2, %xmm1, %xmm111700; AVX512-NEXT:    vmovdqa {{.*#+}} ymm9 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]11701; AVX512-NEXT:    vmovdqa64 96(%rdi), %ymm1911702; AVX512-NEXT:    vmovdqa %ymm9, %ymm211703; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm31 ^ (ymm2 & (ymm19 ^ ymm31))11704; AVX512-NEXT:    vmovdqa 80(%rdi), %xmm1111705; AVX512-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0,1],ymm11[2],ymm2[3,4],ymm11[5],ymm2[6,7,8,9],ymm11[10],ymm2[11,12],ymm11[13],ymm2[14,15]11706; AVX512-NEXT:    vpshufb {{.*#+}} ymm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm2[6,13,4,11,2,9,16,23,30,u],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero11707; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 | (ymm1 & mem)11708; AVX512-NEXT:    vmovdqa {{.*#+}} ymm14 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]11709; AVX512-NEXT:    vmovdqa64 128(%rdi), %ymm2111710; AVX512-NEXT:    vmovdqa64 160(%rdi), %ymm2911711; AVX512-NEXT:    vmovdqa %ymm14, %ymm111712; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm21 ^ (ymm1 & (ymm29 ^ ymm21))11713; AVX512-NEXT:    vextracti128 $1, %ymm1, %xmm311714; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13,u,u,u,u]11715; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,5,12],zero,zero,xmm1[1,8,15],zero,zero,xmm1[u,u,u,u]11716; AVX512-NEXT:    vpor %xmm3, %xmm1, %xmm111717; AVX512-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm111718; AVX512-NEXT:    vmovdqa 192(%rdi), %xmm011719; AVX512-NEXT:    vpbroadcastd {{.*#+}} xmm4 = [0,0,4,11,0,0,4,11,0,0,4,11,0,0,4,11]11720; AVX512-NEXT:    vpshufb %xmm4, %xmm0, %xmm311721; AVX512-NEXT:    vmovdqa64 %xmm4, %xmm2711722; AVX512-NEXT:    vmovdqa64 %xmm0, %xmm2011723; AVX512-NEXT:    vmovdqa 208(%rdi), %xmm1011724; AVX512-NEXT:    vpshufb {{.*#+}} xmm5 = xmm10[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]11725; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3]11726; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311727; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm3[7]11728; AVX512-NEXT:    vmovdqa 240(%rdi), %xmm311729; AVX512-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm3[5,12,u,u,u,u,u,u,u,u,u,u,u]11730; AVX512-NEXT:    vmovdqa 224(%rdi), %xmm611731; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = xmm6[0,7,14],zero,zero,xmm6[u,u,u,u,u,u,u,u,u,u,u]11732; AVX512-NEXT:    vpor %xmm5, %xmm7, %xmm511733; AVX512-NEXT:    vinserti32x4 $2, %xmm5, %zmm1, %zmm2211734; AVX512-NEXT:    vmovdqa64 {{.*#+}} zmm4 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]11735; AVX512-NEXT:    vpternlogq {{.*#+}} zmm22 = zmm22 ^ (zmm4 & (zmm22 ^ zmm2))11736; AVX512-NEXT:    vmovdqa64 288(%rdi), %ymm1811737; AVX512-NEXT:    vmovdqa64 256(%rdi), %ymm1611738; AVX512-NEXT:    vmovdqa %ymm9, %ymm211739; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm18 ^ (ymm2 & (ymm16 ^ ymm18))11740; AVX512-NEXT:    vpshufb {{.*#+}} xmm5 = xmm2[u,u,u,u,u,3,10],zero,zero,zero,xmm2[6,13],zero,zero,xmm2[u,u]11741; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm211742; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u],zero,zero,xmm2[1,8,15],zero,zero,xmm2[4,11,u,u]11743; AVX512-NEXT:    vpor %xmm5, %xmm2, %xmm211744; AVX512-NEXT:    vmovdqa64 352(%rdi), %ymm1711745; AVX512-NEXT:    vmovdqa64 320(%rdi), %ymm2811746; AVX512-NEXT:    vmovdqa %ymm14, %ymm711747; AVX512-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm17 ^ (ymm7 & (ymm28 ^ ymm17))11748; AVX512-NEXT:    vpermq {{.*#+}} ymm8 = ymm7[2,3,0,1]11749; AVX512-NEXT:    vpblendw {{.*#+}} ymm7 = ymm7[0,1],ymm8[2],ymm7[3,4,5],ymm8[6],ymm7[7,8,9],ymm8[10],ymm7[11,12,13],ymm8[14],ymm7[15]11750; AVX512-NEXT:    vpshufb {{.*#+}} ymm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm7[2,9,16,23,30,21,28,19,26,u,u,u,u,u,u,u,u,u]11751; AVX512-NEXT:    vmovdqa64 {{.*#+}} ymm23 = [65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535]11752; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 | (ymm2 & ymm23)11753; AVX512-NEXT:    vmovdqa {{.*#+}} ymm7 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]11754; AVX512-NEXT:    vmovdqa %ymm7, %ymm211755; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm13 ^ (ymm2 & (ymm12 ^ ymm13))11756; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm1511757; AVX512-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,zero,xmm15[6,13],zero,zero,xmm15[2,9,u,u,u,u,u,u,u]11758; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,zero,xmm2[u,u,u,u,u,u,u]11759; AVX512-NEXT:    vpor %xmm2, %xmm15, %xmm211760; AVX512-NEXT:    vmovdqa64 %ymm24, %ymm1511761; AVX512-NEXT:    vmovdqa64 %ymm24, %ymm511762; AVX512-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm19 ^ (ymm15 & (ymm31 ^ ymm19))11763; AVX512-NEXT:    vpblendw {{.*#+}} ymm15 = ymm15[0,1],ymm11[2],ymm15[3,4,5],ymm11[6],ymm15[7,8,9],ymm11[10],ymm15[11,12,13],ymm11[14],ymm15[15]11764; AVX512-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]11765; AVX512-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm2 & ~mem)11766; AVX512-NEXT:    vmovdqa %ymm9, %ymm211767; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm21 ^ (ymm2 & (ymm29 ^ ymm21))11768; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm2[u,u,u,6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u,u,u]11769; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm211770; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u],zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u]11771; AVX512-NEXT:    vpor %xmm0, %xmm2, %xmm011772; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm3[6,13,u,u,u,u,u,u,u,u,u,u,u]11773; AVX512-NEXT:    vmovdqa64 %xmm3, %xmm2511774; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm6[1,8,15],zero,zero,xmm6[u,u,u,u,u,u,u,u,u,u,u]11775; AVX512-NEXT:    vmovdqa64 %xmm6, %xmm2611776; AVX512-NEXT:    vpor %xmm2, %xmm3, %xmm211777; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm10[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]11778; AVX512-NEXT:    vmovdqa64 %xmm20, %xmm111779; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]11780; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm6[0],xmm3[0],xmm6[1],xmm3[1],xmm6[2],xmm3[2],xmm6[3],xmm3[3]11781; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011782; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311783; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm3[7]11784; AVX512-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm2411785; AVX512-NEXT:    vpternlogq {{.*#+}} zmm24 = zmm24 ^ (zmm4 & (zmm24 ^ zmm15))11786; AVX512-NEXT:    vmovdqa %ymm14, %ymm011787; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm13 ^ (ymm0 & (ymm12 ^ ymm13))11788; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[2,9],zero,zero,zero,xmm0[5,12],zero,zero,xmm0[u,u,u,u,u,u,u]11789; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm011790; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,xmm0[0,7,14],zero,zero,xmm0[3,10,u,u,u,u,u,u,u]11791; AVX512-NEXT:    vpor %xmm2, %xmm0, %xmm011792; AVX512-NEXT:    vmovdqa %ymm7, %ymm211793; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm19 ^ (ymm2 & (ymm31 ^ ymm19))11794; AVX512-NEXT:    vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill11795; AVX512-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0,1,2],ymm11[3],ymm2[4,5],ymm11[6],ymm2[7,8,9,10],ymm11[11],ymm2[12,13],ymm11[14],ymm2[15]11796; AVX512-NEXT:    vpshufb {{.*#+}} ymm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm2[1,8,15,6,13,4,11,18,25],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero11797; AVX512-NEXT:    vpmovsxdq {{.*#+}} ymm15 = [18446744073709551615,255,18446744073709486080,18446744073709551615]11798; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 | (ymm0 & ymm15)11799; AVX512-NEXT:    vmovdqa %ymm5, %ymm011800; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm29 ^ (ymm0 & (ymm21 ^ ymm29))11801; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm311802; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15,u,u,u,u]11803; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,0,7,14],zero,zero,xmm0[3,10],zero,zero,zero,xmm0[u,u,u,u]11804; AVX512-NEXT:    vpor %xmm3, %xmm0, %xmm011805; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011806; AVX512-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11807; AVX512-NEXT:    vmovdqa64 %xmm27, %xmm311808; AVX512-NEXT:    vpshufb %xmm3, %xmm10, %xmm311809; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]11810; AVX512-NEXT:    vmovdqa64 %xmm20, %xmm511811; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm6[0],xmm3[0],xmm6[1],xmm3[1],xmm6[2],xmm3[2],xmm6[3],xmm3[3]11812; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm311813; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm3[7]11814; AVX512-NEXT:    vmovdqa64 %xmm26, %xmm111815; AVX512-NEXT:    vmovdqa64 %xmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11816; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[2,9],zero,zero,zero,xmm1[u,u,u,u,u,u,u,u,u,u,u]11817; AVX512-NEXT:    vmovdqa64 %xmm25, %xmm411818; AVX512-NEXT:    vmovdqa64 %xmm25, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill11819; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,xmm4[0,7,14,u,u,u,u,u,u,u,u,u,u,u]11820; AVX512-NEXT:    vpor %xmm3, %xmm6, %xmm311821; AVX512-NEXT:    vinserti32x4 $2, %xmm3, %zmm0, %zmm2511822; AVX512-NEXT:    vpmovsxdq {{.*#+}} zmm20 = [0,0,18446744073709486080,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615]11823; AVX512-NEXT:    vpternlogq {{.*#+}} zmm25 = zmm2 ^ (zmm20 & (zmm25 ^ zmm2))11824; AVX512-NEXT:    vmovdqa %ymm9, %ymm011825; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm13 ^ (ymm0 & (ymm12 ^ ymm13))11826; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[3,10],zero,zero,zero,xmm0[6,13],zero,zero,xmm0[u,u,u,u,u,u,u]11827; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm011828; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,xmm0[1,8,15],zero,zero,xmm0[4,11,u,u,u,u,u,u,u]11829; AVX512-NEXT:    vpor %xmm2, %xmm0, %xmm011830; AVX512-NEXT:    vmovdqa %ymm14, %ymm211831; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm19 ^ (ymm2 & (ymm31 ^ ymm19))11832; AVX512-NEXT:    vpblendw {{.*#+}} ymm2 = ymm11[0],ymm2[1,2],ymm11[3],ymm2[4,5,6],ymm11[7,8],ymm2[9,10],ymm11[11],ymm2[12,13,14],ymm11[15]11833; AVX512-NEXT:    vpshufb {{.*#+}} ymm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm2[2,9,0,7,14,5,12,19,26],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero11834; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 | (ymm0 & ymm15)11835; AVX512-NEXT:    vmovdqa %ymm15, %ymm1111836; AVX512-NEXT:    vmovdqa %ymm7, %ymm011837; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm29 ^ (ymm0 & (ymm21 ^ ymm29))11838; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm211839; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u],zero,zero,zero,xmm2[6,13],zero,zero,xmm2[2,9,u,u,u,u,u]11840; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,1,8,15],zero,zero,xmm0[4,11],zero,zero,xmm0[u,u,u,u,u]11841; AVX512-NEXT:    vpor %xmm2, %xmm0, %xmm011842; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011843; AVX512-NEXT:    vmovdqa {{.*#+}} ymm2 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,5,12,19,26,17,24,31,22,29,u,u,u,u,u,u,u,u,u]11844; AVX512-NEXT:    vpshufb %xmm2, %xmm10, %xmm611845; AVX512-NEXT:    vpshufb {{.*#+}} xmm15 = xmm5[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero11846; AVX512-NEXT:    vmovdqa %xmm5, %xmm1011847; AVX512-NEXT:    vpor %xmm6, %xmm15, %xmm611848; AVX512-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm611849; AVX512-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm6 ^ (mem & (ymm6 ^ ymm0))11850; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm1[3,10],zero,zero,zero,xmm1[u,u,u,u,u,u,u,u,u,u,u]11851; AVX512-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm4[1,8,15,u,u,u,u,u,u,u,u,u,u,u]11852; AVX512-NEXT:    vpor %xmm0, %xmm15, %xmm011853; AVX512-NEXT:    vmovdqa64 416(%rdi), %ymm2611854; AVX512-NEXT:    vinserti32x4 $2, %xmm0, %zmm6, %zmm3011855; AVX512-NEXT:    vmovdqa64 384(%rdi), %ymm2711856; AVX512-NEXT:    vpternlogq {{.*#+}} zmm30 = zmm3 ^ (zmm20 & (zmm30 ^ zmm3))11857; AVX512-NEXT:    vmovdqa %ymm7, %ymm011858; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm26 ^ (ymm0 & (ymm27 ^ ymm26))11859; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm311860; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,9]11861; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,1,8,15],zero,zero,xmm0[4,11],zero,zero11862; AVX512-NEXT:    vpor %xmm3, %xmm0, %xmm011863; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011864; AVX512-NEXT:    vmovdqa {{.*#+}} ymm1 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0]11865; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (ymm1 & (ymm0 ^ ymm8))11866; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2011867; AVX512-NEXT:    vpmovsxwd {{.*#+}} zmm8 = [4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,255,0,0,0,0,0,0]11868; AVX512-NEXT:    vpternlogq {{.*#+}} zmm20 = zmm20 ^ (zmm8 & (zmm20 ^ zmm22))11869; AVX512-NEXT:    vmovdqa %ymm7, %ymm011870; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm16 ^ (ymm0 & (ymm18 ^ ymm16))11871; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm311872; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12,u,u]11873; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,4,11],zero,zero,xmm0[0,7,14],zero,zero,xmm0[u,u]11874; AVX512-NEXT:    vpor %xmm3, %xmm0, %xmm011875; AVX512-NEXT:    vmovdqa %ymm9, %ymm311876; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm17 ^ (ymm3 & (ymm28 ^ ymm17))11877; AVX512-NEXT:    vpermq {{.*#+}} ymm6 = ymm3[2,3,0,1]11878; AVX512-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0,1,2],ymm6[3],ymm3[4,5],ymm6[6],ymm3[7,8,9,10],ymm6[11],ymm3[12,13],ymm6[14],ymm3[15]11879; AVX512-NEXT:    vpshufb {{.*#+}} ymm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm3[3,10,17,24,31,22,29,20,27,u,u,u,u,u,u,u,u,u]11880; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 | (ymm0 & ymm23)11881; AVX512-NEXT:    vmovdqa %ymm14, %ymm011882; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm26 ^ (ymm0 & (ymm27 ^ ymm26))11883; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm0[5,12],zero,zero11884; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm011885; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u],zero,zero,xmm0[0,7,14],zero,zero,xmm0[3,10]11886; AVX512-NEXT:    vpor %xmm6, %xmm0, %xmm011887; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011888; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (ymm1 & (ymm0 ^ ymm3))11889; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2211890; AVX512-NEXT:    vpternlogq {{.*#+}} zmm22 = zmm22 ^ (zmm8 & (zmm22 ^ zmm24))11891; AVX512-NEXT:    vmovdqa %ymm14, %ymm011892; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm16 ^ (ymm0 & (ymm18 ^ ymm16))11893; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm311894; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13,u,u]11895; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,5,12],zero,zero,xmm0[1,8,15],zero,zero,xmm0[u,u]11896; AVX512-NEXT:    vpor %xmm3, %xmm0, %xmm011897; AVX512-NEXT:    vmovdqa %ymm7, %ymm311898; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm28 ^ (ymm3 & (ymm17 ^ ymm28))11899; AVX512-NEXT:    vpermq {{.*#+}} ymm6 = ymm3[2,3,0,1]11900; AVX512-NEXT:    vpblendw {{.*#+}} ymm3 = ymm6[0],ymm3[1,2],ymm6[3],ymm3[4,5,6],ymm6[7,8],ymm3[9,10],ymm6[11],ymm3[12,13,14],ymm6[15]11901; AVX512-NEXT:    vpshufb {{.*#+}} ymm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm3[4,11,18,25,16,23,30,21,28,u,u,u,u,u,u,u,u,u]11902; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 | (ymm0 & ymm23)11903; AVX512-NEXT:    vmovdqa %ymm9, %ymm011904; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm26 ^ (ymm0 & (ymm27 ^ ymm26))11905; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm0[u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm0[6,13],zero,zero11906; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm011907; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero,xmm0[4,11]11908; AVX512-NEXT:    vpor %xmm6, %xmm0, %xmm011909; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011910; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (ymm1 & (ymm0 ^ ymm3))11911; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2411912; AVX512-NEXT:    vpternlogq {{.*#+}} zmm24 = zmm24 ^ (zmm8 & (zmm24 ^ zmm25))11913; AVX512-NEXT:    vmovdqa %ymm14, %ymm011914; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm28 ^ (ymm0 & (ymm17 ^ ymm28))11915; AVX512-NEXT:    vpermq {{.*#+}} ymm3 = ymm0[2,3,0,1]11916; AVX512-NEXT:    vpblendw {{.*#+}} ymm0 = ymm3[0],ymm0[1,2,3],ymm3[4],ymm0[5,6],ymm3[7,8],ymm0[9,10,11],ymm3[12],ymm0[13,14],ymm3[15]11917; AVX512-NEXT:    vpshufb %ymm2, %ymm0, %ymm011918; AVX512-NEXT:    vmovdqa %ymm9, %ymm211919; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm16 ^ (ymm2 & (ymm18 ^ ymm16))11920; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[u,u,u,u,u,6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u]11921; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm211922; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u],zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u]11923; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm211924; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & ymm23) | ymm011925; AVX512-NEXT:    vmovdqa %ymm7, %ymm011926; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm27 ^ (ymm0 & (ymm26 ^ ymm27))11927; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm311928; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12]11929; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,4,11],zero,zero,xmm0[0,7,14],zero,zero11930; AVX512-NEXT:    vpor %xmm3, %xmm0, %xmm011931; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm011932; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (ymm1 & (ymm0 ^ ymm2))11933; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2511934; AVX512-NEXT:    vpternlogq {{.*#+}} zmm25 = zmm25 ^ (zmm8 & (zmm25 ^ zmm30))11935; AVX512-NEXT:    vmovdqa %ymm9, %ymm011936; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm28 ^ (ymm0 & (ymm17 ^ ymm28))11937; AVX512-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]11938; AVX512-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0],ymm2[1],ymm0[2,3],ymm2[4],ymm0[5,6,7,8],ymm2[9],ymm0[10,11],ymm2[12],ymm0[13,14,15]11939; AVX512-NEXT:    vmovdqa {{.*#+}} ymm4 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]11940; AVX512-NEXT:    vmovdqa %ymm4, %ymm211941; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm18 ^ (ymm2 & (ymm16 ^ ymm18))11942; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm311943; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u],zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15,u,u]11944; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,0,7,14],zero,zero,xmm2[3,10],zero,zero,zero,xmm2[u,u]11945; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm211946; AVX512-NEXT:    vpshufb {{.*#+}} ymm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]11947; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & ymm23) | ymm011948; AVX512-NEXT:    vmovdqa %ymm14, %ymm011949; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm27 ^ (ymm0 & (ymm26 ^ ymm27))11950; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm311951; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13]11952; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,5,12],zero,zero,xmm0[1,8,15],zero,zero11953; AVX512-NEXT:    vpor %xmm3, %xmm0, %xmm011954; AVX512-NEXT:    vinserti32x4 $1, %xmm0, %ymm0, %ymm3011955; AVX512-NEXT:    vpternlogq {{.*#+}} ymm30 = ymm30 ^ (ymm1 & (ymm30 ^ ymm2))11956; AVX512-NEXT:    vmovdqa %ymm4, %ymm011957; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm17 ^ (ymm0 & (ymm28 ^ ymm17))11958; AVX512-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]11959; AVX512-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0],ymm2[1],ymm0[2,3,4],ymm2[5],ymm0[6,7,8],ymm2[9],ymm0[10,11,12],ymm2[13],ymm0[14,15]11960; AVX512-NEXT:    vmovdqa %ymm7, %ymm211961; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm18 ^ (ymm2 & (ymm16 ^ ymm18))11962; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm311963; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u],zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,9,u,u,u]11964; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,1,8,15],zero,zero,xmm2[4,11],zero,zero,xmm2[u,u,u]11965; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm211966; AVX512-NEXT:    vmovdqa {{.*#+}} ymm5 = [u,u,u,u,128,128,128,128,128,128,128,128,128,0,7,14,21,28,19,26,17,24,31,u,u,u,u,u,u,u,u,u]11967; AVX512-NEXT:    vpshufb %ymm5, %ymm0, %ymm011968; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & ~mem) | ymm011969; AVX512-NEXT:    vmovdqa %ymm9, %ymm011970; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm27 ^ (ymm0 & (ymm26 ^ ymm27))11971; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[u,u,u,u,u,u,u,6,13],zero,zero,xmm0[2,9],zero,zero,zero11972; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm011973; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u],zero,zero,xmm0[4,11],zero,zero,xmm0[0,7,14]11974; AVX512-NEXT:    vpor %xmm3, %xmm0, %xmm011975; AVX512-NEXT:    vinserti32x4 $1, %xmm0, %ymm0, %ymm2311976; AVX512-NEXT:    vpternlogq {{.*#+}} ymm23 = ymm23 ^ (ymm1 & (ymm23 ^ ymm2))11977; AVX512-NEXT:    vmovdqa %ymm7, %ymm011978; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm12 ^ (ymm0 & (ymm13 ^ ymm12))11979; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm211980; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[2,9],zero,zero,zero,xmm2[5,12,u,u,u,u,u,u,u]11981; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,11],zero,zero,xmm0[0,7,14],zero,zero,xmm0[u,u,u,u,u,u,u]11982; AVX512-NEXT:    vpor %xmm2, %xmm0, %xmm011983; AVX512-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm26 ^ (ymm4 & (ymm27 ^ ymm26))11984; AVX512-NEXT:    vmovdqa %ymm14, %ymm211985; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm12 ^ (ymm2 & (ymm13 ^ ymm12))11986; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm311987; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13,u,u,u,u,u,u,u]11988; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[5,12],zero,zero,xmm2[1,8,15],zero,zero,xmm2[u,u,u,u,u,u,u]11989; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm211990; AVX512-NEXT:    vmovdqa %ymm9, %ymm311991; AVX512-NEXT:    vmovdqa %ymm9, %ymm1511992; AVX512-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm12 ^ (ymm9 & (ymm13 ^ ymm12))11993; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm19 ^ (ymm3 & (ymm31 ^ ymm19))11994; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm9[6,13],zero,zero,xmm9[2,9],zero,zero,zero,xmm9[u,u,u,u,u,u,u]11995; AVX512-NEXT:    vextracti128 $1, %ymm9, %xmm911996; AVX512-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,xmm9[4,11],zero,zero,xmm9[0,7,14,u,u,u,u,u,u,u]11997; AVX512-NEXT:    vpor %xmm6, %xmm9, %xmm611998; AVX512-NEXT:    vmovdqa %ymm14, %ymm1211999; AVX512-NEXT:    vpternlogq {{.*#+}} ymm16 = ymm18 ^ (ymm14 & (ymm16 ^ ymm18))12000; AVX512-NEXT:    vmovdqa %ymm7, %ymm912001; AVX512-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm31 ^ (ymm9 & (ymm19 ^ ymm31))12002; AVX512-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm31 ^ (ymm14 & (ymm19 ^ ymm31))12003; AVX512-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload12004; AVX512-NEXT:    vpblendw {{.*#+}} ymm3 = ymm8[0],ymm3[1,2,3],ymm8[4],ymm3[5,6],ymm8[7,8],ymm3[9,10,11],ymm8[12],ymm3[13,14],ymm8[15]12005; AVX512-NEXT:    vpshufb {{.*#+}} ymm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm3[3,10,1,8,15,6,13,20,27],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12006; AVX512-NEXT:    vmovdqa %ymm11, %ymm112007; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 | (ymm0 & ymm11)12008; AVX512-NEXT:    vpblendw {{.*#+}} ymm0 = ymm9[0],ymm8[1],ymm9[2,3],ymm8[4],ymm9[5,6,7,8],ymm8[9],ymm9[10,11],ymm8[12],ymm9[13,14,15]12009; AVX512-NEXT:    vpshufb {{.*#+}} ymm11 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[4,11,2,9,0,7,14,21,28],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12010; AVX512-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm11 | (ymm2 & ymm1)12011; AVX512-NEXT:    vpblendw {{.*#+}} ymm0 = ymm14[0],ymm8[1],ymm14[2,3,4],ymm8[5],ymm14[6,7,8],ymm8[9],ymm14[10,11,12],ymm8[13],ymm14[14,15]12012; AVX512-NEXT:    vpshufb {{.*#+}} ymm9 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[5,12,3,10,1,8,15,22,29],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12013; AVX512-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm9 | (ymm6 & ymm1)12014; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm29 ^ (ymm12 & (ymm21 ^ ymm29))12015; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm12[u,u,2,9],zero,zero,zero,xmm12[5,12],zero,zero,xmm12[u,u,u,u,u]12016; AVX512-NEXT:    vextracti128 $1, %ymm12, %xmm212017; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u],zero,zero,xmm2[0,7,14],zero,zero,xmm2[3,10,u,u,u,u,u]12018; AVX512-NEXT:    vpor %xmm0, %xmm2, %xmm012019; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload12020; AVX512-NEXT:    vmovdqa {{.*#+}} ymm1 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]12021; AVX512-NEXT:    vpshufb %xmm1, %xmm12, %xmm212022; AVX512-NEXT:    vmovdqa %xmm10, %xmm1312023; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm10[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero12024; AVX512-NEXT:    vpor %xmm2, %xmm6, %xmm212025; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012026; AVX512-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm212027; AVX512-NEXT:    vpmovsxdq {{.*#+}} ymm1 = [18446744073709551615,18446744073709551615,18446744073709551615,16777215]12028; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 ^ (ymm1 & (ymm2 ^ ymm0))12029; AVX512-NEXT:    vpternlogq {{.*#+}} ymm28 = ymm17 ^ (ymm7 & (ymm28 ^ ymm17))12030; AVX512-NEXT:    vmovd {{.*#+}} xmm10 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]12031; AVX512-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm29 ^ (ymm15 & (ymm21 ^ ymm29))12032; AVX512-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm21 ^ (ymm7 & (ymm29 ^ ymm21))12033; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload12034; AVX512-NEXT:    vpshufb %xmm10, %xmm8, %xmm012035; AVX512-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12036; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm14[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]12037; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xmm6[3]12038; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm2, %zmm212039; AVX512-NEXT:    vmovdqa64 {{.*#+}} zmm0 = [65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535]12040; AVX512-NEXT:    vpternlogq {{.*#+}} zmm2 = zmm2 ^ (zmm0 & (zmm2 ^ zmm3))12041; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[u,u,3,10],zero,zero,zero,xmm15[6,13],zero,zero,xmm15[u,u,u,u,u]12042; AVX512-NEXT:    vextracti128 $1, %ymm15, %xmm612043; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u],zero,zero,xmm6[1,8,15],zero,zero,xmm6[4,11,u,u,u,u,u]12044; AVX512-NEXT:    vpor %xmm3, %xmm6, %xmm312045; AVX512-NEXT:    vpshufb %xmm5, %xmm12, %xmm612046; AVX512-NEXT:    vmovdqa %xmm12, %xmm1512047; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm13[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero12048; AVX512-NEXT:    vpor %xmm6, %xmm12, %xmm612049; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312050; AVX512-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm612051; AVX512-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm6 ^ (ymm1 & (ymm6 ^ ymm3))12052; AVX512-NEXT:    vextracti128 $1, %ymm7, %xmm312053; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12,u,u,u,u,u]12054; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,4,11],zero,zero,xmm7[0,7,14],zero,zero,xmm7[u,u,u,u,u]12055; AVX512-NEXT:    vpor %xmm3, %xmm7, %xmm312056; AVX512-NEXT:    vmovdqa {{.*#+}} ymm7 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,8,15,22,29,20,27,18,25,128,128,128,128,128,128,128,128,128,128]12057; AVX512-NEXT:    vpshufb %xmm7, %xmm15, %xmm1212058; AVX512-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero12059; AVX512-NEXT:    vpor %xmm13, %xmm12, %xmm1212060; AVX512-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312061; AVX512-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm1212062; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (ymm1 & (ymm12 ^ ymm3))12063; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm14[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]12064; AVX512-NEXT:    vpshufb {{.*#+}} xmm13 = xmm8[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]12065; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm13[0],xmm3[0],xmm13[1],xmm3[1],xmm13[2],xmm3[2],xmm13[3],xmm3[3]12066; AVX512-NEXT:    vinserti64x4 $1, %ymm3, %zmm6, %zmm312067; AVX512-NEXT:    vpternlogq {{.*#+}} zmm3 = zmm3 ^ (zmm0 & (zmm3 ^ zmm11))12068; AVX512-NEXT:    vpshufb %xmm10, %xmm14, %xmm612069; AVX512-NEXT:    vpshufb {{.*#+}} xmm10 = xmm8[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]12070; AVX512-NEXT:    vpunpcklwd {{.*#+}} xmm6 = xmm10[0],xmm6[0],xmm10[1],xmm6[1],xmm10[2],xmm6[2],xmm10[3],xmm6[3]12071; AVX512-NEXT:    vinserti64x4 $1, %ymm6, %zmm12, %zmm612072; AVX512-NEXT:    vpternlogq {{.*#+}} zmm6 = zmm6 ^ (zmm0 & (zmm6 ^ zmm9))12073; AVX512-NEXT:    vinserti64x4 $1, %ymm30, %zmm0, %zmm012074; AVX512-NEXT:    movw $-512, %ax # imm = 0xFE0012075; AVX512-NEXT:    kmovw %eax, %k112076; AVX512-NEXT:    vmovdqa32 %zmm0, %zmm2 {%k1}12077; AVX512-NEXT:    vinserti64x4 $1, %ymm23, %zmm0, %zmm012078; AVX512-NEXT:    vmovdqa32 %zmm0, %zmm3 {%k1}12079; AVX512-NEXT:    vmovdqa64 %ymm28, %ymm112080; AVX512-NEXT:    vpermq {{.*#+}} ymm0 = ymm28[2,3,0,1]12081; AVX512-NEXT:    vpblendw {{.*#+}} ymm0 = ymm1[0,1],ymm0[2],ymm1[3,4],ymm0[5],ymm1[6,7,8,9],ymm0[10],ymm1[11,12],ymm0[13],ymm1[14,15]12082; AVX512-NEXT:    vpshufb %ymm7, %ymm0, %ymm012083; AVX512-NEXT:    vmovdqa64 %ymm16, %ymm112084; AVX512-NEXT:    vpshufb {{.*#+}} xmm5 = xmm1[u,u,u,u,2,9],zero,zero,zero,xmm1[5,12],zero,zero,xmm1[u,u,u]12085; AVX512-NEXT:    vextracti32x4 $1, %ymm16, %xmm112086; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u],zero,zero,xmm1[0,7,14],zero,zero,xmm1[3,10,u,u,u]12087; AVX512-NEXT:    vpor %xmm5, %xmm1, %xmm112088; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = (ymm1 & mem) | ymm012089; AVX512-NEXT:    vextracti128 $1, %ymm4, %xmm012090; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero,xmm0[1,8,15]12091; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,u,u,0,7,14],zero,zero,xmm4[3,10],zero,zero,zero12092; AVX512-NEXT:    vpor %xmm0, %xmm4, %xmm012093; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012094; AVX512-NEXT:    vpblendw {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3,4,5,6,7],ymm1[8,9,10],ymm0[11,12,13,14,15]12095; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12096; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm012097; AVX512-NEXT:    vmovdqa32 %zmm0, %zmm6 {%k1}12098; AVX512-NEXT:    vmovdqa64 %zmm20, (%rsi)12099; AVX512-NEXT:    vmovdqa64 %zmm22, (%rdx)12100; AVX512-NEXT:    vmovdqa64 %zmm24, (%rcx)12101; AVX512-NEXT:    vmovdqa64 %zmm25, (%r8)12102; AVX512-NEXT:    vmovdqa64 %zmm2, (%r9)12103; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax12104; AVX512-NEXT:    vmovdqa64 %zmm3, (%rax)12105; AVX512-NEXT:    movq {{[0-9]+}}(%rsp), %rax12106; AVX512-NEXT:    vmovdqa64 %zmm6, (%rax)12107; AVX512-NEXT:    vzeroupper12108; AVX512-NEXT:    retq12109;12110; AVX512-FCP-LABEL: load_i8_stride7_vf64:12111; AVX512-FCP:       # %bb.0:12112; AVX512-FCP-NEXT:    vmovdqa64 {{.*#+}} ymm19 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]12113; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %ymm2012114; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %ymm1212115; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm2712116; AVX512-FCP-NEXT:    vmovdqa64 %ymm19, %ymm012117; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm12 ^ (ymm0 & (ymm20 ^ ymm12))12118; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm112119; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[5,12],zero,zero,xmm1[1,8,15,u,u,u,u,u,u]12120; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[0,7,14],zero,zero,xmm0[3,10],zero,zero,zero,xmm0[u,u,u,u,u,u]12121; AVX512-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm012122; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]12123; AVX512-FCP-NEXT:    vmovdqa64 96(%rdi), %ymm3112124; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm112125; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm27 ^ (ymm1 & (ymm31 ^ ymm27))12126; AVX512-FCP-NEXT:    vmovdqa 80(%rdi), %xmm612127; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm1[0,1],ymm6[2],ymm1[3,4],ymm6[5],ymm1[6,7,8,9],ymm6[10],ymm1[11,12],ymm6[13],ymm1[14,15]12128; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm1[6,13,4,11,2,9,16,23,30,u],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12129; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm1 | (ymm0 & mem)12130; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm9 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]12131; AVX512-FCP-NEXT:    vmovdqa64 128(%rdi), %ymm2812132; AVX512-FCP-NEXT:    vmovdqa64 160(%rdi), %ymm3012133; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm012134; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm28 ^ (ymm0 & (ymm30 ^ ymm28))12135; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm212136; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u],zero,zero,xmm2[3,10],zero,zero,zero,xmm2[6,13,u,u,u,u]12137; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,5,12],zero,zero,xmm0[1,8,15],zero,zero,xmm0[u,u,u,u]12138; AVX512-FCP-NEXT:    vpor %xmm2, %xmm0, %xmm012139; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012140; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm2 = [0,0,0,0,1,2,4,6]12141; AVX512-FCP-NEXT:    vmovdqa 192(%rdi), %ymm312142; AVX512-FCP-NEXT:    vpermd %ymm3, %ymm2, %ymm212143; AVX512-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,u,u,u,u,u,u,u,u,16,23,26,29]12144; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm2[7]12145; AVX512-FCP-NEXT:    vmovdqa 240(%rdi), %xmm412146; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm4[5,12,u,u,u,u,u,u,u,u,u,u,u]12147; AVX512-FCP-NEXT:    vmovdqa 224(%rdi), %xmm512148; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm5[0,7,14],zero,zero,xmm5[u,u,u,u,u,u,u,u,u,u,u]12149; AVX512-FCP-NEXT:    vpor %xmm2, %xmm7, %xmm212150; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm812151; AVX512-FCP-NEXT:    vmovdqa64 {{.*#+}} zmm21 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]12152; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm8 = zmm8 ^ (zmm21 & (zmm8 ^ zmm1))12153; AVX512-FCP-NEXT:    vmovdqa64 288(%rdi), %ymm1612154; AVX512-FCP-NEXT:    vmovdqa 256(%rdi), %ymm1112155; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm012156; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm16 ^ (ymm0 & (ymm11 ^ ymm16))12157; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[u,u,u,u,u,3,10],zero,zero,zero,xmm0[6,13],zero,zero,xmm0[u,u]12158; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm012159; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero,xmm0[4,11,u,u]12160; AVX512-FCP-NEXT:    vpor %xmm2, %xmm0, %xmm012161; AVX512-FCP-NEXT:    vmovdqa 352(%rdi), %ymm1412162; AVX512-FCP-NEXT:    vmovdqa 320(%rdi), %ymm212163; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm712164; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm14 ^ (ymm7 & (ymm2 ^ ymm14))12165; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm7[2,3,0,1]12166; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm7 = ymm7[0,1],ymm13[2],ymm7[3,4,5],ymm13[6],ymm7[7,8,9],ymm13[10],ymm7[11,12,13],ymm13[14],ymm7[15]12167; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm7[2,9,16,23,30,21,28,19,26,u,u,u,u,u,u,u,u,u]12168; AVX512-FCP-NEXT:    vmovdqa64 {{.*#+}} ymm26 = [65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535]12169; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 | (ymm0 & ymm26)12170; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm1 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]12171; AVX512-FCP-NEXT:    vmovdqa64 416(%rdi), %ymm1712172; AVX512-FCP-NEXT:    vmovdqa64 384(%rdi), %ymm1812173; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm712174; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm17 ^ (ymm7 & (ymm18 ^ ymm17))12175; AVX512-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm1512176; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u,u,u,u,u,u],zero,zero,zero,xmm15[6,13],zero,zero,xmm15[2,9]12177; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,1,8,15],zero,zero,xmm7[4,11],zero,zero12178; AVX512-FCP-NEXT:    vpor %xmm7, %xmm15, %xmm712179; AVX512-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm1512180; AVX512-FCP-NEXT:    vmovdqa64 {{.*#+}} ymm23 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0]12181; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 ^ (ymm23 & (ymm15 ^ ymm13))12182; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm15, %zmm0, %zmm012183; AVX512-FCP-NEXT:    vpmovsxwd {{.*#+}} zmm29 = [4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,255,0,0,0,0,0,0]12184; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm0 ^ (zmm29 & (zmm0 ^ zmm8))12185; AVX512-FCP-NEXT:    vmovdqu64 %zmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill12186; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm812187; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm12 ^ (ymm8 & (ymm20 ^ ymm12))12188; AVX512-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm1312189; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[6,13],zero,zero,xmm13[2,9,u,u,u,u,u,u,u]12190; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[1,8,15],zero,zero,xmm8[4,11],zero,zero,xmm8[u,u,u,u,u,u,u]12191; AVX512-FCP-NEXT:    vpor %xmm13, %xmm8, %xmm812192; AVX512-FCP-NEXT:    vmovdqa64 %ymm19, %ymm1312193; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm31 ^ (ymm13 & (ymm27 ^ ymm31))12194; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm13 = ymm13[0,1],ymm6[2],ymm13[3,4,5],ymm6[6],ymm13[7,8,9],ymm6[10],ymm13[11,12,13],ymm6[14],ymm13[15]12195; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm13[0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]12196; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 | (ymm8 & ~mem)12197; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm812198; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm28 ^ (ymm8 & (ymm30 ^ ymm28))12199; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[u,u,u,6,13],zero,zero,xmm8[2,9],zero,zero,zero,xmm8[u,u,u,u]12200; AVX512-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm812201; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u],zero,zero,xmm8[4,11],zero,zero,xmm8[0,7,14,u,u,u,u]12202; AVX512-FCP-NEXT:    vpor %xmm15, %xmm8, %xmm812203; AVX512-FCP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm812204; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm15 = [0,0,0,0,1,3,4,6]12205; AVX512-FCP-NEXT:    vpermd %ymm3, %ymm15, %ymm1512206; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm15[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,20,27,30]12207; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm8[0,1,2,3,4,5,6],ymm15[7]12208; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,zero,xmm4[6,13,u,u,u,u,u,u,u,u,u,u,u]12209; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm5[1,8,15],zero,zero,xmm5[u,u,u,u,u,u,u,u,u,u,u]12210; AVX512-FCP-NEXT:    vpor %xmm7, %xmm15, %xmm712211; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm7, %zmm8, %zmm712212; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm7 = zmm7 ^ (zmm21 & (zmm7 ^ zmm13))12213; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm812214; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm11 ^ (ymm8 & (ymm16 ^ ymm11))12215; AVX512-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm1312216; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u,u,u],zero,zero,xmm13[2,9],zero,zero,zero,xmm13[5,12,u,u]12217; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,4,11],zero,zero,xmm8[0,7,14],zero,zero,xmm8[u,u]12218; AVX512-FCP-NEXT:    vpor %xmm13, %xmm8, %xmm812219; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm1312220; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm14 ^ (ymm13 & (ymm2 ^ ymm14))12221; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm15 = ymm13[2,3,0,1]12222; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm13 = ymm13[0,1,2],ymm15[3],ymm13[4,5],ymm15[6],ymm13[7,8,9,10],ymm15[11],ymm13[12,13],ymm15[14],ymm13[15]12223; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm13[3,10,17,24,31,22,29,20,27,u,u,u,u,u,u,u,u,u]12224; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 | (ymm8 & ymm26)12225; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm812226; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm17 ^ (ymm8 & (ymm18 ^ ymm17))12227; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm8[5,12],zero,zero12228; AVX512-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm812229; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u],zero,zero,xmm8[0,7,14],zero,zero,xmm8[3,10]12230; AVX512-FCP-NEXT:    vpor %xmm15, %xmm8, %xmm812231; AVX512-FCP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm812232; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 ^ (ymm23 & (ymm8 ^ ymm13))12233; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm8, %zmm0, %zmm2412234; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm24 = zmm24 ^ (zmm29 & (zmm24 ^ zmm7))12235; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm712236; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm12 ^ (ymm7 & (ymm20 ^ ymm12))12237; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[2,9],zero,zero,zero,xmm7[5,12],zero,zero,xmm7[u,u,u,u,u,u,u]12238; AVX512-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm712239; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,xmm7[0,7,14],zero,zero,xmm7[3,10,u,u,u,u,u,u,u]12240; AVX512-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm712241; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm812242; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm31 ^ (ymm8 & (ymm27 ^ ymm31))12243; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm8[0,1,2],ymm6[3],ymm8[4,5],ymm6[6],ymm8[7,8,9,10],ymm6[11],ymm8[12,13],ymm6[14],ymm8[15]12244; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm8[1,8,15,6,13,4,11,18,25],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12245; AVX512-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm25 = [18446744073709551615,255,18446744073709486080,18446744073709551615]12246; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 | (ymm7 & ymm25)12247; AVX512-FCP-NEXT:    vmovdqa64 %ymm19, %ymm712248; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm30 ^ (ymm7 & (ymm28 ^ ymm30))12249; AVX512-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm1312250; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u],zero,zero,zero,xmm13[5,12],zero,zero,xmm13[1,8,15,u,u,u,u]12251; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,0,7,14],zero,zero,xmm7[3,10],zero,zero,zero,xmm7[u,u,u,u]12252; AVX512-FCP-NEXT:    vpor %xmm7, %xmm13, %xmm712253; AVX512-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm712254; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm13 = [0,0,0,0,1,3,5,6]12255; AVX512-FCP-NEXT:    vpermd %ymm3, %ymm13, %ymm312256; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm3 = 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,u,u,u,u,18,21,24,31]12257; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3,4,5,6],ymm3[7]12258; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm5[2,9],zero,zero,zero,xmm5[u,u,u,u,u,u,u,u,u,u,u]12259; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,xmm4[0,7,14,u,u,u,u,u,u,u,u,u,u,u]12260; AVX512-FCP-NEXT:    vpor %xmm7, %xmm13, %xmm712261; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm7, %zmm3, %zmm312262; AVX512-FCP-NEXT:    vpmovsxdq {{.*#+}} zmm22 = [0,0,18446744073709486080,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615]12263; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm3 = zmm8 ^ (zmm22 & (zmm3 ^ zmm8))12264; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm712265; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm11 ^ (ymm7 & (ymm16 ^ ymm11))12266; AVX512-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm812267; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u],zero,zero,xmm8[3,10],zero,zero,zero,xmm8[6,13,u,u]12268; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,5,12],zero,zero,xmm7[1,8,15],zero,zero,xmm7[u,u]12269; AVX512-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm712270; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm812271; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm2 ^ (ymm8 & (ymm14 ^ ymm2))12272; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm8[2,3,0,1]12273; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm13[0],ymm8[1,2],ymm13[3],ymm8[4,5,6],ymm13[7,8],ymm8[9,10],ymm13[11],ymm8[12,13,14],ymm13[15]12274; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm8[4,11,18,25,16,23,30,21,28,u,u,u,u,u,u,u,u,u]12275; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 | (ymm7 & ymm26)12276; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm712277; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm17 ^ (ymm7 & (ymm18 ^ ymm17))12278; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm7[u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm7[6,13],zero,zero12279; AVX512-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm712280; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u],zero,zero,xmm7[1,8,15],zero,zero,xmm7[4,11]12281; AVX512-FCP-NEXT:    vpor %xmm7, %xmm13, %xmm712282; AVX512-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm712283; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (ymm23 & (ymm7 ^ ymm8))12284; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm0, %zmm2112285; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm21 = zmm21 ^ (zmm29 & (zmm21 ^ zmm3))12286; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm312287; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm12 ^ (ymm3 & (ymm20 ^ ymm12))12288; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm3[3,10],zero,zero,zero,xmm3[6,13],zero,zero,xmm3[u,u,u,u,u,u,u]12289; AVX512-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm312290; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,11,u,u,u,u,u,u,u]12291; AVX512-FCP-NEXT:    vpor %xmm7, %xmm3, %xmm312292; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm712293; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm31 ^ (ymm7 & (ymm27 ^ ymm31))12294; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm7 = ymm6[0],ymm7[1,2],ymm6[3],ymm7[4,5,6],ymm6[7,8],ymm7[9,10],ymm6[11],ymm7[12,13,14],ymm6[15]12295; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm7[2,9,0,7,14,5,12,19,26],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12296; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 | (ymm3 & ymm25)12297; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm312298; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm30 ^ (ymm3 & (ymm28 ^ ymm30))12299; AVX512-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm812300; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[2,9,u,u,u,u,u]12301; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,1,8,15],zero,zero,xmm3[4,11],zero,zero,xmm3[u,u,u,u,u]12302; AVX512-FCP-NEXT:    vpor %xmm3, %xmm8, %xmm812303; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm13 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,5,12,19,26,17,24,31,22,29,u,u,u,u,u,u,u,u,u]12304; AVX512-FCP-NEXT:    vmovdqa 208(%rdi), %xmm012305; AVX512-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12306; AVX512-FCP-NEXT:    vpshufb %xmm13, %xmm0, %xmm012307; AVX512-FCP-NEXT:    vmovdqa 192(%rdi), %xmm1512308; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero12309; AVX512-FCP-NEXT:    vpor %xmm0, %xmm3, %xmm012310; AVX512-FCP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm312311; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012312; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm3))12313; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm5[3,10],zero,zero,zero,xmm5[u,u,u,u,u,u,u,u,u,u,u]12314; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,xmm4[1,8,15,u,u,u,u,u,u,u,u,u,u,u]12315; AVX512-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm312316; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm3, %zmm0, %zmm012317; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm7 ^ (zmm22 & (zmm0 ^ zmm7))12318; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm312319; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm2 ^ (ymm3 & (ymm14 ^ ymm2))12320; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm3[2,3,0,1]12321; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm4[0],ymm3[1,2,3],ymm4[4],ymm3[5,6],ymm4[7,8],ymm3[9,10,11],ymm4[12],ymm3[13,14],ymm4[15]12322; AVX512-FCP-NEXT:    vpshufb %ymm13, %ymm3, %ymm312323; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm412324; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm11 ^ (ymm4 & (ymm16 ^ ymm11))12325; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm4[u,u,u,u,u,6,13],zero,zero,xmm4[2,9],zero,zero,zero,xmm4[u,u]12326; AVX512-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm412327; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,u],zero,zero,xmm4[4,11],zero,zero,xmm4[0,7,14,u,u]12328; AVX512-FCP-NEXT:    vpor %xmm5, %xmm4, %xmm412329; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = (ymm4 & ymm26) | ymm312330; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm312331; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm18 ^ (ymm3 & (ymm17 ^ ymm18))12332; AVX512-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm512333; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[u,u,u,u,u,u,u],zero,zero,xmm5[2,9],zero,zero,zero,xmm5[5,12]12334; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u,4,11],zero,zero,xmm3[0,7,14],zero,zero12335; AVX512-FCP-NEXT:    vpor %xmm5, %xmm3, %xmm312336; AVX512-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312337; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (ymm23 & (ymm3 ^ ymm4))12338; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm3, %zmm0, %zmm2212339; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm22 = zmm22 ^ (zmm29 & (zmm22 ^ zmm0))12340; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm012341; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm2 ^ (ymm0 & (ymm14 ^ ymm2))12342; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm0[2,3,0,1]12343; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0],ymm3[1],ymm0[2,3],ymm3[4],ymm0[5,6,7,8],ymm3[9],ymm0[10,11],ymm3[12],ymm0[13,14,15]12344; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]12345; AVX512-FCP-NEXT:    vmovdqa64 %ymm19, %ymm312346; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm16 ^ (ymm3 & (ymm11 ^ ymm16))12347; AVX512-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm412348; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u],zero,zero,zero,xmm4[5,12],zero,zero,xmm4[1,8,15,u,u]12349; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,0,7,14],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[u,u]12350; AVX512-FCP-NEXT:    vpor %xmm4, %xmm3, %xmm312351; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = (ymm3 & ymm26) | ymm012352; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm012353; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm18 ^ (ymm0 & (ymm17 ^ ymm18))12354; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm412355; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,u,u,u],zero,zero,xmm4[3,10],zero,zero,zero,xmm4[6,13]12356; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,5,12],zero,zero,xmm0[1,8,15],zero,zero12357; AVX512-FCP-NEXT:    vpor %xmm4, %xmm0, %xmm012358; AVX512-FCP-NEXT:    vinserti32x4 $1, %xmm0, %ymm0, %ymm2912359; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm29 = ymm29 ^ (ymm23 & (ymm29 ^ ymm3))12360; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm5 = [u,u,u,u,128,128,128,128,128,128,128,128,128,0,7,14,21,28,19,26,17,24,31,u,u,u,u,u,u,u,u,u]12361; AVX512-FCP-NEXT:    vmovdqa64 %ymm19, %ymm012362; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm14 ^ (ymm0 & (ymm2 ^ ymm14))12363; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm0[2,3,0,1]12364; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0],ymm3[1],ymm0[2,3,4],ymm3[5],ymm0[6,7,8],ymm3[9],ymm0[10,11,12],ymm3[13],ymm0[14,15]12365; AVX512-FCP-NEXT:    vpshufb %ymm5, %ymm0, %ymm012366; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm312367; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm16 ^ (ymm3 & (ymm11 ^ ymm16))12368; AVX512-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm712369; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u],zero,zero,zero,xmm7[6,13],zero,zero,xmm7[2,9,u,u,u]12370; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,1,8,15],zero,zero,xmm3[4,11],zero,zero,xmm3[u,u,u]12371; AVX512-FCP-NEXT:    vpor %xmm7, %xmm3, %xmm312372; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = (ymm3 & ~mem) | ymm012373; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm012374; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm18 ^ (ymm0 & (ymm17 ^ ymm18))12375; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm0[u,u,u,u,u,u,u,6,13],zero,zero,xmm0[2,9],zero,zero,zero12376; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm012377; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u],zero,zero,xmm0[4,11],zero,zero,xmm0[0,7,14]12378; AVX512-FCP-NEXT:    vpor %xmm7, %xmm0, %xmm012379; AVX512-FCP-NEXT:    vinserti32x4 $1, %xmm0, %ymm0, %ymm2612380; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm26 = ymm26 ^ (ymm23 & (ymm26 ^ ymm3))12381; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm1312382; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm20 ^ (ymm13 & (ymm12 ^ ymm20))12383; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm712384; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm19 = ymm17 ^ (ymm19 & (ymm18 ^ ymm17))12385; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm012386; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm20 ^ (ymm0 & (ymm12 ^ ymm20))12387; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm812388; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm20 ^ (ymm10 & (ymm12 ^ ymm20))12389; AVX512-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm312390; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12,u,u,u,u,u,u,u]12391; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm13[4,11],zero,zero,xmm13[0,7,14],zero,zero,xmm13[u,u,u,u,u,u,u]12392; AVX512-FCP-NEXT:    vpor %xmm3, %xmm12, %xmm312393; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm31 ^ (ymm7 & (ymm27 ^ ymm31))12394; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm1212395; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[3,10],zero,zero,zero,xmm12[6,13,u,u,u,u,u,u,u]12396; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[5,12],zero,zero,xmm0[1,8,15],zero,zero,xmm0[u,u,u,u,u,u,u]12397; AVX512-FCP-NEXT:    vpor %xmm0, %xmm12, %xmm012398; AVX512-FCP-NEXT:    vmovdqa %ymm9, %ymm1212399; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm16 ^ (ymm9 & (ymm11 ^ ymm16))12400; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm1312401; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm27 ^ (ymm13 & (ymm31 ^ ymm27))12402; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm27 ^ (ymm9 & (ymm31 ^ ymm27))12403; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm10[6,13],zero,zero,xmm10[2,9],zero,zero,zero,xmm10[u,u,u,u,u,u,u]12404; AVX512-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm1012405; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,xmm10[4,11],zero,zero,xmm10[0,7,14,u,u,u,u,u,u,u]12406; AVX512-FCP-NEXT:    vpor %xmm4, %xmm10, %xmm412407; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm7 = ymm6[0],ymm7[1,2,3],ymm6[4],ymm7[5,6],ymm6[7,8],ymm7[9,10,11],ymm6[12],ymm7[13,14],ymm6[15]12408; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm10 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm7[3,10,1,8,15,6,13,20,27],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12409; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm10 | (ymm3 & ymm25)12410; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm13[0],ymm6[1],ymm13[2,3],ymm6[4],ymm13[5,6,7,8],ymm6[9],ymm13[10,11],ymm6[12],ymm13[13,14,15]12411; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm3[4,11,2,9,0,7,14,21,28],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12412; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 | (ymm0 & ymm25)12413; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm9[0],ymm6[1],ymm9[2,3,4],ymm6[5],ymm9[6,7,8],ymm6[9],ymm9[10,11,12],ymm6[13],ymm9[14,15]12414; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[5,12,3,10,1,8,15,22,29],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12415; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm6 | (ymm4 & ymm25)12416; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm14 ^ (ymm1 & (ymm2 ^ ymm14))12417; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm30 ^ (ymm12 & (ymm28 ^ ymm30))12418; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm30 ^ (ymm8 & (ymm28 ^ ymm30))12419; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm28 ^ (ymm1 & (ymm30 ^ ymm28))12420; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm12[u,u,2,9],zero,zero,zero,xmm12[5,12],zero,zero,xmm12[u,u,u,u,u]12421; AVX512-FCP-NEXT:    vextracti128 $1, %ymm12, %xmm312422; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,10,u,u,u,u,u]12423; AVX512-FCP-NEXT:    vpor %xmm0, %xmm3, %xmm012424; AVX512-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload12425; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm3 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]12426; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm12, %xmm312427; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm15[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero12428; AVX512-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm312429; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012430; AVX512-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312431; AVX512-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm9 = [18446744073709551615,18446744073709551615,18446744073709551615,16777215]12432; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (ymm9 & (ymm3 ^ ymm0))12433; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm8[u,u,3,10],zero,zero,zero,xmm8[6,13],zero,zero,xmm8[u,u,u,u,u]12434; AVX512-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm412435; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u],zero,zero,xmm4[1,8,15],zero,zero,xmm4[4,11,u,u,u,u,u]12436; AVX512-FCP-NEXT:    vpor %xmm0, %xmm4, %xmm012437; AVX512-FCP-NEXT:    vpshufb %xmm5, %xmm12, %xmm412438; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm15[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero12439; AVX512-FCP-NEXT:    vpor %xmm5, %xmm4, %xmm412440; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012441; AVX512-FCP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm412442; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm4 ^ (ymm9 & (ymm4 ^ ymm0))12443; AVX512-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm012444; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u],zero,zero,xmm0[2,9],zero,zero,zero,xmm0[5,12,u,u,u,u,u]12445; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,4,11],zero,zero,xmm1[0,7,14],zero,zero,xmm1[u,u,u,u,u]12446; AVX512-FCP-NEXT:    vpor %xmm0, %xmm1, %xmm112447; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,8,15,22,29,20,27,18,25,128,128,128,128,128,128,128,128,128,128]12448; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm12, %xmm512449; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm15[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero12450; AVX512-FCP-NEXT:    vpor %xmm5, %xmm8, %xmm512451; AVX512-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm112452; AVX512-FCP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm512453; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm5 ^ (ymm9 & (ymm5 ^ ymm1))12454; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm1 = [1,2,4,6,0,0,0,0]12455; AVX512-FCP-NEXT:    vmovdqa 224(%rdi), %ymm812456; AVX512-FCP-NEXT:    vpermd %ymm8, %ymm1, %ymm112457; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[0,7,10,13,u,u,u,u,u,u,u,u,u,u,u,u]12458; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm1, %zmm3, %zmm112459; AVX512-FCP-NEXT:    vmovdqa64 {{.*#+}} zmm3 = [65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535]12460; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm1 = zmm1 ^ (zmm3 & (zmm1 ^ zmm10))12461; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm9 = [1,3,4,6,0,0,0,0]12462; AVX512-FCP-NEXT:    vpermd %ymm8, %ymm9, %ymm912463; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[1,4,11,14,u,u,u,u,u,u,u,u,u,u,u,u]12464; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm9, %zmm4, %zmm412465; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm4 = zmm4 ^ (zmm3 & (zmm4 ^ zmm7))12466; AVX512-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm7 = [1,3,5,6,0,0,0,0]12467; AVX512-FCP-NEXT:    vpermd %ymm8, %ymm7, %ymm712468; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[2,5,8,15,u,u,u,u,u,u,u,u,u,u,u,u]12469; AVX512-FCP-NEXT:    vinserti32x4 $2, %xmm7, %zmm5, %zmm512470; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm5 = zmm5 ^ (zmm3 & (zmm5 ^ zmm6))12471; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm29, %zmm0, %zmm312472; AVX512-FCP-NEXT:    movw $-512, %ax # imm = 0xFE0012473; AVX512-FCP-NEXT:    kmovw %eax, %k112474; AVX512-FCP-NEXT:    vmovdqa32 %zmm3, %zmm1 {%k1}12475; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm26, %zmm0, %zmm312476; AVX512-FCP-NEXT:    vmovdqa32 %zmm3, %zmm4 {%k1}12477; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[2,3,0,1]12478; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0,1],ymm3[2],ymm2[3,4],ymm3[5],ymm2[6,7,8,9],ymm3[10],ymm2[11,12],ymm3[13],ymm2[14,15]12479; AVX512-FCP-NEXT:    vpshufb %ymm0, %ymm2, %ymm012480; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm11[u,u,u,u,2,9],zero,zero,zero,xmm11[5,12],zero,zero,xmm11[u,u,u]12481; AVX512-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm312482; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u],zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,10,u,u,u]12483; AVX512-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm212484; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & mem) | ymm012485; AVX512-FCP-NEXT:    vmovdqa64 %ymm19, %ymm312486; AVX512-FCP-NEXT:    vextracti32x4 $1, %ymm19, %xmm012487; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero,xmm0[1,8,15]12488; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,0,7,14],zero,zero,xmm3[3,10],zero,zero,zero12489; AVX512-FCP-NEXT:    vpor %xmm0, %xmm3, %xmm012490; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012491; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7],ymm2[8,9,10],ymm0[11,12,13,14,15]12492; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2,3],ymm0[4,5,6,7]12493; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm012494; AVX512-FCP-NEXT:    vmovdqa32 %zmm0, %zmm5 {%k1}12495; AVX512-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload12496; AVX512-FCP-NEXT:    vmovaps %zmm0, (%rsi)12497; AVX512-FCP-NEXT:    vmovdqa64 %zmm24, (%rdx)12498; AVX512-FCP-NEXT:    vmovdqa64 %zmm21, (%rcx)12499; AVX512-FCP-NEXT:    vmovdqa64 %zmm22, (%r8)12500; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, (%r9)12501; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12502; AVX512-FCP-NEXT:    vmovdqa64 %zmm4, (%rax)12503; AVX512-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax12504; AVX512-FCP-NEXT:    vmovdqa64 %zmm5, (%rax)12505; AVX512-FCP-NEXT:    vzeroupper12506; AVX512-FCP-NEXT:    retq12507;12508; AVX512DQ-LABEL: load_i8_stride7_vf64:12509; AVX512DQ:       # %bb.0:12510; AVX512DQ-NEXT:    subq $24, %rsp12511; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm0 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]12512; AVX512DQ-NEXT:    vmovdqa (%rdi), %ymm1212513; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %ymm1312514; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %ymm3112515; AVX512DQ-NEXT:    vmovdqa %ymm0, %ymm112516; AVX512DQ-NEXT:    vmovdqa64 %ymm0, %ymm2312517; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm13 ^ (ymm1 & (ymm12 ^ ymm13))12518; AVX512DQ-NEXT:    vextracti128 $1, %ymm1, %xmm212519; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm2[5,12],zero,zero,xmm2[1,8,15,u,u,u,u,u,u]12520; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[0,7,14],zero,zero,xmm1[3,10],zero,zero,zero,xmm1[u,u,u,u,u,u]12521; AVX512DQ-NEXT:    vpor %xmm2, %xmm1, %xmm112522; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm9 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]12523; AVX512DQ-NEXT:    vmovdqa64 96(%rdi), %ymm2812524; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm212525; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm31 ^ (ymm2 & (ymm28 ^ ymm31))12526; AVX512DQ-NEXT:    vmovdqa 80(%rdi), %xmm1112527; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0,1],ymm11[2],ymm2[3,4],ymm11[5],ymm2[6,7,8,9],ymm11[10],ymm2[11,12],ymm11[13],ymm2[14,15]12528; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm2[6,13,4,11,2,9,16,23,30,u],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12529; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 | (ymm1 & mem)12530; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm14 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]12531; AVX512DQ-NEXT:    vmovdqa64 128(%rdi), %ymm2512532; AVX512DQ-NEXT:    vmovdqa 160(%rdi), %ymm412533; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm112534; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm25 ^ (ymm1 & (ymm4 ^ ymm25))12535; AVX512DQ-NEXT:    vextracti128 $1, %ymm1, %xmm312536; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13,u,u,u,u]12537; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,5,12],zero,zero,xmm1[1,8,15],zero,zero,xmm1[u,u,u,u]12538; AVX512DQ-NEXT:    vpor %xmm3, %xmm1, %xmm112539; AVX512DQ-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm112540; AVX512DQ-NEXT:    vmovdqa 192(%rdi), %xmm012541; AVX512DQ-NEXT:    vpbroadcastd {{.*#+}} xmm5 = [0,0,4,11,0,0,4,11,0,0,4,11,0,0,4,11]12542; AVX512DQ-NEXT:    vpshufb %xmm5, %xmm0, %xmm312543; AVX512DQ-NEXT:    vmovdqa64 %xmm5, %xmm3012544; AVX512DQ-NEXT:    vmovdqa64 %xmm0, %xmm2012545; AVX512DQ-NEXT:    vmovdqa 208(%rdi), %xmm1012546; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = xmm10[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]12547; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm6[0],xmm3[1],xmm6[1],xmm3[2],xmm6[2],xmm3[3],xmm6[3]12548; AVX512DQ-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312549; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm3[7]12550; AVX512DQ-NEXT:    vmovdqa 240(%rdi), %xmm312551; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,xmm3[5,12,u,u,u,u,u,u,u,u,u,u,u]12552; AVX512DQ-NEXT:    vmovdqa 224(%rdi), %xmm512553; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = xmm5[0,7,14],zero,zero,xmm5[u,u,u,u,u,u,u,u,u,u,u]12554; AVX512DQ-NEXT:    vpor %xmm6, %xmm7, %xmm612555; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm6, %zmm1, %zmm2212556; AVX512DQ-NEXT:    vmovdqa64 {{.*#+}} zmm19 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]12557; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm22 = zmm22 ^ (zmm19 & (zmm22 ^ zmm2))12558; AVX512DQ-NEXT:    vmovdqa64 288(%rdi), %ymm1812559; AVX512DQ-NEXT:    vmovdqa64 256(%rdi), %ymm1712560; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm212561; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm18 ^ (ymm2 & (ymm17 ^ ymm18))12562; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = xmm2[u,u,u,u,u,3,10],zero,zero,zero,xmm2[6,13],zero,zero,xmm2[u,u]12563; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm212564; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u],zero,zero,xmm2[1,8,15],zero,zero,xmm2[4,11,u,u]12565; AVX512DQ-NEXT:    vpor %xmm6, %xmm2, %xmm212566; AVX512DQ-NEXT:    vmovdqa64 352(%rdi), %ymm2112567; AVX512DQ-NEXT:    vmovdqa64 320(%rdi), %ymm1612568; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm712569; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm21 ^ (ymm7 & (ymm16 ^ ymm21))12570; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm8 = ymm7[2,3,0,1]12571; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm7 = ymm7[0,1],ymm8[2],ymm7[3,4,5],ymm8[6],ymm7[7,8,9],ymm8[10],ymm7[11,12,13],ymm8[14],ymm7[15]12572; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm7[2,9,16,23,30,21,28,19,26,u,u,u,u,u,u,u,u,u]12573; AVX512DQ-NEXT:    vmovdqa64 {{.*#+}} ymm24 = [65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535]12574; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 | (ymm2 & ymm24)12575; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm7 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]12576; AVX512DQ-NEXT:    vmovdqa %ymm7, %ymm212577; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm13 ^ (ymm2 & (ymm12 ^ ymm13))12578; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm1512579; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,zero,xmm15[6,13],zero,zero,xmm15[2,9,u,u,u,u,u,u,u]12580; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[1,8,15],zero,zero,xmm2[4,11],zero,zero,xmm2[u,u,u,u,u,u,u]12581; AVX512DQ-NEXT:    vpor %xmm2, %xmm15, %xmm212582; AVX512DQ-NEXT:    vmovdqa64 %ymm23, %ymm1512583; AVX512DQ-NEXT:    vmovdqa64 %ymm23, %ymm2912584; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm28 ^ (ymm15 & (ymm31 ^ ymm28))12585; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm15 = ymm15[0,1],ymm11[2],ymm15[3,4,5],ymm11[6],ymm15[7,8,9],ymm11[10],ymm15[11,12,13],ymm11[14],ymm15[15]12586; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm15 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm15[0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]12587; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm15 | (ymm2 & ~mem)12588; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm212589; AVX512DQ-NEXT:    vmovdqa %ymm4, %ymm612590; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm25 ^ (ymm2 & (ymm4 ^ ymm25))12591; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm2[u,u,u,6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u,u,u]12592; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm212593; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u],zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u]12594; AVX512DQ-NEXT:    vpor %xmm0, %xmm2, %xmm012595; AVX512DQ-NEXT:    vmovdqa %xmm3, %xmm412596; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm3[6,13,u,u,u,u,u,u,u,u,u,u,u]12597; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm5[1,8,15],zero,zero,xmm5[u,u,u,u,u,u,u,u,u,u,u]12598; AVX512DQ-NEXT:    vmovdqa64 %xmm5, %xmm2612599; AVX512DQ-NEXT:    vpor %xmm2, %xmm3, %xmm212600; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm10[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]12601; AVX512DQ-NEXT:    vmovdqa64 %xmm20, %xmm112602; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm5 = xmm1[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]12603; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3]12604; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012605; AVX512DQ-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312606; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm3[7]12607; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm2, %zmm0, %zmm2312608; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm23 = zmm23 ^ (zmm19 & (zmm23 ^ zmm15))12609; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm012610; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm13 ^ (ymm0 & (ymm12 ^ ymm13))12611; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[2,9],zero,zero,zero,xmm0[5,12],zero,zero,xmm0[u,u,u,u,u,u,u]12612; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm012613; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,xmm0[0,7,14],zero,zero,xmm0[3,10,u,u,u,u,u,u,u]12614; AVX512DQ-NEXT:    vpor %xmm2, %xmm0, %xmm012615; AVX512DQ-NEXT:    vmovdqa %ymm7, %ymm212616; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm28 ^ (ymm2 & (ymm31 ^ ymm28))12617; AVX512DQ-NEXT:    vmovdqu %ymm11, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12618; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0,1,2],ymm11[3],ymm2[4,5],ymm11[6],ymm2[7,8,9,10],ymm11[11],ymm2[12,13],ymm11[14],ymm2[15]12619; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm2[1,8,15,6,13,4,11,18,25],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12620; AVX512DQ-NEXT:    vpmovsxdq {{.*#+}} ymm27 = [18446744073709551615,255,18446744073709486080,18446744073709551615]12621; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 | (ymm0 & ymm27)12622; AVX512DQ-NEXT:    vmovdqa64 %ymm29, %ymm012623; AVX512DQ-NEXT:    vmovdqa64 %ymm25, %ymm1512624; AVX512DQ-NEXT:    vmovdqu64 %ymm25, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12625; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm6 ^ (ymm0 & (ymm25 ^ ymm6))12626; AVX512DQ-NEXT:    vmovdqa64 %ymm6, %ymm1912627; AVX512DQ-NEXT:    vmovdqu %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill12628; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm312629; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15,u,u,u,u]12630; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,0,7,14],zero,zero,xmm0[3,10],zero,zero,zero,xmm0[u,u,u,u]12631; AVX512DQ-NEXT:    vpor %xmm3, %xmm0, %xmm012632; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012633; AVX512DQ-NEXT:    vmovdqa64 %xmm30, %xmm312634; AVX512DQ-NEXT:    vpshufb %xmm3, %xmm10, %xmm312635; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm5 = xmm1[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]12636; AVX512DQ-NEXT:    vmovdqa64 %xmm20, %xmm612637; AVX512DQ-NEXT:    vmovdqa64 %xmm20, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12638; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm5[0],xmm3[0],xmm5[1],xmm3[1],xmm5[2],xmm3[2],xmm5[3],xmm3[3]12639; AVX512DQ-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312640; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm3[7]12641; AVX512DQ-NEXT:    vmovdqa64 %xmm26, %xmm112642; AVX512DQ-NEXT:    vmovdqa64 %xmm26, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12643; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[2,9],zero,zero,zero,xmm1[u,u,u,u,u,u,u,u,u,u,u]12644; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,xmm4[0,7,14,u,u,u,u,u,u,u,u,u,u,u]12645; AVX512DQ-NEXT:    vmovdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill12646; AVX512DQ-NEXT:    vpor %xmm3, %xmm5, %xmm312647; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm3, %zmm0, %zmm2512648; AVX512DQ-NEXT:    vpmovsxdq {{.*#+}} zmm20 = [0,0,18446744073709486080,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615]12649; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm25 = zmm2 ^ (zmm20 & (zmm25 ^ zmm2))12650; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm012651; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm13 ^ (ymm0 & (ymm12 ^ ymm13))12652; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[3,10],zero,zero,zero,xmm0[6,13],zero,zero,xmm0[u,u,u,u,u,u,u]12653; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm012654; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,xmm0[1,8,15],zero,zero,xmm0[4,11,u,u,u,u,u,u,u]12655; AVX512DQ-NEXT:    vpor %xmm2, %xmm0, %xmm012656; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm212657; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm28 ^ (ymm2 & (ymm31 ^ ymm28))12658; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm2 = ymm11[0],ymm2[1,2],ymm11[3],ymm2[4,5,6],ymm11[7,8],ymm2[9,10],ymm11[11],ymm2[12,13,14],ymm11[15]12659; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm2[2,9,0,7,14,5,12,19,26],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12660; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 | (ymm0 & ymm27)12661; AVX512DQ-NEXT:    vmovdqa64 %ymm27, %ymm1112662; AVX512DQ-NEXT:    vmovdqa %ymm7, %ymm012663; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm19 ^ (ymm0 & (ymm15 ^ ymm19))12664; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm212665; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u],zero,zero,zero,xmm2[6,13],zero,zero,xmm2[2,9,u,u,u,u,u]12666; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,1,8,15],zero,zero,xmm0[4,11],zero,zero,xmm0[u,u,u,u,u]12667; AVX512DQ-NEXT:    vpor %xmm2, %xmm0, %xmm012668; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012669; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm2 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,5,12,19,26,17,24,31,22,29,u,u,u,u,u,u,u,u,u]12670; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm10, %xmm512671; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm15 = xmm6[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero12672; AVX512DQ-NEXT:    vpor %xmm5, %xmm15, %xmm512673; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm512674; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm5 ^ (mem & (ymm5 ^ ymm0))12675; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm1[3,10],zero,zero,zero,xmm1[u,u,u,u,u,u,u,u,u,u,u]12676; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm4[1,8,15,u,u,u,u,u,u,u,u,u,u,u]12677; AVX512DQ-NEXT:    vpor %xmm0, %xmm15, %xmm012678; AVX512DQ-NEXT:    vmovdqa64 416(%rdi), %ymm2612679; AVX512DQ-NEXT:    vinserti32x4 $2, %xmm0, %zmm5, %zmm3012680; AVX512DQ-NEXT:    vmovdqa64 384(%rdi), %ymm2712681; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm30 = zmm3 ^ (zmm20 & (zmm30 ^ zmm3))12682; AVX512DQ-NEXT:    vmovdqa %ymm7, %ymm012683; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm26 ^ (ymm0 & (ymm27 ^ ymm26))12684; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm312685; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,9]12686; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,1,8,15],zero,zero,xmm0[4,11],zero,zero12687; AVX512DQ-NEXT:    vpor %xmm3, %xmm0, %xmm012688; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012689; AVX512DQ-NEXT:    vmovdqa64 {{.*#+}} ymm29 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0]12690; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (ymm29 & (ymm0 ^ ymm8))12691; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2012692; AVX512DQ-NEXT:    vpmovsxwd {{.*#+}} zmm8 = [4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,255,0,0,0,0,0,0]12693; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm20 = zmm20 ^ (zmm8 & (zmm20 ^ zmm22))12694; AVX512DQ-NEXT:    vmovdqa %ymm7, %ymm012695; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm17 ^ (ymm0 & (ymm18 ^ ymm17))12696; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm312697; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12,u,u]12698; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,4,11],zero,zero,xmm0[0,7,14],zero,zero,xmm0[u,u]12699; AVX512DQ-NEXT:    vpor %xmm3, %xmm0, %xmm012700; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm312701; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm21 ^ (ymm3 & (ymm16 ^ ymm21))12702; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm5 = ymm3[2,3,0,1]12703; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0,1,2],ymm5[3],ymm3[4,5],ymm5[6],ymm3[7,8,9,10],ymm5[11],ymm3[12,13],ymm5[14],ymm3[15]12704; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm3[3,10,17,24,31,22,29,20,27,u,u,u,u,u,u,u,u,u]12705; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 | (ymm0 & ymm24)12706; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm012707; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm26 ^ (ymm0 & (ymm27 ^ ymm26))12708; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm0[5,12],zero,zero12709; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm012710; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u],zero,zero,xmm0[0,7,14],zero,zero,xmm0[3,10]12711; AVX512DQ-NEXT:    vpor %xmm5, %xmm0, %xmm012712; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012713; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (ymm29 & (ymm0 ^ ymm3))12714; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2212715; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm22 = zmm22 ^ (zmm8 & (zmm22 ^ zmm23))12716; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm012717; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm17 ^ (ymm0 & (ymm18 ^ ymm17))12718; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm312719; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13,u,u]12720; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,5,12],zero,zero,xmm0[1,8,15],zero,zero,xmm0[u,u]12721; AVX512DQ-NEXT:    vpor %xmm3, %xmm0, %xmm012722; AVX512DQ-NEXT:    vmovdqa %ymm7, %ymm312723; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm16 ^ (ymm3 & (ymm21 ^ ymm16))12724; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm5 = ymm3[2,3,0,1]12725; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm3 = ymm5[0],ymm3[1,2],ymm5[3],ymm3[4,5,6],ymm5[7,8],ymm3[9,10],ymm5[11],ymm3[12,13,14],ymm5[15]12726; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm3[4,11,18,25,16,23,30,21,28,u,u,u,u,u,u,u,u,u]12727; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 | (ymm0 & ymm24)12728; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm012729; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm26 ^ (ymm0 & (ymm27 ^ ymm26))12730; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm0[6,13],zero,zero12731; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm012732; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero,xmm0[4,11]12733; AVX512DQ-NEXT:    vpor %xmm5, %xmm0, %xmm012734; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012735; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (ymm29 & (ymm0 ^ ymm3))12736; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2312737; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm23 = zmm23 ^ (zmm8 & (zmm23 ^ zmm25))12738; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm012739; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm16 ^ (ymm0 & (ymm21 ^ ymm16))12740; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm3 = ymm0[2,3,0,1]12741; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm0 = ymm3[0],ymm0[1,2,3],ymm3[4],ymm0[5,6],ymm3[7,8],ymm0[9,10,11],ymm3[12],ymm0[13,14],ymm3[15]12742; AVX512DQ-NEXT:    vpshufb %ymm2, %ymm0, %ymm012743; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm212744; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm17 ^ (ymm2 & (ymm18 ^ ymm17))12745; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[u,u,u,u,u,6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u]12746; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm212747; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u],zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u]12748; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm212749; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & ymm24) | ymm012750; AVX512DQ-NEXT:    vmovdqa %ymm7, %ymm012751; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm27 ^ (ymm0 & (ymm26 ^ ymm27))12752; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm312753; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12]12754; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,4,11],zero,zero,xmm0[0,7,14],zero,zero12755; AVX512DQ-NEXT:    vpor %xmm3, %xmm0, %xmm012756; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012757; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (ymm29 & (ymm0 ^ ymm2))12758; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm2512759; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm25 = zmm25 ^ (zmm8 & (zmm25 ^ zmm30))12760; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm012761; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm16 ^ (ymm0 & (ymm21 ^ ymm16))12762; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]12763; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0],ymm2[1],ymm0[2,3],ymm2[4],ymm0[5,6,7,8],ymm2[9],ymm0[10,11],ymm2[12],ymm0[13,14,15]12764; AVX512DQ-NEXT:    vmovdqa64 {{.*#+}} ymm19 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]12765; AVX512DQ-NEXT:    vmovdqa64 %ymm19, %ymm212766; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm18 ^ (ymm2 & (ymm17 ^ ymm18))12767; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm312768; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u],zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15,u,u]12769; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,0,7,14],zero,zero,xmm2[3,10],zero,zero,zero,xmm2[u,u]12770; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm212771; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]12772; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & ymm24) | ymm012773; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm012774; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm27 ^ (ymm0 & (ymm26 ^ ymm27))12775; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm312776; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13]12777; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,5,12],zero,zero,xmm0[1,8,15],zero,zero12778; AVX512DQ-NEXT:    vpor %xmm3, %xmm0, %xmm012779; AVX512DQ-NEXT:    vinserti32x4 $1, %xmm0, %ymm0, %ymm2412780; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm24 = ymm24 ^ (ymm29 & (ymm24 ^ ymm2))12781; AVX512DQ-NEXT:    vmovdqa64 %ymm19, %ymm012782; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm21 ^ (ymm0 & (ymm16 ^ ymm21))12783; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]12784; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm0 = ymm0[0],ymm2[1],ymm0[2,3,4],ymm2[5],ymm0[6,7,8],ymm2[9],ymm0[10,11,12],ymm2[13],ymm0[14,15]12785; AVX512DQ-NEXT:    vmovdqa %ymm7, %ymm212786; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm18 ^ (ymm2 & (ymm17 ^ ymm18))12787; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm312788; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u],zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,9,u,u,u]12789; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,1,8,15],zero,zero,xmm2[4,11],zero,zero,xmm2[u,u,u]12790; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm212791; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm8 = [u,u,u,u,128,128,128,128,128,128,128,128,128,0,7,14,21,28,19,26,17,24,31,u,u,u,u,u,u,u,u,u]12792; AVX512DQ-NEXT:    vpshufb %ymm8, %ymm0, %ymm012793; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & ~mem) | ymm012794; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm012795; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm27 ^ (ymm0 & (ymm26 ^ ymm27))12796; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[u,u,u,u,u,u,u,6,13],zero,zero,xmm0[2,9],zero,zero,zero12797; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm012798; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u],zero,zero,xmm0[4,11],zero,zero,xmm0[0,7,14]12799; AVX512DQ-NEXT:    vpor %xmm3, %xmm0, %xmm012800; AVX512DQ-NEXT:    vinserti32x4 $1, %xmm0, %ymm0, %ymm3012801; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm30 = ymm30 ^ (ymm29 & (ymm30 ^ ymm2))12802; AVX512DQ-NEXT:    vmovdqa %ymm7, %ymm012803; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm12 ^ (ymm0 & (ymm13 ^ ymm12))12804; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm212805; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[2,9],zero,zero,zero,xmm2[5,12,u,u,u,u,u,u,u]12806; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,11],zero,zero,xmm0[0,7,14],zero,zero,xmm0[u,u,u,u,u,u,u]12807; AVX512DQ-NEXT:    vporq %xmm2, %xmm0, %xmm2912808; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm19 = ymm26 ^ (ymm19 & (ymm27 ^ ymm26))12809; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm012810; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm12 ^ (ymm0 & (ymm13 ^ ymm12))12811; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm212812; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[3,10],zero,zero,zero,xmm2[6,13,u,u,u,u,u,u,u]12813; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[5,12],zero,zero,xmm0[1,8,15],zero,zero,xmm0[u,u,u,u,u,u,u]12814; AVX512DQ-NEXT:    vpor %xmm2, %xmm0, %xmm012815; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm212816; AVX512DQ-NEXT:    vmovdqa %ymm9, %ymm1512817; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm12 ^ (ymm9 & (ymm13 ^ ymm12))12818; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm28 ^ (ymm2 & (ymm31 ^ ymm28))12819; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm9[6,13],zero,zero,xmm9[2,9],zero,zero,zero,xmm9[u,u,u,u,u,u,u]12820; AVX512DQ-NEXT:    vextracti128 $1, %ymm9, %xmm512821; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,xmm5[4,11],zero,zero,xmm5[0,7,14,u,u,u,u,u,u,u]12822; AVX512DQ-NEXT:    vpor %xmm3, %xmm5, %xmm312823; AVX512DQ-NEXT:    vmovdqa %ymm14, %ymm512824; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm17 = ymm18 ^ (ymm14 & (ymm17 ^ ymm18))12825; AVX512DQ-NEXT:    vmovdqa %ymm7, %ymm912826; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm31 ^ (ymm9 & (ymm28 ^ ymm31))12827; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm14 = ymm31 ^ (ymm14 & (ymm28 ^ ymm31))12828; AVX512DQ-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload12829; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm2 = ymm4[0],ymm2[1,2,3],ymm4[4],ymm2[5,6],ymm4[7,8],ymm2[9,10,11],ymm4[12],ymm2[13,14],ymm4[15]12830; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm12 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm2[3,10,1,8,15,6,13,20,27],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12831; AVX512DQ-NEXT:    vmovdqa %ymm11, %ymm112832; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 | (ymm29 & ymm11)12833; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm2 = ymm9[0],ymm4[1],ymm9[2,3],ymm4[4],ymm9[5,6,7,8],ymm4[9],ymm9[10,11],ymm4[12],ymm9[13,14,15]12834; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm11 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm2[4,11,2,9,0,7,14,21,28],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12835; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm11 | (ymm0 & ymm1)12836; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm0 = ymm14[0],ymm4[1],ymm14[2,3,4],ymm4[5],ymm14[6,7,8],ymm4[9],ymm14[10,11,12],ymm4[13],ymm14[14,15]12837; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm9 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[5,12,3,10,1,8,15,22,29],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12838; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm9 | (ymm3 & ymm1)12839; AVX512DQ-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload12840; AVX512DQ-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm6 # 32-byte Reload12841; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm6 ^ (ymm5 & (ymm13 ^ ymm6))12842; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm5[u,u,2,9],zero,zero,zero,xmm5[5,12],zero,zero,xmm5[u,u,u,u,u]12843; AVX512DQ-NEXT:    vextracti128 $1, %ymm5, %xmm212844; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u],zero,zero,xmm2[0,7,14],zero,zero,xmm2[3,10,u,u,u,u,u]12845; AVX512DQ-NEXT:    vpor %xmm0, %xmm2, %xmm012846; AVX512DQ-NEXT:    vmovdqa %xmm10, %xmm112847; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm2 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]12848; AVX512DQ-NEXT:    vpshufb %xmm2, %xmm10, %xmm212849; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload12850; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm4[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero12851; AVX512DQ-NEXT:    vpor %xmm2, %xmm3, %xmm212852; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012853; AVX512DQ-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm212854; AVX512DQ-NEXT:    vpmovsxdq {{.*#+}} ymm18 = [18446744073709551615,18446744073709551615,18446744073709551615,16777215]12855; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 ^ (ymm18 & (ymm2 ^ ymm0))12856; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm16 = ymm21 ^ (ymm7 & (ymm16 ^ ymm21))12857; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm10 = [4,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0]12858; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm6 ^ (ymm15 & (ymm13 ^ ymm6))12859; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm13 ^ (ymm7 & (ymm6 ^ ymm13))12860; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload12861; AVX512DQ-NEXT:    vpshufb %xmm10, %xmm14, %xmm012862; AVX512DQ-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload12863; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm13[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]12864; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]12865; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm0, %zmm2, %zmm212866; AVX512DQ-NEXT:    vmovdqa64 {{.*#+}} zmm0 = [65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535]12867; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm2 = zmm2 ^ (zmm0 & (zmm2 ^ zmm12))12868; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[u,u,3,10],zero,zero,zero,xmm15[6,13],zero,zero,xmm15[u,u,u,u,u]12869; AVX512DQ-NEXT:    vextracti128 $1, %ymm15, %xmm512870; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[u,u],zero,zero,xmm5[1,8,15],zero,zero,xmm5[4,11,u,u,u,u,u]12871; AVX512DQ-NEXT:    vpor %xmm3, %xmm5, %xmm312872; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm1, %xmm512873; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm4[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero12874; AVX512DQ-NEXT:    vpor %xmm5, %xmm8, %xmm512875; AVX512DQ-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312876; AVX512DQ-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm512877; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm5 ^ (ymm18 & (ymm5 ^ ymm3))12878; AVX512DQ-NEXT:    vextracti128 $1, %ymm7, %xmm312879; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12,u,u,u,u,u]12880; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,4,11],zero,zero,xmm7[0,7,14],zero,zero,xmm7[u,u,u,u,u]12881; AVX512DQ-NEXT:    vpor %xmm3, %xmm7, %xmm312882; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm7 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,8,15,22,29,20,27,18,25,128,128,128,128,128,128,128,128,128,128]12883; AVX512DQ-NEXT:    vpshufb %xmm7, %xmm1, %xmm812884; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero12885; AVX512DQ-NEXT:    vpor %xmm12, %xmm8, %xmm812886; AVX512DQ-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm312887; AVX512DQ-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm812888; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 ^ (ymm18 & (ymm8 ^ ymm3))12889; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm13[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]12890; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm14[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]12891; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm12[0],xmm3[0],xmm12[1],xmm3[1],xmm12[2],xmm3[2],xmm12[3],xmm3[3]12892; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm3, %zmm5, %zmm312893; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm3 = zmm3 ^ (zmm0 & (zmm3 ^ zmm11))12894; AVX512DQ-NEXT:    vpshufb %xmm10, %xmm13, %xmm512895; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm10 = xmm14[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]12896; AVX512DQ-NEXT:    vpunpcklwd {{.*#+}} xmm5 = xmm10[0],xmm5[0],xmm10[1],xmm5[1],xmm10[2],xmm5[2],xmm10[3],xmm5[3]12897; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm5, %zmm8, %zmm512898; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm5 = zmm5 ^ (zmm0 & (zmm5 ^ zmm9))12899; AVX512DQ-NEXT:    movw $-512, %ax # imm = 0xFE0012900; AVX512DQ-NEXT:    kmovw %eax, %k112901; AVX512DQ-NEXT:    vinserti32x8 $1, %ymm24, %zmm0, %zmm2 {%k1}12902; AVX512DQ-NEXT:    vinserti32x8 $1, %ymm30, %zmm0, %zmm3 {%k1}12903; AVX512DQ-NEXT:    vmovdqa64 %ymm16, %ymm112904; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm0 = ymm16[2,3,0,1]12905; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm0 = ymm1[0,1],ymm0[2],ymm1[3,4],ymm0[5],ymm1[6,7,8,9],ymm0[10],ymm1[11,12],ymm0[13],ymm1[14,15]12906; AVX512DQ-NEXT:    vpshufb %ymm7, %ymm0, %ymm012907; AVX512DQ-NEXT:    vmovdqa64 %ymm17, %ymm112908; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[u,u,u,u,2,9],zero,zero,zero,xmm1[5,12],zero,zero,xmm1[u,u,u]12909; AVX512DQ-NEXT:    vextracti32x4 $1, %ymm17, %xmm112910; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u],zero,zero,xmm1[0,7,14],zero,zero,xmm1[3,10,u,u,u]12911; AVX512DQ-NEXT:    vpor %xmm6, %xmm1, %xmm112912; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = (ymm1 & mem) | ymm012913; AVX512DQ-NEXT:    vmovdqa64 %ymm19, %ymm412914; AVX512DQ-NEXT:    vextracti32x4 $1, %ymm19, %xmm012915; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero,xmm0[1,8,15]12916; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,u,u,0,7,14],zero,zero,xmm4[3,10],zero,zero,zero12917; AVX512DQ-NEXT:    vpor %xmm0, %xmm4, %xmm012918; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm012919; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3,4,5,6,7],ymm1[8,9,10],ymm0[11,12,13,14,15]12920; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]12921; AVX512DQ-NEXT:    vinserti32x8 $1, %ymm0, %zmm0, %zmm5 {%k1}12922; AVX512DQ-NEXT:    vmovdqa64 %zmm20, (%rsi)12923; AVX512DQ-NEXT:    vmovdqa64 %zmm22, (%rdx)12924; AVX512DQ-NEXT:    vmovdqa64 %zmm23, (%rcx)12925; AVX512DQ-NEXT:    vmovdqa64 %zmm25, (%r8)12926; AVX512DQ-NEXT:    vmovdqa64 %zmm2, (%r9)12927; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax12928; AVX512DQ-NEXT:    vmovdqa64 %zmm3, (%rax)12929; AVX512DQ-NEXT:    movq {{[0-9]+}}(%rsp), %rax12930; AVX512DQ-NEXT:    vmovdqa64 %zmm5, (%rax)12931; AVX512DQ-NEXT:    addq $24, %rsp12932; AVX512DQ-NEXT:    vzeroupper12933; AVX512DQ-NEXT:    retq12934;12935; AVX512DQ-FCP-LABEL: load_i8_stride7_vf64:12936; AVX512DQ-FCP:       # %bb.0:12937; AVX512DQ-FCP-NEXT:    pushq %rax12938; AVX512DQ-FCP-NEXT:    vmovdqa64 {{.*#+}} ymm19 = [65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0]12939; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %ymm1112940; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %ymm1212941; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm2712942; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm19, %ymm012943; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm12 ^ (ymm0 & (ymm11 ^ ymm12))12944; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm112945; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[5,12],zero,zero,xmm1[1,8,15,u,u,u,u,u,u]12946; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[0,7,14],zero,zero,xmm0[3,10],zero,zero,zero,xmm0[u,u,u,u,u,u]12947; AVX512DQ-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm112948; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm6 = [65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535]12949; AVX512DQ-FCP-NEXT:    vmovdqa64 96(%rdi), %ymm3112950; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm212951; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm27 ^ (ymm2 & (ymm31 ^ ymm27))12952; AVX512DQ-FCP-NEXT:    vmovdqa 80(%rdi), %xmm312953; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0,1],ymm3[2],ymm2[3,4],ymm3[5],ymm2[6,7,8,9],ymm3[10],ymm2[11,12],ymm3[13],ymm2[14,15]12954; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm3, %ymm2012955; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm2[6,13,4,11,2,9,16,23,30,u],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero12956; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 | (ymm1 & mem)12957; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm9 = [65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535]12958; AVX512DQ-FCP-NEXT:    vmovdqa64 128(%rdi), %ymm2812959; AVX512DQ-FCP-NEXT:    vmovdqa64 160(%rdi), %ymm3012960; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm112961; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm28 ^ (ymm1 & (ymm30 ^ ymm28))12962; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm312963; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13,u,u,u,u]12964; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,5,12],zero,zero,xmm1[1,8,15],zero,zero,xmm1[u,u,u,u]12965; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm1, %xmm112966; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm112967; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm4 = [0,0,0,0,1,2,4,6]12968; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm2212969; AVX512DQ-FCP-NEXT:    vpermd %ymm22, %ymm4, %ymm412970; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = 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,16,23,26,29]12971; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3,4,5,6],ymm4[7]12972; AVX512DQ-FCP-NEXT:    vmovdqa 240(%rdi), %xmm412973; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm4[5,12,u,u,u,u,u,u,u,u,u,u,u]12974; AVX512DQ-FCP-NEXT:    vmovdqa 224(%rdi), %xmm512975; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm5[0,7,14],zero,zero,xmm5[u,u,u,u,u,u,u,u,u,u,u]12976; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm712977; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm7, %zmm1, %zmm712978; AVX512DQ-FCP-NEXT:    vmovdqa64 {{.*#+}} zmm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]12979; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm7 = zmm7 ^ (zmm0 & (zmm7 ^ zmm2))12980; AVX512DQ-FCP-NEXT:    vmovdqa64 288(%rdi), %ymm1612981; AVX512DQ-FCP-NEXT:    vmovdqa 256(%rdi), %ymm112982; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm212983; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm16 ^ (ymm2 & (ymm1 ^ ymm16))12984; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm2[u,u,u,u,u,3,10],zero,zero,zero,xmm2[6,13],zero,zero,xmm2[u,u]12985; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm212986; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u],zero,zero,xmm2[1,8,15],zero,zero,xmm2[4,11,u,u]12987; AVX512DQ-FCP-NEXT:    vpor %xmm2, %xmm10, %xmm1012988; AVX512DQ-FCP-NEXT:    vmovdqa 352(%rdi), %ymm1412989; AVX512DQ-FCP-NEXT:    vmovdqa 320(%rdi), %ymm212990; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm1312991; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm14 ^ (ymm13 & (ymm2 ^ ymm14))12992; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm8 = ymm13[2,3,0,1]12993; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm13[0,1],ymm8[2],ymm13[3,4,5],ymm8[6],ymm13[7,8,9],ymm8[10],ymm13[11,12,13],ymm8[14],ymm13[15]12994; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm8[2,9,16,23,30,21,28,19,26,u,u,u,u,u,u,u,u,u]12995; AVX512DQ-FCP-NEXT:    vmovdqa64 {{.*#+}} ymm26 = [65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,65535,65535,65535,65535]12996; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 | (ymm10 & ymm26)12997; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,65535,0,65535,65535,0,65535,65535,65535,0,65535,65535,0,65535,65535,65535]12998; AVX512DQ-FCP-NEXT:    vmovdqa64 416(%rdi), %ymm1712999; AVX512DQ-FCP-NEXT:    vmovdqa64 384(%rdi), %ymm1813000; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm1313001; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm17 ^ (ymm13 & (ymm18 ^ ymm17))13002; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm1513003; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u,u,u,u,u,u],zero,zero,zero,xmm15[6,13],zero,zero,xmm15[2,9]13004; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u,u,u,u,u,1,8,15],zero,zero,xmm13[4,11],zero,zero13005; AVX512DQ-FCP-NEXT:    vpor %xmm15, %xmm13, %xmm1313006; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm1313007; AVX512DQ-FCP-NEXT:    vmovdqa64 {{.*#+}} ymm21 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0]13008; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (ymm21 & (ymm13 ^ ymm8))13009; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm13, %zmm0, %zmm313010; AVX512DQ-FCP-NEXT:    vpmovsxwd {{.*#+}} zmm29 = [4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,255,0,0,0,0,0,0]13011; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm3 = zmm3 ^ (zmm29 & (zmm3 ^ zmm7))13012; AVX512DQ-FCP-NEXT:    vmovdqu64 %zmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 64-byte Spill13013; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm713014; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm12 ^ (ymm7 & (ymm11 ^ ymm12))13015; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm813016; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,xmm8[6,13],zero,zero,xmm8[2,9,u,u,u,u,u,u,u]13017; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[1,8,15],zero,zero,xmm7[4,11],zero,zero,xmm7[u,u,u,u,u,u,u]13018; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm713019; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm19, %ymm813020; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm31 ^ (ymm8 & (ymm27 ^ ymm31))13021; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm20, %ymm313022; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm8[0,1],ymm3[2],ymm8[3,4,5],ymm3[6],ymm8[7,8,9],ymm3[10],ymm8[11,12,13],ymm3[14],ymm8[15]13023; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm8[0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]13024; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 | (ymm7 & ~mem)13025; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm713026; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm28 ^ (ymm7 & (ymm30 ^ ymm28))13027; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm7[u,u,u,6,13],zero,zero,xmm7[2,9],zero,zero,zero,xmm7[u,u,u,u]13028; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm713029; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u],zero,zero,xmm7[4,11],zero,zero,xmm7[0,7,14,u,u,u,u]13030; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm13, %xmm713031; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm713032; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm13 = [0,0,0,0,1,3,4,6]13033; AVX512DQ-FCP-NEXT:    vpermd %ymm22, %ymm13, %ymm1313034; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = 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,u,u,u,u,17,20,27,30]13035; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm7 = ymm7[0,1,2,3,4,5,6],ymm13[7]13036; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm4[6,13,u,u,u,u,u,u,u,u,u,u,u]13037; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm5[1,8,15],zero,zero,xmm5[u,u,u,u,u,u,u,u,u,u,u]13038; AVX512DQ-FCP-NEXT:    vpor %xmm13, %xmm15, %xmm1313039; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm13, %zmm7, %zmm713040; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm7 = zmm7 ^ (zmm0 & (zmm7 ^ zmm8))13041; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm813042; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm1 ^ (ymm8 & (ymm16 ^ ymm1))13043; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm1313044; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u,u,u],zero,zero,xmm13[2,9],zero,zero,zero,xmm13[5,12,u,u]13045; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,4,11],zero,zero,xmm8[0,7,14],zero,zero,xmm8[u,u]13046; AVX512DQ-FCP-NEXT:    vpor %xmm13, %xmm8, %xmm813047; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm1313048; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm14 ^ (ymm13 & (ymm2 ^ ymm14))13049; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm15 = ymm13[2,3,0,1]13050; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm13 = ymm13[0,1,2],ymm15[3],ymm13[4,5],ymm15[6],ymm13[7,8,9,10],ymm15[11],ymm13[12,13],ymm15[14],ymm13[15]13051; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm13[3,10,17,24,31,22,29,20,27,u,u,u,u,u,u,u,u,u]13052; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 | (ymm8 & ymm26)13053; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm813054; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm17 ^ (ymm8 & (ymm18 ^ ymm17))13055; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm8[u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm8[5,12],zero,zero13056; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm813057; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u],zero,zero,xmm8[0,7,14],zero,zero,xmm8[3,10]13058; AVX512DQ-FCP-NEXT:    vpor %xmm15, %xmm8, %xmm813059; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm813060; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 ^ (ymm21 & (ymm8 ^ ymm13))13061; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm8, %zmm0, %zmm2413062; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm24 = zmm24 ^ (zmm29 & (zmm24 ^ zmm7))13063; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm713064; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm12 ^ (ymm7 & (ymm11 ^ ymm12))13065; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[2,9],zero,zero,zero,xmm7[5,12],zero,zero,xmm7[u,u,u,u,u,u,u]13066; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm713067; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,xmm7[0,7,14],zero,zero,xmm7[3,10,u,u,u,u,u,u,u]13068; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm713069; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm813070; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm31 ^ (ymm8 & (ymm27 ^ ymm31))13071; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm8[0,1,2],ymm3[3],ymm8[4,5],ymm3[6],ymm8[7,8,9,10],ymm3[11],ymm8[12,13],ymm3[14],ymm8[15]13072; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm20, %ymm013073; AVX512DQ-FCP-NEXT:    vmovdqu64 %ymm20, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill13074; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm8[1,8,15,6,13,4,11,18,25],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero13075; AVX512DQ-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm23 = [18446744073709551615,255,18446744073709486080,18446744073709551615]13076; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 | (ymm7 & ymm23)13077; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm19, %ymm713078; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm30 ^ (ymm7 & (ymm28 ^ ymm30))13079; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm813080; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u],zero,zero,zero,xmm8[5,12],zero,zero,xmm8[1,8,15,u,u,u,u]13081; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,0,7,14],zero,zero,xmm7[3,10],zero,zero,zero,xmm7[u,u,u,u]13082; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm713083; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm713084; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm8 = [0,0,0,0,1,3,5,6]13085; AVX512DQ-FCP-NEXT:    vpermd %ymm22, %ymm8, %ymm313086; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm3 = 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,u,u,u,u,18,21,24,31]13087; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3,4,5,6],ymm3[7]13088; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm5[2,9],zero,zero,zero,xmm5[u,u,u,u,u,u,u,u,u,u,u]13089; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,xmm4[0,7,14,u,u,u,u,u,u,u,u,u,u,u]13090; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm713091; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm7, %zmm3, %zmm313092; AVX512DQ-FCP-NEXT:    vpmovsxdq {{.*#+}} zmm22 = [0,0,18446744073709486080,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615]13093; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm3 = zmm13 ^ (zmm22 & (zmm3 ^ zmm13))13094; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm713095; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm1 ^ (ymm7 & (ymm16 ^ ymm1))13096; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm1313097; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u,u,u],zero,zero,xmm13[3,10],zero,zero,zero,xmm13[6,13,u,u]13098; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,5,12],zero,zero,xmm7[1,8,15],zero,zero,xmm7[u,u]13099; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm13, %xmm713100; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm1313101; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm2 ^ (ymm13 & (ymm14 ^ ymm2))13102; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm15 = ymm13[2,3,0,1]13103; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm13 = ymm15[0],ymm13[1,2],ymm15[3],ymm13[4,5,6],ymm15[7,8],ymm13[9,10],ymm15[11],ymm13[12,13,14],ymm15[15]13104; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm13[4,11,18,25,16,23,30,21,28,u,u,u,u,u,u,u,u,u]13105; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 | (ymm7 & ymm26)13106; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm713107; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm17 ^ (ymm7 & (ymm18 ^ ymm17))13108; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm7[u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm7[6,13],zero,zero13109; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm713110; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u],zero,zero,xmm7[1,8,15],zero,zero,xmm7[4,11]13111; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm15, %xmm713112; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm713113; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (ymm21 & (ymm7 ^ ymm13))13114; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm0, %zmm2013115; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm20 = zmm20 ^ (zmm29 & (zmm20 ^ zmm3))13116; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm313117; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm12 ^ (ymm3 & (ymm11 ^ ymm12))13118; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm3[3,10],zero,zero,zero,xmm3[6,13],zero,zero,xmm3[u,u,u,u,u,u,u]13119; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm313120; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,11,u,u,u,u,u,u,u]13121; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm3, %xmm313122; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm713123; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm31 ^ (ymm7 & (ymm27 ^ ymm31))13124; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm7 = ymm0[0],ymm7[1,2],ymm0[3],ymm7[4,5,6],ymm0[7,8],ymm7[9,10],ymm0[11],ymm7[12,13,14],ymm0[15]13125; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm7[2,9,0,7,14,5,12,19,26],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero13126; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 | (ymm3 & ymm23)13127; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm313128; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm30 ^ (ymm3 & (ymm28 ^ ymm30))13129; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm1313130; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u],zero,zero,zero,xmm13[6,13],zero,zero,xmm13[2,9,u,u,u,u,u]13131; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,1,8,15],zero,zero,xmm3[4,11],zero,zero,xmm3[u,u,u,u,u]13132; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm13, %xmm1313133; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm15 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,5,12,19,26,17,24,31,22,29,u,u,u,u,u,u,u,u,u]13134; AVX512DQ-FCP-NEXT:    vmovdqa 208(%rdi), %xmm013135; AVX512DQ-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13136; AVX512DQ-FCP-NEXT:    vpshufb %xmm15, %xmm0, %xmm813137; AVX512DQ-FCP-NEXT:    vmovdqa 192(%rdi), %xmm013138; AVX512DQ-FCP-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill13139; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero13140; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm8, %xmm313141; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm813142; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313143; AVX512DQ-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm25 = [18446744073709551615,18446744073709551615,18446744073709551615,16777215]13144; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (ymm25 & (ymm3 ^ ymm8))13145; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[3,10],zero,zero,zero,xmm5[u,u,u,u,u,u,u,u,u,u,u]13146; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,xmm4[1,8,15,u,u,u,u,u,u,u,u,u,u,u]13147; AVX512DQ-FCP-NEXT:    vpor %xmm5, %xmm4, %xmm413148; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm4, %zmm3, %zmm313149; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm3 = zmm7 ^ (zmm22 & (zmm3 ^ zmm7))13150; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm413151; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm2 ^ (ymm4 & (ymm14 ^ ymm2))13152; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]13153; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm5[0],ymm4[1,2,3],ymm5[4],ymm4[5,6],ymm5[7,8],ymm4[9,10,11],ymm5[12],ymm4[13,14],ymm5[15]13154; AVX512DQ-FCP-NEXT:    vpshufb %ymm15, %ymm4, %ymm413155; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm513156; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm1 ^ (ymm5 & (ymm16 ^ ymm1))13157; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm5[u,u,u,u,u,6,13],zero,zero,xmm5[2,9],zero,zero,zero,xmm5[u,u]13158; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm513159; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[u,u,u,u,u],zero,zero,xmm5[4,11],zero,zero,xmm5[0,7,14,u,u]13160; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm5, %xmm513161; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm5 = (ymm5 & ymm26) | ymm413162; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm413163; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm18 ^ (ymm4 & (ymm17 ^ ymm18))13164; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm713165; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u],zero,zero,xmm7[2,9],zero,zero,zero,xmm7[5,12]13166; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,u,u,u,4,11],zero,zero,xmm4[0,7,14],zero,zero13167; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm4, %xmm413168; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm413169; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm4 ^ (ymm21 & (ymm4 ^ ymm5))13170; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm4, %zmm0, %zmm2213171; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm22 = zmm22 ^ (zmm29 & (zmm22 ^ zmm3))13172; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm313173; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm2 ^ (ymm3 & (ymm14 ^ ymm2))13174; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm3[2,3,0,1]13175; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[2,3],ymm4[4],ymm3[5,6,7,8],ymm4[9],ymm3[10,11],ymm4[12],ymm3[13,14,15]13176; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm3[6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]13177; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm19, %ymm413178; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm16 ^ (ymm4 & (ymm1 ^ ymm16))13179; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm513180; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[u,u,u,u],zero,zero,zero,xmm5[5,12],zero,zero,xmm5[1,8,15,u,u]13181; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,0,7,14],zero,zero,xmm4[3,10],zero,zero,zero,xmm4[u,u]13182; AVX512DQ-FCP-NEXT:    vpor %xmm5, %xmm4, %xmm413183; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = (ymm4 & ymm26) | ymm313184; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm313185; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm18 ^ (ymm3 & (ymm17 ^ ymm18))13186; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm513187; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[u,u,u,u,u,u,u],zero,zero,xmm5[3,10],zero,zero,zero,xmm5[6,13]13188; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u,5,12],zero,zero,xmm3[1,8,15],zero,zero13189; AVX512DQ-FCP-NEXT:    vpor %xmm5, %xmm3, %xmm313190; AVX512DQ-FCP-NEXT:    vinserti32x4 $1, %xmm3, %ymm0, %ymm2613191; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm26 = ymm26 ^ (ymm21 & (ymm26 ^ ymm4))13192; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm19, %ymm313193; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm14 ^ (ymm3 & (ymm2 ^ ymm14))13194; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm3[2,3,0,1]13195; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0],ymm4[1],ymm3[2,3,4],ymm4[5],ymm3[6,7,8],ymm4[9],ymm3[10,11,12],ymm4[13],ymm3[14,15]13196; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm5 = [u,u,u,u,128,128,128,128,128,128,128,128,128,0,7,14,21,28,19,26,17,24,31,u,u,u,u,u,u,u,u,u]13197; AVX512DQ-FCP-NEXT:    vpshufb %ymm5, %ymm3, %ymm313198; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm413199; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm16 ^ (ymm4 & (ymm1 ^ ymm16))13200; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm713201; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u],zero,zero,zero,xmm7[6,13],zero,zero,xmm7[2,9,u,u,u]13202; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[u,u,u,u,1,8,15],zero,zero,xmm4[4,11],zero,zero,xmm4[u,u,u]13203; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm4, %xmm713204; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = (ymm7 & ~mem) | ymm313205; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm313206; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm18 ^ (ymm3 & (ymm17 ^ ymm18))13207; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm3[u,u,u,u,u,u,u,6,13],zero,zero,xmm3[2,9],zero,zero,zero13208; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm313209; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[4,11],zero,zero,xmm3[0,7,14]13210; AVX512DQ-FCP-NEXT:    vpor %xmm4, %xmm3, %xmm313211; AVX512DQ-FCP-NEXT:    vinserti32x4 $1, %xmm3, %ymm0, %ymm2913212; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm29 = ymm29 ^ (ymm21 & (ymm29 ^ ymm7))13213; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm1313214; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm11 ^ (ymm13 & (ymm12 ^ ymm11))13215; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm813216; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm19 = ymm17 ^ (ymm19 & (ymm18 ^ ymm17))13217; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm313218; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm11 ^ (ymm3 & (ymm12 ^ ymm11))13219; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, %ymm713220; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm11 ^ (ymm6 & (ymm12 ^ ymm11))13221; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm1113222; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[2,9],zero,zero,zero,xmm11[5,12,u,u,u,u,u,u,u]13223; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm13[4,11],zero,zero,xmm13[0,7,14],zero,zero,xmm13[u,u,u,u,u,u,u]13224; AVX512DQ-FCP-NEXT:    vpor %xmm11, %xmm12, %xmm1313225; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm31 ^ (ymm8 & (ymm27 ^ ymm31))13226; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm1113227; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[3,10],zero,zero,zero,xmm11[6,13,u,u,u,u,u,u,u]13228; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[5,12],zero,zero,xmm3[1,8,15],zero,zero,xmm3[u,u,u,u,u,u,u]13229; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm11, %xmm313230; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, %ymm1213231; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm16 ^ (ymm9 & (ymm1 ^ ymm16))13232; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm1513233; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = ymm27 ^ (ymm15 & (ymm31 ^ ymm27))13234; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm27 ^ (ymm9 & (ymm31 ^ ymm27))13235; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm6[6,13],zero,zero,xmm6[2,9],zero,zero,zero,xmm6[u,u,u,u,u,u,u]13236; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm013237; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,xmm0[4,11],zero,zero,xmm0[0,7,14,u,u,u,u,u,u,u]13238; AVX512DQ-FCP-NEXT:    vporq %xmm11, %xmm0, %xmm1613239; AVX512DQ-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm4 # 32-byte Reload13240; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm4[0],ymm8[1,2,3],ymm4[4],ymm8[5,6],ymm4[7,8],ymm8[9,10,11],ymm4[12],ymm8[13,14],ymm4[15]13241; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm11 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[3,10,1,8,15,6,13,20,27],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero13242; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm11 | (ymm13 & ymm23)13243; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm15[0],ymm4[1],ymm15[2,3],ymm4[4],ymm15[5,6,7,8],ymm4[9],ymm15[10,11],ymm4[12],ymm15[13,14,15]13244; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[4,11,2,9,0,7,14,21,28],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero13245; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm8 | (ymm3 & ymm23)13246; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm9[0],ymm4[1],ymm9[2,3,4],ymm4[5],ymm9[6,7,8],ymm4[9],ymm9[10,11,12],ymm4[13],ymm9[14,15]13247; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm0[5,12,3,10,1,8,15,22,29],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero13248; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 | (ymm16 & ymm23)13249; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm14 ^ (ymm10 & (ymm2 ^ ymm14))13250; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm30 ^ (ymm12 & (ymm28 ^ ymm30))13251; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm30 ^ (ymm7 & (ymm28 ^ ymm30))13252; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm28 ^ (ymm10 & (ymm30 ^ ymm28))13253; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm12[u,u,2,9],zero,zero,zero,xmm12[5,12],zero,zero,xmm12[u,u,u,u,u]13254; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm12, %xmm913255; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u],zero,zero,xmm9[0,7,14],zero,zero,xmm9[3,10,u,u,u,u,u]13256; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm9, %xmm313257; AVX512DQ-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload13258; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm6 = [128,128,128,128,128,128,128,128,128,128,128,128,128,128,6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]13259; AVX512DQ-FCP-NEXT:    vpshufb %xmm6, %xmm4, %xmm913260; AVX512DQ-FCP-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload13261; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm6[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero13262; AVX512DQ-FCP-NEXT:    vpor %xmm9, %xmm12, %xmm913263; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313264; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm913265; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm9 ^ (ymm25 & (ymm9 ^ ymm3))13266; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm7[u,u,3,10],zero,zero,zero,xmm7[6,13],zero,zero,xmm7[u,u,u,u,u]13267; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm713268; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u],zero,zero,xmm7[1,8,15],zero,zero,xmm7[4,11,u,u,u,u,u]13269; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm7, %xmm313270; AVX512DQ-FCP-NEXT:    vpshufb %xmm5, %xmm4, %xmm513271; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm6[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero13272; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm5, %xmm513273; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313274; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm713275; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (ymm25 & (ymm7 ^ ymm3))13276; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm313277; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12,u,u,u,u,u]13278; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm10[u,u,4,11],zero,zero,xmm10[0,7,14],zero,zero,xmm10[u,u,u,u,u]13279; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm5, %xmm313280; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm5 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,8,15,22,29,20,27,18,25,128,128,128,128,128,128,128,128,128,128]13281; AVX512DQ-FCP-NEXT:    vpshufb %xmm5, %xmm4, %xmm1013282; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm6[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero13283; AVX512DQ-FCP-NEXT:    vpor %xmm12, %xmm10, %xmm1013284; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313285; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013286; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm10 ^ (ymm25 & (ymm10 ^ ymm3))13287; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm3 = [1,2,4,6,0,0,0,0]13288; AVX512DQ-FCP-NEXT:    vmovdqa 224(%rdi), %ymm1213289; AVX512DQ-FCP-NEXT:    vpermd %ymm12, %ymm3, %ymm313290; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[0,7,10,13,u,u,u,u,u,u,u,u,u,u,u,u]13291; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm3, %zmm9, %zmm313292; AVX512DQ-FCP-NEXT:    vmovdqa64 {{.*#+}} zmm9 = [65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535]13293; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm3 = zmm3 ^ (zmm9 & (zmm3 ^ zmm11))13294; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm11 = [1,3,4,6,0,0,0,0]13295; AVX512DQ-FCP-NEXT:    vpermd %ymm12, %ymm11, %ymm1113296; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[1,4,11,14,u,u,u,u,u,u,u,u,u,u,u,u]13297; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm11, %zmm7, %zmm713298; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm7 = zmm7 ^ (zmm9 & (zmm7 ^ zmm8))13299; AVX512DQ-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm8 = [1,3,5,6,0,0,0,0]13300; AVX512DQ-FCP-NEXT:    vpermd %ymm12, %ymm8, %ymm813301; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[2,5,8,15,u,u,u,u,u,u,u,u,u,u,u,u]13302; AVX512DQ-FCP-NEXT:    vinserti32x4 $2, %xmm8, %zmm10, %zmm813303; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm8 = zmm8 ^ (zmm9 & (zmm8 ^ zmm0))13304; AVX512DQ-FCP-NEXT:    movw $-512, %ax # imm = 0xFE0013305; AVX512DQ-FCP-NEXT:    kmovw %eax, %k113306; AVX512DQ-FCP-NEXT:    vinserti32x8 $1, %ymm26, %zmm0, %zmm3 {%k1}13307; AVX512DQ-FCP-NEXT:    vinserti32x8 $1, %ymm29, %zmm0, %zmm7 {%k1}13308; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm0 = ymm2[2,3,0,1]13309; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm2[0,1],ymm0[2],ymm2[3,4],ymm0[5],ymm2[6,7,8,9],ymm0[10],ymm2[11,12],ymm0[13],ymm2[14,15]13310; AVX512DQ-FCP-NEXT:    vpshufb %ymm5, %ymm0, %ymm013311; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm1[u,u,u,u,2,9],zero,zero,zero,xmm1[5,12],zero,zero,xmm1[u,u,u]13312; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm113313; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u],zero,zero,xmm1[0,7,14],zero,zero,xmm1[3,10,u,u,u]13314; AVX512DQ-FCP-NEXT:    vpor %xmm2, %xmm1, %xmm113315; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = (ymm1 & mem) | ymm013316; AVX512DQ-FCP-NEXT:    vmovdqa64 %ymm19, %ymm213317; AVX512DQ-FCP-NEXT:    vextracti32x4 $1, %ymm19, %xmm013318; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero,xmm0[1,8,15]13319; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,0,7,14],zero,zero,xmm2[3,10],zero,zero,zero13320; AVX512DQ-FCP-NEXT:    vpor %xmm0, %xmm2, %xmm013321; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm013322; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm1[0,1,2],ymm0[3,4,5,6,7],ymm1[8,9,10],ymm0[11,12,13,14,15]13323; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4,5,6,7]13324; AVX512DQ-FCP-NEXT:    vinserti32x8 $1, %ymm0, %zmm0, %zmm8 {%k1}13325; AVX512DQ-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %zmm0 # 64-byte Reload13326; AVX512DQ-FCP-NEXT:    vmovaps %zmm0, (%rsi)13327; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm24, (%rdx)13328; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm20, (%rcx)13329; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm22, (%r8)13330; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm3, (%r9)13331; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax13332; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm7, (%rax)13333; AVX512DQ-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax13334; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm8, (%rax)13335; AVX512DQ-FCP-NEXT:    popq %rax13336; AVX512DQ-FCP-NEXT:    vzeroupper13337; AVX512DQ-FCP-NEXT:    retq13338;13339; AVX512BW-LABEL: load_i8_stride7_vf64:13340; AVX512BW:       # %bb.0:13341; AVX512BW-NEXT:    vmovdqa64 64(%rdi), %zmm2513342; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [8,1,18,11,4,5,22,15,0,25,10,0,12,29,14,0]13343; AVX512BW-NEXT:    vpermw %zmm25, %zmm0, %zmm1813344; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [0,1,18,11,4,21,14,7,8,25,10,0,28,13,0,15]13345; AVX512BW-NEXT:    vpermw %zmm25, %zmm0, %zmm2413346; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [0,17,10,3,4,21,14,7,24,9,0,11,28,13,0,31]13347; AVX512BW-NEXT:    vpermw %zmm25, %zmm0, %zmm913348; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [16,17,10,3,20,13,6,23,24,25,0,27,28,0,30,31]13349; AVX512BW-NEXT:    vpermw %zmm25, %zmm0, %zmm013350; AVX512BW-NEXT:    vmovdqa (%rdi), %ymm1013351; AVX512BW-NEXT:    vmovdqa 32(%rdi), %ymm113352; AVX512BW-NEXT:    movw $-28382, %ax # imm = 0x912213353; AVX512BW-NEXT:    kmovd %eax, %k113354; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm10, %ymm3 {%k1}13355; AVX512BW-NEXT:    kmovq %k1, %k213356; AVX512BW-NEXT:    kmovw %k1, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill13357; AVX512BW-NEXT:    vextracti128 $1, %ymm3, %xmm413358; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,zero,xmm4[5,12],zero,zero,xmm4[1,8,15,u,u,u,u,u,u]13359; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[0,7,14],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[u,u,u,u,u,u]13360; AVX512BW-NEXT:    vporq %xmm4, %xmm3, %xmm1613361; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]13362; AVX512BW-NEXT:    movw $992, %ax # imm = 0x3E013363; AVX512BW-NEXT:    kmovd %eax, %k113364; AVX512BW-NEXT:    vmovdqu16 %ymm0, %ymm16 {%k1}13365; AVX512BW-NEXT:    vmovdqa 128(%rdi), %ymm1113366; AVX512BW-NEXT:    vmovdqa 160(%rdi), %ymm613367; AVX512BW-NEXT:    movw $8772, %ax # imm = 0x224413368; AVX512BW-NEXT:    kmovd %eax, %k613369; AVX512BW-NEXT:    vpblendmw %ymm11, %ymm6, %ymm0 {%k6}13370; AVX512BW-NEXT:    vextracti128 $1, %ymm0, %xmm313371; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13,u,u,u,u]13372; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,5,12],zero,zero,xmm0[1,8,15],zero,zero,xmm0[u,u,u,u]13373; AVX512BW-NEXT:    vpor %xmm3, %xmm0, %xmm013374; AVX512BW-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm013375; AVX512BW-NEXT:    vmovdqa 192(%rdi), %xmm713376; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm21 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]13377; AVX512BW-NEXT:    vpshufb %xmm21, %xmm7, %xmm313378; AVX512BW-NEXT:    vmovdqa 208(%rdi), %xmm813379; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm8[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]13380; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]13381; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313382; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm3[7]13383; AVX512BW-NEXT:    vmovdqa64 240(%rdi), %xmm2613384; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm26[5,12,u,u,u,u,u,u,u,u,u,u,u]13385; AVX512BW-NEXT:    vmovdqa 224(%rdi), %xmm413386; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[0,7,14],zero,zero,xmm4[u,u,u,u,u,u,u,u,u,u,u]13387; AVX512BW-NEXT:    vpor %xmm5, %xmm12, %xmm513388; AVX512BW-NEXT:    vinserti32x4 $2, %xmm5, %zmm0, %zmm013389; AVX512BW-NEXT:    movabsq $137438429184, %rax # imm = 0x1FFFF8000013390; AVX512BW-NEXT:    kmovq %rax, %k513391; AVX512BW-NEXT:    vmovdqu8 %zmm0, %zmm16 {%k5}13392; AVX512BW-NEXT:    vmovdqa 288(%rdi), %ymm1313393; AVX512BW-NEXT:    vmovdqa 256(%rdi), %ymm1213394; AVX512BW-NEXT:    movw $9288, %ax # imm = 0x244813395; AVX512BW-NEXT:    kmovd %eax, %k313396; AVX512BW-NEXT:    vpblendmw %ymm13, %ymm12, %ymm0 {%k3}13397; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[u,u,u,u,u,3,10],zero,zero,zero,xmm0[6,13],zero,zero,xmm0[u,u]13398; AVX512BW-NEXT:    vextracti128 $1, %ymm0, %xmm013399; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero,xmm0[4,11,u,u]13400; AVX512BW-NEXT:    vporq %xmm5, %xmm0, %xmm1913401; AVX512BW-NEXT:    vmovdqa64 352(%rdi), %ymm1713402; AVX512BW-NEXT:    vmovdqa 320(%rdi), %ymm013403; AVX512BW-NEXT:    vpblendmw %ymm17, %ymm0, %ymm5 {%k6}13404; AVX512BW-NEXT:    vpermq {{.*#+}} ymm15 = ymm5[2,3,0,1]13405; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm5 = ymm5[0,1],ymm15[2],ymm5[3,4,5],ymm15[6],ymm5[7,8,9],ymm15[10],ymm5[11,12,13],ymm15[14],ymm5[15]13406; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm5 = ymm5[u,u,u,u,u,u,u,u,u,u,u,u,u,u,2,9,16,23,30,21,28,19,26,u,u,u,u,u,u,u,u,u]13407; AVX512BW-NEXT:    movw $3968, %ax # imm = 0xF8013408; AVX512BW-NEXT:    kmovd %eax, %k713409; AVX512BW-NEXT:    vmovdqu16 %ymm5, %ymm19 {%k7}13410; AVX512BW-NEXT:    vmovdqa 416(%rdi), %ymm1513411; AVX512BW-NEXT:    vmovdqa 384(%rdi), %ymm513412; AVX512BW-NEXT:    movw $4644, %ax # imm = 0x122413413; AVX512BW-NEXT:    kmovd %eax, %k413414; AVX512BW-NEXT:    vpblendmw %ymm15, %ymm5, %ymm20 {%k4}13415; AVX512BW-NEXT:    vextracti32x4 $1, %ymm20, %xmm2213416; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[u,u,u,u,u,u,u],zero,zero,zero,xmm22[6,13],zero,zero,xmm22[2,9]13417; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm20 = xmm20[u,u,u,u,u,u,u,1,8,15],zero,zero,xmm20[4,11],zero,zero13418; AVX512BW-NEXT:    vporq %xmm22, %xmm20, %xmm2013419; AVX512BW-NEXT:    vinserti32x4 $1, %xmm20, %ymm0, %ymm2013420; AVX512BW-NEXT:    movl $-8388608, %eax # imm = 0xFF80000013421; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm10, %ymm22 {%k4}13422; AVX512BW-NEXT:    vextracti32x4 $1, %ymm22, %xmm2313423; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm23 = zero,zero,zero,xmm23[6,13],zero,zero,xmm23[2,9,u,u,u,u,u,u,u]13424; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[1,8,15],zero,zero,xmm22[4,11],zero,zero,xmm22[u,u,u,u,u,u,u]13425; AVX512BW-NEXT:    vporq %xmm23, %xmm22, %xmm2213426; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm9 = ymm9[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]13427; AVX512BW-NEXT:    movl $511, %edi # imm = 0x1FF13428; AVX512BW-NEXT:    kmovd %edi, %k113429; AVX512BW-NEXT:    vmovdqu8 %ymm22, %ymm9 {%k1}13430; AVX512BW-NEXT:    vpblendmw %ymm11, %ymm6, %ymm22 {%k3}13431; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm23 = xmm22[u,u,u,6,13],zero,zero,xmm22[2,9],zero,zero,zero,xmm22[u,u,u,u]13432; AVX512BW-NEXT:    vextracti32x4 $1, %ymm22, %xmm2213433; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[u,u,u],zero,zero,xmm22[4,11],zero,zero,xmm22[0,7,14,u,u,u,u]13434; AVX512BW-NEXT:    vporq %xmm23, %xmm22, %xmm2213435; AVX512BW-NEXT:    vinserti32x4 $1, %xmm22, %ymm0, %ymm1413436; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm8[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]13437; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm23 = xmm7[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]13438; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm22 = xmm23[0],xmm22[0],xmm23[1],xmm22[1],xmm23[2],xmm22[2],xmm23[3],xmm22[3]13439; AVX512BW-NEXT:    vinserti32x4 $1, %xmm22, %ymm0, %ymm213440; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm2 = ymm14[0,1,2,3,4,5,6],ymm2[7]13441; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,zero,xmm26[6,13,u,u,u,u,u,u,u,u,u,u,u]13442; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm4[1,8,15],zero,zero,xmm4[u,u,u,u,u,u,u,u,u,u,u]13443; AVX512BW-NEXT:    vporq %xmm14, %xmm22, %xmm1413444; AVX512BW-NEXT:    vinserti32x4 $2, %xmm14, %zmm2, %zmm213445; AVX512BW-NEXT:    vmovdqu8 %zmm2, %zmm9 {%k5}13446; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm10, %ymm2 {%k6}13447; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,zero,xmm2[u,u,u,u,u,u,u]13448; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm213449; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[0,7,14],zero,zero,xmm2[3,10,u,u,u,u,u,u,u]13450; AVX512BW-NEXT:    vpor %xmm2, %xmm14, %xmm213451; AVX512BW-NEXT:    movl $261632, %edi # imm = 0x3FE0013452; AVX512BW-NEXT:    kmovd %edi, %k513453; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm2 {%k5} = ymm24[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13454; AVX512BW-NEXT:    vpblendmw %ymm6, %ymm11, %ymm14 {%k2}13455; AVX512BW-NEXT:    vextracti32x4 $1, %ymm14, %xmm2213456; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[u,u],zero,zero,zero,xmm22[5,12],zero,zero,xmm22[1,8,15,u,u,u,u]13457; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,0,7,14],zero,zero,xmm14[3,10],zero,zero,zero,xmm14[u,u,u,u]13458; AVX512BW-NEXT:    vporq %xmm22, %xmm14, %xmm1413459; AVX512BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1413460; AVX512BW-NEXT:    vpshufb %xmm21, %xmm8, %xmm2113461; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm7[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]13462; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm21 = xmm22[0],xmm21[0],xmm22[1],xmm21[1],xmm22[2],xmm21[2],xmm22[3],xmm21[3]13463; AVX512BW-NEXT:    vinserti32x4 $1, %xmm21, %ymm0, %ymm313464; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm3 = ymm14[0,1,2,3,4,5,6],ymm3[7]13465; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm4[2,9],zero,zero,zero,xmm4[u,u,u,u,u,u,u,u,u,u,u]13466; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm21 = zero,zero,xmm26[0,7,14,u,u,u,u,u,u,u,u,u,u,u]13467; AVX512BW-NEXT:    vporq %xmm14, %xmm21, %xmm1413468; AVX512BW-NEXT:    vinserti32x4 $2, %xmm14, %zmm3, %zmm2213469; AVX512BW-NEXT:    vmovdqu16 %zmm2, %zmm22 {%k1}13470; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm10, %ymm2 {%k3}13471; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,zero,xmm2[u,u,u,u,u,u,u]13472; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm213473; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[1,8,15],zero,zero,xmm2[4,11,u,u,u,u,u,u,u]13474; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm213475; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm2 {%k5} = ymm18[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13476; AVX512BW-NEXT:    vpblendmw %ymm6, %ymm11, %ymm3 {%k4}13477; AVX512BW-NEXT:    vextracti32x4 $1, %ymm3, %xmm1813478; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u],zero,zero,zero,xmm18[6,13],zero,zero,xmm18[2,9,u,u,u,u,u]13479; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,1,8,15],zero,zero,xmm3[4,11],zero,zero,xmm3[u,u,u,u,u]13480; AVX512BW-NEXT:    vporq %xmm18, %xmm3, %xmm313481; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313482; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm18 = xmm8[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[5,12]13483; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm21 = xmm7[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero13484; AVX512BW-NEXT:    vporq %xmm18, %xmm21, %xmm1813485; AVX512BW-NEXT:    vinserti32x4 $1, %xmm18, %ymm0, %ymm1813486; AVX512BW-NEXT:    movl $-134217728, %edi # imm = 0xF800000013487; AVX512BW-NEXT:    kmovd %edi, %k213488; AVX512BW-NEXT:    kmovd %k2, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill13489; AVX512BW-NEXT:    vmovdqu8 %ymm18, %ymm3 {%k2}13490; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm18 = xmm4[3,10],zero,zero,zero,xmm4[u,u,u,u,u,u,u,u,u,u,u]13491; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm21 = zero,zero,xmm26[1,8,15,u,u,u,u,u,u,u,u,u,u,u]13492; AVX512BW-NEXT:    vporq %xmm18, %xmm21, %xmm1813493; AVX512BW-NEXT:    vinserti32x4 $2, %xmm18, %zmm3, %zmm1813494; AVX512BW-NEXT:    vmovdqu16 %zmm2, %zmm18 {%k1}13495; AVX512BW-NEXT:    kmovd %eax, %k213496; AVX512BW-NEXT:    vmovdqu8 %ymm20, %ymm19 {%k2}13497; AVX512BW-NEXT:    vinserti64x4 $1, %ymm19, %zmm0, %zmm213498; AVX512BW-NEXT:    movabsq $-137438953472, %rax # imm = 0xFFFFFFE00000000013499; AVX512BW-NEXT:    kmovq %rax, %k113500; AVX512BW-NEXT:    vmovdqu8 %zmm2, %zmm16 {%k1}13501; AVX512BW-NEXT:    vpblendmw %ymm12, %ymm13, %ymm2 {%k4}13502; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm313503; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12,u,u]13504; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,4,11],zero,zero,xmm2[0,7,14],zero,zero,xmm2[u,u]13505; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm213506; AVX512BW-NEXT:    vpblendmw %ymm17, %ymm0, %ymm3 {%k3}13507; AVX512BW-NEXT:    vpermq {{.*#+}} ymm14 = ymm3[2,3,0,1]13508; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0,1,2],ymm14[3],ymm3[4,5],ymm14[6],ymm3[7,8,9,10],ymm14[11],ymm3[12,13],ymm14[14],ymm3[15]13509; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm3 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,3,10,17,24,31,22,29,20,27,u,u,u,u,u,u,u,u,u]13510; AVX512BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k7}13511; AVX512BW-NEXT:    vpblendmw %ymm15, %ymm5, %ymm3 {%k6}13512; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm3[u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm3[5,12],zero,zero13513; AVX512BW-NEXT:    vextracti128 $1, %ymm3, %xmm313514; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,10]13515; AVX512BW-NEXT:    vpor %xmm3, %xmm14, %xmm313516; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313517; AVX512BW-NEXT:    vmovdqu8 %ymm3, %ymm2 {%k2}13518; AVX512BW-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm213519; AVX512BW-NEXT:    vmovdqu8 %zmm2, %zmm9 {%k1}13520; AVX512BW-NEXT:    vpblendmw %ymm12, %ymm13, %ymm2 {%k6}13521; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm313522; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13,u,u]13523; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15],zero,zero,xmm2[u,u]13524; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm213525; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm17, %ymm3 {%k4}13526; AVX512BW-NEXT:    vpermq {{.*#+}} ymm14 = ymm3[2,3,0,1]13527; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm3 = ymm14[0],ymm3[1,2],ymm14[3],ymm3[4,5,6],ymm14[7,8],ymm3[9,10],ymm14[11],ymm3[12,13,14],ymm14[15]13528; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm3 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,4,11,18,25,16,23,30,21,28,u,u,u,u,u,u,u,u,u]13529; AVX512BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k7}13530; AVX512BW-NEXT:    vpblendmw %ymm15, %ymm5, %ymm3 {%k3}13531; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm3[u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm3[6,13],zero,zero13532; AVX512BW-NEXT:    vextracti128 $1, %ymm3, %xmm313533; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,11]13534; AVX512BW-NEXT:    vpor %xmm3, %xmm14, %xmm313535; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313536; AVX512BW-NEXT:    vmovdqu8 %ymm3, %ymm2 {%k2}13537; AVX512BW-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm213538; AVX512BW-NEXT:    vmovdqu8 %zmm2, %zmm22 {%k1}13539; AVX512BW-NEXT:    vpblendmw %ymm12, %ymm13, %ymm2 {%k3}13540; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[u,u,u,u,u,6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u]13541; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm213542; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u],zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u]13543; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm213544; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm17, %ymm3 {%k6}13545; AVX512BW-NEXT:    vpermq {{.*#+}} ymm14 = ymm3[2,3,0,1]13546; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm3 = ymm14[0],ymm3[1,2,3],ymm14[4],ymm3[5,6],ymm14[7,8],ymm3[9,10,11],ymm14[12],ymm3[13,14],ymm14[15]13547; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm3 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,5,12,19,26,17,24,31,22,29,u,u,u,u,u,u,u,u,u]13548; AVX512BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k7}13549; AVX512BW-NEXT:    vpblendmw %ymm5, %ymm15, %ymm3 {%k4}13550; AVX512BW-NEXT:    vextracti128 $1, %ymm3, %xmm1413551; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u,u,u,u],zero,zero,xmm14[2,9],zero,zero,zero,xmm14[5,12]13552; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u,4,11],zero,zero,xmm3[0,7,14],zero,zero13553; AVX512BW-NEXT:    vpor %xmm3, %xmm14, %xmm313554; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313555; AVX512BW-NEXT:    vmovdqu8 %ymm3, %ymm2 {%k2}13556; AVX512BW-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm213557; AVX512BW-NEXT:    vmovdqu8 %zmm2, %zmm18 {%k1}13558; AVX512BW-NEXT:    kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload13559; AVX512BW-NEXT:    vpblendmw %ymm13, %ymm12, %ymm2 {%k1}13560; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm313561; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u],zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15,u,u]13562; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,0,7,14],zero,zero,xmm2[3,10],zero,zero,zero,xmm2[u,u]13563; AVX512BW-NEXT:    vporq %xmm3, %xmm2, %xmm1913564; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm17, %ymm2 {%k3}13565; AVX512BW-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[2,3,0,1]13566; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2,3],ymm3[4],ymm2[5,6,7,8],ymm3[9],ymm2[10,11],ymm3[12],ymm2[13,14,15]13567; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm2 = ymm2[u,u,u,u,u,u,u,u,u,u,u,u,u,u,6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]13568; AVX512BW-NEXT:    vmovdqu16 %ymm2, %ymm19 {%k7}13569; AVX512BW-NEXT:    vpblendmw %ymm13, %ymm12, %ymm2 {%k4}13570; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm313571; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u],zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,9,u,u,u]13572; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,1,8,15],zero,zero,xmm2[4,11],zero,zero,xmm2[u,u,u]13573; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm213574; AVX512BW-NEXT:    vpblendmw %ymm17, %ymm0, %ymm3 {%k1}13575; AVX512BW-NEXT:    kmovq %k1, %k713576; AVX512BW-NEXT:    vpermq {{.*#+}} ymm14 = ymm3[2,3,0,1]13577; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0],ymm14[1],ymm3[2,3,4],ymm14[5],ymm3[6,7,8],ymm14[9],ymm3[10,11,12],ymm14[13],ymm3[14,15]13578; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm20 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,0,7,14,21,28,19,26,17,24,31,u,u,u,u,u,u,u,u,u]13579; AVX512BW-NEXT:    movl $8176, %eax # imm = 0x1FF013580; AVX512BW-NEXT:    kmovd %eax, %k113581; AVX512BW-NEXT:    vmovdqu8 %ymm2, %ymm20 {%k1}13582; AVX512BW-NEXT:    vpblendmw %ymm5, %ymm15, %ymm2 {%k6}13583; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm313584; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13]13585; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15],zero,zero13586; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm213587; AVX512BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213588; AVX512BW-NEXT:    vmovdqu8 %ymm2, %ymm19 {%k2}13589; AVX512BW-NEXT:    vpblendmw %ymm5, %ymm15, %ymm2 {%k3}13590; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[u,u,u,u,u,u,u,6,13],zero,zero,xmm2[2,9],zero,zero,zero13591; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm213592; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u],zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14]13593; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm213594; AVX512BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213595; AVX512BW-NEXT:    vmovdqu8 %ymm2, %ymm20 {%k2}13596; AVX512BW-NEXT:    vpblendmw %ymm6, %ymm11, %ymm2 {%k6}13597; AVX512BW-NEXT:    vpblendmw %ymm10, %ymm1, %ymm21 {%k6}13598; AVX512BW-NEXT:    vmovdqu16 %ymm17, %ymm0 {%k4}13599; AVX512BW-NEXT:    vpermq {{.*#+}} ymm3 = ymm0[2,3,0,1]13600; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm3 = ymm0[0,1],ymm3[2],ymm0[3,4],ymm3[5],ymm0[6,7,8,9],ymm3[10],ymm0[11,12],ymm3[13],ymm0[14,15]13601; AVX512BW-NEXT:    vmovdqu16 %ymm13, %ymm12 {%k6}13602; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm12[u,u,u,u,2,9],zero,zero,zero,xmm12[5,12],zero,zero,xmm12[u,u,u]13603; AVX512BW-NEXT:    vextracti128 $1, %ymm12, %xmm1213604; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u,u],zero,zero,xmm12[0,7,14],zero,zero,xmm12[3,10,u,u,u]13605; AVX512BW-NEXT:    vpor %xmm0, %xmm12, %xmm013606; AVX512BW-NEXT:    movl $4186112, %eax # imm = 0x3FE00013607; AVX512BW-NEXT:    kmovd %eax, %k113608; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm0 {%k1} = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,1,8,15,22,29,20,27,18,25,u,u,u,u,u,u,u,u,u,u]13609; AVX512BW-NEXT:    vmovdqu16 %ymm15, %ymm5 {%k7}13610; AVX512BW-NEXT:    vpblendmw %ymm10, %ymm1, %ymm12 {%k4}13611; AVX512BW-NEXT:    vpblendmw %ymm6, %ymm11, %ymm3 {%k3}13612; AVX512BW-NEXT:    vmovdqu16 %ymm10, %ymm1 {%k3}13613; AVX512BW-NEXT:    vmovdqu16 %ymm11, %ymm6 {%k4}13614; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm2[u,u,2,9],zero,zero,zero,xmm2[5,12],zero,zero,xmm2[u,u,u,u,u]13615; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm213616; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u],zero,zero,xmm2[0,7,14],zero,zero,xmm2[3,10,u,u,u,u,u]13617; AVX512BW-NEXT:    vpor %xmm2, %xmm10, %xmm213618; AVX512BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213619; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm8[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[6,13]13620; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm7[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero13621; AVX512BW-NEXT:    vpor %xmm10, %xmm11, %xmm1013622; AVX512BW-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013623; AVX512BW-NEXT:    kmovd {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 4-byte Reload13624; AVX512BW-NEXT:    vmovdqu8 %ymm10, %ymm2 {%k1}13625; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm3[u,u,3,10],zero,zero,zero,xmm3[6,13],zero,zero,xmm3[u,u,u,u,u]13626; AVX512BW-NEXT:    vextracti128 $1, %ymm3, %xmm313627; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,11,u,u,u,u,u]13628; AVX512BW-NEXT:    vpor %xmm3, %xmm10, %xmm313629; AVX512BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm313630; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm7[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero13631; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm8[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm8[0,7,14]13632; AVX512BW-NEXT:    vpor %xmm10, %xmm11, %xmm1013633; AVX512BW-NEXT:    vinserti128 $1, %xmm10, %ymm0, %ymm1013634; AVX512BW-NEXT:    vmovdqu8 %ymm10, %ymm3 {%k1}13635; AVX512BW-NEXT:    vextracti128 $1, %ymm6, %xmm1013636; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u],zero,zero,xmm10[2,9],zero,zero,zero,xmm10[5,12,u,u,u,u,u]13637; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,4,11],zero,zero,xmm6[0,7,14],zero,zero,xmm6[u,u,u,u,u]13638; AVX512BW-NEXT:    vpor %xmm6, %xmm10, %xmm613639; AVX512BW-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm613640; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero13641; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm8[1,8,15]13642; AVX512BW-NEXT:    vpor %xmm7, %xmm8, %xmm713643; AVX512BW-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm713644; AVX512BW-NEXT:    vmovdqu8 %ymm7, %ymm6 {%k1}13645; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [16,9,2,19,20,13,6,23,24,0,26,27,28,0,30,31]13646; AVX512BW-NEXT:    vpermw %zmm25, %zmm7, %zmm713647; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm8 = [16,9,2,19,12,5,22,23,24,0,26,27,0,29,30,31]13648; AVX512BW-NEXT:    vpermw %zmm25, %zmm8, %zmm813649; AVX512BW-NEXT:    vpmovsxbw {{.*#+}} ymm10 = [8,1,2,19,12,5,22,15,0,9,26,11,0,29,14,0]13650; AVX512BW-NEXT:    vpermw %zmm25, %zmm10, %zmm1013651; AVX512BW-NEXT:    vextracti128 $1, %ymm12, %xmm1113652; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = zero,zero,xmm11[2,9],zero,zero,zero,xmm11[5,12,u,u,u,u,u,u,u]13653; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[4,11],zero,zero,xmm12[0,7,14],zero,zero,xmm12[u,u,u,u,u,u,u]13654; AVX512BW-NEXT:    vpor %xmm11, %xmm12, %xmm1113655; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm11 {%k5} = ymm10[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13656; AVX512BW-NEXT:    vpbroadcastw {{.*#+}} xmm10 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]13657; AVX512BW-NEXT:    vpshufb %xmm10, %xmm4, %xmm1213658; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm26[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13659; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]13660; AVX512BW-NEXT:    vinserti64x4 $1, %ymm12, %zmm2, %zmm213661; AVX512BW-NEXT:    vmovdqu16 %zmm2, %zmm11 {%k5}13662; AVX512BW-NEXT:    vinserti64x4 $1, %ymm19, %zmm0, %zmm213663; AVX512BW-NEXT:    movw $-512, %ax # imm = 0xFE0013664; AVX512BW-NEXT:    vextracti32x4 $1, %ymm21, %xmm1213665; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[3,10],zero,zero,zero,xmm12[6,13,u,u,u,u,u,u,u]13666; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm21[5,12],zero,zero,xmm21[1,8,15],zero,zero,xmm21[u,u,u,u,u,u,u]13667; AVX512BW-NEXT:    vpor %xmm12, %xmm13, %xmm1213668; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm12 {%k5} = ymm8[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13669; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm26[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13670; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm4[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13671; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3]13672; AVX512BW-NEXT:    vinserti64x4 $1, %ymm8, %zmm3, %zmm313673; AVX512BW-NEXT:    vmovdqu16 %zmm3, %zmm12 {%k5}13674; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[6,13],zero,zero,xmm1[2,9],zero,zero,zero,xmm1[u,u,u,u,u,u,u]13675; AVX512BW-NEXT:    vextracti128 $1, %ymm1, %xmm113676; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,xmm1[4,11],zero,zero,xmm1[0,7,14,u,u,u,u,u,u,u]13677; AVX512BW-NEXT:    vpor %xmm3, %xmm1, %xmm113678; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm1 {%k5} = ymm7[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13679; AVX512BW-NEXT:    vpshufb %xmm10, %xmm26, %xmm313680; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13681; AVX512BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]13682; AVX512BW-NEXT:    vinserti64x4 $1, %ymm3, %zmm6, %zmm313683; AVX512BW-NEXT:    vmovdqu16 %zmm3, %zmm1 {%k5}13684; AVX512BW-NEXT:    kmovd %eax, %k113685; AVX512BW-NEXT:    vmovdqa32 %zmm2, %zmm11 {%k1}13686; AVX512BW-NEXT:    vinserti64x4 $1, %ymm20, %zmm0, %zmm213687; AVX512BW-NEXT:    vmovdqa32 %zmm2, %zmm12 {%k1}13688; AVX512BW-NEXT:    vextracti128 $1, %ymm5, %xmm213689; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u],zero,zero,zero,xmm2[5,12],zero,zero,xmm2[1,8,15]13690; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm5[u,u,u,u,u,u,0,7,14],zero,zero,xmm5[3,10],zero,zero,zero13691; AVX512BW-NEXT:    vpor %xmm2, %xmm3, %xmm213692; AVX512BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm213693; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0,1,2],ymm2[3,4,5,6,7],ymm0[8,9,10],ymm2[11,12,13,14,15]13694; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]13695; AVX512BW-NEXT:    vinserti64x4 $1, %ymm0, %zmm0, %zmm013696; AVX512BW-NEXT:    vmovdqa32 %zmm0, %zmm1 {%k1}13697; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax13698; AVX512BW-NEXT:    movq {{[0-9]+}}(%rsp), %rdi13699; AVX512BW-NEXT:    vmovdqa64 %zmm16, (%rsi)13700; AVX512BW-NEXT:    vmovdqa64 %zmm9, (%rdx)13701; AVX512BW-NEXT:    vmovdqa64 %zmm22, (%rcx)13702; AVX512BW-NEXT:    vmovdqa64 %zmm18, (%r8)13703; AVX512BW-NEXT:    vmovdqa64 %zmm11, (%r9)13704; AVX512BW-NEXT:    vmovdqa64 %zmm12, (%rdi)13705; AVX512BW-NEXT:    vmovdqa64 %zmm1, (%rax)13706; AVX512BW-NEXT:    vzeroupper13707; AVX512BW-NEXT:    retq13708;13709; AVX512BW-FCP-LABEL: load_i8_stride7_vf64:13710; AVX512BW-FCP:       # %bb.0:13711; AVX512BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm013712; AVX512BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm313713; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [24,17,2,19,28,21,6,31,16,9,26,27,20,13,30,23]13714; AVX512BW-FCP-NEXT:    vpermw %zmm3, %zmm1, %zmm1613715; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [8,1,18,11,4,5,22,15,0,25,10,3,12,29,14,7]13716; AVX512BW-FCP-NEXT:    vpermw %zmm0, %zmm1, %zmm2413717; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [24,17,2,27,20,5,22,31,16,9,26,19,12,29,30,23]13718; AVX512BW-FCP-NEXT:    vpermw %zmm3, %zmm1, %zmm1713719; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [0,1,18,11,4,21,14,7,8,25,10,3,28,13,6,15]13720; AVX512BW-FCP-NEXT:    vpermw %zmm0, %zmm1, %zmm1213721; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [0,1,2,11,4,5,14,7,8,9,26,19,12,29,22,15]13722; AVX512BW-FCP-NEXT:    vpermw %zmm3, %zmm1, %zmm1813723; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [0,17,10,3,4,21,14,7,24,9,2,11,28,13,6,31]13724; AVX512BW-FCP-NEXT:    vpermw %zmm0, %zmm1, %zmm813725; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [0,1,10,3,4,5,14,7,8,25,18,11,12,29,22,15]13726; AVX512BW-FCP-NEXT:    vpermw %zmm3, %zmm1, %zmm713727; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [16,17,10,3,20,13,6,23,24,25,18,27,28,21,30,31]13728; AVX512BW-FCP-NEXT:    vpermw %zmm0, %zmm1, %zmm513729; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %ymm413730; AVX512BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm213731; AVX512BW-FCP-NEXT:    movw $-28382, %ax # imm = 0x912213732; AVX512BW-FCP-NEXT:    kmovd %eax, %k113733; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm4, %ymm1 {%k1}13734; AVX512BW-FCP-NEXT:    kmovq %k1, %k213735; AVX512BW-FCP-NEXT:    kmovw %k1, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill13736; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm613737; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,xmm6[5,12],zero,zero,xmm6[1,8,15,u,u,u,u,u,u]13738; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[0,7,14],zero,zero,xmm1[3,10],zero,zero,zero,xmm1[u,u,u,u,u,u]13739; AVX512BW-FCP-NEXT:    vpor %xmm6, %xmm1, %xmm113740; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm5[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]13741; AVX512BW-FCP-NEXT:    movw $992, %ax # imm = 0x3E013742; AVX512BW-FCP-NEXT:    kmovd %eax, %k113743; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm5, %ymm1 {%k1}13744; AVX512BW-FCP-NEXT:    vmovdqa 128(%rdi), %ymm613745; AVX512BW-FCP-NEXT:    vmovdqa 160(%rdi), %ymm513746; AVX512BW-FCP-NEXT:    movw $8772, %ax # imm = 0x224413747; AVX512BW-FCP-NEXT:    kmovd %eax, %k613748; AVX512BW-FCP-NEXT:    vpblendmw %ymm6, %ymm5, %ymm9 {%k6}13749; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm1013750; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,u],zero,zero,xmm10[3,10],zero,zero,zero,xmm10[6,13,u,u,u,u]13751; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,5,12],zero,zero,xmm9[1,8,15],zero,zero,xmm9[u,u,u,u]13752; AVX512BW-FCP-NEXT:    vpor %xmm10, %xmm9, %xmm913753; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm913754; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm10 = [0,0,0,0,1,2,4,6]13755; AVX512BW-FCP-NEXT:    vmovdqa 192(%rdi), %ymm1413756; AVX512BW-FCP-NEXT:    vpermd %ymm14, %ymm10, %ymm1013757; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm10 = 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,23,26,29]13758; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5,6],ymm10[7]13759; AVX512BW-FCP-NEXT:    vmovdqa64 240(%rdi), %xmm1913760; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm19[5,12,u,u,u,u,u,u,u,u,u,u,u]13761; AVX512BW-FCP-NEXT:    vmovdqa64 224(%rdi), %xmm2013762; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm20[0,7,14],zero,zero,xmm20[u,u,u,u,u,u,u,u,u,u,u]13763; AVX512BW-FCP-NEXT:    vpor %xmm10, %xmm11, %xmm1013764; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm10, %zmm9, %zmm913765; AVX512BW-FCP-NEXT:    movabsq $137438429184, %rax # imm = 0x1FFFF8000013766; AVX512BW-FCP-NEXT:    kmovq %rax, %k513767; AVX512BW-FCP-NEXT:    vmovdqu8 %zmm9, %zmm1 {%k5}13768; AVX512BW-FCP-NEXT:    vmovdqa 288(%rdi), %ymm1013769; AVX512BW-FCP-NEXT:    vmovdqa 256(%rdi), %ymm913770; AVX512BW-FCP-NEXT:    movw $9288, %ax # imm = 0x244813771; AVX512BW-FCP-NEXT:    kmovd %eax, %k313772; AVX512BW-FCP-NEXT:    vpblendmw %ymm10, %ymm9, %ymm11 {%k3}13773; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm11[u,u,u,u,u,3,10],zero,zero,zero,xmm11[6,13],zero,zero,xmm11[u,u]13774; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm1113775; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u],zero,zero,xmm11[1,8,15],zero,zero,xmm11[4,11,u,u]13776; AVX512BW-FCP-NEXT:    vporq %xmm15, %xmm11, %xmm2113777; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm7 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,2,9,16,23,30,21,28,19,26,u,u,u,u,u,u,u,u,u]13778; AVX512BW-FCP-NEXT:    movw $3968, %ax # imm = 0xF8013779; AVX512BW-FCP-NEXT:    kmovd %eax, %k713780; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm7, %ymm21 {%k7}13781; AVX512BW-FCP-NEXT:    vmovdqa 416(%rdi), %ymm1113782; AVX512BW-FCP-NEXT:    vmovdqa 384(%rdi), %ymm713783; AVX512BW-FCP-NEXT:    movw $4644, %ax # imm = 0x122413784; AVX512BW-FCP-NEXT:    kmovd %eax, %k413785; AVX512BW-FCP-NEXT:    vpblendmw %ymm11, %ymm7, %ymm15 {%k4}13786; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm15, %xmm2213787; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[u,u,u,u,u,u,u],zero,zero,zero,xmm22[6,13],zero,zero,xmm22[2,9]13788; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u,u,u,u,u,u,1,8,15],zero,zero,xmm15[4,11],zero,zero13789; AVX512BW-FCP-NEXT:    vporq %xmm22, %xmm15, %xmm1513790; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm15, %ymm0, %ymm2213791; AVX512BW-FCP-NEXT:    movl $-8388608, %eax # imm = 0xFF80000013792; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm4, %ymm15 {%k4}13793; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm15, %xmm2313794; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm23 = zero,zero,zero,xmm23[6,13],zero,zero,xmm23[2,9,u,u,u,u,u,u,u]13795; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[1,8,15],zero,zero,xmm15[4,11],zero,zero,xmm15[u,u,u,u,u,u,u]13796; AVX512BW-FCP-NEXT:    vporq %xmm23, %xmm15, %xmm1513797; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = ymm8[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]13798; AVX512BW-FCP-NEXT:    movl $511, %r10d # imm = 0x1FF13799; AVX512BW-FCP-NEXT:    kmovd %r10d, %k113800; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm15, %ymm8 {%k1}13801; AVX512BW-FCP-NEXT:    vpblendmw %ymm6, %ymm5, %ymm15 {%k3}13802; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm23 = xmm15[u,u,u,6,13],zero,zero,xmm15[2,9],zero,zero,zero,xmm15[u,u,u,u]13803; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm15, %xmm1513804; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u,u],zero,zero,xmm15[4,11],zero,zero,xmm15[0,7,14,u,u,u,u]13805; AVX512BW-FCP-NEXT:    vporq %xmm23, %xmm15, %xmm1513806; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm1513807; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm23 = [0,0,0,0,1,3,4,6]13808; AVX512BW-FCP-NEXT:    vpermd %ymm14, %ymm23, %ymm2313809; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = ymm23[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,20,27,30]13810; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm15[0,1,2,3,4,5,6],ymm13[7]13811; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,zero,xmm19[6,13,u,u,u,u,u,u,u,u,u,u,u]13812; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm23 = xmm20[1,8,15],zero,zero,xmm20[u,u,u,u,u,u,u,u,u,u,u]13813; AVX512BW-FCP-NEXT:    vporq %xmm15, %xmm23, %xmm1513814; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm15, %zmm13, %zmm1313815; AVX512BW-FCP-NEXT:    vmovdqu8 %zmm13, %zmm8 {%k5}13816; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm4, %ymm13 {%k6}13817; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm13[2,9],zero,zero,zero,xmm13[5,12],zero,zero,xmm13[u,u,u,u,u,u,u]13818; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm1313819; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,xmm13[0,7,14],zero,zero,xmm13[3,10,u,u,u,u,u,u,u]13820; AVX512BW-FCP-NEXT:    vpor %xmm15, %xmm13, %xmm1313821; AVX512BW-FCP-NEXT:    movl $261632, %r10d # imm = 0x3FE0013822; AVX512BW-FCP-NEXT:    kmovd %r10d, %k513823; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm13 {%k5} = ymm12[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13824; AVX512BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm12 {%k2}13825; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm12, %xmm1513826; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u],zero,zero,zero,xmm15[5,12],zero,zero,xmm15[1,8,15,u,u,u,u]13827; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,0,7,14],zero,zero,xmm12[3,10],zero,zero,zero,xmm12[u,u,u,u]13828; AVX512BW-FCP-NEXT:    vpor %xmm15, %xmm12, %xmm1213829; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm1213830; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm15 = [0,0,0,0,1,3,5,6]13831; AVX512BW-FCP-NEXT:    vpermd %ymm14, %ymm15, %ymm1413832; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 = 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,u,u,u,u,18,21,24,31]13833; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5,6],ymm14[7]13834; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm20[2,9],zero,zero,zero,xmm20[u,u,u,u,u,u,u,u,u,u,u]13835; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm19[0,7,14,u,u,u,u,u,u,u,u,u,u,u]13836; AVX512BW-FCP-NEXT:    vpor %xmm14, %xmm15, %xmm1413837; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm14, %zmm12, %zmm1213838; AVX512BW-FCP-NEXT:    vmovdqu16 %zmm13, %zmm12 {%k1}13839; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm4, %ymm13 {%k3}13840; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[3,10],zero,zero,zero,xmm13[6,13],zero,zero,xmm13[u,u,u,u,u,u,u]13841; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm1313842; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,xmm13[1,8,15],zero,zero,xmm13[4,11,u,u,u,u,u,u,u]13843; AVX512BW-FCP-NEXT:    vporq %xmm14, %xmm13, %xmm2313844; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm23 {%k5} = ymm24[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13845; AVX512BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm13 {%k4}13846; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm1413847; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u],zero,zero,zero,xmm14[6,13],zero,zero,xmm14[2,9,u,u,u,u,u]13848; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,1,8,15],zero,zero,xmm13[4,11],zero,zero,xmm13[u,u,u,u,u]13849; AVX512BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm1313850; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm1313851; AVX512BW-FCP-NEXT:    vmovdqa 208(%rdi), %xmm1413852; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm24 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm14[5,12]13853; AVX512BW-FCP-NEXT:    vmovdqa 192(%rdi), %xmm1513854; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm25 = xmm15[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero13855; AVX512BW-FCP-NEXT:    vporq %xmm24, %xmm25, %xmm2413856; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm24, %ymm0, %ymm2413857; AVX512BW-FCP-NEXT:    movl $-134217728, %r10d # imm = 0xF800000013858; AVX512BW-FCP-NEXT:    kmovd %r10d, %k213859; AVX512BW-FCP-NEXT:    kmovd %k2, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill13860; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm24, %ymm13 {%k2}13861; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm20 = xmm20[3,10],zero,zero,zero,xmm20[u,u,u,u,u,u,u,u,u,u,u]13862; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = zero,zero,xmm19[1,8,15,u,u,u,u,u,u,u,u,u,u,u]13863; AVX512BW-FCP-NEXT:    vporq %xmm20, %xmm19, %xmm1913864; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm19, %zmm13, %zmm1313865; AVX512BW-FCP-NEXT:    vmovdqu16 %zmm23, %zmm13 {%k1}13866; AVX512BW-FCP-NEXT:    kmovd %eax, %k213867; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm22, %ymm21 {%k2}13868; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm21, %zmm0, %zmm1913869; AVX512BW-FCP-NEXT:    movabsq $-137438953472, %rax # imm = 0xFFFFFFE00000000013870; AVX512BW-FCP-NEXT:    kmovq %rax, %k113871; AVX512BW-FCP-NEXT:    vmovdqu8 %zmm19, %zmm1 {%k1}13872; AVX512BW-FCP-NEXT:    vpblendmw %ymm9, %ymm10, %ymm19 {%k4}13873; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm19, %xmm2013874; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm20 = xmm20[u,u,u,u,u],zero,zero,xmm20[2,9],zero,zero,zero,xmm20[5,12,u,u]13875; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = xmm19[u,u,u,u,u,4,11],zero,zero,xmm19[0,7,14],zero,zero,xmm19[u,u]13876; AVX512BW-FCP-NEXT:    vporq %xmm20, %xmm19, %xmm1913877; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm18 = ymm18[u,u,u,u,u,u,u,u,u,u,u,u,u,u,3,10,17,24,31,22,29,20,27,u,u,u,u,u,u,u,u,u]13878; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm18, %ymm19 {%k7}13879; AVX512BW-FCP-NEXT:    vpblendmw %ymm11, %ymm7, %ymm18 {%k6}13880; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm20 = xmm18[u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm18[5,12],zero,zero13881; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm18, %xmm1813882; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u,u,u,u,u,u],zero,zero,xmm18[0,7,14],zero,zero,xmm18[3,10]13883; AVX512BW-FCP-NEXT:    vporq %xmm20, %xmm18, %xmm1813884; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm18, %ymm0, %ymm1813885; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm18, %ymm19 {%k2}13886; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm19, %zmm0, %zmm1813887; AVX512BW-FCP-NEXT:    vmovdqu8 %zmm18, %zmm8 {%k1}13888; AVX512BW-FCP-NEXT:    vpblendmw %ymm9, %ymm10, %ymm18 {%k6}13889; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm18, %xmm1913890; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = xmm19[u,u,u,u,u],zero,zero,xmm19[3,10],zero,zero,zero,xmm19[6,13,u,u]13891; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u,u,u,u,5,12],zero,zero,xmm18[1,8,15],zero,zero,xmm18[u,u]13892; AVX512BW-FCP-NEXT:    vporq %xmm19, %xmm18, %xmm1813893; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm17 = ymm17[u,u,u,u,u,u,u,u,u,u,u,u,u,u,4,11,18,25,16,23,30,21,28,u,u,u,u,u,u,u,u,u]13894; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm17, %ymm18 {%k7}13895; AVX512BW-FCP-NEXT:    vpblendmw %ymm11, %ymm7, %ymm17 {%k3}13896; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = xmm17[u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm17[6,13],zero,zero13897; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm17, %xmm1713898; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u,u,u,u,u,u],zero,zero,xmm17[1,8,15],zero,zero,xmm17[4,11]13899; AVX512BW-FCP-NEXT:    vporq %xmm19, %xmm17, %xmm1713900; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm17, %ymm0, %ymm1713901; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm17, %ymm18 {%k2}13902; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm18, %zmm0, %zmm1713903; AVX512BW-FCP-NEXT:    vmovdqu8 %zmm17, %zmm12 {%k1}13904; AVX512BW-FCP-NEXT:    vpblendmw %ymm9, %ymm10, %ymm17 {%k3}13905; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm17[u,u,u,u,u,6,13],zero,zero,xmm17[2,9],zero,zero,zero,xmm17[u,u]13906; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm17, %xmm1713907; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u,u,u,u],zero,zero,xmm17[4,11],zero,zero,xmm17[0,7,14,u,u]13908; AVX512BW-FCP-NEXT:    vporq %xmm18, %xmm17, %xmm1713909; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm16 = ymm16[u,u,u,u,u,u,u,u,u,u,u,u,u,u,5,12,19,26,17,24,31,22,29,u,u,u,u,u,u,u,u,u]13910; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm16, %ymm17 {%k7}13911; AVX512BW-FCP-NEXT:    vpblendmw %ymm7, %ymm11, %ymm16 {%k4}13912; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm1813913; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u,u,u,u,u,u],zero,zero,xmm18[2,9],zero,zero,zero,xmm18[5,12]13914; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[u,u,u,u,u,u,u,4,11],zero,zero,xmm16[0,7,14],zero,zero13915; AVX512BW-FCP-NEXT:    vporq %xmm18, %xmm16, %xmm1613916; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm1613917; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm16, %ymm17 {%k2}13918; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm17, %zmm0, %zmm1613919; AVX512BW-FCP-NEXT:    vmovdqu8 %zmm16, %zmm13 {%k1}13920; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm16 = [0,9,2,3,4,13,6,7,24,17,10,11,28,21,14,31]13921; AVX512BW-FCP-NEXT:    vpermw %zmm3, %zmm16, %zmm1613922; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm17 = [16,25,18,3,28,21,6,23,24,17,10,27,20,13,30,31]13923; AVX512BW-FCP-NEXT:    vpermw %zmm3, %zmm17, %zmm1713924; AVX512BW-FCP-NEXT:    kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload13925; AVX512BW-FCP-NEXT:    vpblendmw %ymm10, %ymm9, %ymm18 {%k1}13926; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm18, %xmm1913927; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = xmm19[u,u,u,u],zero,zero,zero,xmm19[5,12],zero,zero,xmm19[1,8,15,u,u]13928; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u,u,u,0,7,14],zero,zero,xmm18[3,10],zero,zero,zero,xmm18[u,u]13929; AVX512BW-FCP-NEXT:    vporq %xmm19, %xmm18, %xmm1813930; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm17 = ymm17[u,u,u,u,u,u,u,u,u,u,u,u,u,u,6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]13931; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm17, %ymm18 {%k7}13932; AVX512BW-FCP-NEXT:    vpblendmw %ymm10, %ymm9, %ymm17 {%k4}13933; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm17, %xmm1913934; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = xmm19[u,u,u,u],zero,zero,zero,xmm19[6,13],zero,zero,xmm19[2,9,u,u,u]13935; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u,u,u,1,8,15],zero,zero,xmm17[4,11],zero,zero,xmm17[u,u,u]13936; AVX512BW-FCP-NEXT:    vporq %xmm19, %xmm17, %xmm1713937; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm19 = ymm16[u,u,u,u,u,u,u,u,u,u,u,u,u,0,7,14,21,28,19,26,17,24,31,u,u,u,u,u,u,u,u,u]13938; AVX512BW-FCP-NEXT:    movl $8176, %eax # imm = 0x1FF013939; AVX512BW-FCP-NEXT:    kmovd %eax, %k113940; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm17, %ymm19 {%k1}13941; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm16 = [16,9,2,19,12,5,22,23,24,17,26,27,20,29,30,31]13942; AVX512BW-FCP-NEXT:    vpermw %zmm0, %zmm16, %zmm2013943; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm16 = [8,1,2,19,12,5,22,15,0,9,26,11,4,29,14,7]13944; AVX512BW-FCP-NEXT:    vpermw %zmm0, %zmm16, %zmm1713945; AVX512BW-FCP-NEXT:    vpblendmw %ymm4, %ymm2, %ymm16 {%k4}13946; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm2113947; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = zero,zero,xmm21[2,9],zero,zero,zero,xmm21[5,12,u,u,u,u,u,u,u]13948; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[4,11],zero,zero,xmm16[0,7,14],zero,zero,xmm16[u,u,u,u,u,u,u]13949; AVX512BW-FCP-NEXT:    vporq %xmm21, %xmm16, %xmm1613950; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm16 {%k5} = ymm17[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13951; AVX512BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm17 {%k6}13952; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm17[u,u,2,9],zero,zero,zero,xmm17[5,12],zero,zero,xmm17[u,u,u,u,u]13953; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm17, %xmm1713954; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u],zero,zero,xmm17[0,7,14],zero,zero,xmm17[3,10,u,u,u,u,u]13955; AVX512BW-FCP-NEXT:    vporq %xmm21, %xmm17, %xmm1713956; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm17, %ymm0, %ymm2113957; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm14[6,13]13958; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm15[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero13959; AVX512BW-FCP-NEXT:    vporq %xmm17, %xmm22, %xmm1713960; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm17, %ymm0, %ymm1713961; AVX512BW-FCP-NEXT:    kmovd {{[-0-9]+}}(%r{{[sb]}}p), %k7 # 4-byte Reload13962; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm17, %ymm21 {%k7}13963; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm22 = [1,2,4,6,0,0,0,0]13964; AVX512BW-FCP-NEXT:    vmovdqa64 224(%rdi), %ymm1713965; AVX512BW-FCP-NEXT:    vpermd %ymm17, %ymm22, %ymm2213966; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[0,7,10,13,u,u,u,u,u,u,u,u,u,u,u,u]13967; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm22, %zmm21, %zmm2113968; AVX512BW-FCP-NEXT:    vmovdqu16 %zmm21, %zmm16 {%k5}13969; AVX512BW-FCP-NEXT:    vpblendmw %ymm7, %ymm11, %ymm21 {%k6}13970; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm21, %xmm2213971; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[u,u,u,u,u,u,u],zero,zero,xmm22[3,10],zero,zero,zero,xmm22[6,13]13972; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm21[u,u,u,u,u,u,u,5,12],zero,zero,xmm21[1,8,15],zero,zero13973; AVX512BW-FCP-NEXT:    vporq %xmm22, %xmm21, %xmm2113974; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm21, %ymm0, %ymm2113975; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm21, %ymm18 {%k2}13976; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm18, %zmm0, %zmm1813977; AVX512BW-FCP-NEXT:    movw $-512, %ax # imm = 0xFE0013978; AVX512BW-FCP-NEXT:    vpblendmw %ymm7, %ymm11, %ymm21 {%k3}13979; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm21[u,u,u,u,u,u,u,6,13],zero,zero,xmm21[2,9],zero,zero,zero13980; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm21, %xmm2113981; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm21[u,u,u,u,u,u,u],zero,zero,xmm21[4,11],zero,zero,xmm21[0,7,14]13982; AVX512BW-FCP-NEXT:    vporq %xmm22, %xmm21, %xmm2113983; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm21, %ymm0, %ymm2113984; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm21, %ymm19 {%k2}13985; AVX512BW-FCP-NEXT:    kmovd %eax, %k113986; AVX512BW-FCP-NEXT:    vmovdqa32 %zmm18, %zmm16 {%k1}13987; AVX512BW-FCP-NEXT:    vpblendmw %ymm4, %ymm2, %ymm18 {%k6}13988; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm18, %xmm2113989; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = zero,zero,xmm21[3,10],zero,zero,zero,xmm21[6,13,u,u,u,u,u,u,u]13990; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[5,12],zero,zero,xmm18[1,8,15],zero,zero,xmm18[u,u,u,u,u,u,u]13991; AVX512BW-FCP-NEXT:    vporq %xmm21, %xmm18, %xmm1813992; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm18 {%k5} = ymm20[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]13993; AVX512BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm20 {%k3}13994; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm20[u,u,3,10],zero,zero,zero,xmm20[6,13],zero,zero,xmm20[u,u,u,u,u]13995; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm20, %xmm2013996; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm20 = xmm20[u,u],zero,zero,xmm20[1,8,15],zero,zero,xmm20[4,11,u,u,u,u,u]13997; AVX512BW-FCP-NEXT:    vporq %xmm21, %xmm20, %xmm2013998; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm20, %ymm0, %ymm2013999; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm15[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero14000; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm14[0,7,14]14001; AVX512BW-FCP-NEXT:    vporq %xmm21, %xmm22, %xmm2114002; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm21, %ymm0, %ymm2114003; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm21, %ymm20 {%k7}14004; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm21 = [1,3,4,6,0,0,0,0]14005; AVX512BW-FCP-NEXT:    vpermd %ymm17, %ymm21, %ymm2114006; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm21[1,4,11,14,u,u,u,u,u,u,u,u,u,u,u,u]14007; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm21, %zmm20, %zmm2014008; AVX512BW-FCP-NEXT:    vmovdqu16 %zmm20, %zmm18 {%k5}14009; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm19, %zmm0, %zmm1914010; AVX512BW-FCP-NEXT:    vmovdqa32 %zmm19, %zmm18 {%k1}14011; AVX512BW-FCP-NEXT:    kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload14012; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm11, %ymm7 {%k1}14013; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [0,1,10,3,4,13,6,7,8,25,18,11,28,21,14,15]14014; AVX512BW-FCP-NEXT:    vpermw %zmm3, %zmm11, %zmm314015; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm10, %ymm9 {%k6}14016; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm9[u,u,u,u,2,9],zero,zero,zero,xmm9[5,12],zero,zero,xmm9[u,u,u]14017; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm914018; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u],zero,zero,xmm9[0,7,14],zero,zero,xmm9[3,10,u,u,u]14019; AVX512BW-FCP-NEXT:    vpor %xmm10, %xmm9, %xmm914020; AVX512BW-FCP-NEXT:    movl $4186112, %eax # imm = 0x3FE00014021; AVX512BW-FCP-NEXT:    kmovd %eax, %k114022; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm9 {%k1} = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,1,8,15,22,29,20,27,18,25,u,u,u,u,u,u,u,u,u,u]14023; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm4, %ymm2 {%k3}14024; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm6, %ymm5 {%k4}14025; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm314026; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12,u,u,u,u,u]14027; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm5[u,u,4,11],zero,zero,xmm5[0,7,14],zero,zero,xmm5[u,u,u,u,u]14028; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm314029; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314030; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm15[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero14031; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm14[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm14[1,8,15]14032; AVX512BW-FCP-NEXT:    vpor %xmm4, %xmm5, %xmm414033; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm414034; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm4, %ymm3 {%k7}14035; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [16,9,2,19,20,13,6,23,24,17,26,27,28,21,30,31]14036; AVX512BW-FCP-NEXT:    vpermw %zmm0, %zmm4, %zmm014037; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u,u,u,u,u,u]14038; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm214039; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u,u,u,u]14040; AVX512BW-FCP-NEXT:    vpor %xmm4, %xmm2, %xmm214041; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm2 {%k5} = ymm0[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14042; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,5,6,0,0,0,0]14043; AVX512BW-FCP-NEXT:    vpermd %ymm17, %ymm0, %ymm014044; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[2,5,8,15,u,u,u,u,u,u,u,u,u,u,u,u]14045; AVX512BW-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm3, %zmm014046; AVX512BW-FCP-NEXT:    vmovdqu16 %zmm0, %zmm2 {%k5}14047; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax14048; AVX512BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rdi14049; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm014050; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero,xmm0[1,8,15]14051; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm7[u,u,u,u,u,u,0,7,14],zero,zero,xmm7[3,10],zero,zero,zero14052; AVX512BW-FCP-NEXT:    vpor %xmm0, %xmm3, %xmm014053; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm014054; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm9, %zmm0, %zmm314055; AVX512BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [16,17,18,19,20,21,22,23,24,25,26,43,44,45,46,47]14056; AVX512BW-FCP-NEXT:    vpermi2w %zmm0, %zmm3, %zmm414057; AVX512BW-FCP-NEXT:    vpmovsxbd {{.*#+}} zmm0 = [0,1,2,3,4,5,6,7,8,17,18,19,20,21,22,23]14058; AVX512BW-FCP-NEXT:    vpermi2d %zmm4, %zmm2, %zmm014059; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm1, (%rsi)14060; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm8, (%rdx)14061; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm12, (%rcx)14062; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm13, (%r8)14063; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm16, (%r9)14064; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm18, (%rdi)14065; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, (%rax)14066; AVX512BW-FCP-NEXT:    vzeroupper14067; AVX512BW-FCP-NEXT:    retq14068;14069; AVX512DQ-BW-LABEL: load_i8_stride7_vf64:14070; AVX512DQ-BW:       # %bb.0:14071; AVX512DQ-BW-NEXT:    vmovdqa64 64(%rdi), %zmm2514072; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [8,1,18,11,4,5,22,15,0,25,10,0,12,29,14,0]14073; AVX512DQ-BW-NEXT:    vpermw %zmm25, %zmm0, %zmm1814074; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [0,1,18,11,4,21,14,7,8,25,10,0,28,13,0,15]14075; AVX512DQ-BW-NEXT:    vpermw %zmm25, %zmm0, %zmm2414076; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [0,17,10,3,4,21,14,7,24,9,0,11,28,13,0,31]14077; AVX512DQ-BW-NEXT:    vpermw %zmm25, %zmm0, %zmm1014078; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [16,17,10,3,20,13,6,23,24,25,0,27,28,0,30,31]14079; AVX512DQ-BW-NEXT:    vpermw %zmm25, %zmm0, %zmm014080; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %ymm914081; AVX512DQ-BW-NEXT:    vmovdqa 32(%rdi), %ymm114082; AVX512DQ-BW-NEXT:    movw $-28382, %ax # imm = 0x912214083; AVX512DQ-BW-NEXT:    kmovd %eax, %k114084; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm9, %ymm3 {%k1}14085; AVX512DQ-BW-NEXT:    kmovq %k1, %k214086; AVX512DQ-BW-NEXT:    kmovw %k1, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill14087; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm3, %xmm414088; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,zero,xmm4[5,12],zero,zero,xmm4[1,8,15,u,u,u,u,u,u]14089; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[0,7,14],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[u,u,u,u,u,u]14090; AVX512DQ-BW-NEXT:    vporq %xmm4, %xmm3, %xmm1614091; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]14092; AVX512DQ-BW-NEXT:    movw $992, %ax # imm = 0x3E014093; AVX512DQ-BW-NEXT:    kmovd %eax, %k114094; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm0, %ymm16 {%k1}14095; AVX512DQ-BW-NEXT:    vmovdqa 128(%rdi), %ymm1114096; AVX512DQ-BW-NEXT:    vmovdqa 160(%rdi), %ymm614097; AVX512DQ-BW-NEXT:    movw $8772, %ax # imm = 0x224414098; AVX512DQ-BW-NEXT:    kmovd %eax, %k614099; AVX512DQ-BW-NEXT:    vpblendmw %ymm11, %ymm6, %ymm0 {%k6}14100; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm0, %xmm314101; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13,u,u,u,u]14102; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,5,12],zero,zero,xmm0[1,8,15],zero,zero,xmm0[u,u,u,u]14103; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm0, %xmm014104; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm014105; AVX512DQ-BW-NEXT:    vmovdqa 192(%rdi), %xmm714106; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm21 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]14107; AVX512DQ-BW-NEXT:    vpshufb %xmm21, %xmm7, %xmm314108; AVX512DQ-BW-NEXT:    vmovdqa 208(%rdi), %xmm814109; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm8[u,u,u,u,u,u,2,9,u,u,u,u,u,u,u,u]14110; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]14111; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314112; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5,6],ymm3[7]14113; AVX512DQ-BW-NEXT:    vmovdqa64 240(%rdi), %xmm2614114; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm26[5,12,u,u,u,u,u,u,u,u,u,u,u]14115; AVX512DQ-BW-NEXT:    vmovdqa 224(%rdi), %xmm414116; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[0,7,14],zero,zero,xmm4[u,u,u,u,u,u,u,u,u,u,u]14117; AVX512DQ-BW-NEXT:    vpor %xmm5, %xmm12, %xmm514118; AVX512DQ-BW-NEXT:    vinserti32x4 $2, %xmm5, %zmm0, %zmm014119; AVX512DQ-BW-NEXT:    movabsq $137438429184, %rax # imm = 0x1FFFF8000014120; AVX512DQ-BW-NEXT:    kmovq %rax, %k514121; AVX512DQ-BW-NEXT:    vmovdqu8 %zmm0, %zmm16 {%k5}14122; AVX512DQ-BW-NEXT:    vmovdqa 288(%rdi), %ymm1314123; AVX512DQ-BW-NEXT:    vmovdqa 256(%rdi), %ymm1214124; AVX512DQ-BW-NEXT:    movw $9288, %ax # imm = 0x244814125; AVX512DQ-BW-NEXT:    kmovd %eax, %k314126; AVX512DQ-BW-NEXT:    vpblendmw %ymm13, %ymm12, %ymm0 {%k3}14127; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[u,u,u,u,u,3,10],zero,zero,zero,xmm0[6,13],zero,zero,xmm0[u,u]14128; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm0, %xmm014129; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u],zero,zero,xmm0[1,8,15],zero,zero,xmm0[4,11,u,u]14130; AVX512DQ-BW-NEXT:    vporq %xmm5, %xmm0, %xmm1914131; AVX512DQ-BW-NEXT:    vmovdqa64 352(%rdi), %ymm1714132; AVX512DQ-BW-NEXT:    vmovdqa 320(%rdi), %ymm014133; AVX512DQ-BW-NEXT:    vpblendmw %ymm17, %ymm0, %ymm5 {%k6}14134; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm15 = ymm5[2,3,0,1]14135; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm5 = ymm5[0,1],ymm15[2],ymm5[3,4,5],ymm15[6],ymm5[7,8,9],ymm15[10],ymm5[11,12,13],ymm15[14],ymm5[15]14136; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm5 = ymm5[u,u,u,u,u,u,u,u,u,u,u,u,u,u,2,9,16,23,30,21,28,19,26,u,u,u,u,u,u,u,u,u]14137; AVX512DQ-BW-NEXT:    movw $3968, %ax # imm = 0xF8014138; AVX512DQ-BW-NEXT:    kmovd %eax, %k714139; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm5, %ymm19 {%k7}14140; AVX512DQ-BW-NEXT:    vmovdqa 416(%rdi), %ymm1514141; AVX512DQ-BW-NEXT:    vmovdqa 384(%rdi), %ymm514142; AVX512DQ-BW-NEXT:    movw $4644, %ax # imm = 0x122414143; AVX512DQ-BW-NEXT:    kmovd %eax, %k414144; AVX512DQ-BW-NEXT:    vpblendmw %ymm15, %ymm5, %ymm20 {%k4}14145; AVX512DQ-BW-NEXT:    vextracti32x4 $1, %ymm20, %xmm2214146; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[u,u,u,u,u,u,u],zero,zero,zero,xmm22[6,13],zero,zero,xmm22[2,9]14147; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm20 = xmm20[u,u,u,u,u,u,u,1,8,15],zero,zero,xmm20[4,11],zero,zero14148; AVX512DQ-BW-NEXT:    vporq %xmm22, %xmm20, %xmm2014149; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm20, %ymm0, %ymm2014150; AVX512DQ-BW-NEXT:    movl $-8388608, %eax # imm = 0xFF80000014151; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm9, %ymm22 {%k4}14152; AVX512DQ-BW-NEXT:    vextracti32x4 $1, %ymm22, %xmm2314153; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm23 = zero,zero,zero,xmm23[6,13],zero,zero,xmm23[2,9,u,u,u,u,u,u,u]14154; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[1,8,15],zero,zero,xmm22[4,11],zero,zero,xmm22[u,u,u,u,u,u,u]14155; AVX512DQ-BW-NEXT:    vporq %xmm23, %xmm22, %xmm2214156; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm10 = ymm10[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]14157; AVX512DQ-BW-NEXT:    movl $511, %edi # imm = 0x1FF14158; AVX512DQ-BW-NEXT:    kmovd %edi, %k114159; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm22, %ymm10 {%k1}14160; AVX512DQ-BW-NEXT:    vpblendmw %ymm11, %ymm6, %ymm22 {%k3}14161; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm23 = xmm22[u,u,u,6,13],zero,zero,xmm22[2,9],zero,zero,zero,xmm22[u,u,u,u]14162; AVX512DQ-BW-NEXT:    vextracti32x4 $1, %ymm22, %xmm2214163; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[u,u,u],zero,zero,xmm22[4,11],zero,zero,xmm22[0,7,14,u,u,u,u]14164; AVX512DQ-BW-NEXT:    vporq %xmm23, %xmm22, %xmm2214165; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm22, %ymm0, %ymm1414166; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm8[u,u,u,u,u,u,3,10,u,u,u,u,u,u,u,u]14167; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm23 = xmm7[u,u,u,u,u,u,5,12,u,u,u,u,u,u,u,u]14168; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm22 = xmm23[0],xmm22[0],xmm23[1],xmm22[1],xmm23[2],xmm22[2],xmm23[3],xmm22[3]14169; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm22, %ymm0, %ymm214170; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm2 = ymm14[0,1,2,3,4,5,6],ymm2[7]14171; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,zero,xmm26[6,13,u,u,u,u,u,u,u,u,u,u,u]14172; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm4[1,8,15],zero,zero,xmm4[u,u,u,u,u,u,u,u,u,u,u]14173; AVX512DQ-BW-NEXT:    vporq %xmm14, %xmm22, %xmm1414174; AVX512DQ-BW-NEXT:    vinserti32x4 $2, %xmm14, %zmm2, %zmm214175; AVX512DQ-BW-NEXT:    vmovdqu8 %zmm2, %zmm10 {%k5}14176; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm9, %ymm2 {%k6}14177; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm2[2,9],zero,zero,zero,xmm2[5,12],zero,zero,xmm2[u,u,u,u,u,u,u]14178; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm214179; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[0,7,14],zero,zero,xmm2[3,10,u,u,u,u,u,u,u]14180; AVX512DQ-BW-NEXT:    vpor %xmm2, %xmm14, %xmm214181; AVX512DQ-BW-NEXT:    movl $261632, %edi # imm = 0x3FE0014182; AVX512DQ-BW-NEXT:    kmovd %edi, %k514183; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm2 {%k5} = ymm24[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14184; AVX512DQ-BW-NEXT:    vpblendmw %ymm6, %ymm11, %ymm14 {%k2}14185; AVX512DQ-BW-NEXT:    vextracti32x4 $1, %ymm14, %xmm2214186; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[u,u],zero,zero,zero,xmm22[5,12],zero,zero,xmm22[1,8,15,u,u,u,u]14187; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,0,7,14],zero,zero,xmm14[3,10],zero,zero,zero,xmm14[u,u,u,u]14188; AVX512DQ-BW-NEXT:    vporq %xmm22, %xmm14, %xmm1414189; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1414190; AVX512DQ-BW-NEXT:    vpshufb %xmm21, %xmm8, %xmm2114191; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm22 = xmm7[u,u,u,u,u,u,6,13,u,u,u,u,u,u,u,u]14192; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm21 = xmm22[0],xmm21[0],xmm22[1],xmm21[1],xmm22[2],xmm21[2],xmm22[3],xmm21[3]14193; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm21, %ymm0, %ymm314194; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm3 = ymm14[0,1,2,3,4,5,6],ymm3[7]14195; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm4[2,9],zero,zero,zero,xmm4[u,u,u,u,u,u,u,u,u,u,u]14196; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm21 = zero,zero,xmm26[0,7,14,u,u,u,u,u,u,u,u,u,u,u]14197; AVX512DQ-BW-NEXT:    vporq %xmm14, %xmm21, %xmm1414198; AVX512DQ-BW-NEXT:    vinserti32x4 $2, %xmm14, %zmm3, %zmm2314199; AVX512DQ-BW-NEXT:    vmovdqu16 %zmm2, %zmm23 {%k1}14200; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm9, %ymm2 {%k3}14201; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[3,10],zero,zero,zero,xmm2[6,13],zero,zero,xmm2[u,u,u,u,u,u,u]14202; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm214203; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[1,8,15],zero,zero,xmm2[4,11,u,u,u,u,u,u,u]14204; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm214205; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm2 {%k5} = ymm18[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14206; AVX512DQ-BW-NEXT:    vpblendmw %ymm6, %ymm11, %ymm3 {%k4}14207; AVX512DQ-BW-NEXT:    vextracti32x4 $1, %ymm3, %xmm1814208; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u],zero,zero,zero,xmm18[6,13],zero,zero,xmm18[2,9,u,u,u,u,u]14209; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,1,8,15],zero,zero,xmm3[4,11],zero,zero,xmm3[u,u,u,u,u]14210; AVX512DQ-BW-NEXT:    vporq %xmm18, %xmm3, %xmm314211; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314212; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm18 = xmm8[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[5,12]14213; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm21 = xmm7[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero14214; AVX512DQ-BW-NEXT:    vporq %xmm18, %xmm21, %xmm1814215; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm18, %ymm0, %ymm1814216; AVX512DQ-BW-NEXT:    movl $-134217728, %edi # imm = 0xF800000014217; AVX512DQ-BW-NEXT:    kmovd %edi, %k214218; AVX512DQ-BW-NEXT:    kmovd %k2, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill14219; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm18, %ymm3 {%k2}14220; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm18 = xmm4[3,10],zero,zero,zero,xmm4[u,u,u,u,u,u,u,u,u,u,u]14221; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm21 = zero,zero,xmm26[1,8,15,u,u,u,u,u,u,u,u,u,u,u]14222; AVX512DQ-BW-NEXT:    vporq %xmm18, %xmm21, %xmm1814223; AVX512DQ-BW-NEXT:    vinserti32x4 $2, %xmm18, %zmm3, %zmm1814224; AVX512DQ-BW-NEXT:    vmovdqu16 %zmm2, %zmm18 {%k1}14225; AVX512DQ-BW-NEXT:    kmovd %eax, %k214226; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm20, %ymm19 {%k2}14227; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm19, %zmm0, %zmm214228; AVX512DQ-BW-NEXT:    movabsq $-137438953472, %rax # imm = 0xFFFFFFE00000000014229; AVX512DQ-BW-NEXT:    kmovq %rax, %k114230; AVX512DQ-BW-NEXT:    vmovdqu8 %zmm2, %zmm16 {%k1}14231; AVX512DQ-BW-NEXT:    vpblendmw %ymm12, %ymm13, %ymm2 {%k4}14232; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm314233; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12,u,u]14234; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,4,11],zero,zero,xmm2[0,7,14],zero,zero,xmm2[u,u]14235; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm214236; AVX512DQ-BW-NEXT:    vpblendmw %ymm17, %ymm0, %ymm3 {%k3}14237; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm14 = ymm3[2,3,0,1]14238; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0,1,2],ymm14[3],ymm3[4,5],ymm14[6],ymm3[7,8,9,10],ymm14[11],ymm3[12,13],ymm14[14],ymm3[15]14239; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm3 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,3,10,17,24,31,22,29,20,27,u,u,u,u,u,u,u,u,u]14240; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k7}14241; AVX512DQ-BW-NEXT:    vpblendmw %ymm15, %ymm5, %ymm3 {%k6}14242; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm3[u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm3[5,12],zero,zero14243; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm3, %xmm314244; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,10]14245; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm14, %xmm314246; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314247; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm3, %ymm2 {%k2}14248; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm214249; AVX512DQ-BW-NEXT:    vmovdqu8 %zmm2, %zmm10 {%k1}14250; AVX512DQ-BW-NEXT:    vpblendmw %ymm12, %ymm13, %ymm2 {%k6}14251; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm314252; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13,u,u]14253; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15],zero,zero,xmm2[u,u]14254; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm214255; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm17, %ymm3 {%k4}14256; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm14 = ymm3[2,3,0,1]14257; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm3 = ymm14[0],ymm3[1,2],ymm14[3],ymm3[4,5,6],ymm14[7,8],ymm3[9,10],ymm14[11],ymm3[12,13,14],ymm14[15]14258; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm3 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,4,11,18,25,16,23,30,21,28,u,u,u,u,u,u,u,u,u]14259; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k7}14260; AVX512DQ-BW-NEXT:    vpblendmw %ymm15, %ymm5, %ymm3 {%k3}14261; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm3[u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm3[6,13],zero,zero14262; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm3, %xmm314263; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,11]14264; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm14, %xmm314265; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314266; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm3, %ymm2 {%k2}14267; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm214268; AVX512DQ-BW-NEXT:    vmovdqu8 %zmm2, %zmm23 {%k1}14269; AVX512DQ-BW-NEXT:    vpblendmw %ymm12, %ymm13, %ymm2 {%k3}14270; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[u,u,u,u,u,6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u]14271; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm214272; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u],zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u]14273; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm214274; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm17, %ymm3 {%k6}14275; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm14 = ymm3[2,3,0,1]14276; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm3 = ymm14[0],ymm3[1,2,3],ymm14[4],ymm3[5,6],ymm14[7,8],ymm3[9,10,11],ymm14[12],ymm3[13,14],ymm14[15]14277; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm3 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,u,5,12,19,26,17,24,31,22,29,u,u,u,u,u,u,u,u,u]14278; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k7}14279; AVX512DQ-BW-NEXT:    vpblendmw %ymm5, %ymm15, %ymm3 {%k4}14280; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm3, %xmm1414281; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u,u,u,u],zero,zero,xmm14[2,9],zero,zero,zero,xmm14[5,12]14282; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u,4,11],zero,zero,xmm3[0,7,14],zero,zero14283; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm14, %xmm314284; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314285; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm3, %ymm2 {%k2}14286; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm2, %zmm0, %zmm214287; AVX512DQ-BW-NEXT:    vmovdqu8 %zmm2, %zmm18 {%k1}14288; AVX512DQ-BW-NEXT:    kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload14289; AVX512DQ-BW-NEXT:    vpblendmw %ymm13, %ymm12, %ymm2 {%k1}14290; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm314291; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u],zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15,u,u]14292; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,0,7,14],zero,zero,xmm2[3,10],zero,zero,zero,xmm2[u,u]14293; AVX512DQ-BW-NEXT:    vporq %xmm3, %xmm2, %xmm1914294; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm17, %ymm2 {%k3}14295; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm3 = ymm2[2,3,0,1]14296; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm2 = ymm2[0],ymm3[1],ymm2[2,3],ymm3[4],ymm2[5,6,7,8],ymm3[9],ymm2[10,11],ymm3[12],ymm2[13,14,15]14297; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm2 = ymm2[u,u,u,u,u,u,u,u,u,u,u,u,u,u,6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]14298; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm2, %ymm19 {%k7}14299; AVX512DQ-BW-NEXT:    vpblendmw %ymm13, %ymm12, %ymm2 {%k4}14300; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm314301; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u],zero,zero,zero,xmm3[6,13],zero,zero,xmm3[2,9,u,u,u]14302; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,1,8,15],zero,zero,xmm2[4,11],zero,zero,xmm2[u,u,u]14303; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm214304; AVX512DQ-BW-NEXT:    vpblendmw %ymm17, %ymm0, %ymm3 {%k1}14305; AVX512DQ-BW-NEXT:    kmovq %k1, %k714306; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm14 = ymm3[2,3,0,1]14307; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm3 = ymm3[0],ymm14[1],ymm3[2,3,4],ymm14[5],ymm3[6,7,8],ymm14[9],ymm3[10,11,12],ymm14[13],ymm3[14,15]14308; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm20 = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,0,7,14,21,28,19,26,17,24,31,u,u,u,u,u,u,u,u,u]14309; AVX512DQ-BW-NEXT:    movl $8176, %eax # imm = 0x1FF014310; AVX512DQ-BW-NEXT:    kmovd %eax, %k114311; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm2, %ymm20 {%k1}14312; AVX512DQ-BW-NEXT:    vpblendmw %ymm5, %ymm15, %ymm2 {%k6}14313; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm314314; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u],zero,zero,xmm3[3,10],zero,zero,zero,xmm3[6,13]14315; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u,5,12],zero,zero,xmm2[1,8,15],zero,zero14316; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm214317; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214318; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm2, %ymm19 {%k2}14319; AVX512DQ-BW-NEXT:    vpblendmw %ymm5, %ymm15, %ymm2 {%k3}14320; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm2[u,u,u,u,u,u,u,6,13],zero,zero,xmm2[2,9],zero,zero,zero14321; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm214322; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u,u,u,u,u],zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14]14323; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm214324; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm214325; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm2, %ymm20 {%k2}14326; AVX512DQ-BW-NEXT:    vpblendmw %ymm6, %ymm11, %ymm22 {%k6}14327; AVX512DQ-BW-NEXT:    vpblendmw %ymm9, %ymm1, %ymm21 {%k6}14328; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm17, %ymm0 {%k4}14329; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]14330; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm2 = ymm0[0,1],ymm2[2],ymm0[3,4],ymm2[5],ymm0[6,7,8,9],ymm2[10],ymm0[11,12],ymm2[13],ymm0[14,15]14331; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm13, %ymm12 {%k6}14332; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm12[u,u,u,u,2,9],zero,zero,zero,xmm12[5,12],zero,zero,xmm12[u,u,u]14333; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm12, %xmm314334; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u],zero,zero,xmm3[0,7,14],zero,zero,xmm3[3,10,u,u,u]14335; AVX512DQ-BW-NEXT:    vpor %xmm0, %xmm3, %xmm014336; AVX512DQ-BW-NEXT:    movl $4186112, %eax # imm = 0x3FE00014337; AVX512DQ-BW-NEXT:    kmovd %eax, %k114338; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm0 {%k1} = ymm2[u,u,u,u,u,u,u,u,u,u,u,u,u,1,8,15,22,29,20,27,18,25,u,u,u,u,u,u,u,u,u,u]14339; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm15, %ymm5 {%k7}14340; AVX512DQ-BW-NEXT:    vpblendmw %ymm9, %ymm1, %ymm2 {%k4}14341; AVX512DQ-BW-NEXT:    vpblendmw %ymm6, %ymm11, %ymm3 {%k3}14342; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm9, %ymm1 {%k3}14343; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm11, %ymm6 {%k4}14344; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm22[u,u,2,9],zero,zero,zero,xmm22[5,12],zero,zero,xmm22[u,u,u,u,u]14345; AVX512DQ-BW-NEXT:    vextracti32x4 $1, %ymm22, %xmm1114346; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u],zero,zero,xmm11[0,7,14],zero,zero,xmm11[3,10,u,u,u,u,u]14347; AVX512DQ-BW-NEXT:    vpor %xmm9, %xmm11, %xmm914348; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm914349; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm8[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[6,13]14350; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm7[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero14351; AVX512DQ-BW-NEXT:    vpor %xmm11, %xmm12, %xmm1114352; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm1114353; AVX512DQ-BW-NEXT:    kmovd {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 4-byte Reload14354; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm11, %ymm9 {%k1}14355; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm3[u,u,3,10],zero,zero,zero,xmm3[6,13],zero,zero,xmm3[u,u,u,u,u]14356; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm3, %xmm314357; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,xmm3[1,8,15],zero,zero,xmm3[4,11,u,u,u,u,u]14358; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm11, %xmm314359; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314360; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm7[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero14361; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm8[0,7,14]14362; AVX512DQ-BW-NEXT:    vpor %xmm11, %xmm12, %xmm1114363; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm1114364; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm11, %ymm3 {%k1}14365; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm6, %xmm1114366; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u],zero,zero,xmm11[2,9],zero,zero,zero,xmm11[5,12,u,u,u,u,u]14367; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,4,11],zero,zero,xmm6[0,7,14],zero,zero,xmm6[u,u,u,u,u]14368; AVX512DQ-BW-NEXT:    vpor %xmm6, %xmm11, %xmm614369; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm614370; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero14371; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm8[1,8,15]14372; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm8, %xmm714373; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm714374; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm7, %ymm6 {%k1}14375; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [16,9,2,19,20,13,6,23,24,0,26,27,28,0,30,31]14376; AVX512DQ-BW-NEXT:    vpermw %zmm25, %zmm7, %zmm714377; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm8 = [16,9,2,19,12,5,22,23,24,0,26,27,0,29,30,31]14378; AVX512DQ-BW-NEXT:    vpermw %zmm25, %zmm8, %zmm814379; AVX512DQ-BW-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [8,1,2,19,12,5,22,15,0,9,26,11,0,29,14,0]14380; AVX512DQ-BW-NEXT:    vpermw %zmm25, %zmm11, %zmm1114381; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm1214382; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm12 = zero,zero,xmm12[2,9],zero,zero,zero,xmm12[5,12,u,u,u,u,u,u,u]14383; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,11],zero,zero,xmm2[0,7,14],zero,zero,xmm2[u,u,u,u,u,u,u]14384; AVX512DQ-BW-NEXT:    vpor %xmm2, %xmm12, %xmm214385; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm2 {%k5} = ymm11[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14386; AVX512DQ-BW-NEXT:    vpbroadcastw {{.*#+}} xmm11 = [4,11,4,11,4,11,4,11,4,11,4,11,4,11,4,11]14387; AVX512DQ-BW-NEXT:    vpshufb %xmm11, %xmm4, %xmm1214388; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm26[2,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14389; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm12 = xmm12[0],xmm13[0],xmm12[1],xmm13[1],xmm12[2],xmm13[2],xmm12[3],xmm13[3]14390; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm12, %zmm9, %zmm914391; AVX512DQ-BW-NEXT:    vmovdqu16 %zmm9, %zmm2 {%k5}14392; AVX512DQ-BW-NEXT:    movw $-512, %ax # imm = 0xFE0014393; AVX512DQ-BW-NEXT:    vextracti32x4 $1, %ymm21, %xmm914394; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,xmm9[3,10],zero,zero,zero,xmm9[6,13,u,u,u,u,u,u,u]14395; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm21[5,12],zero,zero,xmm21[1,8,15],zero,zero,xmm21[u,u,u,u,u,u,u]14396; AVX512DQ-BW-NEXT:    vpor %xmm9, %xmm12, %xmm914397; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm9 {%k5} = ymm8[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14398; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm26[3,10,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14399; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm4[5,12,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14400; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm8 = xmm12[0],xmm8[0],xmm12[1],xmm8[1],xmm12[2],xmm8[2],xmm12[3],xmm8[3]14401; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm8, %zmm3, %zmm314402; AVX512DQ-BW-NEXT:    vmovdqu16 %zmm3, %zmm9 {%k5}14403; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[6,13],zero,zero,xmm1[2,9],zero,zero,zero,xmm1[u,u,u,u,u,u,u]14404; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm1, %xmm114405; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,xmm1[4,11],zero,zero,xmm1[0,7,14,u,u,u,u,u,u,u]14406; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm1, %xmm114407; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm1 {%k5} = ymm7[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14408; AVX512DQ-BW-NEXT:    vpshufb %xmm11, %xmm26, %xmm314409; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[6,13,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14410; AVX512DQ-BW-NEXT:    vpunpcklwd {{.*#+}} xmm3 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3]14411; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm3, %zmm6, %zmm314412; AVX512DQ-BW-NEXT:    vmovdqu16 %zmm3, %zmm1 {%k5}14413; AVX512DQ-BW-NEXT:    kmovd %eax, %k114414; AVX512DQ-BW-NEXT:    vinserti32x8 $1, %ymm19, %zmm0, %zmm2 {%k1}14415; AVX512DQ-BW-NEXT:    vinserti32x8 $1, %ymm20, %zmm0, %zmm9 {%k1}14416; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm5, %xmm314417; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u],zero,zero,zero,xmm3[5,12],zero,zero,xmm3[1,8,15]14418; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm5[u,u,u,u,u,u,0,7,14],zero,zero,xmm5[3,10],zero,zero,zero14419; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm4, %xmm314420; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314421; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm3 = ymm0[0,1,2],ymm3[3,4,5,6,7],ymm0[8,9,10],ymm3[11,12,13,14,15]14422; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm3[4,5,6,7]14423; AVX512DQ-BW-NEXT:    vinserti32x8 $1, %ymm0, %zmm0, %zmm1 {%k1}14424; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rax14425; AVX512DQ-BW-NEXT:    movq {{[0-9]+}}(%rsp), %rdi14426; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm16, (%rsi)14427; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm10, (%rdx)14428; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm23, (%rcx)14429; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm18, (%r8)14430; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm2, (%r9)14431; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm9, (%rdi)14432; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm1, (%rax)14433; AVX512DQ-BW-NEXT:    vzeroupper14434; AVX512DQ-BW-NEXT:    retq14435;14436; AVX512DQ-BW-FCP-LABEL: load_i8_stride7_vf64:14437; AVX512DQ-BW-FCP:       # %bb.0:14438; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 64(%rdi), %zmm014439; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 320(%rdi), %zmm314440; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [24,17,2,19,28,21,6,31,16,9,26,27,20,13,30,23]14441; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm3, %zmm1, %zmm2414442; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [8,1,18,11,4,5,22,15,0,25,10,3,12,29,14,7]14443; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm0, %zmm1, %zmm2514444; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [24,17,2,27,20,5,22,31,16,9,26,19,12,29,30,23]14445; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm3, %zmm1, %zmm1714446; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [0,1,18,11,4,21,14,7,8,25,10,3,28,13,6,15]14447; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm0, %zmm1, %zmm1214448; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [0,1,2,11,4,5,14,7,8,9,26,19,12,29,22,15]14449; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm3, %zmm1, %zmm1814450; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [0,17,10,3,4,21,14,7,24,9,2,11,28,13,6,31]14451; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm0, %zmm1, %zmm814452; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [0,1,10,3,4,5,14,7,8,25,18,11,12,29,22,15]14453; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm3, %zmm1, %zmm714454; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm1 = [16,17,10,3,20,13,6,23,24,25,18,27,28,21,30,31]14455; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm0, %zmm1, %zmm514456; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %ymm414457; AVX512DQ-BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm214458; AVX512DQ-BW-FCP-NEXT:    movw $-28382, %ax # imm = 0x912214459; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k114460; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm4, %ymm1 {%k1}14461; AVX512DQ-BW-FCP-NEXT:    kmovq %k1, %k214462; AVX512DQ-BW-FCP-NEXT:    kmovw %k1, {{[-0-9]+}}(%r{{[sb]}}p) # 2-byte Spill14463; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm614464; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,xmm6[5,12],zero,zero,xmm6[1,8,15,u,u,u,u,u,u]14465; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[0,7,14],zero,zero,xmm1[3,10],zero,zero,zero,xmm1[u,u,u,u,u,u]14466; AVX512DQ-BW-FCP-NEXT:    vpor %xmm6, %xmm1, %xmm114467; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm5 = ymm5[u,u,u,u,u,u,u,u,u,u,6,13,4,11,2,9,16,23,30,u,u,u,u,u,u,u,u,u,u,u,u,u]14468; AVX512DQ-BW-FCP-NEXT:    movw $992, %ax # imm = 0x3E014469; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k114470; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm5, %ymm1 {%k1}14471; AVX512DQ-BW-FCP-NEXT:    vmovdqa 128(%rdi), %ymm614472; AVX512DQ-BW-FCP-NEXT:    vmovdqa 160(%rdi), %ymm514473; AVX512DQ-BW-FCP-NEXT:    movw $8772, %ax # imm = 0x224414474; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k614475; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm6, %ymm5, %ymm9 {%k6}14476; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm1014477; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,u],zero,zero,xmm10[3,10],zero,zero,zero,xmm10[6,13,u,u,u,u]14478; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,5,12],zero,zero,xmm9[1,8,15],zero,zero,xmm9[u,u,u,u]14479; AVX512DQ-BW-FCP-NEXT:    vpor %xmm10, %xmm9, %xmm914480; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm914481; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm10 = [0,0,0,0,1,2,4,6]14482; AVX512DQ-BW-FCP-NEXT:    vmovdqa 192(%rdi), %ymm1514483; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm15, %ymm10, %ymm1014484; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm10 = 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,23,26,29]14485; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm9[0,1,2,3,4,5,6],ymm10[7]14486; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 240(%rdi), %xmm1914487; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm19[5,12,u,u,u,u,u,u,u,u,u,u,u]14488; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 224(%rdi), %xmm2014489; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm20[0,7,14],zero,zero,xmm20[u,u,u,u,u,u,u,u,u,u,u]14490; AVX512DQ-BW-FCP-NEXT:    vpor %xmm10, %xmm11, %xmm1014491; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $2, %xmm10, %zmm9, %zmm914492; AVX512DQ-BW-FCP-NEXT:    movabsq $137438429184, %rax # imm = 0x1FFFF8000014493; AVX512DQ-BW-FCP-NEXT:    kmovq %rax, %k514494; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %zmm9, %zmm1 {%k5}14495; AVX512DQ-BW-FCP-NEXT:    vmovdqa 288(%rdi), %ymm1014496; AVX512DQ-BW-FCP-NEXT:    vmovdqa 256(%rdi), %ymm914497; AVX512DQ-BW-FCP-NEXT:    movw $9288, %ax # imm = 0x244814498; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k314499; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm10, %ymm9, %ymm11 {%k3}14500; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm11[u,u,u,u,u,3,10],zero,zero,zero,xmm11[6,13],zero,zero,xmm11[u,u]14501; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm1114502; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,u,u],zero,zero,xmm11[1,8,15],zero,zero,xmm11[4,11,u,u]14503; AVX512DQ-BW-FCP-NEXT:    vporq %xmm16, %xmm11, %xmm2114504; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm7 = ymm7[u,u,u,u,u,u,u,u,u,u,u,u,u,u,2,9,16,23,30,21,28,19,26,u,u,u,u,u,u,u,u,u]14505; AVX512DQ-BW-FCP-NEXT:    movw $3968, %ax # imm = 0xF8014506; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k714507; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm7, %ymm21 {%k7}14508; AVX512DQ-BW-FCP-NEXT:    vmovdqa 416(%rdi), %ymm1114509; AVX512DQ-BW-FCP-NEXT:    vmovdqa 384(%rdi), %ymm714510; AVX512DQ-BW-FCP-NEXT:    movw $4644, %ax # imm = 0x122414511; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k414512; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm11, %ymm7, %ymm16 {%k4}14513; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm2214514; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[u,u,u,u,u,u,u],zero,zero,zero,xmm22[6,13],zero,zero,xmm22[2,9]14515; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[u,u,u,u,u,u,u,1,8,15],zero,zero,xmm16[4,11],zero,zero14516; AVX512DQ-BW-FCP-NEXT:    vporq %xmm22, %xmm16, %xmm1614517; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm2214518; AVX512DQ-BW-FCP-NEXT:    movl $-8388608, %eax # imm = 0xFF80000014519; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm4, %ymm16 {%k4}14520; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm2314521; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm23 = zero,zero,zero,xmm23[6,13],zero,zero,xmm23[2,9,u,u,u,u,u,u,u]14522; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[1,8,15],zero,zero,xmm16[4,11],zero,zero,xmm16[u,u,u,u,u,u,u]14523; AVX512DQ-BW-FCP-NEXT:    vporq %xmm23, %xmm16, %xmm1614524; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = ymm8[u,u,u,u,u,u,u,u,u,0,7,14,5,12,3,10,17,24,31,u,u,u,u,u,u,u,u,u,u,u,u,u]14525; AVX512DQ-BW-FCP-NEXT:    movl $511, %r10d # imm = 0x1FF14526; AVX512DQ-BW-FCP-NEXT:    kmovd %r10d, %k114527; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm16, %ymm8 {%k1}14528; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm6, %ymm5, %ymm16 {%k3}14529; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm23 = xmm16[u,u,u,6,13],zero,zero,xmm16[2,9],zero,zero,zero,xmm16[u,u,u,u]14530; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm1614531; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[u,u,u],zero,zero,xmm16[4,11],zero,zero,xmm16[0,7,14,u,u,u,u]14532; AVX512DQ-BW-FCP-NEXT:    vporq %xmm23, %xmm16, %xmm1614533; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm1414534; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm16 = [0,0,0,0,1,3,4,6]14535; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm15, %ymm16, %ymm1614536; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm13 = ymm16[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,20,27,30]14537; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm13 = ymm14[0,1,2,3,4,5,6],ymm13[7]14538; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,zero,xmm19[6,13,u,u,u,u,u,u,u,u,u,u,u]14539; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm20[1,8,15],zero,zero,xmm20[u,u,u,u,u,u,u,u,u,u,u]14540; AVX512DQ-BW-FCP-NEXT:    vporq %xmm14, %xmm16, %xmm1414541; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $2, %xmm14, %zmm13, %zmm1314542; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %zmm13, %zmm8 {%k5}14543; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm4, %ymm13 {%k6}14544; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[2,9],zero,zero,zero,xmm13[5,12],zero,zero,xmm13[u,u,u,u,u,u,u]14545; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm1314546; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,xmm13[0,7,14],zero,zero,xmm13[3,10,u,u,u,u,u,u,u]14547; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm1314548; AVX512DQ-BW-FCP-NEXT:    movl $261632, %r10d # imm = 0x3FE0014549; AVX512DQ-BW-FCP-NEXT:    kmovd %r10d, %k514550; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm13 {%k5} = ymm12[u,u,u,u,u,u,u,u,u,1,8,15,6,13,4,11,18,25,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14551; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm12 {%k2}14552; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm12, %xmm1414553; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u],zero,zero,zero,xmm14[5,12],zero,zero,xmm14[1,8,15,u,u,u,u]14554; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,0,7,14],zero,zero,xmm12[3,10],zero,zero,zero,xmm12[u,u,u,u]14555; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm12, %xmm1214556; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm1214557; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm14 = [0,0,0,0,1,3,5,6]14558; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm15, %ymm14, %ymm1414559; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 = 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,u,u,u,u,18,21,24,31]14560; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm12 = ymm12[0,1,2,3,4,5,6],ymm14[7]14561; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm20[2,9],zero,zero,zero,xmm20[u,u,u,u,u,u,u,u,u,u,u]14562; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,xmm19[0,7,14,u,u,u,u,u,u,u,u,u,u,u]14563; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm15, %xmm1414564; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $2, %xmm14, %zmm12, %zmm1214565; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %zmm13, %zmm12 {%k1}14566; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm4, %ymm13 {%k3}14567; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[3,10],zero,zero,zero,xmm13[6,13],zero,zero,xmm13[u,u,u,u,u,u,u]14568; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm1314569; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,xmm13[1,8,15],zero,zero,xmm13[4,11,u,u,u,u,u,u,u]14570; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm1414571; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 {%k5} = ymm25[u,u,u,u,u,u,u,u,u,2,9,0,7,14,5,12,19,26,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14572; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm13 {%k4}14573; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm1514574; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u],zero,zero,zero,xmm15[6,13],zero,zero,xmm15[2,9,u,u,u,u,u]14575; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,1,8,15],zero,zero,xmm13[4,11],zero,zero,xmm13[u,u,u,u,u]14576; AVX512DQ-BW-FCP-NEXT:    vpor %xmm15, %xmm13, %xmm1314577; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm1314578; AVX512DQ-BW-FCP-NEXT:    vmovdqa 208(%rdi), %xmm1514579; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm23 = xmm15[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm15[5,12]14580; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 192(%rdi), %xmm1614581; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm25 = xmm16[u,u,u,u,u,u,u,u,u,u,u,0,7,14],zero,zero14582; AVX512DQ-BW-FCP-NEXT:    vporq %xmm23, %xmm25, %xmm2314583; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm23, %ymm0, %ymm2314584; AVX512DQ-BW-FCP-NEXT:    movl $-134217728, %r10d # imm = 0xF800000014585; AVX512DQ-BW-FCP-NEXT:    kmovd %r10d, %k214586; AVX512DQ-BW-FCP-NEXT:    kmovd %k2, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill14587; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm23, %ymm13 {%k2}14588; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm20 = xmm20[3,10],zero,zero,zero,xmm20[u,u,u,u,u,u,u,u,u,u,u]14589; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = zero,zero,xmm19[1,8,15,u,u,u,u,u,u,u,u,u,u,u]14590; AVX512DQ-BW-FCP-NEXT:    vporq %xmm20, %xmm19, %xmm1914591; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $2, %xmm19, %zmm13, %zmm1314592; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %zmm14, %zmm13 {%k1}14593; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k214594; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm22, %ymm21 {%k2}14595; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm21, %zmm0, %zmm1414596; AVX512DQ-BW-FCP-NEXT:    movabsq $-137438953472, %rax # imm = 0xFFFFFFE00000000014597; AVX512DQ-BW-FCP-NEXT:    kmovq %rax, %k114598; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %zmm14, %zmm1 {%k1}14599; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm9, %ymm10, %ymm14 {%k4}14600; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm14, %xmm1914601; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = xmm19[u,u,u,u,u],zero,zero,xmm19[2,9],zero,zero,zero,xmm19[5,12,u,u]14602; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u,u,4,11],zero,zero,xmm14[0,7,14],zero,zero,xmm14[u,u]14603; AVX512DQ-BW-FCP-NEXT:    vporq %xmm19, %xmm14, %xmm1414604; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm18 = ymm18[u,u,u,u,u,u,u,u,u,u,u,u,u,u,3,10,17,24,31,22,29,20,27,u,u,u,u,u,u,u,u,u]14605; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm18, %ymm14 {%k7}14606; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm11, %ymm7, %ymm18 {%k6}14607; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = xmm18[u,u,u,u,u,u,u,2,9],zero,zero,zero,xmm18[5,12],zero,zero14608; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm18, %xmm1814609; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u,u,u,u,u,u],zero,zero,xmm18[0,7,14],zero,zero,xmm18[3,10]14610; AVX512DQ-BW-FCP-NEXT:    vporq %xmm19, %xmm18, %xmm1814611; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm18, %ymm0, %ymm1814612; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm18, %ymm14 {%k2}14613; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm14, %zmm0, %zmm1414614; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %zmm14, %zmm8 {%k1}14615; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm9, %ymm10, %ymm14 {%k6}14616; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm14, %xmm1814617; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u,u,u,u],zero,zero,xmm18[3,10],zero,zero,zero,xmm18[6,13,u,u]14618; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u,u,5,12],zero,zero,xmm14[1,8,15],zero,zero,xmm14[u,u]14619; AVX512DQ-BW-FCP-NEXT:    vporq %xmm18, %xmm14, %xmm1414620; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm17 = ymm17[u,u,u,u,u,u,u,u,u,u,u,u,u,u,4,11,18,25,16,23,30,21,28,u,u,u,u,u,u,u,u,u]14621; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm17, %ymm14 {%k7}14622; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm11, %ymm7, %ymm17 {%k3}14623; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm17[u,u,u,u,u,u,u,3,10],zero,zero,zero,xmm17[6,13],zero,zero14624; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm17, %xmm1714625; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u,u,u,u,u,u],zero,zero,xmm17[1,8,15],zero,zero,xmm17[4,11]14626; AVX512DQ-BW-FCP-NEXT:    vporq %xmm18, %xmm17, %xmm1714627; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm17, %ymm0, %ymm1714628; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm17, %ymm14 {%k2}14629; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm14, %zmm0, %zmm1414630; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %zmm14, %zmm12 {%k1}14631; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm9, %ymm10, %ymm14 {%k3}14632; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm14[u,u,u,u,u,6,13],zero,zero,xmm14[2,9],zero,zero,zero,xmm14[u,u]14633; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm14, %xmm1414634; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u,u],zero,zero,xmm14[4,11],zero,zero,xmm14[0,7,14,u,u]14635; AVX512DQ-BW-FCP-NEXT:    vporq %xmm17, %xmm14, %xmm1414636; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm17 = ymm24[u,u,u,u,u,u,u,u,u,u,u,u,u,u,5,12,19,26,17,24,31,22,29,u,u,u,u,u,u,u,u,u]14637; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm17, %ymm14 {%k7}14638; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm7, %ymm11, %ymm17 {%k4}14639; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm17, %xmm1814640; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u,u,u,u,u,u],zero,zero,xmm18[2,9],zero,zero,zero,xmm18[5,12]14641; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u,u,u,u,u,u,4,11],zero,zero,xmm17[0,7,14],zero,zero14642; AVX512DQ-BW-FCP-NEXT:    vporq %xmm18, %xmm17, %xmm1714643; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm17, %ymm0, %ymm1714644; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm17, %ymm14 {%k2}14645; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm14, %zmm0, %zmm1414646; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %zmm14, %zmm13 {%k1}14647; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm14 = [0,9,2,3,4,13,6,7,24,17,10,11,28,21,14,31]14648; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm3, %zmm14, %zmm1414649; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm17 = [16,25,18,3,28,21,6,23,24,17,10,27,20,13,30,31]14650; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm3, %zmm17, %zmm1814651; AVX512DQ-BW-FCP-NEXT:    kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload14652; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm10, %ymm9, %ymm17 {%k1}14653; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm17, %xmm1914654; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = xmm19[u,u,u,u],zero,zero,zero,xmm19[5,12],zero,zero,xmm19[1,8,15,u,u]14655; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u,u,u,0,7,14],zero,zero,xmm17[3,10],zero,zero,zero,xmm17[u,u]14656; AVX512DQ-BW-FCP-NEXT:    vporq %xmm19, %xmm17, %xmm1714657; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm18 = ymm18[u,u,u,u,u,u,u,u,u,u,u,u,u,u,6,13,20,27,18,25,16,23,30,u,u,u,u,u,u,u,u,u]14658; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm18, %ymm17 {%k7}14659; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm10, %ymm9, %ymm18 {%k4}14660; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm18, %xmm1914661; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm19 = xmm19[u,u,u,u],zero,zero,zero,xmm19[6,13],zero,zero,xmm19[2,9,u,u,u]14662; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u,u,u,1,8,15],zero,zero,xmm18[4,11],zero,zero,xmm18[u,u,u]14663; AVX512DQ-BW-FCP-NEXT:    vporq %xmm19, %xmm18, %xmm1814664; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm19 = ymm14[u,u,u,u,u,u,u,u,u,u,u,u,u,0,7,14,21,28,19,26,17,24,31,u,u,u,u,u,u,u,u,u]14665; AVX512DQ-BW-FCP-NEXT:    movl $8176, %eax # imm = 0x1FF014666; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k114667; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm18, %ymm19 {%k1}14668; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm14 = [16,9,2,19,12,5,22,23,24,17,26,27,20,29,30,31]14669; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm0, %zmm14, %zmm2014670; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm14 = [8,1,2,19,12,5,22,15,0,9,26,11,4,29,14,7]14671; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm0, %zmm14, %zmm1814672; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm7, %ymm11, %ymm14 {%k6}14673; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm14, %xmm2114674; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm21[u,u,u,u,u,u,u],zero,zero,xmm21[3,10],zero,zero,zero,xmm21[6,13]14675; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u,u,u,u,5,12],zero,zero,xmm14[1,8,15],zero,zero14676; AVX512DQ-BW-FCP-NEXT:    vporq %xmm21, %xmm14, %xmm1414677; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm14, %ymm0, %ymm1414678; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm14, %ymm17 {%k2}14679; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm4, %ymm2, %ymm14 {%k4}14680; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm14, %xmm2114681; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = zero,zero,xmm21[2,9],zero,zero,zero,xmm21[5,12,u,u,u,u,u,u,u]14682; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[4,11],zero,zero,xmm14[0,7,14],zero,zero,xmm14[u,u,u,u,u,u,u]14683; AVX512DQ-BW-FCP-NEXT:    vporq %xmm21, %xmm14, %xmm1414684; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 {%k5} = ymm18[u,u,u,u,u,u,u,u,u,3,10,1,8,15,6,13,20,27,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14685; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm18 {%k6}14686; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm18[u,u,2,9],zero,zero,zero,xmm18[5,12],zero,zero,xmm18[u,u,u,u,u]14687; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm18, %xmm1814688; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm18[u,u],zero,zero,xmm18[0,7,14],zero,zero,xmm18[3,10,u,u,u,u,u]14689; AVX512DQ-BW-FCP-NEXT:    vporq %xmm21, %xmm18, %xmm1814690; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm18, %ymm0, %ymm2114691; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm15[u,u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm15[6,13]14692; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm16[u,u,u,u,u,u,u,u,u,u,u,1,8,15],zero,zero14693; AVX512DQ-BW-FCP-NEXT:    vporq %xmm18, %xmm22, %xmm1814694; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm18, %ymm0, %ymm1814695; AVX512DQ-BW-FCP-NEXT:    kmovd {{[-0-9]+}}(%r{{[sb]}}p), %k7 # 4-byte Reload14696; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm18, %ymm21 {%k7}14697; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm22 = [1,2,4,6,0,0,0,0]14698; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 224(%rdi), %ymm1814699; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm18, %ymm22, %ymm2214700; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm22[0,7,10,13,u,u,u,u,u,u,u,u,u,u,u,u]14701; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $2, %xmm22, %zmm21, %zmm2114702; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %zmm21, %zmm14 {%k5}14703; AVX512DQ-BW-FCP-NEXT:    movw $-512, %ax # imm = 0xFE0014704; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm7, %ymm11, %ymm21 {%k3}14705; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm21[u,u,u,u,u,u,u,6,13],zero,zero,xmm21[2,9],zero,zero,zero14706; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm21, %xmm2114707; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm21[u,u,u,u,u,u,u],zero,zero,xmm21[4,11],zero,zero,xmm21[0,7,14]14708; AVX512DQ-BW-FCP-NEXT:    vporq %xmm22, %xmm21, %xmm2114709; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm21, %ymm0, %ymm2114710; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm21, %ymm19 {%k2}14711; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k114712; AVX512DQ-BW-FCP-NEXT:    vinserti32x8 $1, %ymm17, %zmm0, %zmm14 {%k1}14713; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm4, %ymm2, %ymm17 {%k6}14714; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm17, %xmm2114715; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = zero,zero,xmm21[3,10],zero,zero,zero,xmm21[6,13,u,u,u,u,u,u,u]14716; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[5,12],zero,zero,xmm17[1,8,15],zero,zero,xmm17[u,u,u,u,u,u,u]14717; AVX512DQ-BW-FCP-NEXT:    vporq %xmm21, %xmm17, %xmm1714718; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm17 {%k5} = ymm20[u,u,u,u,u,u,u,u,u,4,11,2,9,0,7,14,21,28,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14719; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm20 {%k3}14720; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm20[u,u,3,10],zero,zero,zero,xmm20[6,13],zero,zero,xmm20[u,u,u,u,u]14721; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm20, %xmm2014722; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm20 = xmm20[u,u],zero,zero,xmm20[1,8,15],zero,zero,xmm20[4,11,u,u,u,u,u]14723; AVX512DQ-BW-FCP-NEXT:    vporq %xmm21, %xmm20, %xmm2014724; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm20, %ymm0, %ymm2014725; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm16[u,u,u,u,u,u,u,u,u,u,u,2,9],zero,zero,zero14726; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm22 = xmm15[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm15[0,7,14]14727; AVX512DQ-BW-FCP-NEXT:    vporq %xmm21, %xmm22, %xmm2114728; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm21, %ymm0, %ymm2114729; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm21, %ymm20 {%k7}14730; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm21 = [1,3,4,6,0,0,0,0]14731; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm18, %ymm21, %ymm2114732; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm21 = xmm21[1,4,11,14,u,u,u,u,u,u,u,u,u,u,u,u]14733; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $2, %xmm21, %zmm20, %zmm2014734; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %zmm20, %zmm17 {%k5}14735; AVX512DQ-BW-FCP-NEXT:    vinserti32x8 $1, %ymm19, %zmm0, %zmm17 {%k1}14736; AVX512DQ-BW-FCP-NEXT:    kmovw {{[-0-9]+}}(%r{{[sb]}}p), %k1 # 2-byte Reload14737; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm11, %ymm7 {%k1}14738; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm11 = [0,1,10,3,4,13,6,7,8,25,18,11,28,21,14,15]14739; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm3, %zmm11, %zmm314740; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm10, %ymm9 {%k6}14741; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm9[u,u,u,u,2,9],zero,zero,zero,xmm9[5,12],zero,zero,xmm9[u,u,u]14742; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm914743; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[u,u,u,u],zero,zero,xmm9[0,7,14],zero,zero,xmm9[3,10,u,u,u]14744; AVX512DQ-BW-FCP-NEXT:    vpor %xmm10, %xmm9, %xmm914745; AVX512DQ-BW-FCP-NEXT:    movl $4186112, %eax # imm = 0x3FE00014746; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k114747; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm9 {%k1} = ymm3[u,u,u,u,u,u,u,u,u,u,u,u,u,1,8,15,22,29,20,27,18,25,u,u,u,u,u,u,u,u,u,u]14748; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm4, %ymm2 {%k3}14749; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm6, %ymm5 {%k4}14750; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm314751; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u],zero,zero,xmm3[2,9],zero,zero,zero,xmm3[5,12,u,u,u,u,u]14752; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm5[u,u,4,11],zero,zero,xmm5[0,7,14],zero,zero,xmm5[u,u,u,u,u]14753; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm314754; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm314755; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm16[u,u,u,u,u,u,u,u,u,u,u,3,10],zero,zero,zero14756; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm15[u,u,u,u,u,u,u,u,u,u,u],zero,zero,xmm15[1,8,15]14757; AVX512DQ-BW-FCP-NEXT:    vpor %xmm4, %xmm5, %xmm414758; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm414759; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm4, %ymm3 {%k7}14760; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [16,9,2,19,20,13,6,23,24,17,26,27,28,21,30,31]14761; AVX512DQ-BW-FCP-NEXT:    vpermw %zmm0, %zmm4, %zmm014762; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[6,13],zero,zero,xmm2[2,9],zero,zero,zero,xmm2[u,u,u,u,u,u,u]14763; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm214764; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,xmm2[4,11],zero,zero,xmm2[0,7,14,u,u,u,u,u,u,u]14765; AVX512DQ-BW-FCP-NEXT:    vpor %xmm4, %xmm2, %xmm214766; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm2 {%k5} = ymm0[u,u,u,u,u,u,u,u,u,5,12,3,10,1,8,15,22,29,u,u,u,u,u,u,u,u,u,u,u,u,u,u]14767; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} ymm0 = [1,3,5,6,0,0,0,0]14768; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm18, %ymm0, %ymm014769; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[2,5,8,15,u,u,u,u,u,u,u,u,u,u,u,u]14770; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $2, %xmm0, %zmm3, %zmm014771; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %zmm0, %zmm2 {%k5}14772; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rax14773; AVX512DQ-BW-FCP-NEXT:    movq {{[0-9]+}}(%rsp), %rdi14774; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm014775; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u],zero,zero,zero,xmm0[5,12],zero,zero,xmm0[1,8,15]14776; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm7[u,u,u,u,u,u,0,7,14],zero,zero,xmm7[3,10],zero,zero,zero14777; AVX512DQ-BW-FCP-NEXT:    vpor %xmm0, %xmm3, %xmm014778; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm014779; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm9, %zmm0, %zmm314780; AVX512DQ-BW-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [16,17,18,19,20,21,22,23,24,25,26,43,44,45,46,47]14781; AVX512DQ-BW-FCP-NEXT:    vpermi2w %zmm0, %zmm3, %zmm414782; AVX512DQ-BW-FCP-NEXT:    vpmovsxbd {{.*#+}} zmm0 = [0,1,2,3,4,5,6,7,8,17,18,19,20,21,22,23]14783; AVX512DQ-BW-FCP-NEXT:    vpermi2d %zmm4, %zmm2, %zmm014784; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm1, (%rsi)14785; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm8, (%rdx)14786; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm12, (%rcx)14787; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm13, (%r8)14788; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm14, (%r9)14789; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm17, (%rdi)14790; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, (%rax)14791; AVX512DQ-BW-FCP-NEXT:    vzeroupper14792; AVX512DQ-BW-FCP-NEXT:    retq14793  %wide.vec = load <448 x i8>, ptr %in.vec, align 6414794  %strided.vec0 = shufflevector <448 x i8> %wide.vec, <448 x i8> poison, <64 x i32> <i32 0, i32 7, i32 14, i32 21, i32 28, i32 35, i32 42, i32 49, i32 56, i32 63, i32 70, i32 77, i32 84, i32 91, i32 98, i32 105, i32 112, i32 119, i32 126, i32 133, i32 140, i32 147, i32 154, i32 161, i32 168, i32 175, i32 182, i32 189, i32 196, i32 203, i32 210, i32 217, i32 224, i32 231, i32 238, i32 245, i32 252, i32 259, i32 266, i32 273, i32 280, i32 287, i32 294, i32 301, i32 308, i32 315, i32 322, i32 329, i32 336, i32 343, i32 350, i32 357, i32 364, i32 371, i32 378, i32 385, i32 392, i32 399, i32 406, i32 413, i32 420, i32 427, i32 434, i32 441>14795  %strided.vec1 = shufflevector <448 x i8> %wide.vec, <448 x i8> poison, <64 x i32> <i32 1, i32 8, i32 15, i32 22, i32 29, i32 36, i32 43, i32 50, i32 57, i32 64, i32 71, i32 78, i32 85, i32 92, i32 99, i32 106, i32 113, i32 120, i32 127, i32 134, i32 141, i32 148, i32 155, i32 162, i32 169, i32 176, i32 183, i32 190, i32 197, i32 204, i32 211, i32 218, i32 225, i32 232, i32 239, i32 246, i32 253, i32 260, i32 267, i32 274, i32 281, i32 288, i32 295, i32 302, i32 309, i32 316, i32 323, i32 330, i32 337, i32 344, i32 351, i32 358, i32 365, i32 372, i32 379, i32 386, i32 393, i32 400, i32 407, i32 414, i32 421, i32 428, i32 435, i32 442>14796  %strided.vec2 = shufflevector <448 x i8> %wide.vec, <448 x i8> poison, <64 x i32> <i32 2, i32 9, i32 16, i32 23, i32 30, i32 37, i32 44, i32 51, i32 58, i32 65, i32 72, i32 79, i32 86, i32 93, i32 100, i32 107, i32 114, i32 121, i32 128, i32 135, i32 142, i32 149, i32 156, i32 163, i32 170, i32 177, i32 184, i32 191, i32 198, i32 205, i32 212, i32 219, i32 226, i32 233, i32 240, i32 247, i32 254, i32 261, i32 268, i32 275, i32 282, i32 289, i32 296, i32 303, i32 310, i32 317, i32 324, i32 331, i32 338, i32 345, i32 352, i32 359, i32 366, i32 373, i32 380, i32 387, i32 394, i32 401, i32 408, i32 415, i32 422, i32 429, i32 436, i32 443>14797  %strided.vec3 = shufflevector <448 x i8> %wide.vec, <448 x i8> poison, <64 x i32> <i32 3, i32 10, i32 17, i32 24, i32 31, i32 38, i32 45, i32 52, i32 59, i32 66, i32 73, i32 80, i32 87, i32 94, i32 101, i32 108, i32 115, i32 122, i32 129, i32 136, i32 143, i32 150, i32 157, i32 164, i32 171, i32 178, i32 185, i32 192, i32 199, i32 206, i32 213, i32 220, i32 227, i32 234, i32 241, i32 248, i32 255, i32 262, i32 269, i32 276, i32 283, i32 290, i32 297, i32 304, i32 311, i32 318, i32 325, i32 332, i32 339, i32 346, i32 353, i32 360, i32 367, i32 374, i32 381, i32 388, i32 395, i32 402, i32 409, i32 416, i32 423, i32 430, i32 437, i32 444>14798  %strided.vec4 = shufflevector <448 x i8> %wide.vec, <448 x i8> poison, <64 x i32> <i32 4, i32 11, i32 18, i32 25, i32 32, i32 39, i32 46, i32 53, i32 60, i32 67, i32 74, i32 81, i32 88, i32 95, i32 102, i32 109, i32 116, i32 123, i32 130, i32 137, i32 144, i32 151, i32 158, i32 165, i32 172, i32 179, i32 186, i32 193, i32 200, i32 207, i32 214, i32 221, i32 228, i32 235, i32 242, i32 249, i32 256, i32 263, i32 270, i32 277, i32 284, i32 291, i32 298, i32 305, i32 312, i32 319, i32 326, i32 333, i32 340, i32 347, i32 354, i32 361, i32 368, i32 375, i32 382, i32 389, i32 396, i32 403, i32 410, i32 417, i32 424, i32 431, i32 438, i32 445>14799  %strided.vec5 = shufflevector <448 x i8> %wide.vec, <448 x i8> poison, <64 x i32> <i32 5, i32 12, i32 19, i32 26, i32 33, i32 40, i32 47, i32 54, i32 61, i32 68, i32 75, i32 82, i32 89, i32 96, i32 103, i32 110, i32 117, i32 124, i32 131, i32 138, i32 145, i32 152, i32 159, i32 166, i32 173, i32 180, i32 187, i32 194, i32 201, i32 208, i32 215, i32 222, i32 229, i32 236, i32 243, i32 250, i32 257, i32 264, i32 271, i32 278, i32 285, i32 292, i32 299, i32 306, i32 313, i32 320, i32 327, i32 334, i32 341, i32 348, i32 355, i32 362, i32 369, i32 376, i32 383, i32 390, i32 397, i32 404, i32 411, i32 418, i32 425, i32 432, i32 439, i32 446>14800  %strided.vec6 = shufflevector <448 x i8> %wide.vec, <448 x i8> poison, <64 x i32> <i32 6, i32 13, i32 20, i32 27, i32 34, i32 41, i32 48, i32 55, i32 62, i32 69, i32 76, i32 83, i32 90, i32 97, i32 104, i32 111, i32 118, i32 125, i32 132, i32 139, i32 146, i32 153, i32 160, i32 167, i32 174, i32 181, i32 188, i32 195, i32 202, i32 209, i32 216, i32 223, i32 230, i32 237, i32 244, i32 251, i32 258, i32 265, i32 272, i32 279, i32 286, i32 293, i32 300, i32 307, i32 314, i32 321, i32 328, i32 335, i32 342, i32 349, i32 356, i32 363, i32 370, i32 377, i32 384, i32 391, i32 398, i32 405, i32 412, i32 419, i32 426, i32 433, i32 440, i32 447>14801  store <64 x i8> %strided.vec0, ptr %out.vec0, align 6414802  store <64 x i8> %strided.vec1, ptr %out.vec1, align 6414803  store <64 x i8> %strided.vec2, ptr %out.vec2, align 6414804  store <64 x i8> %strided.vec3, ptr %out.vec3, align 6414805  store <64 x i8> %strided.vec4, ptr %out.vec4, align 6414806  store <64 x i8> %strided.vec5, ptr %out.vec5, align 6414807  store <64 x i8> %strided.vec6, ptr %out.vec6, align 6414808  ret void14809}14810