brintos

brintos / llvm-project-archived public Read only

0
0
Text · 513.0 KiB · 5db006e Raw
8115 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_stride5_vf2(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4) nounwind {19; SSE-LABEL: load_i8_stride5_vf2:20; SSE:       # %bb.0:21; SSE-NEXT:    movdqa (%rdi), %xmm122; SSE-NEXT:    pxor %xmm2, %xmm223; SSE-NEXT:    movdqa %xmm1, %xmm024; 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]25; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm0[0,2,2,3]26; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,3,2,3,4,5,6,7]27; SSE-NEXT:    packuswb %xmm3, %xmm328; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm0[0,3,2,3]29; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[1,2,2,3,4,5,6,7]30; SSE-NEXT:    packuswb %xmm4, %xmm431; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm0[3,1,2,3]32; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[2,1,2,3,4,5,6,7]33; SSE-NEXT:    packuswb %xmm5, %xmm534; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm0[2,3,2,3]35; SSE-NEXT:    psrlq $48, %xmm036; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm2[8],xmm1[9],xmm2[9],xmm1[10],xmm2[10],xmm1[11],xmm2[11],xmm1[12],xmm2[12],xmm1[13],xmm2[13],xmm1[14],xmm2[14],xmm1[15],xmm2[15]37; SSE-NEXT:    punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]38; SSE-NEXT:    packuswb %xmm0, %xmm039; SSE-NEXT:    psrld $16, %xmm140; SSE-NEXT:    punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm1[0],xmm6[1],xmm1[1],xmm6[2],xmm1[2],xmm6[3],xmm1[3]41; SSE-NEXT:    packuswb %xmm6, %xmm642; SSE-NEXT:    movd %xmm3, %eax43; SSE-NEXT:    movw %ax, (%rsi)44; SSE-NEXT:    movd %xmm4, %eax45; SSE-NEXT:    movw %ax, (%rdx)46; SSE-NEXT:    movd %xmm5, %eax47; SSE-NEXT:    movw %ax, (%rcx)48; SSE-NEXT:    movd %xmm0, %eax49; SSE-NEXT:    movw %ax, (%r8)50; SSE-NEXT:    movd %xmm6, %eax51; SSE-NEXT:    movw %ax, (%r9)52; SSE-NEXT:    retq53;54; AVX-LABEL: load_i8_stride5_vf2:55; AVX:       # %bb.0:56; AVX-NEXT:    vmovdqa (%rdi), %xmm057; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]58; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]59; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]60; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]61; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]62; AVX-NEXT:    vpextrw $0, %xmm1, (%rsi)63; AVX-NEXT:    vpextrw $0, %xmm2, (%rdx)64; AVX-NEXT:    vpextrw $0, %xmm3, (%rcx)65; AVX-NEXT:    vpextrw $0, %xmm4, (%r8)66; AVX-NEXT:    vpextrw $0, %xmm0, (%r9)67; AVX-NEXT:    retq68;69; AVX2-LABEL: load_i8_stride5_vf2:70; AVX2:       # %bb.0:71; AVX2-NEXT:    vmovdqa (%rdi), %xmm072; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]73; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]74; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]75; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]76; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]77; AVX2-NEXT:    vpextrw $0, %xmm1, (%rsi)78; AVX2-NEXT:    vpextrw $0, %xmm2, (%rdx)79; AVX2-NEXT:    vpextrw $0, %xmm3, (%rcx)80; AVX2-NEXT:    vpextrw $0, %xmm4, (%r8)81; AVX2-NEXT:    vpextrw $0, %xmm0, (%r9)82; AVX2-NEXT:    retq83;84; AVX2-FP-LABEL: load_i8_stride5_vf2:85; AVX2-FP:       # %bb.0:86; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm087; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]88; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]89; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]90; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]91; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]92; AVX2-FP-NEXT:    vpextrw $0, %xmm1, (%rsi)93; AVX2-FP-NEXT:    vpextrw $0, %xmm2, (%rdx)94; AVX2-FP-NEXT:    vpextrw $0, %xmm3, (%rcx)95; AVX2-FP-NEXT:    vpextrw $0, %xmm4, (%r8)96; AVX2-FP-NEXT:    vpextrw $0, %xmm0, (%r9)97; AVX2-FP-NEXT:    retq98;99; AVX2-FCP-LABEL: load_i8_stride5_vf2:100; AVX2-FCP:       # %bb.0:101; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm0102; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]103; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]104; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]105; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]106; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]107; AVX2-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)108; AVX2-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)109; AVX2-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)110; AVX2-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)111; AVX2-FCP-NEXT:    vpextrw $0, %xmm0, (%r9)112; AVX2-FCP-NEXT:    retq113;114; AVX512-LABEL: load_i8_stride5_vf2:115; AVX512:       # %bb.0:116; AVX512-NEXT:    vmovdqa (%rdi), %xmm0117; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]118; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]119; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]120; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]121; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]122; AVX512-NEXT:    vpextrw $0, %xmm1, (%rsi)123; AVX512-NEXT:    vpextrw $0, %xmm2, (%rdx)124; AVX512-NEXT:    vpextrw $0, %xmm3, (%rcx)125; AVX512-NEXT:    vpextrw $0, %xmm4, (%r8)126; AVX512-NEXT:    vpextrw $0, %xmm0, (%r9)127; AVX512-NEXT:    retq128;129; AVX512-FCP-LABEL: load_i8_stride5_vf2:130; AVX512-FCP:       # %bb.0:131; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm0132; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]133; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]134; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]135; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]136; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]137; AVX512-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)138; AVX512-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)139; AVX512-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)140; AVX512-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)141; AVX512-FCP-NEXT:    vpextrw $0, %xmm0, (%r9)142; AVX512-FCP-NEXT:    retq143;144; AVX512DQ-LABEL: load_i8_stride5_vf2:145; AVX512DQ:       # %bb.0:146; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm0147; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]148; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]149; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]150; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]151; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]152; AVX512DQ-NEXT:    vpextrw $0, %xmm1, (%rsi)153; AVX512DQ-NEXT:    vpextrw $0, %xmm2, (%rdx)154; AVX512DQ-NEXT:    vpextrw $0, %xmm3, (%rcx)155; AVX512DQ-NEXT:    vpextrw $0, %xmm4, (%r8)156; AVX512DQ-NEXT:    vpextrw $0, %xmm0, (%r9)157; AVX512DQ-NEXT:    retq158;159; AVX512DQ-FCP-LABEL: load_i8_stride5_vf2:160; AVX512DQ-FCP:       # %bb.0:161; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm0162; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]163; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]164; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]165; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]166; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]167; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)168; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)169; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)170; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)171; AVX512DQ-FCP-NEXT:    vpextrw $0, %xmm0, (%r9)172; AVX512DQ-FCP-NEXT:    retq173;174; AVX512BW-LABEL: load_i8_stride5_vf2:175; AVX512BW:       # %bb.0:176; AVX512BW-NEXT:    vmovdqa (%rdi), %xmm0177; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]178; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]179; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]180; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]181; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]182; AVX512BW-NEXT:    vpextrw $0, %xmm1, (%rsi)183; AVX512BW-NEXT:    vpextrw $0, %xmm2, (%rdx)184; AVX512BW-NEXT:    vpextrw $0, %xmm3, (%rcx)185; AVX512BW-NEXT:    vpextrw $0, %xmm4, (%r8)186; AVX512BW-NEXT:    vpextrw $0, %xmm0, (%r9)187; AVX512BW-NEXT:    retq188;189; AVX512BW-FCP-LABEL: load_i8_stride5_vf2:190; AVX512BW-FCP:       # %bb.0:191; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %xmm0192; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]193; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]194; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]195; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]196; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]197; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)198; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)199; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)200; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)201; AVX512BW-FCP-NEXT:    vpextrw $0, %xmm0, (%r9)202; AVX512BW-FCP-NEXT:    retq203;204; AVX512DQ-BW-LABEL: load_i8_stride5_vf2:205; AVX512DQ-BW:       # %bb.0:206; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %xmm0207; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]208; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]209; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]210; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]211; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]212; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm1, (%rsi)213; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm2, (%rdx)214; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm3, (%rcx)215; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm4, (%r8)216; AVX512DQ-BW-NEXT:    vpextrw $0, %xmm0, (%r9)217; AVX512DQ-BW-NEXT:    retq218;219; AVX512DQ-BW-FCP-LABEL: load_i8_stride5_vf2:220; AVX512DQ-BW-FCP:       # %bb.0:221; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %xmm0222; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[0,5,u,u,u,u,u,u,u,u,u,u,u,u,u,u]223; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[1,6,u,u,u,u,u,u,u,u,u,u,u,u,u,u]224; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[2,7,u,u,u,u,u,u,u,u,u,u,u,u,u,u]225; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]226; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,u,u,u,u,u,u,u,u,u,u,u,u,u,u]227; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm1, (%rsi)228; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm2, (%rdx)229; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm3, (%rcx)230; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm4, (%r8)231; AVX512DQ-BW-FCP-NEXT:    vpextrw $0, %xmm0, (%r9)232; AVX512DQ-BW-FCP-NEXT:    retq233  %wide.vec = load <10 x i8>, ptr %in.vec, align 64234  %strided.vec0 = shufflevector <10 x i8> %wide.vec, <10 x i8> poison, <2 x i32> <i32 0, i32 5>235  %strided.vec1 = shufflevector <10 x i8> %wide.vec, <10 x i8> poison, <2 x i32> <i32 1, i32 6>236  %strided.vec2 = shufflevector <10 x i8> %wide.vec, <10 x i8> poison, <2 x i32> <i32 2, i32 7>237  %strided.vec3 = shufflevector <10 x i8> %wide.vec, <10 x i8> poison, <2 x i32> <i32 3, i32 8>238  %strided.vec4 = shufflevector <10 x i8> %wide.vec, <10 x i8> poison, <2 x i32> <i32 4, i32 9>239  store <2 x i8> %strided.vec0, ptr %out.vec0, align 64240  store <2 x i8> %strided.vec1, ptr %out.vec1, align 64241  store <2 x i8> %strided.vec2, ptr %out.vec2, align 64242  store <2 x i8> %strided.vec3, ptr %out.vec3, align 64243  store <2 x i8> %strided.vec4, ptr %out.vec4, align 64244  ret void245}246 247define void @load_i8_stride5_vf4(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4) nounwind {248; SSE-LABEL: load_i8_stride5_vf4:249; SSE:       # %bb.0:250; SSE-NEXT:    movdqa (%rdi), %xmm5251; SSE-NEXT:    movdqa 16(%rdi), %xmm0252; SSE-NEXT:    pxor %xmm4, %xmm4253; SSE-NEXT:    movdqa %xmm5, %xmm2254; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm4[8],xmm2[9],xmm4[9],xmm2[10],xmm4[10],xmm2[11],xmm4[11],xmm2[12],xmm4[12],xmm2[13],xmm4[13],xmm2[14],xmm4[14],xmm2[15],xmm4[15]255; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[3,1,2,3]256; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm1[2,1,2,3,4,5,6,7]257; SSE-NEXT:    movdqa %xmm5, %xmm3258; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3],xmm3[4],xmm4[4],xmm3[5],xmm4[5],xmm3[6],xmm4[6],xmm3[7],xmm4[7]259; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,2,2,3]260; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,3,4,5,6,7]261; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm6[0],xmm1[1],xmm6[1]262; SSE-NEXT:    packuswb %xmm1, %xmm1263; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]264; SSE-NEXT:    movdqa %xmm5, %xmm7265; SSE-NEXT:    pand %xmm6, %xmm7266; SSE-NEXT:    pandn %xmm0, %xmm6267; SSE-NEXT:    por %xmm7, %xmm6268; SSE-NEXT:    punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1],xmm6[2],xmm4[2],xmm6[3],xmm4[3],xmm6[4],xmm4[4],xmm6[5],xmm4[5],xmm6[6],xmm4[6],xmm6[7],xmm4[7]269; SSE-NEXT:    movdqa %xmm2, %xmm7270; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[1,0],xmm6[0,0]271; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[2,0],xmm6[2,3]272; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,1,1,3]273; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm7[0,1,2,3,6,5,6,7]274; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm6[0,2,2,3]275; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm6[1,2,3,0,4,5,6,7]276; SSE-NEXT:    packuswb %xmm6, %xmm6277; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [0,65535,65535,65535,65535,65535,65535,65535]278; SSE-NEXT:    movdqa %xmm5, %xmm8279; SSE-NEXT:    pand %xmm7, %xmm8280; SSE-NEXT:    pandn %xmm0, %xmm7281; SSE-NEXT:    por %xmm8, %xmm7282; SSE-NEXT:    punpcklbw {{.*#+}} xmm7 = xmm7[0],xmm4[0],xmm7[1],xmm4[1],xmm7[2],xmm4[2],xmm7[3],xmm4[3],xmm7[4],xmm4[4],xmm7[5],xmm4[5],xmm7[6],xmm4[6],xmm7[7],xmm4[7]283; SSE-NEXT:    movdqa %xmm2, %xmm8284; SSE-NEXT:    shufps {{.*#+}} xmm8 = xmm8[2,0],xmm7[3,0]285; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,1],xmm8[0,2]286; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[2,1,2,3,4,5,6,7]287; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,4,7,6,7]288; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[0,2,2,3]289; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[0,3,2,1,4,5,6,7]290; SSE-NEXT:    packuswb %xmm7, %xmm7291; SSE-NEXT:    movdqa {{.*#+}} xmm8 = [255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255]292; SSE-NEXT:    pand %xmm8, %xmm5293; SSE-NEXT:    pandn %xmm0, %xmm8294; SSE-NEXT:    por %xmm5, %xmm8295; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm4[0],xmm8[1],xmm4[1],xmm8[2],xmm4[2],xmm8[3],xmm4[3],xmm8[4],xmm4[4],xmm8[5],xmm4[5],xmm8[6],xmm4[6],xmm8[7],xmm4[7]296; SSE-NEXT:    shufps {{.*#+}} xmm8 = xmm8[1,1],xmm2[2,0]297; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm8[0,1,2,3,6,5,6,7]298; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[2,1,2,3]299; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[3,0,1,2,4,5,6,7]300; SSE-NEXT:    packuswb %xmm4, %xmm4301; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[2,0],xmm2[3,0]302; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm3[0,2]303; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,6,7]304; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,2,3]305; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[2,1,3,3,4,5,6,7]306; SSE-NEXT:    packuswb %xmm2, %xmm2307; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255]308; SSE-NEXT:    pand %xmm3, %xmm2309; SSE-NEXT:    pandn %xmm0, %xmm3310; SSE-NEXT:    por %xmm2, %xmm3311; SSE-NEXT:    movd %xmm1, (%rsi)312; SSE-NEXT:    movd %xmm6, (%rdx)313; SSE-NEXT:    movd %xmm7, (%rcx)314; SSE-NEXT:    movd %xmm4, (%r8)315; SSE-NEXT:    movd %xmm3, (%r9)316; SSE-NEXT:    retq317;318; AVX-LABEL: load_i8_stride5_vf4:319; AVX:       # %bb.0:320; AVX-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]321; AVX-NEXT:    vmovdqa (%rdi), %xmm1322; AVX-NEXT:    vmovdqa 16(%rdi), %xmm2323; AVX-NEXT:    vpshufb %xmm0, %xmm1, %xmm3324; AVX-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]325; AVX-NEXT:    vpshufb %xmm0, %xmm4, %xmm4326; AVX-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]327; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm5328; AVX-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]329; AVX-NEXT:    vpshufb %xmm0, %xmm6, %xmm6330; AVX-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]331; AVX-NEXT:    vpshufb %xmm0, %xmm1, %xmm0332; AVX-NEXT:    vmovd %xmm3, (%rsi)333; AVX-NEXT:    vmovd %xmm4, (%rdx)334; AVX-NEXT:    vmovd %xmm5, (%rcx)335; AVX-NEXT:    vmovd %xmm6, (%r8)336; AVX-NEXT:    vmovd %xmm0, (%r9)337; AVX-NEXT:    retq338;339; AVX2-LABEL: load_i8_stride5_vf4:340; AVX2:       # %bb.0:341; AVX2-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]342; AVX2-NEXT:    vmovdqa (%rdi), %xmm1343; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm2344; AVX2-NEXT:    vpshufb %xmm0, %xmm1, %xmm3345; AVX2-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]346; AVX2-NEXT:    vpshufb %xmm0, %xmm4, %xmm4347; AVX2-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]348; AVX2-NEXT:    vpshufb %xmm0, %xmm5, %xmm5349; AVX2-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]350; AVX2-NEXT:    vpshufb %xmm0, %xmm6, %xmm6351; AVX2-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]352; AVX2-NEXT:    vpshufb %xmm0, %xmm1, %xmm0353; AVX2-NEXT:    vmovd %xmm3, (%rsi)354; AVX2-NEXT:    vmovd %xmm4, (%rdx)355; AVX2-NEXT:    vmovd %xmm5, (%rcx)356; AVX2-NEXT:    vmovd %xmm6, (%r8)357; AVX2-NEXT:    vmovd %xmm0, (%r9)358; AVX2-NEXT:    retq359;360; AVX2-FP-LABEL: load_i8_stride5_vf4:361; AVX2-FP:       # %bb.0:362; AVX2-FP-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]363; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm1364; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm2365; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm1, %xmm3366; AVX2-FP-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]367; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm4, %xmm4368; AVX2-FP-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]369; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm5, %xmm5370; AVX2-FP-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]371; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm6, %xmm6372; AVX2-FP-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]373; AVX2-FP-NEXT:    vpshufb %xmm0, %xmm1, %xmm0374; AVX2-FP-NEXT:    vmovd %xmm3, (%rsi)375; AVX2-FP-NEXT:    vmovd %xmm4, (%rdx)376; AVX2-FP-NEXT:    vmovd %xmm5, (%rcx)377; AVX2-FP-NEXT:    vmovd %xmm6, (%r8)378; AVX2-FP-NEXT:    vmovd %xmm0, (%r9)379; AVX2-FP-NEXT:    retq380;381; AVX2-FCP-LABEL: load_i8_stride5_vf4:382; AVX2-FCP:       # %bb.0:383; AVX2-FCP-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]384; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm1385; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm2386; AVX2-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm3387; AVX2-FCP-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]388; AVX2-FCP-NEXT:    vpshufb %xmm0, %xmm4, %xmm4389; AVX2-FCP-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]390; AVX2-FCP-NEXT:    vpshufb %xmm0, %xmm5, %xmm5391; AVX2-FCP-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]392; AVX2-FCP-NEXT:    vpshufb %xmm0, %xmm6, %xmm6393; AVX2-FCP-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]394; AVX2-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm0395; AVX2-FCP-NEXT:    vmovd %xmm3, (%rsi)396; AVX2-FCP-NEXT:    vmovd %xmm4, (%rdx)397; AVX2-FCP-NEXT:    vmovd %xmm5, (%rcx)398; AVX2-FCP-NEXT:    vmovd %xmm6, (%r8)399; AVX2-FCP-NEXT:    vmovd %xmm0, (%r9)400; AVX2-FCP-NEXT:    retq401;402; AVX512-LABEL: load_i8_stride5_vf4:403; AVX512:       # %bb.0:404; AVX512-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]405; AVX512-NEXT:    vmovdqa (%rdi), %xmm1406; AVX512-NEXT:    vmovdqa 16(%rdi), %xmm2407; AVX512-NEXT:    vpshufb %xmm0, %xmm1, %xmm3408; AVX512-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]409; AVX512-NEXT:    vpshufb %xmm0, %xmm4, %xmm4410; AVX512-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]411; AVX512-NEXT:    vpshufb %xmm0, %xmm5, %xmm5412; AVX512-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]413; AVX512-NEXT:    vpshufb %xmm0, %xmm6, %xmm6414; AVX512-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]415; AVX512-NEXT:    vpshufb %xmm0, %xmm1, %xmm0416; AVX512-NEXT:    vmovd %xmm3, (%rsi)417; AVX512-NEXT:    vmovd %xmm4, (%rdx)418; AVX512-NEXT:    vmovd %xmm5, (%rcx)419; AVX512-NEXT:    vmovd %xmm6, (%r8)420; AVX512-NEXT:    vmovd %xmm0, (%r9)421; AVX512-NEXT:    retq422;423; AVX512-FCP-LABEL: load_i8_stride5_vf4:424; AVX512-FCP:       # %bb.0:425; AVX512-FCP-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]426; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm1427; AVX512-FCP-NEXT:    vmovdqa 16(%rdi), %xmm2428; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm3429; AVX512-FCP-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]430; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm4, %xmm4431; AVX512-FCP-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]432; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm5, %xmm5433; AVX512-FCP-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]434; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm6, %xmm6435; AVX512-FCP-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]436; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm0437; AVX512-FCP-NEXT:    vmovd %xmm3, (%rsi)438; AVX512-FCP-NEXT:    vmovd %xmm4, (%rdx)439; AVX512-FCP-NEXT:    vmovd %xmm5, (%rcx)440; AVX512-FCP-NEXT:    vmovd %xmm6, (%r8)441; AVX512-FCP-NEXT:    vmovd %xmm0, (%r9)442; AVX512-FCP-NEXT:    retq443;444; AVX512DQ-LABEL: load_i8_stride5_vf4:445; AVX512DQ:       # %bb.0:446; AVX512DQ-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]447; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm1448; AVX512DQ-NEXT:    vmovdqa 16(%rdi), %xmm2449; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm1, %xmm3450; AVX512DQ-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]451; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm4, %xmm4452; AVX512DQ-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]453; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm5, %xmm5454; AVX512DQ-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]455; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm6, %xmm6456; AVX512DQ-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]457; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm1, %xmm0458; AVX512DQ-NEXT:    vmovd %xmm3, (%rsi)459; AVX512DQ-NEXT:    vmovd %xmm4, (%rdx)460; AVX512DQ-NEXT:    vmovd %xmm5, (%rcx)461; AVX512DQ-NEXT:    vmovd %xmm6, (%r8)462; AVX512DQ-NEXT:    vmovd %xmm0, (%r9)463; AVX512DQ-NEXT:    retq464;465; AVX512DQ-FCP-LABEL: load_i8_stride5_vf4:466; AVX512DQ-FCP:       # %bb.0:467; AVX512DQ-FCP-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]468; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm1469; AVX512DQ-FCP-NEXT:    vmovdqa 16(%rdi), %xmm2470; AVX512DQ-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm3471; AVX512DQ-FCP-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]472; AVX512DQ-FCP-NEXT:    vpshufb %xmm0, %xmm4, %xmm4473; AVX512DQ-FCP-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]474; AVX512DQ-FCP-NEXT:    vpshufb %xmm0, %xmm5, %xmm5475; AVX512DQ-FCP-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]476; AVX512DQ-FCP-NEXT:    vpshufb %xmm0, %xmm6, %xmm6477; AVX512DQ-FCP-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]478; AVX512DQ-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm0479; AVX512DQ-FCP-NEXT:    vmovd %xmm3, (%rsi)480; AVX512DQ-FCP-NEXT:    vmovd %xmm4, (%rdx)481; AVX512DQ-FCP-NEXT:    vmovd %xmm5, (%rcx)482; AVX512DQ-FCP-NEXT:    vmovd %xmm6, (%r8)483; AVX512DQ-FCP-NEXT:    vmovd %xmm0, (%r9)484; AVX512DQ-FCP-NEXT:    retq485;486; AVX512BW-LABEL: load_i8_stride5_vf4:487; AVX512BW:       # %bb.0:488; AVX512BW-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]489; AVX512BW-NEXT:    vmovdqa (%rdi), %xmm1490; AVX512BW-NEXT:    vmovdqa 16(%rdi), %xmm2491; AVX512BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm3492; AVX512BW-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]493; AVX512BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm4494; AVX512BW-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]495; AVX512BW-NEXT:    vpshufb %xmm0, %xmm5, %xmm5496; AVX512BW-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]497; AVX512BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm6498; AVX512BW-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]499; AVX512BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm0500; AVX512BW-NEXT:    vmovd %xmm3, (%rsi)501; AVX512BW-NEXT:    vmovd %xmm4, (%rdx)502; AVX512BW-NEXT:    vmovd %xmm5, (%rcx)503; AVX512BW-NEXT:    vmovd %xmm6, (%r8)504; AVX512BW-NEXT:    vmovd %xmm0, (%r9)505; AVX512BW-NEXT:    retq506;507; AVX512BW-FCP-LABEL: load_i8_stride5_vf4:508; AVX512BW-FCP:       # %bb.0:509; AVX512BW-FCP-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]510; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %xmm1511; AVX512BW-FCP-NEXT:    vmovdqa 16(%rdi), %xmm2512; AVX512BW-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm3513; AVX512BW-FCP-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]514; AVX512BW-FCP-NEXT:    vpshufb %xmm0, %xmm4, %xmm4515; AVX512BW-FCP-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]516; AVX512BW-FCP-NEXT:    vpshufb %xmm0, %xmm5, %xmm5517; AVX512BW-FCP-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]518; AVX512BW-FCP-NEXT:    vpshufb %xmm0, %xmm6, %xmm6519; AVX512BW-FCP-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]520; AVX512BW-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm0521; AVX512BW-FCP-NEXT:    vmovd %xmm3, (%rsi)522; AVX512BW-FCP-NEXT:    vmovd %xmm4, (%rdx)523; AVX512BW-FCP-NEXT:    vmovd %xmm5, (%rcx)524; AVX512BW-FCP-NEXT:    vmovd %xmm6, (%r8)525; AVX512BW-FCP-NEXT:    vmovd %xmm0, (%r9)526; AVX512BW-FCP-NEXT:    retq527;528; AVX512DQ-BW-LABEL: load_i8_stride5_vf4:529; AVX512DQ-BW:       # %bb.0:530; AVX512DQ-BW-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]531; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %xmm1532; AVX512DQ-BW-NEXT:    vmovdqa 16(%rdi), %xmm2533; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm3534; AVX512DQ-BW-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]535; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm4, %xmm4536; AVX512DQ-BW-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]537; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm5, %xmm5538; AVX512DQ-BW-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]539; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm6, %xmm6540; AVX512DQ-BW-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]541; AVX512DQ-BW-NEXT:    vpshufb %xmm0, %xmm1, %xmm0542; AVX512DQ-BW-NEXT:    vmovd %xmm3, (%rsi)543; AVX512DQ-BW-NEXT:    vmovd %xmm4, (%rdx)544; AVX512DQ-BW-NEXT:    vmovd %xmm5, (%rcx)545; AVX512DQ-BW-NEXT:    vmovd %xmm6, (%r8)546; AVX512DQ-BW-NEXT:    vmovd %xmm0, (%r9)547; AVX512DQ-BW-NEXT:    retq548;549; AVX512DQ-BW-FCP-LABEL: load_i8_stride5_vf4:550; AVX512DQ-BW-FCP:       # %bb.0:551; AVX512DQ-BW-FCP-NEXT:    vmovd {{.*#+}} xmm0 = [0,5,10,15,0,0,0,0,0,0,0,0,0,0,0,0]552; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %xmm1553; AVX512DQ-BW-FCP-NEXT:    vmovdqa 16(%rdi), %xmm2554; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm3555; AVX512DQ-BW-FCP-NEXT:    vpalignr {{.*#+}} xmm4 = xmm1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0]556; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm0, %xmm4, %xmm4557; AVX512DQ-BW-FCP-NEXT:    vpalignr {{.*#+}} xmm5 = xmm1[2,3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1]558; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm0, %xmm5, %xmm5559; AVX512DQ-BW-FCP-NEXT:    vpalignr {{.*#+}} xmm6 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2]560; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm0, %xmm6, %xmm6561; AVX512DQ-BW-FCP-NEXT:    vpalignr {{.*#+}} xmm1 = xmm1[4,5,6,7,8,9,10,11,12,13,14,15],xmm2[0,1,2,3]562; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm0, %xmm1, %xmm0563; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm3, (%rsi)564; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm4, (%rdx)565; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm5, (%rcx)566; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm6, (%r8)567; AVX512DQ-BW-FCP-NEXT:    vmovd %xmm0, (%r9)568; AVX512DQ-BW-FCP-NEXT:    retq569  %wide.vec = load <20 x i8>, ptr %in.vec, align 64570  %strided.vec0 = shufflevector <20 x i8> %wide.vec, <20 x i8> poison, <4 x i32> <i32 0, i32 5, i32 10, i32 15>571  %strided.vec1 = shufflevector <20 x i8> %wide.vec, <20 x i8> poison, <4 x i32> <i32 1, i32 6, i32 11, i32 16>572  %strided.vec2 = shufflevector <20 x i8> %wide.vec, <20 x i8> poison, <4 x i32> <i32 2, i32 7, i32 12, i32 17>573  %strided.vec3 = shufflevector <20 x i8> %wide.vec, <20 x i8> poison, <4 x i32> <i32 3, i32 8, i32 13, i32 18>574  %strided.vec4 = shufflevector <20 x i8> %wide.vec, <20 x i8> poison, <4 x i32> <i32 4, i32 9, i32 14, i32 19>575  store <4 x i8> %strided.vec0, ptr %out.vec0, align 64576  store <4 x i8> %strided.vec1, ptr %out.vec1, align 64577  store <4 x i8> %strided.vec2, ptr %out.vec2, align 64578  store <4 x i8> %strided.vec3, ptr %out.vec3, align 64579  store <4 x i8> %strided.vec4, ptr %out.vec4, align 64580  ret void581}582 583define void @load_i8_stride5_vf8(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4) nounwind {584; SSE-LABEL: load_i8_stride5_vf8:585; SSE:       # %bb.0:586; SSE-NEXT:    movdqa (%rdi), %xmm3587; SSE-NEXT:    movdqa 16(%rdi), %xmm2588; SSE-NEXT:    movdqa 32(%rdi), %xmm0589; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [255,255,255,255,0,255,255,255,255,0,255,255,255,255,0,255]590; SSE-NEXT:    movdqa %xmm1, %xmm4591; SSE-NEXT:    pandn %xmm2, %xmm4592; SSE-NEXT:    movdqa %xmm3, %xmm5593; SSE-NEXT:    pand %xmm1, %xmm5594; SSE-NEXT:    por %xmm4, %xmm5595; SSE-NEXT:    pxor %xmm4, %xmm4596; SSE-NEXT:    movdqa %xmm5, %xmm6597; SSE-NEXT:    punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1],xmm6[2],xmm4[2],xmm6[3],xmm4[3],xmm6[4],xmm4[4],xmm6[5],xmm4[5],xmm6[6],xmm4[6],xmm6[7],xmm4[7]598; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [0,65535,65535,65535,0,0,65535,65535]599; SSE-NEXT:    punpckhbw {{.*#+}} xmm5 = xmm5[8],xmm4[8],xmm5[9],xmm4[9],xmm5[10],xmm4[10],xmm5[11],xmm4[11],xmm5[12],xmm4[12],xmm5[13],xmm4[13],xmm5[14],xmm4[14],xmm5[15],xmm4[15]600; SSE-NEXT:    pand %xmm7, %xmm5601; SSE-NEXT:    pandn %xmm6, %xmm7602; SSE-NEXT:    por %xmm5, %xmm7603; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm7[0,2,1,3,4,5,6,7]604; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,6,5,7]605; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[0,3,2,1]606; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[0,2,1,3,4,5,6,7]607; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm5[0,1,2,3,4,6,5,7]608; SSE-NEXT:    packuswb %xmm6, %xmm6609; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255]610; SSE-NEXT:    pand %xmm5, %xmm6611; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm0[0,0,1,1]612; SSE-NEXT:    movdqa %xmm5, %xmm8613; SSE-NEXT:    pandn %xmm7, %xmm8614; SSE-NEXT:    por %xmm6, %xmm8615; SSE-NEXT:    movq %xmm8, (%rsi)616; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [255,0,255,255,255,255,0,255,255,255,255,0,255,255,255,255]617; SSE-NEXT:    movdqa %xmm2, %xmm7618; SSE-NEXT:    pand %xmm6, %xmm7619; SSE-NEXT:    pandn %xmm3, %xmm6620; SSE-NEXT:    por %xmm7, %xmm6621; SSE-NEXT:    movdqa %xmm6, %xmm7622; SSE-NEXT:    punpckhbw {{.*#+}} xmm7 = xmm7[8],xmm4[8],xmm7[9],xmm4[9],xmm7[10],xmm4[10],xmm7[11],xmm4[11],xmm7[12],xmm4[12],xmm7[13],xmm4[13],xmm7[14],xmm4[14],xmm7[15],xmm4[15]623; SSE-NEXT:    movdqa {{.*#+}} xmm8 = [65535,65535,0,0,65535,65535,65535,0]624; SSE-NEXT:    punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1],xmm6[2],xmm4[2],xmm6[3],xmm4[3],xmm6[4],xmm4[4],xmm6[5],xmm4[5],xmm6[6],xmm4[6],xmm6[7],xmm4[7]625; SSE-NEXT:    pand %xmm8, %xmm6626; SSE-NEXT:    pandn %xmm7, %xmm8627; SSE-NEXT:    por %xmm6, %xmm8628; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm8[0,2,1,3]629; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm6[0,1,2,3,4,7,6,5]630; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm6[0,3,2,1]631; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm6[1,2,3,0,4,5,6,7]632; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm6[0,1,2,3,7,4,5,7]633; SSE-NEXT:    packuswb %xmm6, %xmm6634; SSE-NEXT:    pand %xmm5, %xmm6635; SSE-NEXT:    movdqa %xmm0, %xmm7636; SSE-NEXT:    pslld $24, %xmm7637; SSE-NEXT:    pandn %xmm7, %xmm5638; SSE-NEXT:    por %xmm6, %xmm5639; SSE-NEXT:    movq %xmm5, (%rdx)640; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [255,255,0,255,255,255,255,0,255,255,255,255,0,255,255,255]641; SSE-NEXT:    movdqa %xmm2, %xmm6642; SSE-NEXT:    pand %xmm5, %xmm6643; SSE-NEXT:    pandn %xmm3, %xmm5644; SSE-NEXT:    por %xmm6, %xmm5645; SSE-NEXT:    movdqa %xmm5, %xmm7646; SSE-NEXT:    punpckhbw {{.*#+}} xmm7 = xmm7[8],xmm4[8],xmm7[9],xmm4[9],xmm7[10],xmm4[10],xmm7[11],xmm4[11],xmm7[12],xmm4[12],xmm7[13],xmm4[13],xmm7[14],xmm4[14],xmm7[15],xmm4[15]647; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [65535,65535,65535,0,0,65535,65535,65535]648; SSE-NEXT:    movdqa %xmm6, %xmm8649; SSE-NEXT:    pandn %xmm7, %xmm8650; SSE-NEXT:    punpcklbw {{.*#+}} xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3],xmm5[4],xmm4[4],xmm5[5],xmm4[5],xmm5[6],xmm4[6],xmm5[7],xmm4[7]651; SSE-NEXT:    pand %xmm6, %xmm5652; SSE-NEXT:    por %xmm8, %xmm5653; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[2,1,2,3,4,5,6,7]654; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,7,6,7]655; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[0,2,1,3]656; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[0,3,2,1,4,5,6,7]657; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm5[0,1,2,3,6,5,6,7]658; SSE-NEXT:    packuswb %xmm7, %xmm7659; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [65535,65535,65535,0,65535,65535,65535,65535]660; SSE-NEXT:    pand %xmm5, %xmm7661; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3],xmm0[4],xmm4[4],xmm0[5],xmm4[5],xmm0[6],xmm4[6],xmm0[7],xmm4[7]662; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm0[0,1,2,0]663; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,5,6,5]664; SSE-NEXT:    packuswb %xmm8, %xmm8665; SSE-NEXT:    movdqa %xmm5, %xmm9666; SSE-NEXT:    pandn %xmm8, %xmm9667; SSE-NEXT:    por %xmm7, %xmm9668; SSE-NEXT:    movq %xmm9, (%rcx)669; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [255,255,255,0,255,255,255,255,0,255,255,255,255,0,255,255]670; SSE-NEXT:    movdqa %xmm2, %xmm8671; SSE-NEXT:    pand %xmm7, %xmm8672; SSE-NEXT:    pandn %xmm3, %xmm7673; SSE-NEXT:    por %xmm8, %xmm7674; SSE-NEXT:    movdqa %xmm7, %xmm8675; SSE-NEXT:    punpckhbw {{.*#+}} xmm8 = xmm8[8],xmm4[8],xmm8[9],xmm4[9],xmm8[10],xmm4[10],xmm8[11],xmm4[11],xmm8[12],xmm4[12],xmm8[13],xmm4[13],xmm8[14],xmm4[14],xmm8[15],xmm4[15]676; SSE-NEXT:    punpcklbw {{.*#+}} xmm7 = xmm7[0],xmm4[0],xmm7[1],xmm4[1],xmm7[2],xmm4[2],xmm7[3],xmm4[3],xmm7[4],xmm4[4],xmm7[5],xmm4[5],xmm7[6],xmm4[6],xmm7[7],xmm4[7]677; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[3,1],xmm8[2,0]678; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,4,5,6,5]679; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[3,1,2,0]680; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[3,0,1,2,4,5,6,7]681; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,7,4,6,7]682; SSE-NEXT:    packuswb %xmm7, %xmm7683; SSE-NEXT:    pand %xmm5, %xmm7684; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm0[0,1,0,3]685; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,5,5,6]686; SSE-NEXT:    packuswb %xmm8, %xmm8687; SSE-NEXT:    movdqa %xmm5, %xmm9688; SSE-NEXT:    pandn %xmm8, %xmm9689; SSE-NEXT:    por %xmm7, %xmm9690; SSE-NEXT:    movq %xmm9, (%r8)691; SSE-NEXT:    pand %xmm1, %xmm2692; SSE-NEXT:    pandn %xmm3, %xmm1693; SSE-NEXT:    por %xmm2, %xmm1694; SSE-NEXT:    movdqa %xmm1, %xmm2695; 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]696; 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]697; SSE-NEXT:    pand %xmm6, %xmm1698; SSE-NEXT:    pandn %xmm2, %xmm6699; SSE-NEXT:    por %xmm1, %xmm6700; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm6[3,1,0,3,4,5,6,7]701; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,4]702; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,2,1]703; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[3,1,2,0,4,5,6,7]704; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]705; SSE-NEXT:    packuswb %xmm1, %xmm1706; SSE-NEXT:    pand %xmm5, %xmm1707; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,1,3]708; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,4,7]709; SSE-NEXT:    packuswb %xmm0, %xmm0710; SSE-NEXT:    pandn %xmm0, %xmm5711; SSE-NEXT:    por %xmm1, %xmm5712; SSE-NEXT:    movq %xmm5, (%r9)713; SSE-NEXT:    retq714;715; AVX-LABEL: load_i8_stride5_vf8:716; AVX:       # %bb.0:717; AVX-NEXT:    vmovdqa (%rdi), %xmm0718; AVX-NEXT:    vmovdqa 16(%rdi), %xmm1719; AVX-NEXT:    vmovdqa 32(%rdi), %xmm2720; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[u,u,u,u,u,u,u,u,4,9,14,u,u,u,u,u]721; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[u,u,u,u,u,u,u,u,0,5,10,15,u,u,u,u]722; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm3 = xmm4[2],xmm3[2],xmm4[3],xmm3[3]723; AVX-NEXT:    vpunpcklbw {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3],xmm3[4],xmm2[4],xmm3[5],xmm2[5],xmm3[6],xmm2[6],xmm3[7],xmm2[7]724; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[0,2,4,6,8,10,12,7,u,u,u,u,u,u,u,u]725; AVX-NEXT:    vmovq %xmm3, (%rsi)726; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm0[1,6,11],zero,zero,zero,zero,xmm0[u,u,u,u,u,u,u,u,u]727; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = zero,zero,zero,xmm1[0,5,10,15,u,u,u,u,u,u,u,u,u]728; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm3729; AVX-NEXT:    vpunpcklbw {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3],xmm3[4],xmm2[4],xmm3[5],xmm2[5],xmm3[6],xmm2[6],xmm3[7],xmm2[7]730; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[0,2,4,6,8,10,12,9,u,u,u,u,u,u,u,u]731; AVX-NEXT:    vmovq %xmm3, (%rdx)732; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11,u,u,u,u,u,u,u,u,u,u]733; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[2,7,12],zero,zero,zero,xmm0[u,u,u,u,u,u,u,u,u,u]734; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm3735; AVX-NEXT:    vpunpcklbw {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3],xmm3[4],xmm2[4],xmm3[5],xmm2[5],xmm3[6],xmm2[6],xmm3[7],xmm2[7]736; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[0,2,4,6,8,10,1,11,u,u,u,u,u,u,u,u]737; AVX-NEXT:    vmovq %xmm3, (%rcx)738; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12,u,u,u,u,u,u,u,u,u,u]739; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm0[3,8,13],zero,zero,zero,xmm0[u,u,u,u,u,u,u,u,u,u]740; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm3741; AVX-NEXT:    vpunpcklbw {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3],xmm3[4],xmm2[4],xmm3[5],xmm2[5],xmm3[6],xmm2[6],xmm3[7],xmm2[7]742; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[0,2,4,6,8,10,3,13,u,u,u,u,u,u,u,u]743; AVX-NEXT:    vmovq %xmm3, (%r8)744; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13,u,u,u,u,u,u,u,u,u,u]745; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[u,u,u,u,u,u,u,u,u,u]746; AVX-NEXT:    vpor %xmm1, %xmm0, %xmm0747; AVX-NEXT:    vpunpcklbw {{.*#+}} 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]748; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,5,15,u,u,u,u,u,u,u,u]749; AVX-NEXT:    vmovq %xmm0, (%r9)750; AVX-NEXT:    retq751;752; AVX2-LABEL: load_i8_stride5_vf8:753; AVX2:       # %bb.0:754; AVX2-NEXT:    vmovdqa (%rdi), %xmm0755; AVX2-NEXT:    vmovdqa 16(%rdi), %xmm1756; AVX2-NEXT:    vmovdqa 32(%rdi), %xmm2757; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]758; AVX2-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]759; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]760; AVX2-NEXT:    vpor %xmm3, %xmm4, %xmm3761; AVX2-NEXT:    vmovq %xmm3, (%rsi)762; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]763; AVX2-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]764; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]765; AVX2-NEXT:    vpor %xmm3, %xmm4, %xmm3766; AVX2-NEXT:    vmovq %xmm3, (%rdx)767; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]768; AVX2-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]769; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]770; AVX2-NEXT:    vpor %xmm3, %xmm4, %xmm3771; AVX2-NEXT:    vmovq %xmm3, (%rcx)772; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]773; AVX2-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]774; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]775; AVX2-NEXT:    vpor %xmm3, %xmm4, %xmm3776; AVX2-NEXT:    vmovq %xmm3, (%r8)777; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]778; AVX2-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]779; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]780; AVX2-NEXT:    vpor %xmm1, %xmm0, %xmm0781; AVX2-NEXT:    vmovq %xmm0, (%r9)782; AVX2-NEXT:    retq783;784; AVX2-FP-LABEL: load_i8_stride5_vf8:785; AVX2-FP:       # %bb.0:786; AVX2-FP-NEXT:    vmovdqa (%rdi), %xmm0787; AVX2-FP-NEXT:    vmovdqa 16(%rdi), %xmm1788; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %xmm2789; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]790; AVX2-FP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]791; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]792; AVX2-FP-NEXT:    vpor %xmm3, %xmm4, %xmm3793; AVX2-FP-NEXT:    vmovq %xmm3, (%rsi)794; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]795; AVX2-FP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]796; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]797; AVX2-FP-NEXT:    vpor %xmm3, %xmm4, %xmm3798; AVX2-FP-NEXT:    vmovq %xmm3, (%rdx)799; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]800; AVX2-FP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]801; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]802; AVX2-FP-NEXT:    vpor %xmm3, %xmm4, %xmm3803; AVX2-FP-NEXT:    vmovq %xmm3, (%rcx)804; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]805; AVX2-FP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]806; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]807; AVX2-FP-NEXT:    vpor %xmm3, %xmm4, %xmm3808; AVX2-FP-NEXT:    vmovq %xmm3, (%r8)809; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]810; AVX2-FP-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]811; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]812; AVX2-FP-NEXT:    vpor %xmm1, %xmm0, %xmm0813; AVX2-FP-NEXT:    vmovq %xmm0, (%r9)814; AVX2-FP-NEXT:    retq815;816; AVX2-FCP-LABEL: load_i8_stride5_vf8:817; AVX2-FCP:       # %bb.0:818; AVX2-FCP-NEXT:    vmovdqa (%rdi), %xmm0819; AVX2-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1820; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %xmm2821; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]822; AVX2-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]823; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]824; AVX2-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3825; AVX2-FCP-NEXT:    vmovq %xmm3, (%rsi)826; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]827; AVX2-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]828; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]829; AVX2-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3830; AVX2-FCP-NEXT:    vmovq %xmm3, (%rdx)831; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]832; AVX2-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]833; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]834; AVX2-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3835; AVX2-FCP-NEXT:    vmovq %xmm3, (%rcx)836; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]837; AVX2-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]838; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]839; AVX2-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3840; AVX2-FCP-NEXT:    vmovq %xmm3, (%r8)841; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]842; AVX2-FCP-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]843; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]844; AVX2-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm0845; AVX2-FCP-NEXT:    vmovq %xmm0, (%r9)846; AVX2-FCP-NEXT:    retq847;848; AVX512-LABEL: load_i8_stride5_vf8:849; AVX512:       # %bb.0:850; AVX512-NEXT:    vmovdqa (%rdi), %xmm0851; AVX512-NEXT:    vmovdqa 16(%rdi), %xmm1852; AVX512-NEXT:    vmovdqa 32(%rdi), %xmm2853; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]854; AVX512-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]855; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]856; AVX512-NEXT:    vpor %xmm3, %xmm4, %xmm3857; AVX512-NEXT:    vmovq %xmm3, (%rsi)858; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]859; AVX512-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]860; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]861; AVX512-NEXT:    vpor %xmm3, %xmm4, %xmm3862; AVX512-NEXT:    vmovq %xmm3, (%rdx)863; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]864; AVX512-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]865; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]866; AVX512-NEXT:    vpor %xmm3, %xmm4, %xmm3867; AVX512-NEXT:    vmovq %xmm3, (%rcx)868; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]869; AVX512-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]870; AVX512-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]871; AVX512-NEXT:    vpor %xmm3, %xmm4, %xmm3872; AVX512-NEXT:    vmovq %xmm3, (%r8)873; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]874; AVX512-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]875; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]876; AVX512-NEXT:    vpor %xmm1, %xmm0, %xmm0877; AVX512-NEXT:    vmovq %xmm0, (%r9)878; AVX512-NEXT:    retq879;880; AVX512-FCP-LABEL: load_i8_stride5_vf8:881; AVX512-FCP:       # %bb.0:882; AVX512-FCP-NEXT:    vmovdqa (%rdi), %xmm0883; AVX512-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1884; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %xmm2885; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]886; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]887; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]888; AVX512-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3889; AVX512-FCP-NEXT:    vmovq %xmm3, (%rsi)890; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]891; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]892; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]893; AVX512-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3894; AVX512-FCP-NEXT:    vmovq %xmm3, (%rdx)895; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]896; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]897; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]898; AVX512-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3899; AVX512-FCP-NEXT:    vmovq %xmm3, (%rcx)900; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]901; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]902; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]903; AVX512-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3904; AVX512-FCP-NEXT:    vmovq %xmm3, (%r8)905; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]906; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]907; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]908; AVX512-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm0909; AVX512-FCP-NEXT:    vmovq %xmm0, (%r9)910; AVX512-FCP-NEXT:    retq911;912; AVX512DQ-LABEL: load_i8_stride5_vf8:913; AVX512DQ:       # %bb.0:914; AVX512DQ-NEXT:    vmovdqa (%rdi), %xmm0915; AVX512DQ-NEXT:    vmovdqa 16(%rdi), %xmm1916; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %xmm2917; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]918; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]919; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]920; AVX512DQ-NEXT:    vpor %xmm3, %xmm4, %xmm3921; AVX512DQ-NEXT:    vmovq %xmm3, (%rsi)922; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]923; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]924; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]925; AVX512DQ-NEXT:    vpor %xmm3, %xmm4, %xmm3926; AVX512DQ-NEXT:    vmovq %xmm3, (%rdx)927; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]928; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]929; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]930; AVX512DQ-NEXT:    vpor %xmm3, %xmm4, %xmm3931; AVX512DQ-NEXT:    vmovq %xmm3, (%rcx)932; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]933; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]934; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]935; AVX512DQ-NEXT:    vpor %xmm3, %xmm4, %xmm3936; AVX512DQ-NEXT:    vmovq %xmm3, (%r8)937; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]938; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]939; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]940; AVX512DQ-NEXT:    vpor %xmm1, %xmm0, %xmm0941; AVX512DQ-NEXT:    vmovq %xmm0, (%r9)942; AVX512DQ-NEXT:    retq943;944; AVX512DQ-FCP-LABEL: load_i8_stride5_vf8:945; AVX512DQ-FCP:       # %bb.0:946; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %xmm0947; AVX512DQ-FCP-NEXT:    vmovdqa 16(%rdi), %xmm1948; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %xmm2949; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]950; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]951; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]952; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3953; AVX512DQ-FCP-NEXT:    vmovq %xmm3, (%rsi)954; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]955; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]956; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]957; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3958; AVX512DQ-FCP-NEXT:    vmovq %xmm3, (%rdx)959; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]960; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]961; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]962; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3963; AVX512DQ-FCP-NEXT:    vmovq %xmm3, (%rcx)964; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]965; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]966; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]967; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm3968; AVX512DQ-FCP-NEXT:    vmovq %xmm3, (%r8)969; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]970; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]971; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]972; AVX512DQ-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm0973; AVX512DQ-FCP-NEXT:    vmovq %xmm0, (%r9)974; AVX512DQ-FCP-NEXT:    retq975;976; AVX512BW-LABEL: load_i8_stride5_vf8:977; AVX512BW:       # %bb.0:978; AVX512BW-NEXT:    vmovdqa (%rdi), %xmm0979; AVX512BW-NEXT:    vmovdqa 16(%rdi), %xmm1980; AVX512BW-NEXT:    vmovdqa 32(%rdi), %xmm2981; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]982; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]983; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]984; AVX512BW-NEXT:    vpor %xmm3, %xmm4, %xmm3985; AVX512BW-NEXT:    vmovq %xmm3, (%rsi)986; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]987; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]988; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]989; AVX512BW-NEXT:    vpor %xmm3, %xmm4, %xmm3990; AVX512BW-NEXT:    vmovq %xmm3, (%rdx)991; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]992; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]993; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]994; AVX512BW-NEXT:    vpor %xmm3, %xmm4, %xmm3995; AVX512BW-NEXT:    vmovq %xmm3, (%rcx)996; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]997; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]998; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]999; AVX512BW-NEXT:    vpor %xmm3, %xmm4, %xmm31000; AVX512BW-NEXT:    vmovq %xmm3, (%r8)1001; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]1002; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]1003; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]1004; AVX512BW-NEXT:    vpor %xmm1, %xmm0, %xmm01005; AVX512BW-NEXT:    vmovq %xmm0, (%r9)1006; AVX512BW-NEXT:    retq1007;1008; AVX512BW-FCP-LABEL: load_i8_stride5_vf8:1009; AVX512BW-FCP:       # %bb.0:1010; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %xmm01011; AVX512BW-FCP-NEXT:    vmovdqa 16(%rdi), %xmm11012; AVX512BW-FCP-NEXT:    vmovdqa 32(%rdi), %xmm21013; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]1014; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]1015; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]1016; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm31017; AVX512BW-FCP-NEXT:    vmovq %xmm3, (%rsi)1018; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]1019; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]1020; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]1021; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm31022; AVX512BW-FCP-NEXT:    vmovq %xmm3, (%rdx)1023; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]1024; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]1025; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]1026; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm31027; AVX512BW-FCP-NEXT:    vmovq %xmm3, (%rcx)1028; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]1029; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]1030; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]1031; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm31032; AVX512BW-FCP-NEXT:    vmovq %xmm3, (%r8)1033; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]1034; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]1035; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]1036; AVX512BW-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm01037; AVX512BW-FCP-NEXT:    vmovq %xmm0, (%r9)1038; AVX512BW-FCP-NEXT:    retq1039;1040; AVX512DQ-BW-LABEL: load_i8_stride5_vf8:1041; AVX512DQ-BW:       # %bb.0:1042; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %xmm01043; AVX512DQ-BW-NEXT:    vmovdqa 16(%rdi), %xmm11044; AVX512DQ-BW-NEXT:    vmovdqa 32(%rdi), %xmm21045; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]1046; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]1047; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]1048; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm4, %xmm31049; AVX512DQ-BW-NEXT:    vmovq %xmm3, (%rsi)1050; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]1051; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]1052; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]1053; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm4, %xmm31054; AVX512DQ-BW-NEXT:    vmovq %xmm3, (%rdx)1055; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]1056; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]1057; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]1058; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm4, %xmm31059; AVX512DQ-BW-NEXT:    vmovq %xmm3, (%rcx)1060; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]1061; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]1062; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]1063; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm4, %xmm31064; AVX512DQ-BW-NEXT:    vmovq %xmm3, (%r8)1065; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]1066; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]1067; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]1068; AVX512DQ-BW-NEXT:    vpor %xmm1, %xmm0, %xmm01069; AVX512DQ-BW-NEXT:    vmovq %xmm0, (%r9)1070; AVX512DQ-BW-NEXT:    retq1071;1072; AVX512DQ-BW-FCP-LABEL: load_i8_stride5_vf8:1073; AVX512DQ-BW-FCP:       # %bb.0:1074; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %xmm01075; AVX512DQ-BW-FCP-NEXT:    vmovdqa 16(%rdi), %xmm11076; AVX512DQ-BW-FCP-NEXT:    vmovdqa 32(%rdi), %xmm21077; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm1[4,9,14],zero,xmm1[u,u,u,u,u,u,u,u]1078; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0],xmm2[1],xmm0[2,3,4,5,6,7]1079; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[0,5,10,15],zero,zero,zero,xmm4[3,u,u,u,u,u,u,u,u]1080; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm31081; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm3, (%rsi)1082; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[0,5,10,15],zero,xmm1[u,u,u,u,u,u,u,u]1083; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm0[0,1],xmm2[2],xmm0[3,4,5,6,7]1084; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[1,6,11],zero,zero,zero,zero,xmm4[4,u,u,u,u,u,u,u,u]1085; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm31086; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm3, (%rdx)1087; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[1,6,11],zero,zero,xmm1[u,u,u,u,u,u,u,u]1088; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1],xmm2[2],xmm0[3,4,5,6,7]1089; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[2,7,12],zero,zero,zero,xmm4[0,5,u,u,u,u,u,u,u,u]1090; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm31091; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm3, (%rcx)1092; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm1[2,7,12],zero,zero,xmm1[u,u,u,u,u,u,u,u]1093; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm2[0],xmm0[1,2],xmm2[3],xmm0[4,5,6,7]1094; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm4[3,8,13],zero,zero,zero,xmm4[1,6,u,u,u,u,u,u,u,u]1095; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm4, %xmm31096; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm3, (%r8)1097; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,xmm1[u,u,u,u,u,u,u,u]1098; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3],xmm0[4,5,6,7]1099; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,u,u,u,u,u,u,u,u]1100; AVX512DQ-BW-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm01101; AVX512DQ-BW-FCP-NEXT:    vmovq %xmm0, (%r9)1102; AVX512DQ-BW-FCP-NEXT:    retq1103  %wide.vec = load <40 x i8>, ptr %in.vec, align 641104  %strided.vec0 = shufflevector <40 x i8> %wide.vec, <40 x i8> poison, <8 x i32> <i32 0, i32 5, i32 10, i32 15, i32 20, i32 25, i32 30, i32 35>1105  %strided.vec1 = shufflevector <40 x i8> %wide.vec, <40 x i8> poison, <8 x i32> <i32 1, i32 6, i32 11, i32 16, i32 21, i32 26, i32 31, i32 36>1106  %strided.vec2 = shufflevector <40 x i8> %wide.vec, <40 x i8> poison, <8 x i32> <i32 2, i32 7, i32 12, i32 17, i32 22, i32 27, i32 32, i32 37>1107  %strided.vec3 = shufflevector <40 x i8> %wide.vec, <40 x i8> poison, <8 x i32> <i32 3, i32 8, i32 13, i32 18, i32 23, i32 28, i32 33, i32 38>1108  %strided.vec4 = shufflevector <40 x i8> %wide.vec, <40 x i8> poison, <8 x i32> <i32 4, i32 9, i32 14, i32 19, i32 24, i32 29, i32 34, i32 39>1109  store <8 x i8> %strided.vec0, ptr %out.vec0, align 641110  store <8 x i8> %strided.vec1, ptr %out.vec1, align 641111  store <8 x i8> %strided.vec2, ptr %out.vec2, align 641112  store <8 x i8> %strided.vec3, ptr %out.vec3, align 641113  store <8 x i8> %strided.vec4, ptr %out.vec4, align 641114  ret void1115}1116 1117define void @load_i8_stride5_vf16(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4) nounwind {1118; SSE-LABEL: load_i8_stride5_vf16:1119; SSE:       # %bb.0:1120; SSE-NEXT:    movdqa 64(%rdi), %xmm91121; SSE-NEXT:    movdqa (%rdi), %xmm11122; SSE-NEXT:    movdqa 16(%rdi), %xmm151123; SSE-NEXT:    movdqa 32(%rdi), %xmm101124; SSE-NEXT:    movdqa 48(%rdi), %xmm21125; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [255,255,255,0,255,255,255,255,0,255,255,255,255,0,255,255]1126; SSE-NEXT:    movdqa %xmm3, %xmm01127; SSE-NEXT:    pandn %xmm10, %xmm01128; SSE-NEXT:    movdqa %xmm2, %xmm41129; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1130; SSE-NEXT:    pand %xmm3, %xmm41131; SSE-NEXT:    por %xmm0, %xmm41132; SSE-NEXT:    pxor %xmm8, %xmm81133; SSE-NEXT:    movdqa %xmm4, %xmm01134; 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]1135; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm0[0,1,1,3]1136; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,7,6,7]1137; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm8[8],xmm4[9],xmm8[9],xmm4[10],xmm8[10],xmm4[11],xmm8[11],xmm4[12],xmm8[12],xmm4[13],xmm8[13],xmm4[14],xmm8[14],xmm4[15],xmm8[15]1138; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[0,1,2,0]1139; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,6,5,4,7]1140; SSE-NEXT:    punpckhdq {{.*#+}} xmm4 = xmm4[2],xmm5[2],xmm4[3],xmm5[3]1141; SSE-NEXT:    packuswb %xmm4, %xmm01142; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,2,3]1143; SSE-NEXT:    movdqa {{.*#+}} xmm11 = [255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255]1144; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [255,255,255,255,0,255,255,255,255,0,255,255,255,255,0,255]1145; SSE-NEXT:    movdqa %xmm4, %xmm51146; SSE-NEXT:    pandn %xmm15, %xmm51147; SSE-NEXT:    movdqa %xmm1, %xmm61148; SSE-NEXT:    movdqa %xmm1, %xmm131149; SSE-NEXT:    pand %xmm4, %xmm61150; SSE-NEXT:    por %xmm5, %xmm61151; SSE-NEXT:    movdqa %xmm6, %xmm51152; SSE-NEXT:    punpcklbw {{.*#+}} xmm5 = xmm5[0],xmm8[0],xmm5[1],xmm8[1],xmm5[2],xmm8[2],xmm5[3],xmm8[3],xmm5[4],xmm8[4],xmm5[5],xmm8[5],xmm5[6],xmm8[6],xmm5[7],xmm8[7]1153; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [0,65535,65535,65535,0,0,65535,65535]1154; SSE-NEXT:    punpckhbw {{.*#+}} xmm6 = xmm6[8],xmm8[8],xmm6[9],xmm8[9],xmm6[10],xmm8[10],xmm6[11],xmm8[11],xmm6[12],xmm8[12],xmm6[13],xmm8[13],xmm6[14],xmm8[14],xmm6[15],xmm8[15]1155; SSE-NEXT:    pand %xmm7, %xmm61156; SSE-NEXT:    pandn %xmm5, %xmm71157; SSE-NEXT:    por %xmm6, %xmm71158; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm7[0,2,1,3,4,5,6,7]1159; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm5[0,1,2,3,4,6,5,7]1160; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm5[0,3,2,1]1161; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[0,2,1,3,4,5,6,7]1162; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm5[0,1,2,3,4,6,5,7]1163; SSE-NEXT:    packuswb %xmm7, %xmm71164; SSE-NEXT:    pand %xmm11, %xmm71165; SSE-NEXT:    movdqa %xmm11, %xmm51166; SSE-NEXT:    pandn %xmm0, %xmm51167; SSE-NEXT:    por %xmm5, %xmm71168; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0]1169; SSE-NEXT:    pand %xmm6, %xmm71170; SSE-NEXT:    movdqa %xmm9, %xmm11171; 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]1172; 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]1173; SSE-NEXT:    movdqa %xmm1, %xmm01174; SSE-NEXT:    movdqa %xmm1, %xmm51175; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1176; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[1,0],xmm9[0,0]1177; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[2,0],xmm9[2,3]1178; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,1,2,3,4,5,6,7]1179; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]1180; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,4]1181; SSE-NEXT:    packuswb %xmm0, %xmm01182; SSE-NEXT:    movdqa %xmm6, %xmm11183; SSE-NEXT:    pandn %xmm0, %xmm11184; SSE-NEXT:    por %xmm7, %xmm11185; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1186; SSE-NEXT:    movdqa %xmm4, %xmm71187; SSE-NEXT:    pandn %xmm10, %xmm71188; SSE-NEXT:    movdqa %xmm2, %xmm01189; SSE-NEXT:    pand %xmm4, %xmm01190; SSE-NEXT:    por %xmm7, %xmm01191; SSE-NEXT:    movdqa %xmm0, %xmm121192; SSE-NEXT:    punpckhbw {{.*#+}} xmm12 = xmm12[8],xmm8[8],xmm12[9],xmm8[9],xmm12[10],xmm8[10],xmm12[11],xmm8[11],xmm12[12],xmm8[12],xmm12[13],xmm8[13],xmm12[14],xmm8[14],xmm12[15],xmm8[15]1193; 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]1194; SSE-NEXT:    movdqa %xmm0, %xmm71195; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[1,0],xmm12[0,0]1196; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[2,0],xmm12[2,3]1197; SSE-NEXT:    movdqa {{.*#+}} xmm14 = [255,0,255,255,255,255,0,255,255,255,255,0,255,255,255,255]1198; SSE-NEXT:    movdqa %xmm14, %xmm121199; SSE-NEXT:    movdqa %xmm13, %xmm11200; SSE-NEXT:    pandn %xmm13, %xmm121201; SSE-NEXT:    movdqa %xmm15, %xmm131202; SSE-NEXT:    movdqa %xmm15, %xmm21203; SSE-NEXT:    movdqa %xmm15, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1204; SSE-NEXT:    pand %xmm14, %xmm131205; SSE-NEXT:    por %xmm12, %xmm131206; SSE-NEXT:    movdqa %xmm13, %xmm121207; SSE-NEXT:    punpckhbw {{.*#+}} xmm12 = xmm12[8],xmm8[8],xmm12[9],xmm8[9],xmm12[10],xmm8[10],xmm12[11],xmm8[11],xmm12[12],xmm8[12],xmm12[13],xmm8[13],xmm12[14],xmm8[14],xmm12[15],xmm8[15]1208; SSE-NEXT:    punpcklbw {{.*#+}} xmm13 = xmm13[0],xmm8[0],xmm13[1],xmm8[1],xmm13[2],xmm8[2],xmm13[3],xmm8[3],xmm13[4],xmm8[4],xmm13[5],xmm8[5],xmm13[6],xmm8[6],xmm13[7],xmm8[7]1209; SSE-NEXT:    movdqa {{.*#+}} xmm15 = [65535,65535,0,0,65535,65535,65535,0]1210; SSE-NEXT:    pand %xmm15, %xmm131211; SSE-NEXT:    pandn %xmm12, %xmm151212; SSE-NEXT:    por %xmm13, %xmm151213; SSE-NEXT:    pshufd {{.*#+}} xmm12 = xmm15[0,2,1,3]1214; SSE-NEXT:    pshufhw {{.*#+}} xmm12 = xmm12[0,1,2,3,4,7,6,5]1215; SSE-NEXT:    pshufd {{.*#+}} xmm12 = xmm12[0,3,2,1]1216; SSE-NEXT:    pshuflw {{.*#+}} xmm12 = xmm12[1,2,3,0,4,5,6,7]1217; SSE-NEXT:    pshufhw {{.*#+}} xmm12 = xmm12[0,1,2,3,7,4,5,7]1218; SSE-NEXT:    packuswb %xmm12, %xmm121219; SSE-NEXT:    pand %xmm11, %xmm121220; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,2,1,3]1221; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,6,5,6,7]1222; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[0,2,2,1]1223; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[1,2,3,0,4,5,6,7]1224; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,7,7,7,7]1225; SSE-NEXT:    psllq $48, %xmm01226; SSE-NEXT:    packuswb %xmm7, %xmm01227; SSE-NEXT:    movdqa %xmm5, %xmm71228; SSE-NEXT:    pandn %xmm0, %xmm111229; SSE-NEXT:    por %xmm11, %xmm121230; SSE-NEXT:    pand %xmm6, %xmm121231; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[2,0],xmm9[3,0]1232; SSE-NEXT:    movaps %xmm9, %xmm01233; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm7[0,2]1234; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,7]1235; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,2,1]1236; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,5,4]1237; SSE-NEXT:    packuswb %xmm0, %xmm01238; SSE-NEXT:    movdqa %xmm6, %xmm51239; SSE-NEXT:    pandn %xmm0, %xmm51240; SSE-NEXT:    por %xmm12, %xmm51241; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill1242; SSE-NEXT:    movdqa {{.*#+}} xmm12 = [255,255,0,255,255,255,255,0,255,255,255,255,0,255,255,255]1243; SSE-NEXT:    movdqa %xmm12, %xmm01244; SSE-NEXT:    pandn %xmm1, %xmm01245; SSE-NEXT:    movdqa %xmm1, %xmm51246; SSE-NEXT:    pand %xmm12, %xmm21247; SSE-NEXT:    por %xmm0, %xmm21248; SSE-NEXT:    movdqa %xmm2, %xmm01249; 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]1250; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [65535,65535,65535,0,0,65535,65535,65535]1251; SSE-NEXT:    movdqa %xmm13, %xmm151252; SSE-NEXT:    pandn %xmm0, %xmm151253; 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]1254; SSE-NEXT:    pand %xmm13, %xmm21255; SSE-NEXT:    por %xmm15, %xmm21256; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm2[2,1,2,3,4,5,6,7]1257; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,7]1258; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]1259; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,1,4,5,6,7]1260; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,6,7]1261; SSE-NEXT:    packuswb %xmm0, %xmm01262; SSE-NEXT:    movdqa {{.*#+}} xmm15 = [0,0,0,65535,65535,65535,65535,65535]1263; SSE-NEXT:    pandn %xmm0, %xmm151264; SSE-NEXT:    movdqa %xmm4, %xmm01265; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload1266; SSE-NEXT:    pandn %xmm11, %xmm01267; SSE-NEXT:    movdqa %xmm11, %xmm71268; SSE-NEXT:    pand %xmm14, %xmm71269; SSE-NEXT:    pandn %xmm10, %xmm141270; SSE-NEXT:    pand %xmm12, %xmm111271; SSE-NEXT:    pandn %xmm10, %xmm121272; SSE-NEXT:    pand %xmm4, %xmm101273; SSE-NEXT:    por %xmm0, %xmm101274; SSE-NEXT:    movdqa %xmm10, %xmm01275; 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]1276; SSE-NEXT:    punpcklbw {{.*#+}} xmm10 = xmm10[0],xmm8[0],xmm10[1],xmm8[1],xmm10[2],xmm8[2],xmm10[3],xmm8[3],xmm10[4],xmm8[4],xmm10[5],xmm8[5],xmm10[6],xmm8[6],xmm10[7],xmm8[7]1277; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm10[0,1,2,0]1278; SSE-NEXT:    shufps {{.*#+}} xmm10 = xmm10[2,0],xmm0[3,0]1279; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm10[0,2]1280; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,1,2,3,4,5,6,7]1281; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,7]1282; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]1283; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,1,4,5,6,7]1284; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,6,6,6]1285; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,5]1286; SSE-NEXT:    packuswb %xmm0, %xmm11287; SSE-NEXT:    pand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm11288; SSE-NEXT:    por %xmm15, %xmm11289; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm9[1,1,1,1]1290; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload1291; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm2[0,2,2,3]1292; SSE-NEXT:    punpckldq {{.*#+}} xmm10 = xmm10[0],xmm0[0],xmm10[1],xmm0[1]1293; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm10[0,3,2,3,4,5,6,7]1294; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,2,0]1295; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,5]1296; SSE-NEXT:    packuswb %xmm0, %xmm01297; SSE-NEXT:    movdqa %xmm6, %xmm101298; SSE-NEXT:    pandn %xmm0, %xmm101299; SSE-NEXT:    pand %xmm6, %xmm11300; SSE-NEXT:    por %xmm1, %xmm101301; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload1302; SSE-NEXT:    movdqa %xmm15, %xmm01303; SSE-NEXT:    pand %xmm3, %xmm01304; SSE-NEXT:    pandn %xmm5, %xmm31305; SSE-NEXT:    por %xmm0, %xmm31306; SSE-NEXT:    movdqa %xmm3, %xmm01307; SSE-NEXT:    pxor %xmm1, %xmm11308; 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]1309; 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]1310; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[3,1],xmm0[2,0]1311; SSE-NEXT:    por %xmm7, %xmm141312; SSE-NEXT:    movdqa %xmm14, %xmm01313; 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]1314; SSE-NEXT:    punpckhbw {{.*#+}} xmm14 = xmm14[8],xmm1[8],xmm14[9],xmm1[9],xmm14[10],xmm1[10],xmm14[11],xmm1[11],xmm14[12],xmm1[12],xmm14[13],xmm1[13],xmm14[14],xmm1[14],xmm14[15],xmm1[15]1315; SSE-NEXT:    shufps {{.*#+}} xmm14 = xmm14[3,1],xmm0[2,0]1316; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm14[0,1,2,3,6,5,6,7]1317; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[2,1,0,3]1318; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[3,0,1,2,4,5,6,7]1319; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,5,5,5,5]1320; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]1321; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,5,6]1322; SSE-NEXT:    packuswb %xmm1, %xmm01323; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [0,0,0,65535,65535,65535,65535,65535]1324; SSE-NEXT:    pand %xmm1, %xmm01325; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm3[0,1,2,3,4,5,6,5]1326; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm7[3,1,2,0]1327; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[3,0,1,2,4,5,6,7]1328; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm7[0,1,2,3,7,4,6,7]1329; SSE-NEXT:    packuswb %xmm7, %xmm71330; SSE-NEXT:    pandn %xmm7, %xmm11331; SSE-NEXT:    movaps %xmm9, %xmm71332; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[2,0],xmm2[3,0]1333; SSE-NEXT:    por %xmm1, %xmm01334; SSE-NEXT:    movaps %xmm2, %xmm11335; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm7[0,2]1336; SSE-NEXT:    pand %xmm6, %xmm01337; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]1338; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]1339; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,5]1340; SSE-NEXT:    packuswb %xmm1, %xmm11341; SSE-NEXT:    pandn %xmm1, %xmm61342; SSE-NEXT:    por %xmm0, %xmm61343; SSE-NEXT:    por %xmm11, %xmm121344; SSE-NEXT:    movdqa %xmm12, %xmm11345; 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]1346; 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]1347; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm12[0,1,1,3]1348; SSE-NEXT:    shufps {{.*#+}} xmm12 = xmm12[0,3],xmm1[1,2]1349; SSE-NEXT:    movdqa %xmm15, %xmm11350; SSE-NEXT:    pand %xmm4, %xmm11351; SSE-NEXT:    pandn %xmm5, %xmm41352; SSE-NEXT:    por %xmm1, %xmm41353; SSE-NEXT:    movdqa %xmm4, %xmm11354; 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]1355; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm8[8],xmm4[9],xmm8[9],xmm4[10],xmm8[10],xmm4[11],xmm8[11],xmm4[12],xmm8[12],xmm4[13],xmm8[13],xmm4[14],xmm8[14],xmm4[15],xmm8[15]1356; SSE-NEXT:    pand %xmm13, %xmm41357; SSE-NEXT:    pandn %xmm1, %xmm131358; SSE-NEXT:    shufps {{.*#+}} xmm12 = xmm12[0,2,3,1]1359; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm12[3,1,2,3,4,5,6,7]1360; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]1361; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]1362; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[2,1,3,0,4,5,6,7]1363; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,4,7]1364; SSE-NEXT:    packuswb %xmm1, %xmm01365; SSE-NEXT:    por %xmm4, %xmm131366; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,65535,65535,0,0,0,65535,65535]1367; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm13[3,1,0,3,4,5,6,7]1368; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,5,6,4]1369; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[0,3,2,1]1370; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[3,1,2,0,4,5,6,7]1371; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,6,5,6,7]1372; SSE-NEXT:    packuswb %xmm4, %xmm41373; SSE-NEXT:    pand %xmm3, %xmm41374; SSE-NEXT:    pandn %xmm0, %xmm31375; SSE-NEXT:    por %xmm3, %xmm41376; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[3,1,2,3]1377; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm9[0,2,2,3]1378; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,1,2,1,4,5,6,7]1379; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,1,0,3,4,5,6,7]1380; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]1381; SSE-NEXT:    packuswb %xmm1, %xmm21382; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,1],xmm2[2,1]1383; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1384; SSE-NEXT:    movaps %xmm0, (%rsi)1385; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload1386; SSE-NEXT:    movaps %xmm0, (%rdx)1387; SSE-NEXT:    movdqa %xmm10, (%rcx)1388; SSE-NEXT:    movdqa %xmm6, (%r8)1389; SSE-NEXT:    movaps %xmm4, (%r9)1390; SSE-NEXT:    retq1391;1392; AVX-LABEL: load_i8_stride5_vf16:1393; AVX:       # %bb.0:1394; AVX-NEXT:    vmovdqa (%rdi), %xmm01395; AVX-NEXT:    vmovdqa 16(%rdi), %xmm21396; AVX-NEXT:    vmovdqa 32(%rdi), %xmm11397; AVX-NEXT:    vmovdqa 48(%rdi), %xmm31398; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[u,u,u,u,u,u,u,u,4,9,14,u,u,u,u,u]1399; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm0[u,u,u,u,u,u,u,u,0,5,10,15,u,u,u,u]1400; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm4 = xmm5[2],xmm4[2],xmm5[3],xmm4[3]1401; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm3[u,u,u,u,u,u,u],zero,zero,zero,xmm3[2,7,12,u,u,u]1402; AVX-NEXT:    vpshufb {{.*#+}} xmm6 = xmm1[u,u,u,u,u,u,u,3,8,13],zero,zero,zero,xmm1[u,u,u]1403; AVX-NEXT:    vpor %xmm5, %xmm6, %xmm51404; AVX-NEXT:    vmovq {{.*#+}} xmm6 = [255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0]1405; AVX-NEXT:    vpblendvb %xmm6, %xmm4, %xmm5, %xmm41406; AVX-NEXT:    vmovdqa {{.*#+}} xmm7 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1407; AVX-NEXT:    vpshufb %xmm7, %xmm4, %xmm51408; AVX-NEXT:    vmovdqa 64(%rdi), %xmm41409; AVX-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[1,6,11]1410; AVX-NEXT:    vpor %xmm5, %xmm8, %xmm51411; AVX-NEXT:    vpshufb {{.*#+}} xmm8 = xmm0[1,6,11],zero,zero,zero,zero,xmm0[u,u,u,u,u,u,u,u,u]1412; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,xmm2[0,5,10,15,u,u,u,u,u,u,u,u,u]1413; AVX-NEXT:    vpor %xmm8, %xmm9, %xmm81414; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = xmm3[u,u,u,u,u,u,u],zero,zero,zero,xmm3[3,8,13,u,u,u]1415; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm1[u,u,u,u,u,u,u,4,9,14],zero,zero,zero,xmm1[u,u,u]1416; AVX-NEXT:    vpor %xmm9, %xmm10, %xmm91417; AVX-NEXT:    vpblendvb %xmm6, %xmm8, %xmm9, %xmm61418; AVX-NEXT:    vpshufb %xmm7, %xmm6, %xmm61419; AVX-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[2,7,12]1420; AVX-NEXT:    vpor %xmm6, %xmm8, %xmm61421; AVX-NEXT:    vmovdqa {{.*#+}} xmm8 = [128,128,128,1,6,11,128,128,128,128,4,9,14,u,u,u]1422; AVX-NEXT:    vpshufb %xmm8, %xmm2, %xmm91423; AVX-NEXT:    vpshufb %xmm8, %xmm3, %xmm81424; AVX-NEXT:    vpblendw {{.*#+}} xmm8 = xmm9[0,1,2],xmm8[3,4,5,6,7]1425; AVX-NEXT:    vmovdqa {{.*#+}} xmm9 = [2,7,12,128,128,128,0,5,10,15,128,128,128,u,u,u]1426; AVX-NEXT:    vpshufb %xmm9, %xmm0, %xmm101427; AVX-NEXT:    vpshufb %xmm9, %xmm1, %xmm91428; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3,4,5,6,7]1429; AVX-NEXT:    vpor %xmm8, %xmm9, %xmm81430; AVX-NEXT:    vpshufb %xmm7, %xmm8, %xmm81431; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[3,8,13]1432; AVX-NEXT:    vpor %xmm9, %xmm8, %xmm81433; AVX-NEXT:    vmovdqa {{.*#+}} xmm9 = [128,128,128,2,7,12,1,6,11,128,128,128,128,u,u,u]1434; AVX-NEXT:    vpshufb %xmm9, %xmm2, %xmm101435; AVX-NEXT:    vpshufb %xmm9, %xmm1, %xmm91436; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm10[0,1,2],xmm9[3,4,5,6,7]1437; AVX-NEXT:    vmovdqa {{.*#+}} xmm10 = [3,8,13,128,128,128,128,128,128,0,5,10,15,u,u,u]1438; AVX-NEXT:    vpshufb %xmm10, %xmm0, %xmm111439; AVX-NEXT:    vpshufb %xmm10, %xmm3, %xmm101440; AVX-NEXT:    vpblendw {{.*#+}} xmm10 = xmm11[0,1,2],xmm10[3,4,5,6,7]1441; AVX-NEXT:    vpor %xmm9, %xmm10, %xmm91442; AVX-NEXT:    vpshufb %xmm7, %xmm9, %xmm71443; AVX-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[4,9,14]1444; AVX-NEXT:    vpor %xmm7, %xmm9, %xmm71445; AVX-NEXT:    vmovdqa {{.*#+}} xmm9 = [128,128,128,3,8,13,128,128,128,1,6,11,u,u,u,u]1446; AVX-NEXT:    vpshufb %xmm9, %xmm3, %xmm31447; AVX-NEXT:    vpshufb %xmm9, %xmm2, %xmm21448; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm3[3,4,5],xmm2[6,7]1449; AVX-NEXT:    vmovdqa {{.*#+}} xmm3 = [4,9,14,128,128,128,2,7,12,128,128,128,u,u,u,u]1450; AVX-NEXT:    vpshufb %xmm3, %xmm1, %xmm11451; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm01452; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3,4,5],xmm0[6,7]1453; AVX-NEXT:    vpor %xmm2, %xmm0, %xmm01454; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm4[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]1455; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5],xmm1[6,7]1456; AVX-NEXT:    vmovdqa %xmm5, (%rsi)1457; AVX-NEXT:    vmovdqa %xmm6, (%rdx)1458; AVX-NEXT:    vmovdqa %xmm8, (%rcx)1459; AVX-NEXT:    vmovdqa %xmm7, (%r8)1460; AVX-NEXT:    vmovdqa %xmm0, (%r9)1461; AVX-NEXT:    retq1462;1463; AVX2-LABEL: load_i8_stride5_vf16:1464; AVX2:       # %bb.0:1465; AVX2-NEXT:    vmovdqa (%rdi), %ymm01466; AVX2-NEXT:    vmovdqa 32(%rdi), %ymm11467; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]1468; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm21469; AVX2-NEXT:    vextracti128 $1, %ymm2, %xmm31470; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm3[4,9,14],zero,zero,zero,xmm3[2,7,12,u,u,u]1471; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13],zero,zero,zero,xmm2[u,u,u]1472; AVX2-NEXT:    vpor %xmm3, %xmm2, %xmm21473; AVX2-NEXT:    vmovdqa {{.*#+}} xmm4 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1474; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm31475; AVX2-NEXT:    vmovdqa 64(%rdi), %xmm21476; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[1,6,11]1477; AVX2-NEXT:    vpor %xmm5, %xmm3, %xmm31478; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]1479; AVX2-NEXT:    vpblendvb %ymm5, %ymm0, %ymm1, %ymm51480; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = xmm5[1,6,11],zero,zero,zero,zero,xmm5[4,9,14],zero,zero,zero,xmm5[u,u,u]1481; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm51482; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13,u,u,u]1483; AVX2-NEXT:    vpor %xmm6, %xmm5, %xmm51484; AVX2-NEXT:    vpshufb %xmm4, %xmm5, %xmm51485; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[2,7,12]1486; AVX2-NEXT:    vpor %xmm6, %xmm5, %xmm51487; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm6 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]1488; AVX2-NEXT:    vpblendvb %ymm6, %ymm1, %ymm0, %ymm61489; AVX2-NEXT:    vextracti128 $1, %ymm6, %xmm71490; AVX2-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]1491; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[2,7,12],zero,zero,zero,xmm6[0,5,10,15],zero,zero,zero,xmm6[u,u,u]1492; AVX2-NEXT:    vpor %xmm7, %xmm6, %xmm61493; AVX2-NEXT:    vpshufb %xmm4, %xmm6, %xmm61494; AVX2-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[3,8,13]1495; AVX2-NEXT:    vpor %xmm7, %xmm6, %xmm61496; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]1497; AVX2-NEXT:    vpblendvb %ymm7, %ymm1, %ymm0, %ymm71498; AVX2-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[u,u,u]1499; AVX2-NEXT:    vextracti128 $1, %ymm7, %xmm71500; AVX2-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[2,7,12],zero,zero,zero,xmm7[0,5,10,15,u,u,u]1501; AVX2-NEXT:    vpor %xmm7, %xmm8, %xmm71502; AVX2-NEXT:    vpshufb %xmm4, %xmm7, %xmm41503; AVX2-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[4,9,14]1504; AVX2-NEXT:    vpor %xmm7, %xmm4, %xmm41505; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]1506; AVX2-NEXT:    vpblendvb %ymm7, %ymm1, %ymm0, %ymm01507; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm11508; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11,u,u,u,u]1509; AVX2-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,12],zero,zero,zero,xmm0[u,u,u,u]1510; AVX2-NEXT:    vpor %xmm1, %xmm0, %xmm01511; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm2[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]1512; AVX2-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]1513; AVX2-NEXT:    vmovdqa %xmm3, (%rsi)1514; AVX2-NEXT:    vmovdqa %xmm5, (%rdx)1515; AVX2-NEXT:    vmovdqa %xmm6, (%rcx)1516; AVX2-NEXT:    vmovdqa %xmm4, (%r8)1517; AVX2-NEXT:    vmovdqa %xmm0, (%r9)1518; AVX2-NEXT:    vzeroupper1519; AVX2-NEXT:    retq1520;1521; AVX2-FP-LABEL: load_i8_stride5_vf16:1522; AVX2-FP:       # %bb.0:1523; AVX2-FP-NEXT:    vmovdqa (%rdi), %ymm01524; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %ymm11525; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]1526; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm21527; AVX2-FP-NEXT:    vextracti128 $1, %ymm2, %xmm31528; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm3[4,9,14],zero,zero,zero,xmm3[2,7,12,u,u,u]1529; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13],zero,zero,zero,xmm2[u,u,u]1530; AVX2-FP-NEXT:    vpor %xmm3, %xmm2, %xmm21531; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm4 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1532; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm31533; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %xmm21534; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[1,6,11]1535; AVX2-FP-NEXT:    vpor %xmm5, %xmm3, %xmm31536; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]1537; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm0, %ymm1, %ymm51538; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm5[1,6,11],zero,zero,zero,zero,xmm5[4,9,14],zero,zero,zero,xmm5[u,u,u]1539; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm51540; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13,u,u,u]1541; AVX2-FP-NEXT:    vpor %xmm6, %xmm5, %xmm51542; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm5, %xmm51543; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[2,7,12]1544; AVX2-FP-NEXT:    vpor %xmm6, %xmm5, %xmm51545; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm6 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]1546; AVX2-FP-NEXT:    vpblendvb %ymm6, %ymm1, %ymm0, %ymm61547; AVX2-FP-NEXT:    vextracti128 $1, %ymm6, %xmm71548; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]1549; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[2,7,12],zero,zero,zero,xmm6[0,5,10,15],zero,zero,zero,xmm6[u,u,u]1550; AVX2-FP-NEXT:    vpor %xmm7, %xmm6, %xmm61551; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm6, %xmm61552; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[3,8,13]1553; AVX2-FP-NEXT:    vpor %xmm7, %xmm6, %xmm61554; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]1555; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm1, %ymm0, %ymm71556; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[u,u,u]1557; AVX2-FP-NEXT:    vextracti128 $1, %ymm7, %xmm71558; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[2,7,12],zero,zero,zero,xmm7[0,5,10,15,u,u,u]1559; AVX2-FP-NEXT:    vpor %xmm7, %xmm8, %xmm71560; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm7, %xmm41561; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[4,9,14]1562; AVX2-FP-NEXT:    vpor %xmm7, %xmm4, %xmm41563; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]1564; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm1, %ymm0, %ymm01565; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm11566; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11,u,u,u,u]1567; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,12],zero,zero,zero,xmm0[u,u,u,u]1568; AVX2-FP-NEXT:    vpor %xmm1, %xmm0, %xmm01569; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm2[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]1570; AVX2-FP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]1571; AVX2-FP-NEXT:    vmovdqa %xmm3, (%rsi)1572; AVX2-FP-NEXT:    vmovdqa %xmm5, (%rdx)1573; AVX2-FP-NEXT:    vmovdqa %xmm6, (%rcx)1574; AVX2-FP-NEXT:    vmovdqa %xmm4, (%r8)1575; AVX2-FP-NEXT:    vmovdqa %xmm0, (%r9)1576; AVX2-FP-NEXT:    vzeroupper1577; AVX2-FP-NEXT:    retq1578;1579; AVX2-FCP-LABEL: load_i8_stride5_vf16:1580; AVX2-FCP:       # %bb.0:1581; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm01582; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm11583; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]1584; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm21585; AVX2-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31586; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm3[4,9,14],zero,zero,zero,xmm3[2,7,12,u,u,u]1587; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13],zero,zero,zero,xmm2[u,u,u]1588; AVX2-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21589; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm4 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1590; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm2, %xmm31591; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %xmm21592; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[1,6,11]1593; AVX2-FCP-NEXT:    vpor %xmm5, %xmm3, %xmm31594; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]1595; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm0, %ymm1, %ymm51596; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm5[1,6,11],zero,zero,zero,zero,xmm5[4,9,14],zero,zero,zero,xmm5[u,u,u]1597; AVX2-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm51598; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13,u,u,u]1599; AVX2-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm51600; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm5, %xmm51601; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[2,7,12]1602; AVX2-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm51603; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm6 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]1604; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm1, %ymm0, %ymm61605; AVX2-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm71606; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]1607; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[2,7,12],zero,zero,zero,xmm6[0,5,10,15],zero,zero,zero,xmm6[u,u,u]1608; AVX2-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm61609; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm6, %xmm61610; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[3,8,13]1611; AVX2-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm61612; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]1613; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm1, %ymm0, %ymm71614; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[u,u,u]1615; AVX2-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm71616; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[2,7,12],zero,zero,zero,xmm7[0,5,10,15,u,u,u]1617; AVX2-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm71618; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm7, %xmm41619; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[4,9,14]1620; AVX2-FCP-NEXT:    vpor %xmm7, %xmm4, %xmm41621; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]1622; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm1, %ymm0, %ymm01623; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm11624; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11,u,u,u,u]1625; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[4,9,14],zero,zero,zero,xmm0[2,7,12],zero,zero,zero,xmm0[u,u,u,u]1626; AVX2-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm01627; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm2[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]1628; AVX2-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]1629; AVX2-FCP-NEXT:    vmovdqa %xmm3, (%rsi)1630; AVX2-FCP-NEXT:    vmovdqa %xmm5, (%rdx)1631; AVX2-FCP-NEXT:    vmovdqa %xmm6, (%rcx)1632; AVX2-FCP-NEXT:    vmovdqa %xmm4, (%r8)1633; AVX2-FCP-NEXT:    vmovdqa %xmm0, (%r9)1634; AVX2-FCP-NEXT:    vzeroupper1635; AVX2-FCP-NEXT:    retq1636;1637; AVX512-LABEL: load_i8_stride5_vf16:1638; AVX512:       # %bb.0:1639; AVX512-NEXT:    vmovdqa {{.*#+}} ymm1 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]1640; AVX512-NEXT:    vmovdqa (%rdi), %ymm41641; AVX512-NEXT:    vmovdqa 32(%rdi), %ymm51642; AVX512-NEXT:    vmovdqa %ymm1, %ymm01643; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm5 ^ (ymm0 & (ymm4 ^ ymm5))1644; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm21645; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,zero,xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12,u,u,u]1646; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[0,5,10,15],zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[u,u,u]1647; AVX512-NEXT:    vpor %xmm2, %xmm0, %xmm01648; AVX512-NEXT:    vmovdqa {{.*#+}} xmm3 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1649; AVX512-NEXT:    vpshufb %xmm3, %xmm0, %xmm21650; AVX512-NEXT:    vmovdqa 64(%rdi), %xmm01651; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[1,6,11]1652; AVX512-NEXT:    vpor %xmm6, %xmm2, %xmm61653; AVX512-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]1654; AVX512-NEXT:    vmovdqa %ymm2, %ymm71655; AVX512-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm5 ^ (ymm7 & (ymm4 ^ ymm5))1656; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14],zero,zero,zero,xmm7[u,u,u]1657; AVX512-NEXT:    vextracti128 $1, %ymm7, %xmm71658; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[0,5,10,15],zero,zero,zero,xmm7[3,8,13,u,u,u]1659; AVX512-NEXT:    vpor %xmm7, %xmm8, %xmm71660; AVX512-NEXT:    vpshufb %xmm3, %xmm7, %xmm71661; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[2,7,12]1662; AVX512-NEXT:    vpor %xmm7, %xmm8, %xmm71663; AVX512-NEXT:    vmovdqa {{.*#+}} ymm8 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]1664; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm4 ^ (ymm8 & (ymm5 ^ ymm4))1665; AVX512-NEXT:    vextracti128 $1, %ymm8, %xmm91666; AVX512-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,xmm9[1,6,11],zero,zero,zero,zero,xmm9[4,9,14,u,u,u]1667; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[2,7,12],zero,zero,zero,xmm8[0,5,10,15],zero,zero,zero,xmm8[u,u,u]1668; AVX512-NEXT:    vpor %xmm9, %xmm8, %xmm81669; AVX512-NEXT:    vpshufb %xmm3, %xmm8, %xmm81670; AVX512-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[3,8,13]1671; AVX512-NEXT:    vpor %xmm9, %xmm8, %xmm81672; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm4 ^ (ymm1 & (ymm5 ^ ymm4))1673; AVX512-NEXT:    vpshufb {{.*#+}} xmm9 = xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11],zero,zero,zero,zero,xmm1[u,u,u]1674; AVX512-NEXT:    vextracti128 $1, %ymm1, %xmm11675; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[2,7,12],zero,zero,zero,xmm1[0,5,10,15,u,u,u]1676; AVX512-NEXT:    vpor %xmm1, %xmm9, %xmm11677; AVX512-NEXT:    vpshufb %xmm3, %xmm1, %xmm11678; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[4,9,14]1679; AVX512-NEXT:    vpor %xmm3, %xmm1, %xmm11680; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm4 ^ (ymm2 & (ymm5 ^ ymm4))1681; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm31682; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]1683; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]1684; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm21685; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]1686; AVX512-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]1687; AVX512-NEXT:    vmovdqa %xmm6, (%rsi)1688; AVX512-NEXT:    vmovdqa %xmm7, (%rdx)1689; AVX512-NEXT:    vmovdqa %xmm8, (%rcx)1690; AVX512-NEXT:    vmovdqa %xmm1, (%r8)1691; AVX512-NEXT:    vmovdqa %xmm0, (%r9)1692; AVX512-NEXT:    vzeroupper1693; AVX512-NEXT:    retq1694;1695; AVX512-FCP-LABEL: load_i8_stride5_vf16:1696; AVX512-FCP:       # %bb.0:1697; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm1 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]1698; AVX512-FCP-NEXT:    vmovdqa (%rdi), %ymm41699; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %ymm51700; AVX512-FCP-NEXT:    vmovdqa %ymm1, %ymm01701; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm5 ^ (ymm0 & (ymm4 ^ ymm5))1702; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm21703; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,zero,xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12,u,u,u]1704; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[0,5,10,15],zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[u,u,u]1705; AVX512-FCP-NEXT:    vpor %xmm2, %xmm0, %xmm01706; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1707; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm0, %xmm21708; AVX512-FCP-NEXT:    vmovdqa 64(%rdi), %xmm01709; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[1,6,11]1710; AVX512-FCP-NEXT:    vpor %xmm6, %xmm2, %xmm61711; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]1712; AVX512-FCP-NEXT:    vmovdqa %ymm2, %ymm71713; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm5 ^ (ymm7 & (ymm4 ^ ymm5))1714; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14],zero,zero,zero,xmm7[u,u,u]1715; AVX512-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm71716; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[0,5,10,15],zero,zero,zero,xmm7[3,8,13,u,u,u]1717; AVX512-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm71718; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm7, %xmm71719; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[2,7,12]1720; AVX512-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm71721; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm8 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]1722; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm4 ^ (ymm8 & (ymm5 ^ ymm4))1723; AVX512-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm91724; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,xmm9[1,6,11],zero,zero,zero,zero,xmm9[4,9,14,u,u,u]1725; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[2,7,12],zero,zero,zero,xmm8[0,5,10,15],zero,zero,zero,xmm8[u,u,u]1726; AVX512-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm81727; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm8, %xmm81728; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[3,8,13]1729; AVX512-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm81730; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm4 ^ (ymm1 & (ymm5 ^ ymm4))1731; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11],zero,zero,zero,zero,xmm1[u,u,u]1732; AVX512-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm11733; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[2,7,12],zero,zero,zero,xmm1[0,5,10,15,u,u,u]1734; AVX512-FCP-NEXT:    vpor %xmm1, %xmm9, %xmm11735; AVX512-FCP-NEXT:    vpshufb %xmm3, %xmm1, %xmm11736; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[4,9,14]1737; AVX512-FCP-NEXT:    vpor %xmm3, %xmm1, %xmm11738; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm4 ^ (ymm2 & (ymm5 ^ ymm4))1739; AVX512-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31740; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]1741; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]1742; AVX512-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21743; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]1744; AVX512-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]1745; AVX512-FCP-NEXT:    vmovdqa %xmm6, (%rsi)1746; AVX512-FCP-NEXT:    vmovdqa %xmm7, (%rdx)1747; AVX512-FCP-NEXT:    vmovdqa %xmm8, (%rcx)1748; AVX512-FCP-NEXT:    vmovdqa %xmm1, (%r8)1749; AVX512-FCP-NEXT:    vmovdqa %xmm0, (%r9)1750; AVX512-FCP-NEXT:    vzeroupper1751; AVX512-FCP-NEXT:    retq1752;1753; AVX512DQ-LABEL: load_i8_stride5_vf16:1754; AVX512DQ:       # %bb.0:1755; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm1 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]1756; AVX512DQ-NEXT:    vmovdqa (%rdi), %ymm41757; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %ymm51758; AVX512DQ-NEXT:    vmovdqa %ymm1, %ymm01759; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm5 ^ (ymm0 & (ymm4 ^ ymm5))1760; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm21761; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,zero,xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12,u,u,u]1762; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[0,5,10,15],zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[u,u,u]1763; AVX512DQ-NEXT:    vpor %xmm2, %xmm0, %xmm01764; AVX512DQ-NEXT:    vmovdqa {{.*#+}} xmm3 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1765; AVX512DQ-NEXT:    vpshufb %xmm3, %xmm0, %xmm21766; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %xmm01767; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[1,6,11]1768; AVX512DQ-NEXT:    vpor %xmm6, %xmm2, %xmm61769; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]1770; AVX512DQ-NEXT:    vmovdqa %ymm2, %ymm71771; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm5 ^ (ymm7 & (ymm4 ^ ymm5))1772; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14],zero,zero,zero,xmm7[u,u,u]1773; AVX512DQ-NEXT:    vextracti128 $1, %ymm7, %xmm71774; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[0,5,10,15],zero,zero,zero,xmm7[3,8,13,u,u,u]1775; AVX512DQ-NEXT:    vpor %xmm7, %xmm8, %xmm71776; AVX512DQ-NEXT:    vpshufb %xmm3, %xmm7, %xmm71777; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[2,7,12]1778; AVX512DQ-NEXT:    vpor %xmm7, %xmm8, %xmm71779; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm8 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]1780; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm4 ^ (ymm8 & (ymm5 ^ ymm4))1781; AVX512DQ-NEXT:    vextracti128 $1, %ymm8, %xmm91782; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,xmm9[1,6,11],zero,zero,zero,zero,xmm9[4,9,14,u,u,u]1783; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[2,7,12],zero,zero,zero,xmm8[0,5,10,15],zero,zero,zero,xmm8[u,u,u]1784; AVX512DQ-NEXT:    vpor %xmm9, %xmm8, %xmm81785; AVX512DQ-NEXT:    vpshufb %xmm3, %xmm8, %xmm81786; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[3,8,13]1787; AVX512DQ-NEXT:    vpor %xmm9, %xmm8, %xmm81788; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm4 ^ (ymm1 & (ymm5 ^ ymm4))1789; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm9 = xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11],zero,zero,zero,zero,xmm1[u,u,u]1790; AVX512DQ-NEXT:    vextracti128 $1, %ymm1, %xmm11791; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[2,7,12],zero,zero,zero,xmm1[0,5,10,15,u,u,u]1792; AVX512DQ-NEXT:    vpor %xmm1, %xmm9, %xmm11793; AVX512DQ-NEXT:    vpshufb %xmm3, %xmm1, %xmm11794; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[4,9,14]1795; AVX512DQ-NEXT:    vpor %xmm3, %xmm1, %xmm11796; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm4 ^ (ymm2 & (ymm5 ^ ymm4))1797; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm31798; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]1799; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]1800; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm21801; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]1802; AVX512DQ-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]1803; AVX512DQ-NEXT:    vmovdqa %xmm6, (%rsi)1804; AVX512DQ-NEXT:    vmovdqa %xmm7, (%rdx)1805; AVX512DQ-NEXT:    vmovdqa %xmm8, (%rcx)1806; AVX512DQ-NEXT:    vmovdqa %xmm1, (%r8)1807; AVX512DQ-NEXT:    vmovdqa %xmm0, (%r9)1808; AVX512DQ-NEXT:    vzeroupper1809; AVX512DQ-NEXT:    retq1810;1811; AVX512DQ-FCP-LABEL: load_i8_stride5_vf16:1812; AVX512DQ-FCP:       # %bb.0:1813; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm1 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]1814; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %ymm41815; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %ymm51816; AVX512DQ-FCP-NEXT:    vmovdqa %ymm1, %ymm01817; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm5 ^ (ymm0 & (ymm4 ^ ymm5))1818; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm21819; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,zero,xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12,u,u,u]1820; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[0,5,10,15],zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[u,u,u]1821; AVX512DQ-FCP-NEXT:    vpor %xmm2, %xmm0, %xmm01822; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1823; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm0, %xmm21824; AVX512DQ-FCP-NEXT:    vmovdqa 64(%rdi), %xmm01825; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[1,6,11]1826; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm2, %xmm61827; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]1828; AVX512DQ-FCP-NEXT:    vmovdqa %ymm2, %ymm71829; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm5 ^ (ymm7 & (ymm4 ^ ymm5))1830; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14],zero,zero,zero,xmm7[u,u,u]1831; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm71832; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[0,5,10,15],zero,zero,zero,xmm7[3,8,13,u,u,u]1833; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm71834; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm7, %xmm71835; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[2,7,12]1836; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm71837; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm8 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]1838; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm4 ^ (ymm8 & (ymm5 ^ ymm4))1839; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm91840; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,xmm9[1,6,11],zero,zero,zero,zero,xmm9[4,9,14,u,u,u]1841; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[2,7,12],zero,zero,zero,xmm8[0,5,10,15],zero,zero,zero,xmm8[u,u,u]1842; AVX512DQ-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm81843; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm8, %xmm81844; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[3,8,13]1845; AVX512DQ-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm81846; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm4 ^ (ymm1 & (ymm5 ^ ymm4))1847; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11],zero,zero,zero,zero,xmm1[u,u,u]1848; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm11849; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[2,7,12],zero,zero,zero,xmm1[0,5,10,15,u,u,u]1850; AVX512DQ-FCP-NEXT:    vpor %xmm1, %xmm9, %xmm11851; AVX512DQ-FCP-NEXT:    vpshufb %xmm3, %xmm1, %xmm11852; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[4,9,14]1853; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm1, %xmm11854; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm4 ^ (ymm2 & (ymm5 ^ ymm4))1855; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31856; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]1857; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]1858; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21859; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]1860; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm2[0,1,2],xmm0[3]1861; AVX512DQ-FCP-NEXT:    vmovdqa %xmm6, (%rsi)1862; AVX512DQ-FCP-NEXT:    vmovdqa %xmm7, (%rdx)1863; AVX512DQ-FCP-NEXT:    vmovdqa %xmm8, (%rcx)1864; AVX512DQ-FCP-NEXT:    vmovdqa %xmm1, (%r8)1865; AVX512DQ-FCP-NEXT:    vmovdqa %xmm0, (%r9)1866; AVX512DQ-FCP-NEXT:    vzeroupper1867; AVX512DQ-FCP-NEXT:    retq1868;1869; AVX512BW-LABEL: load_i8_stride5_vf16:1870; AVX512BW:       # %bb.0:1871; AVX512BW-NEXT:    vmovdqa (%rdi), %ymm01872; AVX512BW-NEXT:    vmovdqa 32(%rdi), %ymm11873; AVX512BW-NEXT:    movw $19026, %ax # imm = 0x4A521874; AVX512BW-NEXT:    kmovd %eax, %k11875; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm0, %ymm2 {%k1}1876; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm31877; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm3[4,9,14],zero,zero,zero,xmm3[2,7,12,u,u,u]1878; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13],zero,zero,zero,xmm2[u,u,u]1879; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm21880; AVX512BW-NEXT:    vmovdqa {{.*#+}} xmm3 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1881; AVX512BW-NEXT:    vpshufb %xmm3, %xmm2, %xmm21882; AVX512BW-NEXT:    vmovdqa 64(%rdi), %xmm41883; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[1,6,11]1884; AVX512BW-NEXT:    vpor %xmm5, %xmm2, %xmm21885; AVX512BW-NEXT:    movw $21140, %ax # imm = 0x52941886; AVX512BW-NEXT:    kmovd %eax, %k21887; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm0, %ymm5 {%k2}1888; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm5[1,6,11],zero,zero,zero,zero,xmm5[4,9,14],zero,zero,zero,xmm5[u,u,u]1889; AVX512BW-NEXT:    vextracti128 $1, %ymm5, %xmm51890; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13,u,u,u]1891; AVX512BW-NEXT:    vpor %xmm6, %xmm5, %xmm51892; AVX512BW-NEXT:    vpshufb %xmm3, %xmm5, %xmm51893; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[2,7,12]1894; AVX512BW-NEXT:    vpor %xmm6, %xmm5, %xmm51895; AVX512BW-NEXT:    movw $10570, %ax # imm = 0x294A1896; AVX512BW-NEXT:    kmovd %eax, %k31897; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm6 {%k3}1898; AVX512BW-NEXT:    vextracti128 $1, %ymm6, %xmm71899; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]1900; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[2,7,12],zero,zero,zero,xmm6[0,5,10,15],zero,zero,zero,xmm6[u,u,u]1901; AVX512BW-NEXT:    vpor %xmm7, %xmm6, %xmm61902; AVX512BW-NEXT:    vpshufb %xmm3, %xmm6, %xmm61903; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[3,8,13]1904; AVX512BW-NEXT:    vpor %xmm7, %xmm6, %xmm61905; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm7 {%k1}1906; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[u,u,u]1907; AVX512BW-NEXT:    vextracti128 $1, %ymm7, %xmm71908; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[2,7,12],zero,zero,zero,xmm7[0,5,10,15,u,u,u]1909; AVX512BW-NEXT:    vpor %xmm7, %xmm8, %xmm71910; AVX512BW-NEXT:    vpshufb %xmm3, %xmm7, %xmm31911; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[4,9,14]1912; AVX512BW-NEXT:    vpor %xmm7, %xmm3, %xmm31913; AVX512BW-NEXT:    vmovdqu16 %ymm0, %ymm1 {%k2}1914; AVX512BW-NEXT:    vextracti128 $1, %ymm1, %xmm01915; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[1,6,11,u,u,u,u]1916; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,9,14],zero,zero,zero,xmm1[2,7,12],zero,zero,zero,xmm1[u,u,u,u]1917; AVX512BW-NEXT:    vpor %xmm0, %xmm1, %xmm01918; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm4[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]1919; AVX512BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]1920; AVX512BW-NEXT:    vmovdqa %xmm2, (%rsi)1921; AVX512BW-NEXT:    vmovdqa %xmm5, (%rdx)1922; AVX512BW-NEXT:    vmovdqa %xmm6, (%rcx)1923; AVX512BW-NEXT:    vmovdqa %xmm3, (%r8)1924; AVX512BW-NEXT:    vmovdqa %xmm0, (%r9)1925; AVX512BW-NEXT:    vzeroupper1926; AVX512BW-NEXT:    retq1927;1928; AVX512BW-FCP-LABEL: load_i8_stride5_vf16:1929; AVX512BW-FCP:       # %bb.0:1930; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %ymm01931; AVX512BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm11932; AVX512BW-FCP-NEXT:    movw $19026, %ax # imm = 0x4A521933; AVX512BW-FCP-NEXT:    kmovd %eax, %k11934; AVX512BW-FCP-NEXT:    vpblendmw %ymm1, %ymm0, %ymm2 {%k1}1935; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm31936; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm3[4,9,14],zero,zero,zero,xmm3[2,7,12,u,u,u]1937; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13],zero,zero,zero,xmm2[u,u,u]1938; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm21939; AVX512BW-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1940; AVX512BW-FCP-NEXT:    vpshufb %xmm3, %xmm2, %xmm21941; AVX512BW-FCP-NEXT:    vmovdqa 64(%rdi), %xmm41942; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[1,6,11]1943; AVX512BW-FCP-NEXT:    vpor %xmm5, %xmm2, %xmm21944; AVX512BW-FCP-NEXT:    movw $21140, %ax # imm = 0x52941945; AVX512BW-FCP-NEXT:    kmovd %eax, %k21946; AVX512BW-FCP-NEXT:    vpblendmw %ymm1, %ymm0, %ymm5 {%k2}1947; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm5[1,6,11],zero,zero,zero,zero,xmm5[4,9,14],zero,zero,zero,xmm5[u,u,u]1948; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm51949; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13,u,u,u]1950; AVX512BW-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm51951; AVX512BW-FCP-NEXT:    vpshufb %xmm3, %xmm5, %xmm51952; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[2,7,12]1953; AVX512BW-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm51954; AVX512BW-FCP-NEXT:    movw $10570, %ax # imm = 0x294A1955; AVX512BW-FCP-NEXT:    kmovd %eax, %k31956; AVX512BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm6 {%k3}1957; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm71958; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]1959; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[2,7,12],zero,zero,zero,xmm6[0,5,10,15],zero,zero,zero,xmm6[u,u,u]1960; AVX512BW-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm61961; AVX512BW-FCP-NEXT:    vpshufb %xmm3, %xmm6, %xmm61962; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[3,8,13]1963; AVX512BW-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm61964; AVX512BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm7 {%k1}1965; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[u,u,u]1966; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm71967; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[2,7,12],zero,zero,zero,xmm7[0,5,10,15,u,u,u]1968; AVX512BW-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm71969; AVX512BW-FCP-NEXT:    vpshufb %xmm3, %xmm7, %xmm31970; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[4,9,14]1971; AVX512BW-FCP-NEXT:    vpor %xmm7, %xmm3, %xmm31972; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm0, %ymm1 {%k2}1973; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm01974; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[1,6,11,u,u,u,u]1975; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,9,14],zero,zero,zero,xmm1[2,7,12],zero,zero,zero,xmm1[u,u,u,u]1976; AVX512BW-FCP-NEXT:    vpor %xmm0, %xmm1, %xmm01977; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm4[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]1978; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]1979; AVX512BW-FCP-NEXT:    vmovdqa %xmm2, (%rsi)1980; AVX512BW-FCP-NEXT:    vmovdqa %xmm5, (%rdx)1981; AVX512BW-FCP-NEXT:    vmovdqa %xmm6, (%rcx)1982; AVX512BW-FCP-NEXT:    vmovdqa %xmm3, (%r8)1983; AVX512BW-FCP-NEXT:    vmovdqa %xmm0, (%r9)1984; AVX512BW-FCP-NEXT:    vzeroupper1985; AVX512BW-FCP-NEXT:    retq1986;1987; AVX512DQ-BW-LABEL: load_i8_stride5_vf16:1988; AVX512DQ-BW:       # %bb.0:1989; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %ymm01990; AVX512DQ-BW-NEXT:    vmovdqa 32(%rdi), %ymm11991; AVX512DQ-BW-NEXT:    movw $19026, %ax # imm = 0x4A521992; AVX512DQ-BW-NEXT:    kmovd %eax, %k11993; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm0, %ymm2 {%k1}1994; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm31995; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm3[4,9,14],zero,zero,zero,xmm3[2,7,12,u,u,u]1996; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13],zero,zero,zero,xmm2[u,u,u]1997; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm21998; AVX512DQ-BW-NEXT:    vmovdqa {{.*#+}} xmm3 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]1999; AVX512DQ-BW-NEXT:    vpshufb %xmm3, %xmm2, %xmm22000; AVX512DQ-BW-NEXT:    vmovdqa 64(%rdi), %xmm42001; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[1,6,11]2002; AVX512DQ-BW-NEXT:    vpor %xmm5, %xmm2, %xmm22003; AVX512DQ-BW-NEXT:    movw $21140, %ax # imm = 0x52942004; AVX512DQ-BW-NEXT:    kmovd %eax, %k22005; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm0, %ymm5 {%k2}2006; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm5[1,6,11],zero,zero,zero,zero,xmm5[4,9,14],zero,zero,zero,xmm5[u,u,u]2007; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm5, %xmm52008; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13,u,u,u]2009; AVX512DQ-BW-NEXT:    vpor %xmm6, %xmm5, %xmm52010; AVX512DQ-BW-NEXT:    vpshufb %xmm3, %xmm5, %xmm52011; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[2,7,12]2012; AVX512DQ-BW-NEXT:    vpor %xmm6, %xmm5, %xmm52013; AVX512DQ-BW-NEXT:    movw $10570, %ax # imm = 0x294A2014; AVX512DQ-BW-NEXT:    kmovd %eax, %k32015; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm6 {%k3}2016; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm6, %xmm72017; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]2018; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[2,7,12],zero,zero,zero,xmm6[0,5,10,15],zero,zero,zero,xmm6[u,u,u]2019; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm6, %xmm62020; AVX512DQ-BW-NEXT:    vpshufb %xmm3, %xmm6, %xmm62021; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[3,8,13]2022; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm6, %xmm62023; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm7 {%k1}2024; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[u,u,u]2025; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm7, %xmm72026; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[2,7,12],zero,zero,zero,xmm7[0,5,10,15,u,u,u]2027; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm8, %xmm72028; AVX512DQ-BW-NEXT:    vpshufb %xmm3, %xmm7, %xmm32029; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[4,9,14]2030; AVX512DQ-BW-NEXT:    vpor %xmm7, %xmm3, %xmm32031; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm0, %ymm1 {%k2}2032; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm1, %xmm02033; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[1,6,11,u,u,u,u]2034; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,9,14],zero,zero,zero,xmm1[2,7,12],zero,zero,zero,xmm1[u,u,u,u]2035; AVX512DQ-BW-NEXT:    vpor %xmm0, %xmm1, %xmm02036; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm1 = xmm4[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]2037; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]2038; AVX512DQ-BW-NEXT:    vmovdqa %xmm2, (%rsi)2039; AVX512DQ-BW-NEXT:    vmovdqa %xmm5, (%rdx)2040; AVX512DQ-BW-NEXT:    vmovdqa %xmm6, (%rcx)2041; AVX512DQ-BW-NEXT:    vmovdqa %xmm3, (%r8)2042; AVX512DQ-BW-NEXT:    vmovdqa %xmm0, (%r9)2043; AVX512DQ-BW-NEXT:    vzeroupper2044; AVX512DQ-BW-NEXT:    retq2045;2046; AVX512DQ-BW-FCP-LABEL: load_i8_stride5_vf16:2047; AVX512DQ-BW-FCP:       # %bb.0:2048; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %ymm02049; AVX512DQ-BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm12050; AVX512DQ-BW-FCP-NEXT:    movw $19026, %ax # imm = 0x4A522051; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k12052; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm1, %ymm0, %ymm2 {%k1}2053; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm32054; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,xmm3[4,9,14],zero,zero,zero,xmm3[2,7,12,u,u,u]2055; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13],zero,zero,zero,xmm2[u,u,u]2056; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm22057; AVX512DQ-BW-FCP-NEXT:    vmovdqa {{.*#+}} xmm3 = [0,1,2,3,4,5,6,7,8,9,10,11,12,128,128,128]2058; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm3, %xmm2, %xmm22059; AVX512DQ-BW-FCP-NEXT:    vmovdqa 64(%rdi), %xmm42060; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[1,6,11]2061; AVX512DQ-BW-FCP-NEXT:    vpor %xmm5, %xmm2, %xmm22062; AVX512DQ-BW-FCP-NEXT:    movw $21140, %ax # imm = 0x52942063; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k22064; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm1, %ymm0, %ymm5 {%k2}2065; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm5[1,6,11],zero,zero,zero,zero,xmm5[4,9,14],zero,zero,zero,xmm5[u,u,u]2066; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm52067; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13,u,u,u]2068; AVX512DQ-BW-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm52069; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm3, %xmm5, %xmm52070; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[2,7,12]2071; AVX512DQ-BW-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm52072; AVX512DQ-BW-FCP-NEXT:    movw $10570, %ax # imm = 0x294A2073; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k32074; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm6 {%k3}2075; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm6, %xmm72076; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]2077; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[2,7,12],zero,zero,zero,xmm6[0,5,10,15],zero,zero,zero,xmm6[u,u,u]2078; AVX512DQ-BW-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm62079; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm3, %xmm6, %xmm62080; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[3,8,13]2081; AVX512DQ-BW-FCP-NEXT:    vpor %xmm7, %xmm6, %xmm62082; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm7 {%k1}2083; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[u,u,u]2084; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm72085; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[2,7,12],zero,zero,zero,xmm7[0,5,10,15,u,u,u]2086; AVX512DQ-BW-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm72087; AVX512DQ-BW-FCP-NEXT:    vpshufb %xmm3, %xmm7, %xmm32088; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm4[4,9,14]2089; AVX512DQ-BW-FCP-NEXT:    vpor %xmm7, %xmm3, %xmm32090; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm0, %ymm1 {%k2}2091; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm1, %xmm02092; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[1,6,11,u,u,u,u]2093; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[4,9,14],zero,zero,zero,xmm1[2,7,12],zero,zero,zero,xmm1[u,u,u,u]2094; AVX512DQ-BW-FCP-NEXT:    vpor %xmm0, %xmm1, %xmm02095; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm4[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]2096; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3]2097; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm2, (%rsi)2098; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm5, (%rdx)2099; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm6, (%rcx)2100; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm3, (%r8)2101; AVX512DQ-BW-FCP-NEXT:    vmovdqa %xmm0, (%r9)2102; AVX512DQ-BW-FCP-NEXT:    vzeroupper2103; AVX512DQ-BW-FCP-NEXT:    retq2104  %wide.vec = load <80 x i8>, ptr %in.vec, align 642105  %strided.vec0 = shufflevector <80 x i8> %wide.vec, <80 x i8> poison, <16 x i32> <i32 0, i32 5, i32 10, i32 15, i32 20, i32 25, i32 30, i32 35, i32 40, i32 45, i32 50, i32 55, i32 60, i32 65, i32 70, i32 75>2106  %strided.vec1 = shufflevector <80 x i8> %wide.vec, <80 x i8> poison, <16 x i32> <i32 1, i32 6, i32 11, i32 16, i32 21, i32 26, i32 31, i32 36, i32 41, i32 46, i32 51, i32 56, i32 61, i32 66, i32 71, i32 76>2107  %strided.vec2 = shufflevector <80 x i8> %wide.vec, <80 x i8> poison, <16 x i32> <i32 2, i32 7, i32 12, i32 17, i32 22, i32 27, i32 32, i32 37, i32 42, i32 47, i32 52, i32 57, i32 62, i32 67, i32 72, i32 77>2108  %strided.vec3 = shufflevector <80 x i8> %wide.vec, <80 x i8> poison, <16 x i32> <i32 3, i32 8, i32 13, i32 18, i32 23, i32 28, i32 33, i32 38, i32 43, i32 48, i32 53, i32 58, i32 63, i32 68, i32 73, i32 78>2109  %strided.vec4 = shufflevector <80 x i8> %wide.vec, <80 x i8> poison, <16 x i32> <i32 4, i32 9, i32 14, i32 19, i32 24, i32 29, i32 34, i32 39, i32 44, i32 49, i32 54, i32 59, i32 64, i32 69, i32 74, i32 79>2110  store <16 x i8> %strided.vec0, ptr %out.vec0, align 642111  store <16 x i8> %strided.vec1, ptr %out.vec1, align 642112  store <16 x i8> %strided.vec2, ptr %out.vec2, align 642113  store <16 x i8> %strided.vec3, ptr %out.vec3, align 642114  store <16 x i8> %strided.vec4, ptr %out.vec4, align 642115  ret void2116}2117 2118define void @load_i8_stride5_vf32(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4) nounwind {2119; SSE-LABEL: load_i8_stride5_vf32:2120; SSE:       # %bb.0:2121; SSE-NEXT:    subq $184, %rsp2122; SSE-NEXT:    movdqa (%rdi), %xmm92123; SSE-NEXT:    movdqa 16(%rdi), %xmm32124; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2125; SSE-NEXT:    movdqa 32(%rdi), %xmm12126; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2127; SSE-NEXT:    movdqa 48(%rdi), %xmm22128; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2129; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [255,255,255,0,255,255,255,255,0,255,255,255,255,0,255,255]2130; SSE-NEXT:    movdqa %xmm4, %xmm02131; SSE-NEXT:    pandn %xmm1, %xmm02132; SSE-NEXT:    movdqa %xmm2, %xmm12133; SSE-NEXT:    pand %xmm4, %xmm12134; SSE-NEXT:    por %xmm0, %xmm12135; SSE-NEXT:    pxor %xmm5, %xmm52136; SSE-NEXT:    movdqa %xmm1, %xmm02137; 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]2138; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm0[0,1,1,3]2139; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,7,6,7]2140; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm5[8],xmm1[9],xmm5[9],xmm1[10],xmm5[10],xmm1[11],xmm5[11],xmm1[12],xmm5[12],xmm1[13],xmm5[13],xmm1[14],xmm5[14],xmm1[15],xmm5[15]2141; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]2142; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,4,7]2143; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm2[2],xmm1[3],xmm2[3]2144; SSE-NEXT:    packuswb %xmm1, %xmm02145; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm0[0,0,2,3]2146; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255]2147; SSE-NEXT:    movdqa %xmm13, %xmm02148; SSE-NEXT:    pandn %xmm1, %xmm02149; SSE-NEXT:    movdqa {{.*#+}} xmm15 = [255,255,255,255,0,255,255,255,255,0,255,255,255,255,0,255]2150; SSE-NEXT:    movdqa %xmm15, %xmm12151; SSE-NEXT:    pandn %xmm3, %xmm12152; SSE-NEXT:    movdqa {{.*#+}} xmm11 = [255,0,255,255,255,255,0,255,255,255,255,0,255,255,255,255]2153; SSE-NEXT:    pandn %xmm9, %xmm112154; SSE-NEXT:    movdqa {{.*#+}} xmm14 = [255,255,0,255,255,255,255,0,255,255,255,255,0,255,255,255]2155; SSE-NEXT:    movdqa %xmm14, %xmm22156; SSE-NEXT:    pandn %xmm9, %xmm22157; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2158; SSE-NEXT:    movdqa %xmm4, %xmm22159; SSE-NEXT:    pandn %xmm9, %xmm22160; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2161; SSE-NEXT:    movdqa %xmm15, %xmm22162; SSE-NEXT:    pandn %xmm9, %xmm22163; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2164; SSE-NEXT:    pand %xmm15, %xmm92165; SSE-NEXT:    por %xmm1, %xmm92166; SSE-NEXT:    movdqa %xmm9, %xmm22167; 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]2168; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [0,65535,65535,65535,0,0,65535,65535]2169; SSE-NEXT:    movdqa %xmm1, %xmm62170; SSE-NEXT:    pandn %xmm2, %xmm62171; SSE-NEXT:    punpckhbw {{.*#+}} xmm9 = xmm9[8],xmm5[8],xmm9[9],xmm5[9],xmm9[10],xmm5[10],xmm9[11],xmm5[11],xmm9[12],xmm5[12],xmm9[13],xmm5[13],xmm9[14],xmm5[14],xmm9[15],xmm5[15]2172; SSE-NEXT:    pand %xmm1, %xmm92173; SSE-NEXT:    por %xmm6, %xmm92174; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm9[0,2,1,3,4,5,6,7]2175; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,5,7]2176; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,3,2,1]2177; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,2,1,3,4,5,6,7]2178; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,5,7]2179; SSE-NEXT:    packuswb %xmm2, %xmm22180; SSE-NEXT:    pand %xmm13, %xmm22181; SSE-NEXT:    por %xmm0, %xmm22182; SSE-NEXT:    movdqa 64(%rdi), %xmm62183; SSE-NEXT:    movdqa %xmm6, %xmm32184; SSE-NEXT:    pxor %xmm0, %xmm02185; 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]2186; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2187; SSE-NEXT:    punpckhbw {{.*#+}} xmm6 = xmm6[8],xmm0[8],xmm6[9],xmm0[9],xmm6[10],xmm0[10],xmm6[11],xmm0[11],xmm6[12],xmm0[12],xmm6[13],xmm0[13],xmm6[14],xmm0[14],xmm6[15],xmm0[15]2188; SSE-NEXT:    movdqa %xmm6, %xmm02189; SSE-NEXT:    movdqa %xmm6, %xmm82190; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2191; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[1,0],xmm3[0,0]2192; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[2,0],xmm3[2,3]2193; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,1,2,3,4,5,6,7]2194; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]2195; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,4]2196; SSE-NEXT:    packuswb %xmm0, %xmm02197; SSE-NEXT:    movdqa {{.*#+}} xmm9 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0]2198; SSE-NEXT:    movdqa %xmm9, %xmm62199; SSE-NEXT:    pandn %xmm0, %xmm62200; SSE-NEXT:    pand %xmm9, %xmm22201; SSE-NEXT:    por %xmm2, %xmm62202; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2203; SSE-NEXT:    movdqa 112(%rdi), %xmm102204; SSE-NEXT:    movdqa %xmm4, %xmm02205; SSE-NEXT:    pandn %xmm10, %xmm02206; SSE-NEXT:    movdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2207; SSE-NEXT:    movdqa 128(%rdi), %xmm72208; SSE-NEXT:    movdqa %xmm7, %xmm22209; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2210; SSE-NEXT:    pand %xmm4, %xmm22211; SSE-NEXT:    por %xmm0, %xmm22212; SSE-NEXT:    movdqa %xmm2, %xmm02213; 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]2214; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm0[0,1,1,3]2215; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm6[0,1,2,3,4,7,6,7]2216; 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]2217; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,0]2218; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,6,5,4,7]2219; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm6[2],xmm2[3],xmm6[3]2220; SSE-NEXT:    packuswb %xmm2, %xmm02221; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,2,3]2222; SSE-NEXT:    movdqa %xmm13, %xmm22223; SSE-NEXT:    movdqa %xmm13, %xmm32224; SSE-NEXT:    pandn %xmm0, %xmm22225; SSE-NEXT:    movdqa 96(%rdi), %xmm42226; SSE-NEXT:    movdqa %xmm4, (%rsp) # 16-byte Spill2227; SSE-NEXT:    movdqa %xmm15, %xmm02228; SSE-NEXT:    pandn %xmm4, %xmm02229; SSE-NEXT:    movdqa 80(%rdi), %xmm62230; SSE-NEXT:    movdqa %xmm6, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2231; SSE-NEXT:    pand %xmm15, %xmm62232; SSE-NEXT:    por %xmm0, %xmm62233; SSE-NEXT:    movdqa %xmm6, %xmm02234; 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]2235; SSE-NEXT:    punpckhbw {{.*#+}} xmm6 = xmm6[8],xmm5[8],xmm6[9],xmm5[9],xmm6[10],xmm5[10],xmm6[11],xmm5[11],xmm6[12],xmm5[12],xmm6[13],xmm5[13],xmm6[14],xmm5[14],xmm6[15],xmm5[15]2236; SSE-NEXT:    pand %xmm1, %xmm62237; SSE-NEXT:    pandn %xmm0, %xmm12238; SSE-NEXT:    por %xmm6, %xmm12239; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm1[0,2,1,3,4,5,6,7]2240; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,5,7]2241; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,1]2242; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,2,1,3,4,5,6,7]2243; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,5,7]2244; SSE-NEXT:    packuswb %xmm0, %xmm02245; SSE-NEXT:    pand %xmm13, %xmm02246; SSE-NEXT:    por %xmm2, %xmm02247; SSE-NEXT:    movdqa 144(%rdi), %xmm122248; SSE-NEXT:    movdqa %xmm12, %xmm22249; 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]2250; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2251; SSE-NEXT:    punpckhbw {{.*#+}} xmm12 = xmm12[8],xmm5[8],xmm12[9],xmm5[9],xmm12[10],xmm5[10],xmm12[11],xmm5[11],xmm12[12],xmm5[12],xmm12[13],xmm5[13],xmm12[14],xmm5[14],xmm12[15],xmm5[15]2252; SSE-NEXT:    movdqa %xmm12, %xmm12253; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2254; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[1,0],xmm2[0,0]2255; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[2,0],xmm2[2,3]2256; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[3,1,2,3,4,5,6,7]2257; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,0,3]2258; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,4]2259; SSE-NEXT:    packuswb %xmm1, %xmm12260; SSE-NEXT:    movdqa %xmm9, %xmm22261; SSE-NEXT:    pandn %xmm1, %xmm22262; SSE-NEXT:    pand %xmm9, %xmm02263; SSE-NEXT:    por %xmm0, %xmm22264; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2265; SSE-NEXT:    movdqa %xmm15, %xmm02266; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload2267; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2268; SSE-NEXT:    pand %xmm15, %xmm12269; SSE-NEXT:    por %xmm0, %xmm12270; SSE-NEXT:    movdqa %xmm1, %xmm02271; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm5[8],xmm0[9],xmm5[9],xmm0[10],xmm5[10],xmm0[11],xmm5[11],xmm0[12],xmm5[12],xmm0[13],xmm5[13],xmm0[14],xmm5[14],xmm0[15],xmm5[15]2272; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3],xmm1[4],xmm5[4],xmm1[5],xmm5[5],xmm1[6],xmm5[6],xmm1[7],xmm5[7]2273; SSE-NEXT:    movdqa %xmm1, %xmm22274; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[1,0],xmm0[0,0]2275; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[2,0],xmm0[2,3]2276; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,2,1,3]2277; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm2[0,1,2,3,6,5,6,7]2278; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,1]2279; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,2,3,0,4,5,6,7]2280; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,7,7,7]2281; SSE-NEXT:    psllq $48, %xmm12282; SSE-NEXT:    packuswb %xmm0, %xmm12283; SSE-NEXT:    movdqa %xmm13, %xmm22284; SSE-NEXT:    pandn %xmm1, %xmm22285; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload2286; SSE-NEXT:    movdqa %xmm4, %xmm12287; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [255,0,255,255,255,255,0,255,255,255,255,0,255,255,255,255]2288; SSE-NEXT:    pand %xmm13, %xmm12289; SSE-NEXT:    por %xmm11, %xmm12290; SSE-NEXT:    movdqa %xmm1, %xmm62291; SSE-NEXT:    punpckhbw {{.*#+}} xmm6 = xmm6[8],xmm5[8],xmm6[9],xmm5[9],xmm6[10],xmm5[10],xmm6[11],xmm5[11],xmm6[12],xmm5[12],xmm6[13],xmm5[13],xmm6[14],xmm5[14],xmm6[15],xmm5[15]2292; SSE-NEXT:    movdqa {{.*#+}} xmm0 = [65535,65535,0,0,65535,65535,65535,0]2293; SSE-NEXT:    movdqa %xmm0, %xmm112294; SSE-NEXT:    pandn %xmm6, %xmm112295; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3],xmm1[4],xmm5[4],xmm1[5],xmm5[5],xmm1[6],xmm5[6],xmm1[7],xmm5[7]2296; SSE-NEXT:    pand %xmm0, %xmm12297; SSE-NEXT:    por %xmm11, %xmm12298; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,1,3]2299; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,5]2300; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,2,1]2301; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,2,3,0,4,5,6,7]2302; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,4,5,7]2303; SSE-NEXT:    packuswb %xmm1, %xmm12304; SSE-NEXT:    pand %xmm3, %xmm12305; SSE-NEXT:    movdqa %xmm3, %xmm112306; SSE-NEXT:    por %xmm2, %xmm12307; SSE-NEXT:    movdqa %xmm8, %xmm22308; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload2309; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[2,0],xmm6[3,0]2310; SSE-NEXT:    shufps {{.*#+}} xmm6 = xmm6[0,1],xmm2[0,2]2311; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm6[0,1,2,3,4,7,6,7]2312; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,1]2313; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,5,4]2314; SSE-NEXT:    packuswb %xmm2, %xmm22315; SSE-NEXT:    movdqa %xmm9, %xmm32316; SSE-NEXT:    pandn %xmm2, %xmm32317; SSE-NEXT:    pand %xmm9, %xmm12318; SSE-NEXT:    por %xmm1, %xmm32319; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2320; SSE-NEXT:    movdqa %xmm15, %xmm22321; SSE-NEXT:    pandn %xmm10, %xmm22322; SSE-NEXT:    movdqa %xmm7, %xmm12323; SSE-NEXT:    pand %xmm15, %xmm12324; SSE-NEXT:    por %xmm2, %xmm12325; SSE-NEXT:    movdqa %xmm1, %xmm22326; 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]2327; SSE-NEXT:    punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3],xmm1[4],xmm5[4],xmm1[5],xmm5[5],xmm1[6],xmm5[6],xmm1[7],xmm5[7]2328; SSE-NEXT:    movdqa %xmm1, %xmm62329; SSE-NEXT:    shufps {{.*#+}} xmm6 = xmm6[1,0],xmm2[0,0]2330; SSE-NEXT:    shufps {{.*#+}} xmm6 = xmm6[2,0],xmm2[2,3]2331; SSE-NEXT:    shufps {{.*#+}} xmm6 = xmm6[0,2,1,3]2332; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm6[0,1,2,3,6,5,6,7]2333; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,2,1]2334; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[1,2,3,0,4,5,6,7]2335; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,7,7,7,7]2336; SSE-NEXT:    psllq $48, %xmm12337; SSE-NEXT:    packuswb %xmm2, %xmm12338; SSE-NEXT:    movdqa %xmm13, %xmm22339; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload2340; SSE-NEXT:    pandn %xmm7, %xmm22341; SSE-NEXT:    movdqa (%rsp), %xmm8 # 16-byte Reload2342; SSE-NEXT:    movdqa %xmm8, %xmm62343; SSE-NEXT:    pand %xmm13, %xmm62344; SSE-NEXT:    por %xmm2, %xmm62345; SSE-NEXT:    movdqa %xmm6, %xmm22346; 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]2347; SSE-NEXT:    punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3],xmm6[4],xmm5[4],xmm6[5],xmm5[5],xmm6[6],xmm5[6],xmm6[7],xmm5[7]2348; SSE-NEXT:    pand %xmm0, %xmm62349; SSE-NEXT:    pandn %xmm2, %xmm02350; SSE-NEXT:    por %xmm6, %xmm02351; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]2352; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,5]2353; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,1]2354; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,2,3,0,4,5,6,7]2355; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,4,5,7]2356; SSE-NEXT:    packuswb %xmm0, %xmm02357; SSE-NEXT:    movdqa %xmm11, %xmm22358; SSE-NEXT:    pand %xmm11, %xmm02359; SSE-NEXT:    pandn %xmm1, %xmm22360; SSE-NEXT:    por %xmm2, %xmm02361; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2362; SSE-NEXT:    shufps {{.*#+}} xmm12 = xmm12[2,0],xmm2[3,0]2363; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm12[0,2]2364; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,7,6,7]2365; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,1]2366; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,5,4]2367; SSE-NEXT:    packuswb %xmm1, %xmm12368; SSE-NEXT:    movdqa %xmm9, %xmm22369; SSE-NEXT:    pandn %xmm1, %xmm22370; SSE-NEXT:    pand %xmm9, %xmm02371; SSE-NEXT:    por %xmm0, %xmm22372; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2373; SSE-NEXT:    pand %xmm14, %xmm42374; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload2375; SSE-NEXT:    movdqa %xmm4, %xmm22376; 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]2377; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [65535,65535,65535,0,0,65535,65535,65535]2378; SSE-NEXT:    movdqa %xmm3, %xmm62379; SSE-NEXT:    pandn %xmm2, %xmm62380; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3],xmm4[4],xmm5[4],xmm4[5],xmm5[5],xmm4[6],xmm5[6],xmm4[7],xmm5[7]2381; SSE-NEXT:    pand %xmm3, %xmm42382; SSE-NEXT:    por %xmm6, %xmm42383; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm4[2,1,2,3,4,5,6,7]2384; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,7]2385; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]2386; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,1,4,5,6,7]2387; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,6,7]2388; SSE-NEXT:    packuswb %xmm0, %xmm02389; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [0,0,0,65535,65535,65535,65535,65535]2390; SSE-NEXT:    movdqa %xmm1, %xmm22391; SSE-NEXT:    movdqa %xmm1, %xmm102392; SSE-NEXT:    pandn %xmm0, %xmm22393; SSE-NEXT:    movdqa %xmm15, %xmm02394; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2395; SSE-NEXT:    pandn %xmm1, %xmm02396; SSE-NEXT:    movdqa %xmm13, %xmm62397; SSE-NEXT:    movdqa %xmm13, %xmm122398; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload2399; SSE-NEXT:    pandn %xmm11, %xmm62400; SSE-NEXT:    movdqa %xmm14, %xmm42401; SSE-NEXT:    pandn %xmm11, %xmm42402; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2403; SSE-NEXT:    pand %xmm15, %xmm112404; SSE-NEXT:    movdqa %xmm15, %xmm42405; SSE-NEXT:    por %xmm0, %xmm112406; SSE-NEXT:    movdqa %xmm11, %xmm02407; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm5[8],xmm0[9],xmm5[9],xmm0[10],xmm5[10],xmm0[11],xmm5[11],xmm0[12],xmm5[12],xmm0[13],xmm5[13],xmm0[14],xmm5[14],xmm0[15],xmm5[15]2408; SSE-NEXT:    punpcklbw {{.*#+}} xmm11 = xmm11[0],xmm5[0],xmm11[1],xmm5[1],xmm11[2],xmm5[2],xmm11[3],xmm5[3],xmm11[4],xmm5[4],xmm11[5],xmm5[5],xmm11[6],xmm5[6],xmm11[7],xmm5[7]2409; SSE-NEXT:    pshufd {{.*#+}} xmm13 = xmm11[0,1,2,0]2410; SSE-NEXT:    shufps {{.*#+}} xmm11 = xmm11[2,0],xmm0[3,0]2411; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm11[0,2]2412; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,1,2,3,4,5,6,7]2413; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,7]2414; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]2415; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,1,4,5,6,7]2416; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,6,6,6]2417; SSE-NEXT:    pshufhw {{.*#+}} xmm11 = xmm13[0,1,2,3,4,5,6,5]2418; SSE-NEXT:    packuswb %xmm0, %xmm112419; SSE-NEXT:    pand %xmm10, %xmm112420; SSE-NEXT:    por %xmm2, %xmm112421; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload2422; SSE-NEXT:    # xmm0 = mem[1,1,1,1]2423; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload2424; SSE-NEXT:    # xmm2 = mem[0,2,2,3]2425; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]2426; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm2[0,3,2,3,4,5,6,7]2427; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,2,0]2428; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,5]2429; SSE-NEXT:    packuswb %xmm0, %xmm02430; SSE-NEXT:    movdqa %xmm9, %xmm22431; SSE-NEXT:    pandn %xmm0, %xmm22432; SSE-NEXT:    pand %xmm9, %xmm112433; SSE-NEXT:    por %xmm11, %xmm22434; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2435; SSE-NEXT:    movdqa %xmm14, %xmm02436; SSE-NEXT:    pandn %xmm7, %xmm02437; SSE-NEXT:    movdqa %xmm8, %xmm152438; SSE-NEXT:    movdqa %xmm8, %xmm22439; SSE-NEXT:    pand %xmm14, %xmm22440; SSE-NEXT:    por %xmm0, %xmm22441; SSE-NEXT:    movdqa %xmm2, %xmm02442; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm5[8],xmm0[9],xmm5[9],xmm0[10],xmm5[10],xmm0[11],xmm5[11],xmm0[12],xmm5[12],xmm0[13],xmm5[13],xmm0[14],xmm5[14],xmm0[15],xmm5[15]2443; SSE-NEXT:    movdqa %xmm3, %xmm112444; SSE-NEXT:    pandn %xmm0, %xmm112445; 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]2446; SSE-NEXT:    pand %xmm3, %xmm22447; SSE-NEXT:    por %xmm11, %xmm22448; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm2[2,1,2,3,4,5,6,7]2449; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,7]2450; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,1,3]2451; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,1,4,5,6,7]2452; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,6,7]2453; SSE-NEXT:    packuswb %xmm0, %xmm02454; SSE-NEXT:    movdqa %xmm10, %xmm132455; SSE-NEXT:    pandn %xmm0, %xmm132456; SSE-NEXT:    movdqa %xmm4, %xmm112457; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2458; SSE-NEXT:    pandn %xmm2, %xmm112459; SSE-NEXT:    movdqa %xmm1, %xmm52460; SSE-NEXT:    movdqa %xmm1, %xmm02461; SSE-NEXT:    movdqa %xmm12, %xmm12462; SSE-NEXT:    pand %xmm12, %xmm02463; SSE-NEXT:    movdqa %xmm2, %xmm72464; SSE-NEXT:    pand %xmm12, %xmm72465; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload2466; SSE-NEXT:    pandn %xmm8, %xmm12467; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2468; SSE-NEXT:    pand %xmm14, %xmm52469; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2470; SSE-NEXT:    pand %xmm14, %xmm22471; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill2472; SSE-NEXT:    pandn %xmm8, %xmm142473; SSE-NEXT:    pand %xmm4, %xmm82474; SSE-NEXT:    por %xmm11, %xmm82475; SSE-NEXT:    movdqa %xmm8, %xmm112476; SSE-NEXT:    pxor %xmm1, %xmm12477; 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]2478; SSE-NEXT:    punpcklbw {{.*#+}} xmm8 = xmm8[0],xmm1[0],xmm8[1],xmm1[1],xmm8[2],xmm1[2],xmm8[3],xmm1[3],xmm8[4],xmm1[4],xmm8[5],xmm1[5],xmm8[6],xmm1[6],xmm8[7],xmm1[7]2479; SSE-NEXT:    pxor %xmm2, %xmm22480; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm8[0,1,2,0]2481; SSE-NEXT:    shufps {{.*#+}} xmm8 = xmm8[2,0],xmm11[3,0]2482; SSE-NEXT:    shufps {{.*#+}} xmm11 = xmm11[0,1],xmm8[0,2]2483; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm11[2,1,2,3,4,5,6,7]2484; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,7,6,7]2485; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,2,2,3]2486; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm8[0,3,2,1,4,5,6,7]2487; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,6,6,6,6]2488; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,5]2489; SSE-NEXT:    packuswb %xmm8, %xmm12490; SSE-NEXT:    pand %xmm10, %xmm12491; SSE-NEXT:    por %xmm13, %xmm12492; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload2493; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm4[1,1,1,1]2494; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload2495; SSE-NEXT:    pshufd {{.*#+}} xmm11 = xmm5[0,2,2,3]2496; SSE-NEXT:    punpckldq {{.*#+}} xmm11 = xmm11[0],xmm8[0],xmm11[1],xmm8[1]2497; SSE-NEXT:    pshuflw {{.*#+}} xmm8 = xmm11[0,3,2,3,4,5,6,7]2498; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm8[0,1,2,0]2499; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm8[0,1,2,3,4,7,6,5]2500; SSE-NEXT:    packuswb %xmm8, %xmm112501; SSE-NEXT:    movdqa %xmm9, %xmm122502; SSE-NEXT:    pandn %xmm11, %xmm122503; SSE-NEXT:    pand %xmm9, %xmm12504; SSE-NEXT:    por %xmm1, %xmm122505; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload2506; SSE-NEXT:    movdqa {{.*#+}} xmm13 = [255,255,255,0,255,255,255,255,0,255,255,255,255,0,255,255]2507; SSE-NEXT:    pand %xmm13, %xmm12508; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload2509; SSE-NEXT:    movdqa %xmm1, %xmm112510; SSE-NEXT:    punpckhbw {{.*#+}} xmm11 = xmm11[8],xmm2[8],xmm11[9],xmm2[9],xmm11[10],xmm2[10],xmm11[11],xmm2[11],xmm11[12],xmm2[12],xmm11[13],xmm2[13],xmm11[14],xmm2[14],xmm11[15],xmm2[15]2511; 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]2512; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[3,1],xmm11[2,0]2513; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,5]2514; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[3,1,2,0]2515; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[3,0,1,2,4,5,6,7]2516; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,4,6,7]2517; SSE-NEXT:    packuswb %xmm1, %xmm12518; SSE-NEXT:    movdqa %xmm10, %xmm112519; SSE-NEXT:    pandn %xmm1, %xmm112520; SSE-NEXT:    por %xmm6, %xmm02521; SSE-NEXT:    movdqa %xmm0, %xmm12522; 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]2523; 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]2524; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[3,1],xmm1[2,0]2525; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,6,7]2526; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[2,1,0,3]2527; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,0,1,2,4,5,6,7]2528; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,5,5,5,5]2529; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,0,3]2530; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,5,6]2531; SSE-NEXT:    packuswb %xmm0, %xmm12532; SSE-NEXT:    pand %xmm10, %xmm12533; SSE-NEXT:    por %xmm11, %xmm12534; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload2535; SSE-NEXT:    movaps %xmm10, %xmm02536; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload2537; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[2,0],xmm6[3,0]2538; SSE-NEXT:    shufps {{.*#+}} xmm6 = xmm6[0,1],xmm0[0,2]2539; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm6[0,1,2,3,4,6,6,7]2540; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,2,0]2541; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,4,7,5]2542; SSE-NEXT:    packuswb %xmm0, %xmm62543; SSE-NEXT:    movdqa %xmm9, %xmm82544; SSE-NEXT:    pandn %xmm6, %xmm82545; SSE-NEXT:    pand %xmm9, %xmm12546; SSE-NEXT:    por %xmm1, %xmm82547; SSE-NEXT:    movdqa %xmm13, %xmm02548; SSE-NEXT:    pand %xmm13, %xmm152549; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload2550; SSE-NEXT:    por %xmm15, %xmm02551; SSE-NEXT:    movdqa %xmm0, %xmm12552; SSE-NEXT:    pxor %xmm6, %xmm62553; 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]2554; 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]2555; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[3,1],xmm1[2,0]2556; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2557; SSE-NEXT:    por %xmm7, %xmm22558; SSE-NEXT:    movdqa %xmm2, %xmm12559; 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]2560; 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]2561; SSE-NEXT:    pxor %xmm13, %xmm132562; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[3,1],xmm1[2,0]2563; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,6,5,6,7]2564; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,1,0,3]2565; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[3,0,1,2,4,5,6,7]2566; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,5,5,5,5]2567; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,0,3]2568; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,5,6]2569; SSE-NEXT:    packuswb %xmm2, %xmm12570; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [0,0,0,65535,65535,65535,65535,65535]2571; SSE-NEXT:    pand %xmm2, %xmm12572; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm0[0,1,2,3,4,5,6,5]2573; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm6[3,1,2,0]2574; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm6[3,0,1,2,4,5,6,7]2575; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm6[0,1,2,3,7,4,6,7]2576; SSE-NEXT:    packuswb %xmm6, %xmm62577; SSE-NEXT:    pandn %xmm6, %xmm22578; SSE-NEXT:    por %xmm2, %xmm12579; SSE-NEXT:    movdqa %xmm4, %xmm22580; SSE-NEXT:    movdqa %xmm4, %xmm152581; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[2,0],xmm5[3,0]2582; SSE-NEXT:    shufps {{.*#+}} xmm5 = xmm5[0,1],xmm2[0,2]2583; SSE-NEXT:    pand %xmm9, %xmm12584; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm5[0,1,2,3,4,6,6,7]2585; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,0]2586; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,4,7,5]2587; SSE-NEXT:    packuswb %xmm2, %xmm22588; SSE-NEXT:    pandn %xmm2, %xmm92589; SSE-NEXT:    por %xmm1, %xmm92590; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2591; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload2592; SSE-NEXT:    movdqa %xmm0, %xmm12593; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm13[8],xmm1[9],xmm13[9],xmm1[10],xmm13[10],xmm1[11],xmm13[11],xmm1[12],xmm13[12],xmm1[13],xmm13[13],xmm1[14],xmm13[14],xmm1[15],xmm13[15]2594; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm13[0],xmm0[1],xmm13[1],xmm0[2],xmm13[2],xmm0[3],xmm13[3],xmm0[4],xmm13[4],xmm0[5],xmm13[5],xmm0[6],xmm13[6],xmm0[7],xmm13[7]2595; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm0[0,1,1,3]2596; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,3],xmm1[1,2]2597; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,2,3,1]2598; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm0[3,1,2,3,4,5,6,7]2599; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]2600; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]2601; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[2,1,3,0,4,5,6,7]2602; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,4,7]2603; SSE-NEXT:    packuswb %xmm1, %xmm22604; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,65535,65535,0,0,0,65535,65535]2605; SSE-NEXT:    movdqa %xmm4, %xmm62606; SSE-NEXT:    pandn %xmm2, %xmm62607; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload2608; SSE-NEXT:    movdqa {{.*#+}} xmm5 = [255,255,255,255,0,255,255,255,255,0,255,255,255,255,0,255]2609; SSE-NEXT:    pand %xmm5, %xmm22610; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload2611; SSE-NEXT:    movdqa %xmm2, %xmm02612; SSE-NEXT:    punpcklbw {{.*#+}} xmm0 = xmm0[0],xmm13[0],xmm0[1],xmm13[1],xmm0[2],xmm13[2],xmm0[3],xmm13[3],xmm0[4],xmm13[4],xmm0[5],xmm13[5],xmm0[6],xmm13[6],xmm0[7],xmm13[7]2613; SSE-NEXT:    movdqa %xmm3, %xmm112614; SSE-NEXT:    pandn %xmm0, %xmm112615; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm13[8],xmm2[9],xmm13[9],xmm2[10],xmm13[10],xmm2[11],xmm13[11],xmm2[12],xmm13[12],xmm2[13],xmm13[13],xmm2[14],xmm13[14],xmm2[15],xmm13[15]2616; SSE-NEXT:    pand %xmm3, %xmm22617; SSE-NEXT:    por %xmm11, %xmm22618; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[3,1,0,3,4,5,6,7]2619; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,6,4]2620; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,3,2,1]2621; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[3,1,2,0,4,5,6,7]2622; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,6,5,6,7]2623; SSE-NEXT:    packuswb %xmm2, %xmm22624; SSE-NEXT:    pand %xmm4, %xmm22625; SSE-NEXT:    por %xmm6, %xmm22626; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Folded Reload2627; SSE-NEXT:    # xmm6 = mem[3,1,2,3]2628; SSE-NEXT:    pshufd {{.*#+}} xmm10 = xmm10[0,2,2,3]2629; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm6[0,1,2,1,4,5,6,7]2630; SSE-NEXT:    pshuflw {{.*#+}} xmm10 = xmm10[0,1,0,3,4,5,6,7]2631; SSE-NEXT:    punpckldq {{.*#+}} xmm10 = xmm10[0],xmm6[0],xmm10[1],xmm6[1]2632; SSE-NEXT:    packuswb %xmm1, %xmm102633; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm10[2,1]2634; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload2635; SSE-NEXT:    movdqa %xmm14, %xmm12636; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm13[8],xmm1[9],xmm13[9],xmm1[10],xmm13[10],xmm1[11],xmm13[11],xmm1[12],xmm13[12],xmm1[13],xmm13[13],xmm1[14],xmm13[14],xmm1[15],xmm13[15]2637; SSE-NEXT:    punpcklbw {{.*#+}} xmm14 = xmm14[0],xmm13[0],xmm14[1],xmm13[1],xmm14[2],xmm13[2],xmm14[3],xmm13[3],xmm14[4],xmm13[4],xmm14[5],xmm13[5],xmm14[6],xmm13[6],xmm14[7],xmm13[7]2638; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm14[0,1,1,3]2639; SSE-NEXT:    shufps {{.*#+}} xmm14 = xmm14[0,3],xmm1[1,2]2640; SSE-NEXT:    movdqa (%rsp), %xmm0 # 16-byte Reload2641; SSE-NEXT:    pand %xmm5, %xmm02642; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Folded Reload2643; SSE-NEXT:    por %xmm0, %xmm52644; SSE-NEXT:    movdqa %xmm5, %xmm12645; 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]2646; 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]2647; SSE-NEXT:    pand %xmm3, %xmm52648; SSE-NEXT:    pandn %xmm1, %xmm32649; SSE-NEXT:    por %xmm5, %xmm32650; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm3[3,1,0,3,4,5,6,7]2651; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,4]2652; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,2,1]2653; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[3,1,2,0,4,5,6,7]2654; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]2655; SSE-NEXT:    packuswb %xmm1, %xmm12656; SSE-NEXT:    pand %xmm4, %xmm12657; SSE-NEXT:    movdqa %xmm4, %xmm72658; SSE-NEXT:    shufps {{.*#+}} xmm14 = xmm14[0,2,3,1]2659; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm14[3,1,2,3,4,5,6,7]2660; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,6,6,7]2661; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,2,2,3]2662; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[2,1,3,0,4,5,6,7]2663; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm6[0,1,2,3,4,5,4,7]2664; SSE-NEXT:    packuswb %xmm3, %xmm42665; SSE-NEXT:    pandn %xmm4, %xmm72666; SSE-NEXT:    por %xmm7, %xmm12667; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload2668; SSE-NEXT:    # xmm4 = mem[3,1,2,3]2669; SSE-NEXT:    pshufd {{.*#+}} xmm5 = xmm15[0,2,2,3]2670; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,1,2,1,4,5,6,7]2671; SSE-NEXT:    pshuflw {{.*#+}} xmm5 = xmm5[0,1,0,3,4,5,6,7]2672; SSE-NEXT:    punpckldq {{.*#+}} xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]2673; SSE-NEXT:    packuswb %xmm3, %xmm52674; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm5[2,1]2675; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2676; SSE-NEXT:    movaps %xmm0, 16(%rsi)2677; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2678; SSE-NEXT:    movaps %xmm0, (%rsi)2679; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2680; SSE-NEXT:    movaps %xmm0, 16(%rdx)2681; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2682; SSE-NEXT:    movaps %xmm0, (%rdx)2683; SSE-NEXT:    movdqa %xmm12, 16(%rcx)2684; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload2685; SSE-NEXT:    movaps %xmm0, (%rcx)2686; SSE-NEXT:    movdqa %xmm9, 16(%r8)2687; SSE-NEXT:    movdqa %xmm8, (%r8)2688; SSE-NEXT:    movaps %xmm1, 16(%r9)2689; SSE-NEXT:    movaps %xmm2, (%r9)2690; SSE-NEXT:    addq $184, %rsp2691; SSE-NEXT:    retq2692;2693; AVX-LABEL: load_i8_stride5_vf32:2694; AVX:       # %bb.0:2695; AVX-NEXT:    vmovdqa 144(%rdi), %xmm02696; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm0[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[1,6,11]2697; AVX-NEXT:    vmovdqa 128(%rdi), %xmm12698; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero2699; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm52700; AVX-NEXT:    vmovdqa 112(%rdi), %xmm22701; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm2[u,u,u,u],zero,zero,zero,xmm2[3,8,13,u,u,u,u,u,u]2702; AVX-NEXT:    vmovdqa 96(%rdi), %xmm32703; AVX-NEXT:    vpshufb {{.*#+}} xmm6 = xmm3[u,u,u,u,4,9,14],zero,zero,zero,xmm3[u,u,u,u,u,u]2704; AVX-NEXT:    vpor %xmm4, %xmm6, %xmm42705; AVX-NEXT:    vpxor %xmm6, %xmm6, %xmm62706; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm6[0,1],xmm4[2,3,4,5,6,7]2707; AVX-NEXT:    vmovdqa 80(%rdi), %xmm42708; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm4[0,5,10,15],zero,zero,zero,zero,zero,zero,xmm4[u,u,u,u,u,u]2709; AVX-NEXT:    vpor %xmm7, %xmm6, %xmm62710; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm6[0,1,2,3,4],xmm5[5,6,7]2711; AVX-NEXT:    vmovdqa (%rdi), %xmm72712; AVX-NEXT:    vmovdqa 16(%rdi), %xmm92713; AVX-NEXT:    vmovdqa 32(%rdi), %xmm82714; AVX-NEXT:    vmovdqa 48(%rdi), %xmm102715; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm9[u,u,u,u,u,u,u,u,4,9,14,u,u,u,u,u]2716; AVX-NEXT:    vpshufb {{.*#+}} xmm11 = xmm7[u,u,u,u,u,u,u,u,0,5,10,15,u,u,u,u]2717; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm5 = xmm11[2],xmm5[2],xmm11[3],xmm5[3]2718; AVX-NEXT:    vpshufb {{.*#+}} xmm11 = xmm10[u,u,u,u,u,u,u],zero,zero,zero,xmm10[2,7,12,u,u,u]2719; AVX-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,u,u,u,u,u,3,8,13],zero,zero,zero,xmm8[u,u,u]2720; AVX-NEXT:    vpor %xmm11, %xmm12, %xmm112721; AVX-NEXT:    vmovq {{.*#+}} xmm13 = [255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0]2722; AVX-NEXT:    vpblendvb %xmm13, %xmm5, %xmm11, %xmm52723; AVX-NEXT:    vmovaps {{.*#+}} ymm12 = [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,255,255,255,255,255,255]2724; AVX-NEXT:    vandps %ymm5, %ymm12, %ymm112725; AVX-NEXT:    vmovdqa 64(%rdi), %xmm52726; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm5[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11]2727; AVX-NEXT:    vandnps %ymm14, %ymm12, %ymm142728; AVX-NEXT:    vorps %ymm14, %ymm11, %ymm112729; AVX-NEXT:    vinsertf128 $1, %xmm6, %ymm11, %ymm62730; AVX-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2731; AVX-NEXT:    vpshufb {{.*#+}} xmm11 = xmm0[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[2,7,12]2732; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm1[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero2733; AVX-NEXT:    vpor %xmm11, %xmm14, %xmm112734; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm7[1,6,11],zero,zero,zero,zero,xmm7[u,u,u,u,u,u,u,u,u]2735; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = zero,zero,zero,xmm9[0,5,10,15,u,u,u,u,u,u,u,u,u]2736; AVX-NEXT:    vpor %xmm14, %xmm15, %xmm142737; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm10[u,u,u,u,u,u,u],zero,zero,zero,xmm10[3,8,13,u,u,u]2738; AVX-NEXT:    vpshufb {{.*#+}} xmm6 = xmm8[u,u,u,u,u,u,u,4,9,14],zero,zero,zero,xmm8[u,u,u]2739; AVX-NEXT:    vpor %xmm6, %xmm15, %xmm62740; AVX-NEXT:    vpblendvb %xmm13, %xmm14, %xmm6, %xmm62741; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm2[u,u,u],zero,zero,zero,zero,xmm2[4,9,14,u,u,u,u,u,u]2742; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm3[u,u,u,0,5,10,15],zero,zero,zero,xmm3[u,u,u,u,u,u]2743; AVX-NEXT:    vpor %xmm13, %xmm14, %xmm142744; AVX-NEXT:    vmovdqa {{.*#+}} xmm13 = [128,128,128,3,4,5,6,7,8,9,u,u,u,u,u,u]2745; AVX-NEXT:    vpshufb %xmm13, %xmm14, %xmm142746; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm4[1,6,11],zero,zero,zero,zero,zero,zero,zero,xmm4[u,u,u,u,u,u]2747; AVX-NEXT:    vpor %xmm15, %xmm14, %xmm142748; AVX-NEXT:    vpblendw {{.*#+}} xmm11 = xmm14[0,1,2,3,4],xmm11[5,6,7]2749; AVX-NEXT:    vandps %ymm6, %ymm12, %ymm62750; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm5[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12]2751; AVX-NEXT:    vandnps %ymm14, %ymm12, %ymm142752; AVX-NEXT:    vorps %ymm6, %ymm14, %ymm62753; AVX-NEXT:    vinsertf128 $1, %xmm11, %ymm6, %ymm62754; AVX-NEXT:    vmovups %ymm6, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill2755; AVX-NEXT:    vmovdqa {{.*#+}} xmm6 = [128,128,128,1,6,11,128,128,128,128,4,9,14,u,u,u]2756; AVX-NEXT:    vpshufb %xmm6, %xmm9, %xmm142757; AVX-NEXT:    vpshufb %xmm6, %xmm10, %xmm62758; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm14[0,1,2],xmm6[3,4,5,6,7]2759; AVX-NEXT:    vmovdqa {{.*#+}} xmm14 = [2,7,12,128,128,128,0,5,10,15,128,128,128,u,u,u]2760; AVX-NEXT:    vpshufb %xmm14, %xmm7, %xmm152761; AVX-NEXT:    vpshufb %xmm14, %xmm8, %xmm142762; AVX-NEXT:    vpblendw {{.*#+}} xmm14 = xmm15[0,1,2],xmm14[3,4,5,6,7]2763; AVX-NEXT:    vpor %xmm6, %xmm14, %xmm62764; AVX-NEXT:    vandps %ymm6, %ymm12, %ymm62765; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm5[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13]2766; AVX-NEXT:    vandnps %ymm14, %ymm12, %ymm122767; AVX-NEXT:    vorps %ymm6, %ymm12, %ymm62768; AVX-NEXT:    vpshufb {{.*#+}} xmm12 = xmm0[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[3,8,13]2769; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm1[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero2770; AVX-NEXT:    vpor %xmm12, %xmm14, %xmm122771; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm3[u,u,u,1,6,11],zero,zero,zero,zero,xmm3[u,u,u,u,u,u]2772; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm2[u,u,u],zero,zero,zero,xmm2[0,5,10,15,u,u,u,u,u,u]2773; AVX-NEXT:    vpor %xmm14, %xmm15, %xmm142774; AVX-NEXT:    vpshufb %xmm13, %xmm14, %xmm132775; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm4[2,7,12],zero,zero,zero,zero,zero,zero,zero,xmm4[u,u,u,u,u,u]2776; AVX-NEXT:    vpor %xmm14, %xmm13, %xmm132777; AVX-NEXT:    vpblendw {{.*#+}} xmm12 = xmm13[0,1,2,3,4],xmm12[5,6,7]2778; AVX-NEXT:    vinsertf128 $1, %xmm12, %ymm6, %ymm122779; AVX-NEXT:    vmovdqa {{.*#+}} xmm6 = [128,128,128,2,7,12,1,6,11,128,128,128,128,u,u,u]2780; AVX-NEXT:    vpshufb %xmm6, %xmm9, %xmm132781; AVX-NEXT:    vpshufb %xmm6, %xmm8, %xmm62782; AVX-NEXT:    vpblendw {{.*#+}} xmm6 = xmm13[0,1,2],xmm6[3,4,5,6,7]2783; AVX-NEXT:    vmovdqa {{.*#+}} xmm13 = [3,8,13,128,128,128,128,128,128,0,5,10,15,u,u,u]2784; AVX-NEXT:    vpshufb %xmm13, %xmm7, %xmm142785; AVX-NEXT:    vpshufb %xmm13, %xmm10, %xmm132786; AVX-NEXT:    vpblendw {{.*#+}} xmm13 = xmm14[0,1,2],xmm13[3,4,5,6,7]2787; AVX-NEXT:    vpor %xmm6, %xmm13, %xmm62788; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm2[u,u,u],zero,zero,zero,xmm2[1,6,11,u,u,u,u,u,u,u]2789; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm3[u,u,u,2,7,12],zero,zero,zero,xmm3[u,u,u,u,u,u,u]2790; AVX-NEXT:    vpor %xmm13, %xmm14, %xmm142791; AVX-NEXT:    vmovdqa {{.*#+}} xmm13 = [128,128,128,3,4,5,6,7,8,u,u,u,u,u,u,u]2792; AVX-NEXT:    vpshufb %xmm13, %xmm14, %xmm142793; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm4[3,8,13],zero,zero,zero,zero,zero,zero,xmm4[u,u,u,u,u,u,u]2794; AVX-NEXT:    vpor %xmm15, %xmm14, %xmm142795; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm5[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14]2796; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm15, %ymm142797; AVX-NEXT:    vmovaps {{.*#+}} ymm15 = [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,255,255,255,255,255,255,255]2798; AVX-NEXT:    vandps %ymm6, %ymm15, %ymm62799; AVX-NEXT:    vandnps %ymm14, %ymm15, %ymm142800; AVX-NEXT:    vorps %ymm6, %ymm14, %ymm62801; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm0[4,9,14]2802; AVX-NEXT:    vpshufb {{.*#+}} xmm15 = xmm1[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero2803; AVX-NEXT:    vpor %xmm14, %xmm15, %xmm142804; AVX-NEXT:    vextractf128 $1, %ymm6, %xmm152805; AVX-NEXT:    vpmovsxwq {{.*#+}} xmm11 = [18446744073709551615,255]2806; AVX-NEXT:    vpblendvb %xmm11, %xmm15, %xmm14, %xmm142807; AVX-NEXT:    vinsertf128 $1, %xmm14, %ymm6, %ymm62808; AVX-NEXT:    vmovdqa {{.*#+}} xmm14 = [128,128,128,3,8,13,128,128,128,1,6,11,u,u,u,u]2809; AVX-NEXT:    vpshufb %xmm14, %xmm10, %xmm102810; AVX-NEXT:    vpshufb %xmm14, %xmm9, %xmm92811; AVX-NEXT:    vpblendw {{.*#+}} xmm9 = xmm9[0,1,2],xmm10[3,4,5],xmm9[6,7]2812; AVX-NEXT:    vmovdqa {{.*#+}} xmm10 = [4,9,14,128,128,128,2,7,12,128,128,128,u,u,u,u]2813; AVX-NEXT:    vpshufb %xmm10, %xmm8, %xmm82814; AVX-NEXT:    vpshufb %xmm10, %xmm7, %xmm72815; AVX-NEXT:    vpblendw {{.*#+}} xmm7 = xmm7[0,1,2],xmm8[3,4,5],xmm7[6,7]2816; AVX-NEXT:    vpor %xmm7, %xmm9, %xmm72817; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[u,u,u],zero,zero,zero,xmm2[2,7,12,u,u,u,u,u,u,u]2818; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,3,8,13],zero,zero,zero,xmm3[u,u,u,u,u,u,u]2819; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm22820; AVX-NEXT:    vpshufb %xmm13, %xmm2, %xmm22821; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm4[4,9,14],zero,zero,zero,zero,zero,zero,xmm4[u,u,u,u,u,u,u]2822; AVX-NEXT:    vpor %xmm3, %xmm2, %xmm22823; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u,u,u,u,u,u,1,6,11],zero,zero,zero,zero2824; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[0,5,10,15]2825; AVX-NEXT:    vpor %xmm1, %xmm0, %xmm02826; AVX-NEXT:    vpblendvb %xmm11, %xmm2, %xmm0, %xmm02827; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm5[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15]2828; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm12829; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm7[0,1,2],ymm1[3,4,5,6,7]2830; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm02831; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2832; AVX-NEXT:    vmovaps %ymm1, (%rsi)2833; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload2834; AVX-NEXT:    vmovaps %ymm1, (%rdx)2835; AVX-NEXT:    vmovaps %ymm12, (%rcx)2836; AVX-NEXT:    vmovaps %ymm6, (%r8)2837; AVX-NEXT:    vmovaps %ymm0, (%r9)2838; AVX-NEXT:    vzeroupper2839; AVX-NEXT:    retq2840;2841; AVX2-LABEL: load_i8_stride5_vf32:2842; AVX2:       # %bb.0:2843; AVX2-NEXT:    vmovdqa (%rdi), %ymm32844; AVX2-NEXT:    vmovdqa 32(%rdi), %ymm42845; AVX2-NEXT:    vmovdqa 64(%rdi), %ymm02846; AVX2-NEXT:    vmovdqa 96(%rdi), %ymm12847; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]2848; AVX2-NEXT:    vpblendvb %ymm2, %ymm3, %ymm4, %ymm52849; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm62850; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]2851; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]2852; AVX2-NEXT:    vpor %xmm6, %xmm5, %xmm52853; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]2854; AVX2-NEXT:    vpblendvb %ymm9, %ymm0, %ymm1, %ymm62855; AVX2-NEXT:    vpermq {{.*#+}} ymm7 = ymm6[2,3,0,1]2856; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm8 = [255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255]2857; AVX2-NEXT:    # ymm8 = mem[0,1,0,1]2858; AVX2-NEXT:    vpblendvb %ymm8, %ymm6, %ymm7, %ymm62859; AVX2-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]2860; AVX2-NEXT:    vpmovsxwd {{.*#+}} ymm8 = [4294967295,4294967295,4294967295,255,0,0,0,0]2861; AVX2-NEXT:    vmovdqa %xmm8, %xmm72862; AVX2-NEXT:    vpblendvb %ymm7, %ymm5, %ymm6, %ymm62863; AVX2-NEXT:    vpblendvb %ymm9, %ymm3, %ymm4, %ymm52864; AVX2-NEXT:    vpshufb {{.*#+}} xmm9 = xmm5[1,6,11],zero,zero,zero,zero,xmm5[4,9,14],zero,zero,zero,xmm5[u,u,u]2865; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm52866; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13,u,u,u]2867; AVX2-NEXT:    vpor %xmm5, %xmm9, %xmm52868; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]2869; AVX2-NEXT:    vpblendvb %ymm9, %ymm1, %ymm0, %ymm102870; AVX2-NEXT:    vpermq {{.*#+}} ymm11 = ymm10[2,3,0,1]2871; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm12 = [0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0]2872; AVX2-NEXT:    # ymm12 = mem[0,1,0,1]2873; AVX2-NEXT:    vpblendvb %ymm12, %ymm10, %ymm11, %ymm102874; AVX2-NEXT:    vpshufb {{.*#+}} ymm10 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]2875; AVX2-NEXT:    vpblendvb %ymm7, %ymm5, %ymm10, %ymm52876; AVX2-NEXT:    vpblendvb %ymm9, %ymm4, %ymm3, %ymm92877; AVX2-NEXT:    vextracti128 $1, %ymm9, %xmm102878; AVX2-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[4,9,14,u,u,u]2879; AVX2-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[2,7,12],zero,zero,zero,xmm9[0,5,10,15],zero,zero,zero,xmm9[u,u,u]2880; AVX2-NEXT:    vpor %xmm10, %xmm9, %xmm92881; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm10 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]2882; AVX2-NEXT:    vpblendvb %ymm10, %ymm1, %ymm0, %ymm112883; AVX2-NEXT:    vpermq {{.*#+}} ymm12 = ymm11[2,3,0,1]2884; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm13 = [255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255]2885; AVX2-NEXT:    # ymm13 = mem[0,1,0,1]2886; AVX2-NEXT:    vpblendvb %ymm13, %ymm11, %ymm12, %ymm112887; AVX2-NEXT:    vpshufb {{.*#+}} ymm11 = ymm11[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]2888; AVX2-NEXT:    vpblendvb %ymm7, %ymm9, %ymm11, %ymm72889; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]2890; AVX2-NEXT:    vpblendvb %ymm9, %ymm1, %ymm0, %ymm112891; AVX2-NEXT:    vpermq {{.*#+}} ymm12 = ymm11[2,3,0,1]2892; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm13 = [0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0]2893; AVX2-NEXT:    # ymm13 = mem[0,1,0,1]2894; AVX2-NEXT:    vpblendvb %ymm13, %ymm11, %ymm12, %ymm112895; AVX2-NEXT:    vpblendvb %ymm10, %ymm4, %ymm3, %ymm102896; AVX2-NEXT:    vpshufb {{.*#+}} xmm12 = xmm10[3,8,13],zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u]2897; AVX2-NEXT:    vextracti128 $1, %ymm10, %xmm102898; AVX2-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15,u,u,u]2899; AVX2-NEXT:    vpor %xmm12, %xmm10, %xmm102900; AVX2-NEXT:    vpshufb {{.*#+}} ymm11 = ymm11[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]2901; AVX2-NEXT:    vpblendvb %ymm8, %ymm10, %ymm11, %ymm102902; AVX2-NEXT:    vmovdqa 144(%rdi), %xmm82903; AVX2-NEXT:    vpshufb {{.*#+}} xmm11 = xmm8[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[1,6,11]2904; AVX2-NEXT:    vpblendvb %ymm9, %ymm4, %ymm3, %ymm92905; AVX2-NEXT:    vmovdqa 128(%rdi), %xmm32906; AVX2-NEXT:    vpshufb {{.*#+}} xmm4 = xmm3[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero2907; AVX2-NEXT:    vpor %xmm4, %xmm11, %xmm42908; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm42909; AVX2-NEXT:    vpblendw {{.*#+}} ymm4 = ymm6[0,1,2,3,4],ymm4[5,6,7],ymm6[8,9,10,11,12],ymm4[13,14,15]2910; AVX2-NEXT:    vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]2911; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm02912; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]2913; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm2 = [255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255]2914; AVX2-NEXT:    # ymm2 = mem[0,1,0,1]2915; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm02916; AVX2-NEXT:    vpshufb {{.*#+}} xmm1 = xmm8[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm8[4,9,14]2917; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm3[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero2918; AVX2-NEXT:    vpor %xmm1, %xmm2, %xmm12919; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm12920; AVX2-NEXT:    vpmovsxwq {{.*#+}} ymm2 = [18446744073709551615,18446744073709551615,18446744073709551615,255]2921; AVX2-NEXT:    vpblendvb %ymm2, %ymm10, %ymm1, %ymm12922; AVX2-NEXT:    vextracti128 $1, %ymm9, %xmm62923; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,xmm6[3,8,13],zero,zero,zero,xmm6[1,6,11,u,u,u,u]2924; AVX2-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12],zero,zero,zero,xmm9[u,u,u,u]2925; AVX2-NEXT:    vpor %xmm6, %xmm9, %xmm62926; AVX2-NEXT:    vmovdqa 128(%rdi), %ymm92927; AVX2-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]2928; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2],ymm0[3,4,5,6,7]2929; AVX2-NEXT:    vpshufb {{.*#+}} ymm6 = ymm9[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]2930; AVX2-NEXT:    vpbroadcastq {{.*#+}} ymm9 = [0,5,0,5,0,5,0,5]2931; AVX2-NEXT:    vpermd %ymm6, %ymm9, %ymm62932; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm6, %ymm02933; AVX2-NEXT:    vpshufb {{.*#+}} xmm2 = xmm8[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[2,7,12]2934; AVX2-NEXT:    vpshufb {{.*#+}} xmm6 = xmm3[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero2935; AVX2-NEXT:    vpor %xmm2, %xmm6, %xmm22936; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm22937; AVX2-NEXT:    vpblendw {{.*#+}} ymm2 = ymm5[0,1,2,3,4],ymm2[5,6,7],ymm5[8,9,10,11,12],ymm2[13,14,15]2938; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]2939; AVX2-NEXT:    vpshufb {{.*#+}} xmm5 = xmm8[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[3,8,13]2940; AVX2-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero2941; AVX2-NEXT:    vpor %xmm5, %xmm3, %xmm32942; AVX2-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm32943; AVX2-NEXT:    vpblendw {{.*#+}} ymm3 = ymm7[0,1,2,3,4],ymm3[5,6,7],ymm7[8,9,10,11,12],ymm3[13,14,15]2944; AVX2-NEXT:    vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm3[4,5,6,7]2945; AVX2-NEXT:    vmovdqa %ymm4, (%rsi)2946; AVX2-NEXT:    vmovdqa %ymm2, (%rdx)2947; AVX2-NEXT:    vmovdqa %ymm3, (%rcx)2948; AVX2-NEXT:    vmovdqa %ymm1, (%r8)2949; AVX2-NEXT:    vmovdqa %ymm0, (%r9)2950; AVX2-NEXT:    vzeroupper2951; AVX2-NEXT:    retq2952;2953; AVX2-FP-LABEL: load_i8_stride5_vf32:2954; AVX2-FP:       # %bb.0:2955; AVX2-FP-NEXT:    vmovdqa (%rdi), %ymm32956; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %ymm42957; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %ymm02958; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %ymm12959; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]2960; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm3, %ymm4, %ymm52961; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm62962; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]2963; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]2964; AVX2-FP-NEXT:    vpor %xmm6, %xmm5, %xmm52965; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]2966; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm0, %ymm1, %ymm62967; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm7 = ymm6[2,3,0,1]2968; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm8 = [255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255]2969; AVX2-FP-NEXT:    # ymm8 = mem[0,1,0,1]2970; AVX2-FP-NEXT:    vpblendvb %ymm8, %ymm6, %ymm7, %ymm62971; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]2972; AVX2-FP-NEXT:    vpmovsxwd {{.*#+}} ymm8 = [4294967295,4294967295,4294967295,255,0,0,0,0]2973; AVX2-FP-NEXT:    vmovdqa %xmm8, %xmm72974; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm5, %ymm6, %ymm62975; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm3, %ymm4, %ymm52976; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm5[1,6,11],zero,zero,zero,zero,xmm5[4,9,14],zero,zero,zero,xmm5[u,u,u]2977; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm52978; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13,u,u,u]2979; AVX2-FP-NEXT:    vpor %xmm5, %xmm9, %xmm52980; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]2981; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm1, %ymm0, %ymm102982; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm11 = ymm10[2,3,0,1]2983; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm12 = [0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0]2984; AVX2-FP-NEXT:    # ymm12 = mem[0,1,0,1]2985; AVX2-FP-NEXT:    vpblendvb %ymm12, %ymm10, %ymm11, %ymm102986; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm10 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]2987; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm5, %ymm10, %ymm52988; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm4, %ymm3, %ymm92989; AVX2-FP-NEXT:    vextracti128 $1, %ymm9, %xmm102990; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[4,9,14,u,u,u]2991; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[2,7,12],zero,zero,zero,xmm9[0,5,10,15],zero,zero,zero,xmm9[u,u,u]2992; AVX2-FP-NEXT:    vpor %xmm10, %xmm9, %xmm92993; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm10 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]2994; AVX2-FP-NEXT:    vpblendvb %ymm10, %ymm1, %ymm0, %ymm112995; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm12 = ymm11[2,3,0,1]2996; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm13 = [255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255]2997; AVX2-FP-NEXT:    # ymm13 = mem[0,1,0,1]2998; AVX2-FP-NEXT:    vpblendvb %ymm13, %ymm11, %ymm12, %ymm112999; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm11 = ymm11[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]3000; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm9, %ymm11, %ymm73001; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]3002; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm1, %ymm0, %ymm113003; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm12 = ymm11[2,3,0,1]3004; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm13 = [0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0]3005; AVX2-FP-NEXT:    # ymm13 = mem[0,1,0,1]3006; AVX2-FP-NEXT:    vpblendvb %ymm13, %ymm11, %ymm12, %ymm113007; AVX2-FP-NEXT:    vpblendvb %ymm10, %ymm4, %ymm3, %ymm103008; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm10[3,8,13],zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u]3009; AVX2-FP-NEXT:    vextracti128 $1, %ymm10, %xmm103010; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15,u,u,u]3011; AVX2-FP-NEXT:    vpor %xmm12, %xmm10, %xmm103012; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm11 = ymm11[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]3013; AVX2-FP-NEXT:    vpblendvb %ymm8, %ymm10, %ymm11, %ymm103014; AVX2-FP-NEXT:    vmovdqa 144(%rdi), %xmm83015; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm8[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[1,6,11]3016; AVX2-FP-NEXT:    vpblendvb %ymm9, %ymm4, %ymm3, %ymm93017; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %xmm33018; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm3[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero3019; AVX2-FP-NEXT:    vpor %xmm4, %xmm11, %xmm43020; AVX2-FP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm43021; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm6[0,1,2,3,4],ymm4[5,6,7],ymm6[8,9,10,11,12],ymm4[13,14,15]3022; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]3023; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm03024; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]3025; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm2 = [255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255]3026; AVX2-FP-NEXT:    # ymm2 = mem[0,1,0,1]3027; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm03028; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm8[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm8[4,9,14]3029; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm3[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero3030; AVX2-FP-NEXT:    vpor %xmm1, %xmm2, %xmm13031; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm13032; AVX2-FP-NEXT:    vpmovsxwq {{.*#+}} ymm2 = [18446744073709551615,18446744073709551615,18446744073709551615,255]3033; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm10, %ymm1, %ymm13034; AVX2-FP-NEXT:    vextracti128 $1, %ymm9, %xmm63035; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,xmm6[3,8,13],zero,zero,zero,xmm6[1,6,11,u,u,u,u]3036; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12],zero,zero,zero,xmm9[u,u,u,u]3037; AVX2-FP-NEXT:    vpor %xmm6, %xmm9, %xmm63038; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %ymm93039; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]3040; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2],ymm0[3,4,5,6,7]3041; AVX2-FP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm9[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]3042; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} ymm9 = [0,5,0,5,0,5,0,5]3043; AVX2-FP-NEXT:    vpermd %ymm6, %ymm9, %ymm63044; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm6, %ymm03045; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm8[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[2,7,12]3046; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm3[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero3047; AVX2-FP-NEXT:    vpor %xmm2, %xmm6, %xmm23048; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm23049; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm5[0,1,2,3,4],ymm2[5,6,7],ymm5[8,9,10,11,12],ymm2[13,14,15]3050; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]3051; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm8[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[3,8,13]3052; AVX2-FP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero3053; AVX2-FP-NEXT:    vpor %xmm5, %xmm3, %xmm33054; AVX2-FP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm33055; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm7[0,1,2,3,4],ymm3[5,6,7],ymm7[8,9,10,11,12],ymm3[13,14,15]3056; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm3[4,5,6,7]3057; AVX2-FP-NEXT:    vmovdqa %ymm4, (%rsi)3058; AVX2-FP-NEXT:    vmovdqa %ymm2, (%rdx)3059; AVX2-FP-NEXT:    vmovdqa %ymm3, (%rcx)3060; AVX2-FP-NEXT:    vmovdqa %ymm1, (%r8)3061; AVX2-FP-NEXT:    vmovdqa %ymm0, (%r9)3062; AVX2-FP-NEXT:    vzeroupper3063; AVX2-FP-NEXT:    retq3064;3065; AVX2-FCP-LABEL: load_i8_stride5_vf32:3066; AVX2-FCP:       # %bb.0:3067; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm33068; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm43069; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %ymm03070; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %ymm13071; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm2 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]3072; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm3, %ymm4, %ymm53073; AVX2-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm63074; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]3075; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]3076; AVX2-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm53077; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]3078; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm0, %ymm1, %ymm63079; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm7 = ymm6[2,3,0,1]3080; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm8 = [255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255]3081; AVX2-FCP-NEXT:    # ymm8 = mem[0,1,0,1]3082; AVX2-FCP-NEXT:    vpblendvb %ymm8, %ymm6, %ymm7, %ymm63083; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm6[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]3084; AVX2-FCP-NEXT:    vpmovsxwd {{.*#+}} ymm8 = [4294967295,4294967295,4294967295,255,0,0,0,0]3085; AVX2-FCP-NEXT:    vmovdqa %xmm8, %xmm73086; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm5, %ymm6, %ymm63087; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm3, %ymm4, %ymm53088; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm5[1,6,11],zero,zero,zero,zero,xmm5[4,9,14],zero,zero,zero,xmm5[u,u,u]3089; AVX2-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm53090; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = zero,zero,zero,xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13,u,u,u]3091; AVX2-FCP-NEXT:    vpor %xmm5, %xmm9, %xmm53092; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]3093; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm1, %ymm0, %ymm103094; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm11 = ymm10[2,3,0,1]3095; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm12 = [0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0]3096; AVX2-FCP-NEXT:    # ymm12 = mem[0,1,0,1]3097; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm10, %ymm11, %ymm103098; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm10 = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]3099; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm5, %ymm10, %ymm53100; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm4, %ymm3, %ymm93101; AVX2-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm103102; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[4,9,14,u,u,u]3103; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[2,7,12],zero,zero,zero,xmm9[0,5,10,15],zero,zero,zero,xmm9[u,u,u]3104; AVX2-FCP-NEXT:    vpor %xmm10, %xmm9, %xmm93105; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm10 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]3106; AVX2-FCP-NEXT:    vpblendvb %ymm10, %ymm1, %ymm0, %ymm113107; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm12 = ymm11[2,3,0,1]3108; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm13 = [255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255]3109; AVX2-FCP-NEXT:    # ymm13 = mem[0,1,0,1]3110; AVX2-FCP-NEXT:    vpblendvb %ymm13, %ymm11, %ymm12, %ymm113111; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm11 = ymm11[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]3112; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm9, %ymm11, %ymm73113; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm9 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]3114; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm1, %ymm0, %ymm113115; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm12 = ymm11[2,3,0,1]3116; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm13 = [0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0]3117; AVX2-FCP-NEXT:    # ymm13 = mem[0,1,0,1]3118; AVX2-FCP-NEXT:    vpblendvb %ymm13, %ymm11, %ymm12, %ymm113119; AVX2-FCP-NEXT:    vpblendvb %ymm10, %ymm4, %ymm3, %ymm103120; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm10[3,8,13],zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u]3121; AVX2-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm103122; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15,u,u,u]3123; AVX2-FCP-NEXT:    vpor %xmm12, %xmm10, %xmm103124; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm11 = ymm11[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]3125; AVX2-FCP-NEXT:    vpblendvb %ymm8, %ymm10, %ymm11, %ymm103126; AVX2-FCP-NEXT:    vmovdqa 144(%rdi), %xmm83127; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm8[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[1,6,11]3128; AVX2-FCP-NEXT:    vpblendvb %ymm9, %ymm4, %ymm3, %ymm93129; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %xmm33130; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm3[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero3131; AVX2-FCP-NEXT:    vpor %xmm4, %xmm11, %xmm43132; AVX2-FCP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm43133; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm6[0,1,2,3,4],ymm4[5,6,7],ymm6[8,9,10,11,12],ymm4[13,14,15]3134; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm6[0,1,2,3],ymm4[4,5,6,7]3135; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm03136; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]3137; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm2 = [255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255]3138; AVX2-FCP-NEXT:    # ymm2 = mem[0,1,0,1]3139; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm1, %ymm03140; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm8[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm8[4,9,14]3141; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm3[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero3142; AVX2-FCP-NEXT:    vpor %xmm1, %xmm2, %xmm13143; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm13144; AVX2-FCP-NEXT:    vpmovsxwq {{.*#+}} ymm2 = [18446744073709551615,18446744073709551615,18446744073709551615,255]3145; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm10, %ymm1, %ymm13146; AVX2-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm63147; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,xmm6[3,8,13],zero,zero,zero,xmm6[1,6,11,u,u,u,u]3148; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12],zero,zero,zero,xmm9[u,u,u,u]3149; AVX2-FCP-NEXT:    vpor %xmm6, %xmm9, %xmm63150; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %ymm93151; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]3152; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm6[0,1,2],ymm0[3,4,5,6,7]3153; AVX2-FCP-NEXT:    vpshufb {{.*#+}} ymm6 = ymm9[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]3154; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm9 = [0,5,0,5,0,5,0,5]3155; AVX2-FCP-NEXT:    vpermd %ymm6, %ymm9, %ymm63156; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm6, %ymm03157; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm8[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[2,7,12]3158; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm3[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero3159; AVX2-FCP-NEXT:    vpor %xmm2, %xmm6, %xmm23160; AVX2-FCP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm23161; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm5[0,1,2,3,4],ymm2[5,6,7],ymm5[8,9,10,11,12],ymm2[13,14,15]3162; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]3163; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm8[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm8[3,8,13]3164; AVX2-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero3165; AVX2-FCP-NEXT:    vpor %xmm5, %xmm3, %xmm33166; AVX2-FCP-NEXT:    vinserti128 $1, %xmm3, %ymm0, %ymm33167; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm3 = ymm7[0,1,2,3,4],ymm3[5,6,7],ymm7[8,9,10,11,12],ymm3[13,14,15]3168; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm7[0,1,2,3],ymm3[4,5,6,7]3169; AVX2-FCP-NEXT:    vmovdqa %ymm4, (%rsi)3170; AVX2-FCP-NEXT:    vmovdqa %ymm2, (%rdx)3171; AVX2-FCP-NEXT:    vmovdqa %ymm3, (%rcx)3172; AVX2-FCP-NEXT:    vmovdqa %ymm1, (%r8)3173; AVX2-FCP-NEXT:    vmovdqa %ymm0, (%r9)3174; AVX2-FCP-NEXT:    vzeroupper3175; AVX2-FCP-NEXT:    retq3176;3177; AVX512-LABEL: load_i8_stride5_vf32:3178; AVX512:       # %bb.0:3179; AVX512-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]3180; AVX512-NEXT:    vmovdqa (%rdi), %ymm33181; AVX512-NEXT:    vmovdqa 32(%rdi), %ymm53182; AVX512-NEXT:    vmovdqa 64(%rdi), %ymm03183; AVX512-NEXT:    vmovdqa 96(%rdi), %ymm13184; AVX512-NEXT:    vmovdqa %ymm2, %ymm43185; AVX512-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm1 ^ (ymm4 & (ymm0 ^ ymm1))3186; AVX512-NEXT:    vpermq {{.*#+}} ymm6 = ymm4[2,3,0,1]3187; AVX512-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm6 ^ (mem & (ymm6 ^ ymm4))3188; AVX512-NEXT:    vmovdqa {{.*#+}} ymm8 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,6,11,16,21,26,31,20,25,30,19,24,29,128,128,128,128,128,128]3189; AVX512-NEXT:    vpshufb %ymm8, %ymm6, %ymm63190; AVX512-NEXT:    vmovdqa {{.*#+}} ymm4 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]3191; AVX512-NEXT:    vmovdqa %ymm4, %ymm73192; AVX512-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm5 ^ (ymm7 & (ymm3 ^ ymm5))3193; AVX512-NEXT:    vextracti128 $1, %ymm7, %xmm93194; AVX512-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12,u,u,u]3195; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[0,5,10,15],zero,zero,zero,xmm7[3,8,13],zero,zero,zero,xmm7[u,u,u]3196; AVX512-NEXT:    vpor %xmm7, %xmm9, %xmm93197; AVX512-NEXT:    vmovdqa {{.*#+}} ymm11 = [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,255,255,255,255,255,255]3198; AVX512-NEXT:    vpternlogq {{.*#+}} ymm9 = (ymm9 & ymm11) | ymm63199; AVX512-NEXT:    vmovdqa 144(%rdi), %xmm73200; AVX512-NEXT:    vpshufb %xmm8, %xmm7, %xmm63201; AVX512-NEXT:    vmovdqa 128(%rdi), %xmm83202; AVX512-NEXT:    vpshufb {{.*#+}} xmm10 = xmm8[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero3203; AVX512-NEXT:    vpor %xmm6, %xmm10, %xmm63204; AVX512-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm63205; AVX512-NEXT:    vpblendw {{.*#+}} ymm6 = ymm9[0,1,2,3,4],ymm6[5,6,7],ymm9[8,9,10,11,12],ymm6[13,14,15]3206; AVX512-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]3207; AVX512-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]3208; AVX512-NEXT:    vmovdqa %ymm10, %ymm93209; AVX512-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm0 ^ (ymm9 & (ymm1 ^ ymm0))3210; AVX512-NEXT:    vpermq {{.*#+}} ymm12 = ymm9[2,3,0,1]3211; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (mem & (ymm12 ^ ymm9))3212; AVX512-NEXT:    vmovdqa {{.*#+}} ymm9 = [128,128,128,128,128,128,128,128,128,128,128,128,128,2,7,12,17,22,27,16,21,26,31,20,25,30,128,128,128,128,128,128]3213; AVX512-NEXT:    vpshufb %ymm9, %ymm12, %ymm123214; AVX512-NEXT:    vmovdqa %ymm2, %ymm133215; AVX512-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm5 ^ (ymm13 & (ymm3 ^ ymm5))3216; AVX512-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[1,6,11],zero,zero,zero,zero,xmm13[4,9,14],zero,zero,zero,xmm13[u,u,u]3217; AVX512-NEXT:    vextracti128 $1, %ymm13, %xmm133218; AVX512-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[0,5,10,15],zero,zero,zero,xmm13[3,8,13,u,u,u]3219; AVX512-NEXT:    vpor %xmm14, %xmm13, %xmm133220; AVX512-NEXT:    vpternlogq {{.*#+}} ymm13 = (ymm13 & ymm11) | ymm123221; AVX512-NEXT:    vpshufb %xmm9, %xmm7, %xmm93222; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero3223; AVX512-NEXT:    vpor %xmm9, %xmm12, %xmm93224; AVX512-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm93225; AVX512-NEXT:    vpblendw {{.*#+}} ymm9 = ymm13[0,1,2,3,4],ymm9[5,6,7],ymm13[8,9,10,11,12],ymm9[13,14,15]3226; AVX512-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]3227; AVX512-NEXT:    vmovdqa %ymm4, %ymm123228; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm0 ^ (ymm12 & (ymm1 ^ ymm0))3229; AVX512-NEXT:    vpermq {{.*#+}} ymm13 = ymm12[2,3,0,1]3230; AVX512-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (mem & (ymm13 ^ ymm12))3231; AVX512-NEXT:    vmovdqa {{.*#+}} ymm12 = [128,128,128,128,128,128,128,128,128,128,128,128,128,3,8,13,18,23,28,17,22,27,16,21,26,31,128,128,128,128,128,128]3232; AVX512-NEXT:    vpshufb %ymm12, %ymm13, %ymm133233; AVX512-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm3 ^ (ymm10 & (ymm5 ^ ymm3))3234; AVX512-NEXT:    vextracti128 $1, %ymm10, %xmm143235; AVX512-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,zero,xmm14[1,6,11],zero,zero,zero,zero,xmm14[4,9,14,u,u,u]3236; AVX512-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15],zero,zero,zero,xmm10[u,u,u]3237; AVX512-NEXT:    vpor %xmm14, %xmm10, %xmm103238; AVX512-NEXT:    vpternlogq {{.*#+}} ymm10 = (ymm10 & ymm11) | ymm133239; AVX512-NEXT:    vpshufb %xmm12, %xmm7, %xmm113240; AVX512-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero3241; AVX512-NEXT:    vpor %xmm11, %xmm12, %xmm113242; AVX512-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm113243; AVX512-NEXT:    vpblendw {{.*#+}} ymm11 = ymm10[0,1,2,3,4],ymm11[5,6,7],ymm10[8,9,10,11,12],ymm11[13,14,15]3244; AVX512-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]3245; AVX512-NEXT:    vmovdqa %ymm2, %ymm113246; AVX512-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm0 ^ (ymm11 & (ymm1 ^ ymm0))3247; AVX512-NEXT:    vpermq {{.*#+}} ymm12 = ymm11[2,3,0,1]3248; AVX512-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (mem & (ymm12 ^ ymm11))3249; AVX512-NEXT:    vmovdqa {{.*#+}} ymm11 = [128,128,128,128,128,128,128,128,128,128,128,128,128,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]3250; AVX512-NEXT:    vpshufb %ymm11, %ymm12, %ymm123251; AVX512-NEXT:    vmovdqa %ymm4, %ymm133252; AVX512-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm3 ^ (ymm13 & (ymm5 ^ ymm3))3253; AVX512-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[3,8,13],zero,zero,zero,xmm13[1,6,11],zero,zero,zero,zero,xmm13[u,u,u]3254; AVX512-NEXT:    vextracti128 $1, %ymm13, %xmm133255; AVX512-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[2,7,12],zero,zero,zero,xmm13[0,5,10,15,u,u,u]3256; AVX512-NEXT:    vpor %xmm14, %xmm13, %xmm133257; AVX512-NEXT:    vpternlogq {{.*#+}} ymm13 = (ymm13 & mem) | ymm123258; AVX512-NEXT:    vpshufb %xmm11, %xmm7, %xmm73259; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero3260; AVX512-NEXT:    vpor %xmm7, %xmm8, %xmm73261; AVX512-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm73262; AVX512-NEXT:    vpmovsxwq {{.*#+}} ymm8 = [18446744073709551615,18446744073709551615,18446744073709551615,255]3263; AVX512-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (ymm8 & (ymm7 ^ ymm13))3264; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm3 ^ (ymm2 & (ymm5 ^ ymm3))3265; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm33266; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]3267; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]3268; AVX512-NEXT:    vpor %xmm3, %xmm2, %xmm23269; AVX512-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm1 ^ (ymm4 & (ymm0 ^ ymm1))3270; AVX512-NEXT:    vpermq {{.*#+}} ymm0 = ymm4[2,3,0,1]3271; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm4))3272; AVX512-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]3273; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]3274; AVX512-NEXT:    vmovdqa 128(%rdi), %ymm13275; AVX512-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]3276; AVX512-NEXT:    vpbroadcastq {{.*#+}} ymm2 = [0,5,0,5,0,5,0,5]3277; AVX512-NEXT:    vpermd %ymm1, %ymm2, %ymm13278; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm1 ^ (ymm8 & (ymm1 ^ ymm0))3279; AVX512-NEXT:    vmovdqa %ymm6, (%rsi)3280; AVX512-NEXT:    vmovdqa %ymm9, (%rdx)3281; AVX512-NEXT:    vmovdqa %ymm10, (%rcx)3282; AVX512-NEXT:    vmovdqa %ymm7, (%r8)3283; AVX512-NEXT:    vmovdqa %ymm1, (%r9)3284; AVX512-NEXT:    vzeroupper3285; AVX512-NEXT:    retq3286;3287; AVX512-FCP-LABEL: load_i8_stride5_vf32:3288; AVX512-FCP:       # %bb.0:3289; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]3290; AVX512-FCP-NEXT:    vmovdqa (%rdi), %ymm33291; AVX512-FCP-NEXT:    vmovdqa 32(%rdi), %ymm53292; AVX512-FCP-NEXT:    vmovdqa 64(%rdi), %ymm03293; AVX512-FCP-NEXT:    vmovdqa 96(%rdi), %ymm13294; AVX512-FCP-NEXT:    vmovdqa %ymm2, %ymm43295; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm1 ^ (ymm4 & (ymm0 ^ ymm1))3296; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm6 = ymm4[2,3,0,1]3297; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm6 ^ (mem & (ymm6 ^ ymm4))3298; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm8 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,6,11,16,21,26,31,20,25,30,19,24,29,128,128,128,128,128,128]3299; AVX512-FCP-NEXT:    vpshufb %ymm8, %ymm6, %ymm63300; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm4 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]3301; AVX512-FCP-NEXT:    vmovdqa %ymm4, %ymm73302; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm5 ^ (ymm7 & (ymm3 ^ ymm5))3303; AVX512-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm93304; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12,u,u,u]3305; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[0,5,10,15],zero,zero,zero,xmm7[3,8,13],zero,zero,zero,xmm7[u,u,u]3306; AVX512-FCP-NEXT:    vpor %xmm7, %xmm9, %xmm93307; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm11 = [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,255,255,255,255,255,255]3308; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = (ymm9 & ymm11) | ymm63309; AVX512-FCP-NEXT:    vmovdqa 144(%rdi), %xmm73310; AVX512-FCP-NEXT:    vpshufb %xmm8, %xmm7, %xmm63311; AVX512-FCP-NEXT:    vmovdqa 128(%rdi), %xmm83312; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm8[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero3313; AVX512-FCP-NEXT:    vpor %xmm6, %xmm10, %xmm63314; AVX512-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm63315; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm9[0,1,2,3,4],ymm6[5,6,7],ymm9[8,9,10,11,12],ymm6[13,14,15]3316; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]3317; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]3318; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm93319; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm0 ^ (ymm9 & (ymm1 ^ ymm0))3320; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm12 = ymm9[2,3,0,1]3321; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (mem & (ymm12 ^ ymm9))3322; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm9 = [128,128,128,128,128,128,128,128,128,128,128,128,128,2,7,12,17,22,27,16,21,26,31,20,25,30,128,128,128,128,128,128]3323; AVX512-FCP-NEXT:    vpshufb %ymm9, %ymm12, %ymm123324; AVX512-FCP-NEXT:    vmovdqa %ymm2, %ymm133325; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm5 ^ (ymm13 & (ymm3 ^ ymm5))3326; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[1,6,11],zero,zero,zero,zero,xmm13[4,9,14],zero,zero,zero,xmm13[u,u,u]3327; AVX512-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm133328; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[0,5,10,15],zero,zero,zero,xmm13[3,8,13,u,u,u]3329; AVX512-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm133330; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = (ymm13 & ymm11) | ymm123331; AVX512-FCP-NEXT:    vpshufb %xmm9, %xmm7, %xmm93332; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero3333; AVX512-FCP-NEXT:    vpor %xmm9, %xmm12, %xmm93334; AVX512-FCP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm93335; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm9 = ymm13[0,1,2,3,4],ymm9[5,6,7],ymm13[8,9,10,11,12],ymm9[13,14,15]3336; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]3337; AVX512-FCP-NEXT:    vmovdqa %ymm4, %ymm123338; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm0 ^ (ymm12 & (ymm1 ^ ymm0))3339; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm12[2,3,0,1]3340; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (mem & (ymm13 ^ ymm12))3341; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm12 = [128,128,128,128,128,128,128,128,128,128,128,128,128,3,8,13,18,23,28,17,22,27,16,21,26,31,128,128,128,128,128,128]3342; AVX512-FCP-NEXT:    vpshufb %ymm12, %ymm13, %ymm133343; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm3 ^ (ymm10 & (ymm5 ^ ymm3))3344; AVX512-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm143345; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,zero,xmm14[1,6,11],zero,zero,zero,zero,xmm14[4,9,14,u,u,u]3346; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15],zero,zero,zero,xmm10[u,u,u]3347; AVX512-FCP-NEXT:    vpor %xmm14, %xmm10, %xmm103348; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = (ymm10 & ymm11) | ymm133349; AVX512-FCP-NEXT:    vpshufb %xmm12, %xmm7, %xmm113350; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero3351; AVX512-FCP-NEXT:    vpor %xmm11, %xmm12, %xmm113352; AVX512-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm113353; AVX512-FCP-NEXT:    vpblendw {{.*#+}} ymm11 = ymm10[0,1,2,3,4],ymm11[5,6,7],ymm10[8,9,10,11,12],ymm11[13,14,15]3354; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]3355; AVX512-FCP-NEXT:    vmovdqa %ymm2, %ymm113356; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm0 ^ (ymm11 & (ymm1 ^ ymm0))3357; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm12 = ymm11[2,3,0,1]3358; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (mem & (ymm12 ^ ymm11))3359; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm11 = [128,128,128,128,128,128,128,128,128,128,128,128,128,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]3360; AVX512-FCP-NEXT:    vpshufb %ymm11, %ymm12, %ymm123361; AVX512-FCP-NEXT:    vmovdqa %ymm4, %ymm133362; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm3 ^ (ymm13 & (ymm5 ^ ymm3))3363; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[3,8,13],zero,zero,zero,xmm13[1,6,11],zero,zero,zero,zero,xmm13[u,u,u]3364; AVX512-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm133365; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[2,7,12],zero,zero,zero,xmm13[0,5,10,15,u,u,u]3366; AVX512-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm133367; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = (ymm13 & mem) | ymm123368; AVX512-FCP-NEXT:    vpshufb %xmm11, %xmm7, %xmm73369; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero3370; AVX512-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm73371; AVX512-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm73372; AVX512-FCP-NEXT:    vpmovsxwq {{.*#+}} ymm8 = [18446744073709551615,18446744073709551615,18446744073709551615,255]3373; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (ymm8 & (ymm7 ^ ymm13))3374; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm3 ^ (ymm2 & (ymm5 ^ ymm3))3375; AVX512-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm33376; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]3377; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]3378; AVX512-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm23379; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm1 ^ (ymm4 & (ymm0 ^ ymm1))3380; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm0 = ymm4[2,3,0,1]3381; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm4))3382; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]3383; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]3384; AVX512-FCP-NEXT:    vmovdqa 128(%rdi), %ymm13385; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]3386; AVX512-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm2 = [0,5,0,5,0,5,0,5]3387; AVX512-FCP-NEXT:    vpermd %ymm1, %ymm2, %ymm13388; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm1 ^ (ymm8 & (ymm1 ^ ymm0))3389; AVX512-FCP-NEXT:    vmovdqa %ymm6, (%rsi)3390; AVX512-FCP-NEXT:    vmovdqa %ymm9, (%rdx)3391; AVX512-FCP-NEXT:    vmovdqa %ymm10, (%rcx)3392; AVX512-FCP-NEXT:    vmovdqa %ymm7, (%r8)3393; AVX512-FCP-NEXT:    vmovdqa %ymm1, (%r9)3394; AVX512-FCP-NEXT:    vzeroupper3395; AVX512-FCP-NEXT:    retq3396;3397; AVX512DQ-LABEL: load_i8_stride5_vf32:3398; AVX512DQ:       # %bb.0:3399; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]3400; AVX512DQ-NEXT:    vmovdqa (%rdi), %ymm33401; AVX512DQ-NEXT:    vmovdqa 32(%rdi), %ymm53402; AVX512DQ-NEXT:    vmovdqa 64(%rdi), %ymm03403; AVX512DQ-NEXT:    vmovdqa 96(%rdi), %ymm13404; AVX512DQ-NEXT:    vmovdqa %ymm2, %ymm43405; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm1 ^ (ymm4 & (ymm0 ^ ymm1))3406; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm6 = ymm4[2,3,0,1]3407; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm6 ^ (mem & (ymm6 ^ ymm4))3408; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm8 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,6,11,16,21,26,31,20,25,30,19,24,29,128,128,128,128,128,128]3409; AVX512DQ-NEXT:    vpshufb %ymm8, %ymm6, %ymm63410; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm4 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]3411; AVX512DQ-NEXT:    vmovdqa %ymm4, %ymm73412; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm5 ^ (ymm7 & (ymm3 ^ ymm5))3413; AVX512DQ-NEXT:    vextracti128 $1, %ymm7, %xmm93414; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12,u,u,u]3415; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[0,5,10,15],zero,zero,zero,xmm7[3,8,13],zero,zero,zero,xmm7[u,u,u]3416; AVX512DQ-NEXT:    vpor %xmm7, %xmm9, %xmm93417; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm11 = [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,255,255,255,255,255,255]3418; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm9 = (ymm9 & ymm11) | ymm63419; AVX512DQ-NEXT:    vmovdqa 144(%rdi), %xmm73420; AVX512DQ-NEXT:    vpshufb %xmm8, %xmm7, %xmm63421; AVX512DQ-NEXT:    vmovdqa 128(%rdi), %xmm83422; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm10 = xmm8[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero3423; AVX512DQ-NEXT:    vpor %xmm6, %xmm10, %xmm63424; AVX512DQ-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm63425; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm6 = ymm9[0,1,2,3,4],ymm6[5,6,7],ymm9[8,9,10,11,12],ymm6[13,14,15]3426; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]3427; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]3428; AVX512DQ-NEXT:    vmovdqa %ymm10, %ymm93429; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm0 ^ (ymm9 & (ymm1 ^ ymm0))3430; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm12 = ymm9[2,3,0,1]3431; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (mem & (ymm12 ^ ymm9))3432; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm9 = [128,128,128,128,128,128,128,128,128,128,128,128,128,2,7,12,17,22,27,16,21,26,31,20,25,30,128,128,128,128,128,128]3433; AVX512DQ-NEXT:    vpshufb %ymm9, %ymm12, %ymm123434; AVX512DQ-NEXT:    vmovdqa %ymm2, %ymm133435; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm5 ^ (ymm13 & (ymm3 ^ ymm5))3436; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[1,6,11],zero,zero,zero,zero,xmm13[4,9,14],zero,zero,zero,xmm13[u,u,u]3437; AVX512DQ-NEXT:    vextracti128 $1, %ymm13, %xmm133438; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[0,5,10,15],zero,zero,zero,xmm13[3,8,13,u,u,u]3439; AVX512DQ-NEXT:    vpor %xmm14, %xmm13, %xmm133440; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm13 = (ymm13 & ymm11) | ymm123441; AVX512DQ-NEXT:    vpshufb %xmm9, %xmm7, %xmm93442; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero3443; AVX512DQ-NEXT:    vpor %xmm9, %xmm12, %xmm93444; AVX512DQ-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm93445; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm9 = ymm13[0,1,2,3,4],ymm9[5,6,7],ymm13[8,9,10,11,12],ymm9[13,14,15]3446; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]3447; AVX512DQ-NEXT:    vmovdqa %ymm4, %ymm123448; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm0 ^ (ymm12 & (ymm1 ^ ymm0))3449; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm13 = ymm12[2,3,0,1]3450; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (mem & (ymm13 ^ ymm12))3451; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm12 = [128,128,128,128,128,128,128,128,128,128,128,128,128,3,8,13,18,23,28,17,22,27,16,21,26,31,128,128,128,128,128,128]3452; AVX512DQ-NEXT:    vpshufb %ymm12, %ymm13, %ymm133453; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm3 ^ (ymm10 & (ymm5 ^ ymm3))3454; AVX512DQ-NEXT:    vextracti128 $1, %ymm10, %xmm143455; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,zero,xmm14[1,6,11],zero,zero,zero,zero,xmm14[4,9,14,u,u,u]3456; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15],zero,zero,zero,xmm10[u,u,u]3457; AVX512DQ-NEXT:    vpor %xmm14, %xmm10, %xmm103458; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm10 = (ymm10 & ymm11) | ymm133459; AVX512DQ-NEXT:    vpshufb %xmm12, %xmm7, %xmm113460; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero3461; AVX512DQ-NEXT:    vpor %xmm11, %xmm12, %xmm113462; AVX512DQ-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm113463; AVX512DQ-NEXT:    vpblendw {{.*#+}} ymm11 = ymm10[0,1,2,3,4],ymm11[5,6,7],ymm10[8,9,10,11,12],ymm11[13,14,15]3464; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]3465; AVX512DQ-NEXT:    vmovdqa %ymm2, %ymm113466; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm0 ^ (ymm11 & (ymm1 ^ ymm0))3467; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm12 = ymm11[2,3,0,1]3468; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (mem & (ymm12 ^ ymm11))3469; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm11 = [128,128,128,128,128,128,128,128,128,128,128,128,128,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]3470; AVX512DQ-NEXT:    vpshufb %ymm11, %ymm12, %ymm123471; AVX512DQ-NEXT:    vmovdqa %ymm4, %ymm133472; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm3 ^ (ymm13 & (ymm5 ^ ymm3))3473; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[3,8,13],zero,zero,zero,xmm13[1,6,11],zero,zero,zero,zero,xmm13[u,u,u]3474; AVX512DQ-NEXT:    vextracti128 $1, %ymm13, %xmm133475; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[2,7,12],zero,zero,zero,xmm13[0,5,10,15,u,u,u]3476; AVX512DQ-NEXT:    vpor %xmm14, %xmm13, %xmm133477; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm13 = (ymm13 & mem) | ymm123478; AVX512DQ-NEXT:    vpshufb %xmm11, %xmm7, %xmm73479; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero3480; AVX512DQ-NEXT:    vpor %xmm7, %xmm8, %xmm73481; AVX512DQ-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm73482; AVX512DQ-NEXT:    vpmovsxwq {{.*#+}} ymm8 = [18446744073709551615,18446744073709551615,18446744073709551615,255]3483; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (ymm8 & (ymm7 ^ ymm13))3484; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm3 ^ (ymm2 & (ymm5 ^ ymm3))3485; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm33486; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]3487; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]3488; AVX512DQ-NEXT:    vpor %xmm3, %xmm2, %xmm23489; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm1 ^ (ymm4 & (ymm0 ^ ymm1))3490; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm0 = ymm4[2,3,0,1]3491; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm4))3492; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]3493; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]3494; AVX512DQ-NEXT:    vmovdqa 128(%rdi), %ymm13495; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]3496; AVX512DQ-NEXT:    vpbroadcastq {{.*#+}} ymm2 = [0,5,0,5,0,5,0,5]3497; AVX512DQ-NEXT:    vpermd %ymm1, %ymm2, %ymm13498; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm1 ^ (ymm8 & (ymm1 ^ ymm0))3499; AVX512DQ-NEXT:    vmovdqa %ymm6, (%rsi)3500; AVX512DQ-NEXT:    vmovdqa %ymm9, (%rdx)3501; AVX512DQ-NEXT:    vmovdqa %ymm10, (%rcx)3502; AVX512DQ-NEXT:    vmovdqa %ymm7, (%r8)3503; AVX512DQ-NEXT:    vmovdqa %ymm1, (%r9)3504; AVX512DQ-NEXT:    vzeroupper3505; AVX512DQ-NEXT:    retq3506;3507; AVX512DQ-FCP-LABEL: load_i8_stride5_vf32:3508; AVX512DQ-FCP:       # %bb.0:3509; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm2 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]3510; AVX512DQ-FCP-NEXT:    vmovdqa (%rdi), %ymm33511; AVX512DQ-FCP-NEXT:    vmovdqa 32(%rdi), %ymm53512; AVX512DQ-FCP-NEXT:    vmovdqa 64(%rdi), %ymm03513; AVX512DQ-FCP-NEXT:    vmovdqa 96(%rdi), %ymm13514; AVX512DQ-FCP-NEXT:    vmovdqa %ymm2, %ymm43515; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm1 ^ (ymm4 & (ymm0 ^ ymm1))3516; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm6 = ymm4[2,3,0,1]3517; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm6 ^ (mem & (ymm6 ^ ymm4))3518; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm8 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,6,11,16,21,26,31,20,25,30,19,24,29,128,128,128,128,128,128]3519; AVX512DQ-FCP-NEXT:    vpshufb %ymm8, %ymm6, %ymm63520; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm4 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]3521; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, %ymm73522; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm5 ^ (ymm7 & (ymm3 ^ ymm5))3523; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm93524; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12,u,u,u]3525; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[0,5,10,15],zero,zero,zero,xmm7[3,8,13],zero,zero,zero,xmm7[u,u,u]3526; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm9, %xmm93527; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm11 = [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,255,255,255,255,255,255]3528; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = (ymm9 & ymm11) | ymm63529; AVX512DQ-FCP-NEXT:    vmovdqa 144(%rdi), %xmm73530; AVX512DQ-FCP-NEXT:    vpshufb %xmm8, %xmm7, %xmm63531; AVX512DQ-FCP-NEXT:    vmovdqa 128(%rdi), %xmm83532; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm8[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero3533; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm10, %xmm63534; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm63535; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm6 = ymm9[0,1,2,3,4],ymm6[5,6,7],ymm9[8,9,10,11,12],ymm6[13,14,15]3536; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm9[0,1,2,3],ymm6[4,5,6,7]3537; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]3538; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm93539; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm9 = ymm0 ^ (ymm9 & (ymm1 ^ ymm0))3540; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm12 = ymm9[2,3,0,1]3541; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (mem & (ymm12 ^ ymm9))3542; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm9 = [128,128,128,128,128,128,128,128,128,128,128,128,128,2,7,12,17,22,27,16,21,26,31,20,25,30,128,128,128,128,128,128]3543; AVX512DQ-FCP-NEXT:    vpshufb %ymm9, %ymm12, %ymm123544; AVX512DQ-FCP-NEXT:    vmovdqa %ymm2, %ymm133545; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm5 ^ (ymm13 & (ymm3 ^ ymm5))3546; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[1,6,11],zero,zero,zero,zero,xmm13[4,9,14],zero,zero,zero,xmm13[u,u,u]3547; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm133548; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[0,5,10,15],zero,zero,zero,xmm13[3,8,13,u,u,u]3549; AVX512DQ-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm133550; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = (ymm13 & ymm11) | ymm123551; AVX512DQ-FCP-NEXT:    vpshufb %xmm9, %xmm7, %xmm93552; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero3553; AVX512DQ-FCP-NEXT:    vpor %xmm9, %xmm12, %xmm93554; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm93555; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm9 = ymm13[0,1,2,3,4],ymm9[5,6,7],ymm13[8,9,10,11,12],ymm9[13,14,15]3556; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm9 = ymm13[0,1,2,3],ymm9[4,5,6,7]3557; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, %ymm123558; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm0 ^ (ymm12 & (ymm1 ^ ymm0))3559; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm12[2,3,0,1]3560; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm13 ^ (mem & (ymm13 ^ ymm12))3561; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm12 = [128,128,128,128,128,128,128,128,128,128,128,128,128,3,8,13,18,23,28,17,22,27,16,21,26,31,128,128,128,128,128,128]3562; AVX512DQ-FCP-NEXT:    vpshufb %ymm12, %ymm13, %ymm133563; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm3 ^ (ymm10 & (ymm5 ^ ymm3))3564; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm143565; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,zero,xmm14[1,6,11],zero,zero,zero,zero,xmm14[4,9,14,u,u,u]3566; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15],zero,zero,zero,xmm10[u,u,u]3567; AVX512DQ-FCP-NEXT:    vpor %xmm14, %xmm10, %xmm103568; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = (ymm10 & ymm11) | ymm133569; AVX512DQ-FCP-NEXT:    vpshufb %xmm12, %xmm7, %xmm113570; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm8[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero3571; AVX512DQ-FCP-NEXT:    vpor %xmm11, %xmm12, %xmm113572; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm113573; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} ymm11 = ymm10[0,1,2,3,4],ymm11[5,6,7],ymm10[8,9,10,11,12],ymm11[13,14,15]3574; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3],ymm11[4,5,6,7]3575; AVX512DQ-FCP-NEXT:    vmovdqa %ymm2, %ymm113576; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm0 ^ (ymm11 & (ymm1 ^ ymm0))3577; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm12 = ymm11[2,3,0,1]3578; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm12 = ymm12 ^ (mem & (ymm12 ^ ymm11))3579; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm11 = [128,128,128,128,128,128,128,128,128,128,128,128,128,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]3580; AVX512DQ-FCP-NEXT:    vpshufb %ymm11, %ymm12, %ymm123581; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, %ymm133582; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = ymm3 ^ (ymm13 & (ymm5 ^ ymm3))3583; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[3,8,13],zero,zero,zero,xmm13[1,6,11],zero,zero,zero,zero,xmm13[u,u,u]3584; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm133585; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[2,7,12],zero,zero,zero,xmm13[0,5,10,15,u,u,u]3586; AVX512DQ-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm133587; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm13 = (ymm13 & mem) | ymm123588; AVX512DQ-FCP-NEXT:    vpshufb %xmm11, %xmm7, %xmm73589; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero3590; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm8, %xmm73591; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm73592; AVX512DQ-FCP-NEXT:    vpmovsxwq {{.*#+}} ymm8 = [18446744073709551615,18446744073709551615,18446744073709551615,255]3593; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (ymm8 & (ymm7 ^ ymm13))3594; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm3 ^ (ymm2 & (ymm5 ^ ymm3))3595; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm33596; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]3597; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]3598; AVX512DQ-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm23599; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm1 ^ (ymm4 & (ymm0 ^ ymm1))3600; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm0 = ymm4[2,3,0,1]3601; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm4))3602; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]3603; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]3604; AVX512DQ-FCP-NEXT:    vmovdqa 128(%rdi), %ymm13605; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]3606; AVX512DQ-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm2 = [0,5,0,5,0,5,0,5]3607; AVX512DQ-FCP-NEXT:    vpermd %ymm1, %ymm2, %ymm13608; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm1 ^ (ymm8 & (ymm1 ^ ymm0))3609; AVX512DQ-FCP-NEXT:    vmovdqa %ymm6, (%rsi)3610; AVX512DQ-FCP-NEXT:    vmovdqa %ymm9, (%rdx)3611; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, (%rcx)3612; AVX512DQ-FCP-NEXT:    vmovdqa %ymm7, (%r8)3613; AVX512DQ-FCP-NEXT:    vmovdqa %ymm1, (%r9)3614; AVX512DQ-FCP-NEXT:    vzeroupper3615; AVX512DQ-FCP-NEXT:    retq3616;3617; AVX512BW-LABEL: load_i8_stride5_vf32:3618; AVX512BW:       # %bb.0:3619; AVX512BW-NEXT:    vmovdqa (%rdi), %ymm33620; AVX512BW-NEXT:    vmovdqa 32(%rdi), %ymm23621; AVX512BW-NEXT:    vmovdqa 64(%rdi), %ymm03622; AVX512BW-NEXT:    vmovdqa 96(%rdi), %ymm13623; AVX512BW-NEXT:    movw $21140, %ax # imm = 0x52943624; AVX512BW-NEXT:    kmovd %eax, %k13625; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm0, %ymm4 {%k1}3626; AVX512BW-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]3627; AVX512BW-NEXT:    movl $1108344832, %eax # imm = 0x421000003628; AVX512BW-NEXT:    kmovd %eax, %k23629; AVX512BW-NEXT:    vmovdqu8 %ymm5, %ymm4 {%k2}3630; AVX512BW-NEXT:    movw $19026, %ax # imm = 0x4A523631; AVX512BW-NEXT:    kmovd %eax, %k23632; AVX512BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm5 {%k2}3633; AVX512BW-NEXT:    vextracti128 $1, %ymm5, %xmm63634; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]3635; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]3636; AVX512BW-NEXT:    vpor %xmm6, %xmm5, %xmm53637; AVX512BW-NEXT:    movl $67100672, %eax # imm = 0x3FFE0003638; AVX512BW-NEXT:    kmovd %eax, %k33639; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm5 {%k3} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]3640; AVX512BW-NEXT:    vmovdqa 144(%rdi), %xmm63641; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[1,6,11]3642; AVX512BW-NEXT:    vmovdqa 128(%rdi), %xmm73643; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero3644; AVX512BW-NEXT:    vpor %xmm4, %xmm8, %xmm43645; AVX512BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm43646; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5,6,7],ymm5[8,9,10,11,12],ymm4[13,14,15]3647; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]3648; AVX512BW-NEXT:    movw $10570, %ax # imm = 0x294A3649; AVX512BW-NEXT:    kmovd %eax, %k43650; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm5 {%k4}3651; AVX512BW-NEXT:    vpermq {{.*#+}} ymm8 = ymm5[2,3,0,1]3652; AVX512BW-NEXT:    movl $-2078212096, %eax # imm = 0x842100003653; AVX512BW-NEXT:    kmovd %eax, %k53654; AVX512BW-NEXT:    vmovdqu8 %ymm8, %ymm5 {%k5}3655; AVX512BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm8 {%k1}3656; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm8[1,6,11],zero,zero,zero,zero,xmm8[4,9,14],zero,zero,zero,xmm8[u,u,u]3657; AVX512BW-NEXT:    vextracti128 $1, %ymm8, %xmm83658; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,xmm8[0,5,10,15],zero,zero,zero,xmm8[3,8,13,u,u,u]3659; AVX512BW-NEXT:    vpor %xmm9, %xmm8, %xmm83660; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm8 {%k3} = ymm5[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]3661; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[2,7,12]3662; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm7[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero3663; AVX512BW-NEXT:    vpor %xmm5, %xmm9, %xmm53664; AVX512BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm53665; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm5 = ymm8[0,1,2,3,4],ymm5[5,6,7],ymm8[8,9,10,11,12],ymm5[13,14,15]3666; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3],ymm5[4,5,6,7]3667; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm8 {%k2}3668; AVX512BW-NEXT:    vpermq {{.*#+}} ymm9 = ymm8[2,3,0,1]3669; AVX512BW-NEXT:    movl $138543104, %eax # imm = 0x84200003670; AVX512BW-NEXT:    kmovd %eax, %k53671; AVX512BW-NEXT:    vmovdqu8 %ymm9, %ymm8 {%k5}3672; AVX512BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm9 {%k4}3673; AVX512BW-NEXT:    vextracti128 $1, %ymm9, %xmm103674; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[4,9,14,u,u,u]3675; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[2,7,12],zero,zero,zero,xmm9[0,5,10,15],zero,zero,zero,xmm9[u,u,u]3676; AVX512BW-NEXT:    vpor %xmm10, %xmm9, %xmm93677; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm9 {%k3} = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]3678; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[3,8,13]3679; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm7[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero3680; AVX512BW-NEXT:    vpor %xmm8, %xmm10, %xmm83681; AVX512BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm83682; AVX512BW-NEXT:    vpblendw {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5,6,7],ymm9[8,9,10,11,12],ymm8[13,14,15]3683; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]3684; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm9 {%k1}3685; AVX512BW-NEXT:    vpermq {{.*#+}} ymm10 = ymm9[2,3,0,1]3686; AVX512BW-NEXT:    movl $277086208, %eax # imm = 0x108400003687; AVX512BW-NEXT:    kmovd %eax, %k33688; AVX512BW-NEXT:    vmovdqu8 %ymm10, %ymm9 {%k3}3689; AVX512BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm10 {%k2}3690; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm10[3,8,13],zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u]3691; AVX512BW-NEXT:    vextracti128 $1, %ymm10, %xmm103692; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15,u,u,u]3693; AVX512BW-NEXT:    vpor %xmm11, %xmm10, %xmm103694; AVX512BW-NEXT:    movl $33546240, %eax # imm = 0x1FFE0003695; AVX512BW-NEXT:    kmovd %eax, %k33696; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm10 {%k3} = ymm9[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]3697; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm6[4,9,14]3698; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero3699; AVX512BW-NEXT:    vpor %xmm6, %xmm7, %xmm63700; AVX512BW-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm63701; AVX512BW-NEXT:    movl $-33554432, %eax # imm = 0xFE0000003702; AVX512BW-NEXT:    kmovd %eax, %k33703; AVX512BW-NEXT:    vmovdqu8 %ymm6, %ymm10 {%k3}3704; AVX512BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k1}3705; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm33706; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]3707; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]3708; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm23709; AVX512BW-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k2}3710; AVX512BW-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]3711; AVX512BW-NEXT:    movl $554172416, %eax # imm = 0x210800003712; AVX512BW-NEXT:    kmovd %eax, %k13713; AVX512BW-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k1}3714; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]3715; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]3716; AVX512BW-NEXT:    vmovdqa 128(%rdi), %ymm13717; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]3718; AVX512BW-NEXT:    vpbroadcastq {{.*#+}} ymm2 = [0,5,0,5,0,5,0,5]3719; AVX512BW-NEXT:    vpermd %ymm1, %ymm2, %ymm13720; AVX512BW-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k3}3721; AVX512BW-NEXT:    vmovdqa %ymm4, (%rsi)3722; AVX512BW-NEXT:    vmovdqa %ymm5, (%rdx)3723; AVX512BW-NEXT:    vmovdqa %ymm8, (%rcx)3724; AVX512BW-NEXT:    vmovdqa %ymm10, (%r8)3725; AVX512BW-NEXT:    vmovdqa %ymm0, (%r9)3726; AVX512BW-NEXT:    vzeroupper3727; AVX512BW-NEXT:    retq3728;3729; AVX512BW-FCP-LABEL: load_i8_stride5_vf32:3730; AVX512BW-FCP:       # %bb.0:3731; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %ymm33732; AVX512BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm23733; AVX512BW-FCP-NEXT:    vmovdqa 64(%rdi), %ymm03734; AVX512BW-FCP-NEXT:    vmovdqa 96(%rdi), %ymm13735; AVX512BW-FCP-NEXT:    movw $21140, %ax # imm = 0x52943736; AVX512BW-FCP-NEXT:    kmovd %eax, %k13737; AVX512BW-FCP-NEXT:    vpblendmw %ymm1, %ymm0, %ymm4 {%k1}3738; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]3739; AVX512BW-FCP-NEXT:    movl $1108344832, %eax # imm = 0x421000003740; AVX512BW-FCP-NEXT:    kmovd %eax, %k23741; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm5, %ymm4 {%k2}3742; AVX512BW-FCP-NEXT:    movw $19026, %ax # imm = 0x4A523743; AVX512BW-FCP-NEXT:    kmovd %eax, %k23744; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm5 {%k2}3745; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm63746; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]3747; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]3748; AVX512BW-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm53749; AVX512BW-FCP-NEXT:    movl $67100672, %eax # imm = 0x3FFE0003750; AVX512BW-FCP-NEXT:    kmovd %eax, %k33751; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm5 {%k3} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]3752; AVX512BW-FCP-NEXT:    vmovdqa 144(%rdi), %xmm63753; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[1,6,11]3754; AVX512BW-FCP-NEXT:    vmovdqa 128(%rdi), %xmm73755; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero3756; AVX512BW-FCP-NEXT:    vpor %xmm4, %xmm8, %xmm43757; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm43758; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5,6,7],ymm5[8,9,10,11,12],ymm4[13,14,15]3759; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]3760; AVX512BW-FCP-NEXT:    movw $10570, %ax # imm = 0x294A3761; AVX512BW-FCP-NEXT:    kmovd %eax, %k43762; AVX512BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm5 {%k4}3763; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm8 = ymm5[2,3,0,1]3764; AVX512BW-FCP-NEXT:    movl $-2078212096, %eax # imm = 0x842100003765; AVX512BW-FCP-NEXT:    kmovd %eax, %k53766; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm8, %ymm5 {%k5}3767; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm8 {%k1}3768; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm8[1,6,11],zero,zero,zero,zero,xmm8[4,9,14],zero,zero,zero,xmm8[u,u,u]3769; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm83770; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,xmm8[0,5,10,15],zero,zero,zero,xmm8[3,8,13,u,u,u]3771; AVX512BW-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm83772; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm8 {%k3} = ymm5[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]3773; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[2,7,12]3774; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm7[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero3775; AVX512BW-FCP-NEXT:    vpor %xmm5, %xmm9, %xmm53776; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm53777; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} ymm5 = ymm8[0,1,2,3,4],ymm5[5,6,7],ymm8[8,9,10,11,12],ymm5[13,14,15]3778; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3],ymm5[4,5,6,7]3779; AVX512BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm8 {%k2}3780; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm9 = ymm8[2,3,0,1]3781; AVX512BW-FCP-NEXT:    movl $138543104, %eax # imm = 0x84200003782; AVX512BW-FCP-NEXT:    kmovd %eax, %k53783; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm9, %ymm8 {%k5}3784; AVX512BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm9 {%k4}3785; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm103786; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[4,9,14,u,u,u]3787; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[2,7,12],zero,zero,zero,xmm9[0,5,10,15],zero,zero,zero,xmm9[u,u,u]3788; AVX512BW-FCP-NEXT:    vpor %xmm10, %xmm9, %xmm93789; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm9 {%k3} = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]3790; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[3,8,13]3791; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm7[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero3792; AVX512BW-FCP-NEXT:    vpor %xmm8, %xmm10, %xmm83793; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm83794; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5,6,7],ymm9[8,9,10,11,12],ymm8[13,14,15]3795; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]3796; AVX512BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm9 {%k1}3797; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm10 = ymm9[2,3,0,1]3798; AVX512BW-FCP-NEXT:    movl $277086208, %eax # imm = 0x108400003799; AVX512BW-FCP-NEXT:    kmovd %eax, %k33800; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm10, %ymm9 {%k3}3801; AVX512BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm10 {%k2}3802; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm10[3,8,13],zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u]3803; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm103804; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15,u,u,u]3805; AVX512BW-FCP-NEXT:    vpor %xmm11, %xmm10, %xmm103806; AVX512BW-FCP-NEXT:    movl $33546240, %eax # imm = 0x1FFE0003807; AVX512BW-FCP-NEXT:    kmovd %eax, %k33808; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm10 {%k3} = ymm9[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]3809; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm6[4,9,14]3810; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero3811; AVX512BW-FCP-NEXT:    vpor %xmm6, %xmm7, %xmm63812; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm63813; AVX512BW-FCP-NEXT:    movl $-33554432, %eax # imm = 0xFE0000003814; AVX512BW-FCP-NEXT:    kmovd %eax, %k33815; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm6, %ymm10 {%k3}3816; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k1}3817; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm33818; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]3819; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]3820; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm23821; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k2}3822; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]3823; AVX512BW-FCP-NEXT:    movl $554172416, %eax # imm = 0x210800003824; AVX512BW-FCP-NEXT:    kmovd %eax, %k13825; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k1}3826; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]3827; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]3828; AVX512BW-FCP-NEXT:    vmovdqa 128(%rdi), %ymm13829; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]3830; AVX512BW-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm2 = [0,5,0,5,0,5,0,5]3831; AVX512BW-FCP-NEXT:    vpermd %ymm1, %ymm2, %ymm13832; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k3}3833; AVX512BW-FCP-NEXT:    vmovdqa %ymm4, (%rsi)3834; AVX512BW-FCP-NEXT:    vmovdqa %ymm5, (%rdx)3835; AVX512BW-FCP-NEXT:    vmovdqa %ymm8, (%rcx)3836; AVX512BW-FCP-NEXT:    vmovdqa %ymm10, (%r8)3837; AVX512BW-FCP-NEXT:    vmovdqa %ymm0, (%r9)3838; AVX512BW-FCP-NEXT:    vzeroupper3839; AVX512BW-FCP-NEXT:    retq3840;3841; AVX512DQ-BW-LABEL: load_i8_stride5_vf32:3842; AVX512DQ-BW:       # %bb.0:3843; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %ymm33844; AVX512DQ-BW-NEXT:    vmovdqa 32(%rdi), %ymm23845; AVX512DQ-BW-NEXT:    vmovdqa 64(%rdi), %ymm03846; AVX512DQ-BW-NEXT:    vmovdqa 96(%rdi), %ymm13847; AVX512DQ-BW-NEXT:    movw $21140, %ax # imm = 0x52943848; AVX512DQ-BW-NEXT:    kmovd %eax, %k13849; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm0, %ymm4 {%k1}3850; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]3851; AVX512DQ-BW-NEXT:    movl $1108344832, %eax # imm = 0x421000003852; AVX512DQ-BW-NEXT:    kmovd %eax, %k23853; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm5, %ymm4 {%k2}3854; AVX512DQ-BW-NEXT:    movw $19026, %ax # imm = 0x4A523855; AVX512DQ-BW-NEXT:    kmovd %eax, %k23856; AVX512DQ-BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm5 {%k2}3857; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm5, %xmm63858; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]3859; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]3860; AVX512DQ-BW-NEXT:    vpor %xmm6, %xmm5, %xmm53861; AVX512DQ-BW-NEXT:    movl $67100672, %eax # imm = 0x3FFE0003862; AVX512DQ-BW-NEXT:    kmovd %eax, %k33863; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm5 {%k3} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]3864; AVX512DQ-BW-NEXT:    vmovdqa 144(%rdi), %xmm63865; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm4 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[1,6,11]3866; AVX512DQ-BW-NEXT:    vmovdqa 128(%rdi), %xmm73867; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero3868; AVX512DQ-BW-NEXT:    vpor %xmm4, %xmm8, %xmm43869; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm43870; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5,6,7],ymm5[8,9,10,11,12],ymm4[13,14,15]3871; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]3872; AVX512DQ-BW-NEXT:    movw $10570, %ax # imm = 0x294A3873; AVX512DQ-BW-NEXT:    kmovd %eax, %k43874; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm5 {%k4}3875; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm8 = ymm5[2,3,0,1]3876; AVX512DQ-BW-NEXT:    movl $-2078212096, %eax # imm = 0x842100003877; AVX512DQ-BW-NEXT:    kmovd %eax, %k53878; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm8, %ymm5 {%k5}3879; AVX512DQ-BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm8 {%k1}3880; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm8[1,6,11],zero,zero,zero,zero,xmm8[4,9,14],zero,zero,zero,xmm8[u,u,u]3881; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm8, %xmm83882; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,xmm8[0,5,10,15],zero,zero,zero,xmm8[3,8,13,u,u,u]3883; AVX512DQ-BW-NEXT:    vpor %xmm9, %xmm8, %xmm83884; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm8 {%k3} = ymm5[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]3885; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[2,7,12]3886; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm7[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero3887; AVX512DQ-BW-NEXT:    vpor %xmm5, %xmm9, %xmm53888; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm53889; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm5 = ymm8[0,1,2,3,4],ymm5[5,6,7],ymm8[8,9,10,11,12],ymm5[13,14,15]3890; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3],ymm5[4,5,6,7]3891; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm8 {%k2}3892; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm9 = ymm8[2,3,0,1]3893; AVX512DQ-BW-NEXT:    movl $138543104, %eax # imm = 0x84200003894; AVX512DQ-BW-NEXT:    kmovd %eax, %k53895; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm9, %ymm8 {%k5}3896; AVX512DQ-BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm9 {%k4}3897; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm9, %xmm103898; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[4,9,14,u,u,u]3899; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[2,7,12],zero,zero,zero,xmm9[0,5,10,15],zero,zero,zero,xmm9[u,u,u]3900; AVX512DQ-BW-NEXT:    vpor %xmm10, %xmm9, %xmm93901; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm9 {%k3} = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]3902; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[3,8,13]3903; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm7[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero3904; AVX512DQ-BW-NEXT:    vpor %xmm8, %xmm10, %xmm83905; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm83906; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5,6,7],ymm9[8,9,10,11,12],ymm8[13,14,15]3907; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]3908; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm9 {%k1}3909; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm10 = ymm9[2,3,0,1]3910; AVX512DQ-BW-NEXT:    movl $277086208, %eax # imm = 0x108400003911; AVX512DQ-BW-NEXT:    kmovd %eax, %k33912; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm10, %ymm9 {%k3}3913; AVX512DQ-BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm10 {%k2}3914; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm10[3,8,13],zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u]3915; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm10, %xmm103916; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15,u,u,u]3917; AVX512DQ-BW-NEXT:    vpor %xmm11, %xmm10, %xmm103918; AVX512DQ-BW-NEXT:    movl $33546240, %eax # imm = 0x1FFE0003919; AVX512DQ-BW-NEXT:    kmovd %eax, %k33920; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm10 {%k3} = ymm9[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]3921; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm6[4,9,14]3922; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero3923; AVX512DQ-BW-NEXT:    vpor %xmm6, %xmm7, %xmm63924; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm63925; AVX512DQ-BW-NEXT:    movl $-33554432, %eax # imm = 0xFE0000003926; AVX512DQ-BW-NEXT:    kmovd %eax, %k33927; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm6, %ymm10 {%k3}3928; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k1}3929; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm33930; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]3931; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]3932; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm23933; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k2}3934; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]3935; AVX512DQ-BW-NEXT:    movl $554172416, %eax # imm = 0x210800003936; AVX512DQ-BW-NEXT:    kmovd %eax, %k13937; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k1}3938; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]3939; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]3940; AVX512DQ-BW-NEXT:    vmovdqa 128(%rdi), %ymm13941; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]3942; AVX512DQ-BW-NEXT:    vpbroadcastq {{.*#+}} ymm2 = [0,5,0,5,0,5,0,5]3943; AVX512DQ-BW-NEXT:    vpermd %ymm1, %ymm2, %ymm13944; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k3}3945; AVX512DQ-BW-NEXT:    vmovdqa %ymm4, (%rsi)3946; AVX512DQ-BW-NEXT:    vmovdqa %ymm5, (%rdx)3947; AVX512DQ-BW-NEXT:    vmovdqa %ymm8, (%rcx)3948; AVX512DQ-BW-NEXT:    vmovdqa %ymm10, (%r8)3949; AVX512DQ-BW-NEXT:    vmovdqa %ymm0, (%r9)3950; AVX512DQ-BW-NEXT:    vzeroupper3951; AVX512DQ-BW-NEXT:    retq3952;3953; AVX512DQ-BW-FCP-LABEL: load_i8_stride5_vf32:3954; AVX512DQ-BW-FCP:       # %bb.0:3955; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %ymm33956; AVX512DQ-BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm23957; AVX512DQ-BW-FCP-NEXT:    vmovdqa 64(%rdi), %ymm03958; AVX512DQ-BW-FCP-NEXT:    vmovdqa 96(%rdi), %ymm13959; AVX512DQ-BW-FCP-NEXT:    movw $21140, %ax # imm = 0x52943960; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k13961; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm1, %ymm0, %ymm4 {%k1}3962; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]3963; AVX512DQ-BW-FCP-NEXT:    movl $1108344832, %eax # imm = 0x421000003964; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k23965; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm5, %ymm4 {%k2}3966; AVX512DQ-BW-FCP-NEXT:    movw $19026, %ax # imm = 0x4A523967; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k23968; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm5 {%k2}3969; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm63970; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]3971; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]3972; AVX512DQ-BW-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm53973; AVX512DQ-BW-FCP-NEXT:    movl $67100672, %eax # imm = 0x3FFE0003974; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k33975; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm5 {%k3} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]3976; AVX512DQ-BW-FCP-NEXT:    vmovdqa 144(%rdi), %xmm63977; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm4 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[1,6,11]3978; AVX512DQ-BW-FCP-NEXT:    vmovdqa 128(%rdi), %xmm73979; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm7[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero3980; AVX512DQ-BW-FCP-NEXT:    vpor %xmm4, %xmm8, %xmm43981; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm43982; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm5[0,1,2,3,4],ymm4[5,6,7],ymm5[8,9,10,11,12],ymm4[13,14,15]3983; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]3984; AVX512DQ-BW-FCP-NEXT:    movw $10570, %ax # imm = 0x294A3985; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k43986; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm5 {%k4}3987; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm8 = ymm5[2,3,0,1]3988; AVX512DQ-BW-FCP-NEXT:    movl $-2078212096, %eax # imm = 0x842100003989; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k53990; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm8, %ymm5 {%k5}3991; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm8 {%k1}3992; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm8[1,6,11],zero,zero,zero,zero,xmm8[4,9,14],zero,zero,zero,xmm8[u,u,u]3993; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm83994; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,xmm8[0,5,10,15],zero,zero,zero,xmm8[3,8,13,u,u,u]3995; AVX512DQ-BW-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm83996; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm8 {%k3} = ymm5[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]3997; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[2,7,12]3998; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm7[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero3999; AVX512DQ-BW-FCP-NEXT:    vpor %xmm5, %xmm9, %xmm54000; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm5, %ymm0, %ymm54001; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} ymm5 = ymm8[0,1,2,3,4],ymm5[5,6,7],ymm8[8,9,10,11,12],ymm5[13,14,15]4002; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm5 = ymm8[0,1,2,3],ymm5[4,5,6,7]4003; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm8 {%k2}4004; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm9 = ymm8[2,3,0,1]4005; AVX512DQ-BW-FCP-NEXT:    movl $138543104, %eax # imm = 0x84200004006; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k54007; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm9, %ymm8 {%k5}4008; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm9 {%k4}4009; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm104010; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[4,9,14,u,u,u]4011; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm9[2,7,12],zero,zero,zero,xmm9[0,5,10,15],zero,zero,zero,xmm9[u,u,u]4012; AVX512DQ-BW-FCP-NEXT:    vpor %xmm10, %xmm9, %xmm94013; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm9 {%k3} = ymm8[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]4014; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm6[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm6[3,8,13]4015; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm7[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero4016; AVX512DQ-BW-FCP-NEXT:    vpor %xmm8, %xmm10, %xmm84017; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm84018; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm9[0,1,2,3,4],ymm8[5,6,7],ymm9[8,9,10,11,12],ymm8[13,14,15]4019; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm9[0,1,2,3],ymm8[4,5,6,7]4020; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm9 {%k1}4021; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm10 = ymm9[2,3,0,1]4022; AVX512DQ-BW-FCP-NEXT:    movl $277086208, %eax # imm = 0x108400004023; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k34024; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm10, %ymm9 {%k3}4025; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm10 {%k2}4026; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm10[3,8,13],zero,zero,zero,xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u]4027; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm104028; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = zero,zero,zero,xmm10[2,7,12],zero,zero,zero,xmm10[0,5,10,15,u,u,u]4029; AVX512DQ-BW-FCP-NEXT:    vpor %xmm11, %xmm10, %xmm104030; AVX512DQ-BW-FCP-NEXT:    movl $33546240, %eax # imm = 0x1FFE0004031; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k34032; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm10 {%k3} = ymm9[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]4033; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm6[4,9,14]4034; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm7[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero4035; AVX512DQ-BW-FCP-NEXT:    vpor %xmm6, %xmm7, %xmm64036; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm64037; AVX512DQ-BW-FCP-NEXT:    movl $-33554432, %eax # imm = 0xFE0000004038; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k34039; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm6, %ymm10 {%k3}4040; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k1}4041; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm34042; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]4043; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]4044; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm24045; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k2}4046; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]4047; AVX512DQ-BW-FCP-NEXT:    movl $554172416, %eax # imm = 0x210800004048; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k14049; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k1}4050; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]4051; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]4052; AVX512DQ-BW-FCP-NEXT:    vmovdqa 128(%rdi), %ymm14053; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]4054; AVX512DQ-BW-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm2 = [0,5,0,5,0,5,0,5]4055; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm1, %ymm2, %ymm14056; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k3}4057; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm4, (%rsi)4058; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm5, (%rdx)4059; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm8, (%rcx)4060; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm10, (%r8)4061; AVX512DQ-BW-FCP-NEXT:    vmovdqa %ymm0, (%r9)4062; AVX512DQ-BW-FCP-NEXT:    vzeroupper4063; AVX512DQ-BW-FCP-NEXT:    retq4064  %wide.vec = load <160 x i8>, ptr %in.vec, align 644065  %strided.vec0 = shufflevector <160 x i8> %wide.vec, <160 x i8> poison, <32 x i32> <i32 0, i32 5, i32 10, i32 15, i32 20, i32 25, i32 30, i32 35, i32 40, i32 45, i32 50, i32 55, i32 60, i32 65, i32 70, i32 75, i32 80, i32 85, i32 90, i32 95, i32 100, i32 105, i32 110, i32 115, i32 120, i32 125, i32 130, i32 135, i32 140, i32 145, i32 150, i32 155>4066  %strided.vec1 = shufflevector <160 x i8> %wide.vec, <160 x i8> poison, <32 x i32> <i32 1, i32 6, i32 11, i32 16, i32 21, i32 26, i32 31, i32 36, i32 41, i32 46, i32 51, i32 56, i32 61, i32 66, i32 71, i32 76, i32 81, i32 86, i32 91, i32 96, i32 101, i32 106, i32 111, i32 116, i32 121, i32 126, i32 131, i32 136, i32 141, i32 146, i32 151, i32 156>4067  %strided.vec2 = shufflevector <160 x i8> %wide.vec, <160 x i8> poison, <32 x i32> <i32 2, i32 7, i32 12, i32 17, i32 22, i32 27, i32 32, i32 37, i32 42, i32 47, i32 52, i32 57, i32 62, i32 67, i32 72, i32 77, i32 82, i32 87, i32 92, i32 97, i32 102, i32 107, i32 112, i32 117, i32 122, i32 127, i32 132, i32 137, i32 142, i32 147, i32 152, i32 157>4068  %strided.vec3 = shufflevector <160 x i8> %wide.vec, <160 x i8> poison, <32 x i32> <i32 3, i32 8, i32 13, i32 18, i32 23, i32 28, i32 33, i32 38, i32 43, i32 48, i32 53, i32 58, i32 63, i32 68, i32 73, i32 78, i32 83, i32 88, i32 93, i32 98, i32 103, i32 108, i32 113, i32 118, i32 123, i32 128, i32 133, i32 138, i32 143, i32 148, i32 153, i32 158>4069  %strided.vec4 = shufflevector <160 x i8> %wide.vec, <160 x i8> poison, <32 x i32> <i32 4, i32 9, i32 14, i32 19, i32 24, i32 29, i32 34, i32 39, i32 44, i32 49, i32 54, i32 59, i32 64, i32 69, i32 74, i32 79, i32 84, i32 89, i32 94, i32 99, i32 104, i32 109, i32 114, i32 119, i32 124, i32 129, i32 134, i32 139, i32 144, i32 149, i32 154, i32 159>4070  store <32 x i8> %strided.vec0, ptr %out.vec0, align 644071  store <32 x i8> %strided.vec1, ptr %out.vec1, align 644072  store <32 x i8> %strided.vec2, ptr %out.vec2, align 644073  store <32 x i8> %strided.vec3, ptr %out.vec3, align 644074  store <32 x i8> %strided.vec4, ptr %out.vec4, align 644075  ret void4076}4077 4078define void @load_i8_stride5_vf64(ptr %in.vec, ptr %out.vec0, ptr %out.vec1, ptr %out.vec2, ptr %out.vec3, ptr %out.vec4) nounwind {4079; SSE-LABEL: load_i8_stride5_vf64:4080; SSE:       # %bb.0:4081; SSE-NEXT:    subq $552, %rsp # imm = 0x2284082; SSE-NEXT:    movdqa 160(%rdi), %xmm94083; SSE-NEXT:    movdqa 176(%rdi), %xmm34084; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4085; SSE-NEXT:    movdqa 208(%rdi), %xmm44086; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4087; SSE-NEXT:    movdqa 192(%rdi), %xmm14088; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4089; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [255,255,255,0,255,255,255,255,0,255,255,255,255,0,255,255]4090; SSE-NEXT:    movdqa %xmm2, %xmm04091; SSE-NEXT:    pandn %xmm1, %xmm04092; SSE-NEXT:    movdqa %xmm4, %xmm14093; SSE-NEXT:    pand %xmm2, %xmm14094; SSE-NEXT:    movdqa %xmm2, %xmm144095; SSE-NEXT:    por %xmm0, %xmm14096; SSE-NEXT:    pxor %xmm12, %xmm124097; SSE-NEXT:    movdqa %xmm1, %xmm04098; 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]4099; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm0[0,1,1,3]4100; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,7,6,7]4101; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm12[8],xmm1[9],xmm12[9],xmm1[10],xmm12[10],xmm1[11],xmm12[11],xmm1[12],xmm12[12],xmm1[13],xmm12[13],xmm1[14],xmm12[14],xmm1[15],xmm12[15]4102; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]4103; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,4,7]4104; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm2[2],xmm1[3],xmm2[3]4105; SSE-NEXT:    packuswb %xmm1, %xmm04106; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,2,3]4107; SSE-NEXT:    movdqa {{.*#+}} xmm11 = [255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255]4108; SSE-NEXT:    movdqa %xmm11, %xmm14109; SSE-NEXT:    pandn %xmm0, %xmm14110; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [255,255,255,255,0,255,255,255,255,0,255,255,255,255,0,255]4111; SSE-NEXT:    movdqa %xmm10, %xmm04112; SSE-NEXT:    pandn %xmm3, %xmm04113; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [255,0,255,255,255,255,0,255,255,255,255,0,255,255,255,255]4114; SSE-NEXT:    movdqa %xmm2, %xmm34115; SSE-NEXT:    movdqa %xmm2, %xmm44116; SSE-NEXT:    pandn %xmm9, %xmm34117; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4118; SSE-NEXT:    movdqa {{.*#+}} xmm7 = [255,255,0,255,255,255,255,0,255,255,255,255,0,255,255,255]4119; SSE-NEXT:    movdqa %xmm7, %xmm34120; SSE-NEXT:    pandn %xmm9, %xmm34121; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4122; SSE-NEXT:    movdqa %xmm14, %xmm24123; SSE-NEXT:    pandn %xmm9, %xmm24124; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4125; SSE-NEXT:    movdqa %xmm10, %xmm24126; SSE-NEXT:    pandn %xmm9, %xmm24127; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4128; SSE-NEXT:    pand %xmm10, %xmm94129; SSE-NEXT:    por %xmm0, %xmm94130; SSE-NEXT:    movdqa %xmm9, %xmm04131; 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]4132; SSE-NEXT:    movdqa {{.*#+}} xmm8 = [0,65535,65535,65535,0,0,65535,65535]4133; SSE-NEXT:    movdqa %xmm8, %xmm24134; SSE-NEXT:    pandn %xmm0, %xmm24135; 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]4136; SSE-NEXT:    pand %xmm8, %xmm94137; SSE-NEXT:    por %xmm2, %xmm94138; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm9[0,2,1,3,4,5,6,7]4139; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,5,7]4140; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,1]4141; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,2,1,3,4,5,6,7]4142; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,5,7]4143; SSE-NEXT:    packuswb %xmm0, %xmm04144; SSE-NEXT:    pand %xmm11, %xmm04145; SSE-NEXT:    por %xmm1, %xmm04146; SSE-NEXT:    movdqa 224(%rdi), %xmm34147; SSE-NEXT:    movdqa %xmm3, %xmm24148; SSE-NEXT:    pxor %xmm1, %xmm14149; 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]4150; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4151; 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]4152; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4153; SSE-NEXT:    pxor %xmm9, %xmm94154; SSE-NEXT:    movdqa %xmm3, %xmm14155; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[1,0],xmm2[0,0]4156; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[2,0],xmm2[2,3]4157; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[3,1,2,3,4,5,6,7]4158; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,0,3]4159; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,4]4160; SSE-NEXT:    packuswb %xmm1, %xmm14161; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0]4162; SSE-NEXT:    movdqa %xmm6, %xmm24163; SSE-NEXT:    pandn %xmm1, %xmm24164; SSE-NEXT:    pand %xmm6, %xmm04165; SSE-NEXT:    por %xmm0, %xmm24166; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4167; SSE-NEXT:    movdqa 32(%rdi), %xmm14168; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4169; SSE-NEXT:    movdqa %xmm14, %xmm04170; SSE-NEXT:    pandn %xmm1, %xmm04171; SSE-NEXT:    movdqa 48(%rdi), %xmm154172; SSE-NEXT:    movdqa %xmm15, %xmm14173; SSE-NEXT:    pand %xmm14, %xmm14174; SSE-NEXT:    por %xmm0, %xmm14175; SSE-NEXT:    movdqa %xmm1, %xmm04176; 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]4177; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm0[0,1,1,3]4178; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,7,6,7]4179; 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]4180; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]4181; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,4,7]4182; SSE-NEXT:    punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm2[2],xmm1[3],xmm2[3]4183; SSE-NEXT:    packuswb %xmm1, %xmm04184; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,0,2,3]4185; SSE-NEXT:    movdqa %xmm11, %xmm14186; SSE-NEXT:    pandn %xmm0, %xmm14187; SSE-NEXT:    movdqa 16(%rdi), %xmm04188; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4189; SSE-NEXT:    movdqa %xmm10, %xmm24190; SSE-NEXT:    pandn %xmm0, %xmm24191; SSE-NEXT:    movdqa (%rdi), %xmm34192; SSE-NEXT:    movdqa %xmm4, %xmm04193; SSE-NEXT:    pandn %xmm3, %xmm44194; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4195; SSE-NEXT:    movdqa %xmm7, %xmm44196; SSE-NEXT:    pandn %xmm3, %xmm44197; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4198; SSE-NEXT:    movdqa %xmm14, %xmm44199; SSE-NEXT:    pandn %xmm3, %xmm44200; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4201; SSE-NEXT:    movdqa %xmm10, %xmm44202; SSE-NEXT:    pandn %xmm3, %xmm44203; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4204; SSE-NEXT:    pand %xmm10, %xmm34205; SSE-NEXT:    por %xmm2, %xmm34206; SSE-NEXT:    movdqa %xmm3, %xmm24207; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm9[0],xmm2[1],xmm9[1],xmm2[2],xmm9[2],xmm2[3],xmm9[3],xmm2[4],xmm9[4],xmm2[5],xmm9[5],xmm2[6],xmm9[6],xmm2[7],xmm9[7]4208; SSE-NEXT:    movdqa %xmm8, %xmm44209; SSE-NEXT:    pandn %xmm2, %xmm44210; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm9[8],xmm3[9],xmm9[9],xmm3[10],xmm9[10],xmm3[11],xmm9[11],xmm3[12],xmm9[12],xmm3[13],xmm9[13],xmm3[14],xmm9[14],xmm3[15],xmm9[15]4211; SSE-NEXT:    pand %xmm8, %xmm34212; SSE-NEXT:    por %xmm4, %xmm34213; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm3[0,2,1,3,4,5,6,7]4214; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,5,7]4215; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,3,2,1]4216; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,2,1,3,4,5,6,7]4217; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,5,7]4218; SSE-NEXT:    packuswb %xmm2, %xmm24219; SSE-NEXT:    pand %xmm11, %xmm24220; SSE-NEXT:    por %xmm1, %xmm24221; SSE-NEXT:    movdqa 64(%rdi), %xmm14222; SSE-NEXT:    movdqa %xmm1, %xmm34223; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm9[0],xmm3[1],xmm9[1],xmm3[2],xmm9[2],xmm3[3],xmm9[3],xmm3[4],xmm9[4],xmm3[5],xmm9[5],xmm3[6],xmm9[6],xmm3[7],xmm9[7]4224; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4225; 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]4226; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4227; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[1,0],xmm3[0,0]4228; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[2,0],xmm3[2,3]4229; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[3,1,2,3,4,5,6,7]4230; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,0,3]4231; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,4]4232; SSE-NEXT:    packuswb %xmm1, %xmm14233; SSE-NEXT:    movdqa %xmm6, %xmm34234; SSE-NEXT:    pandn %xmm1, %xmm34235; SSE-NEXT:    pand %xmm6, %xmm24236; SSE-NEXT:    por %xmm2, %xmm34237; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4238; SSE-NEXT:    movdqa 272(%rdi), %xmm24239; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4240; SSE-NEXT:    movdqa %xmm14, %xmm14241; SSE-NEXT:    pandn %xmm2, %xmm14242; SSE-NEXT:    movdqa 288(%rdi), %xmm134243; SSE-NEXT:    movdqa %xmm13, %xmm24244; SSE-NEXT:    pand %xmm14, %xmm24245; SSE-NEXT:    por %xmm1, %xmm24246; SSE-NEXT:    movdqa %xmm2, %xmm14247; 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]4248; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm1[0,1,1,3]4249; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,7,6,7]4250; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm9[8],xmm2[9],xmm9[9],xmm2[10],xmm9[10],xmm2[11],xmm9[11],xmm2[12],xmm9[12],xmm2[13],xmm9[13],xmm2[14],xmm9[14],xmm2[15],xmm9[15]4251; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,0]4252; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,6,5,4,7]4253; SSE-NEXT:    punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm3[2],xmm2[3],xmm3[3]4254; SSE-NEXT:    packuswb %xmm2, %xmm14255; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,0,2,3]4256; SSE-NEXT:    movdqa %xmm11, %xmm24257; SSE-NEXT:    pandn %xmm1, %xmm24258; SSE-NEXT:    movdqa 256(%rdi), %xmm14259; SSE-NEXT:    movdqa %xmm1, (%rsp) # 16-byte Spill4260; SSE-NEXT:    movdqa %xmm10, %xmm44261; SSE-NEXT:    pandn %xmm1, %xmm44262; SSE-NEXT:    movdqa 240(%rdi), %xmm34263; SSE-NEXT:    movdqa %xmm0, %xmm14264; SSE-NEXT:    pandn %xmm3, %xmm14265; SSE-NEXT:    pandn %xmm3, %xmm74266; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4267; SSE-NEXT:    movdqa %xmm14, %xmm74268; SSE-NEXT:    pandn %xmm3, %xmm74269; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4270; SSE-NEXT:    movdqa %xmm10, %xmm74271; SSE-NEXT:    pandn %xmm3, %xmm74272; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4273; SSE-NEXT:    pand %xmm10, %xmm34274; SSE-NEXT:    por %xmm4, %xmm34275; SSE-NEXT:    movdqa %xmm3, %xmm44276; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm9[0],xmm4[1],xmm9[1],xmm4[2],xmm9[2],xmm4[3],xmm9[3],xmm4[4],xmm9[4],xmm4[5],xmm9[5],xmm4[6],xmm9[6],xmm4[7],xmm9[7]4277; SSE-NEXT:    movdqa %xmm8, %xmm74278; SSE-NEXT:    pandn %xmm4, %xmm74279; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm9[8],xmm3[9],xmm9[9],xmm3[10],xmm9[10],xmm3[11],xmm9[11],xmm3[12],xmm9[12],xmm3[13],xmm9[13],xmm3[14],xmm9[14],xmm3[15],xmm9[15]4280; SSE-NEXT:    pand %xmm8, %xmm34281; SSE-NEXT:    por %xmm7, %xmm34282; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,2,1,3,4,5,6,7]4283; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,6,5,7]4284; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,3,2,1]4285; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,2,1,3,4,5,6,7]4286; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,6,5,7]4287; SSE-NEXT:    packuswb %xmm3, %xmm34288; SSE-NEXT:    pand %xmm11, %xmm34289; SSE-NEXT:    por %xmm2, %xmm34290; SSE-NEXT:    movdqa 304(%rdi), %xmm24291; SSE-NEXT:    movdqa %xmm2, %xmm44292; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm9[0],xmm4[1],xmm9[1],xmm4[2],xmm9[2],xmm4[3],xmm9[3],xmm4[4],xmm9[4],xmm4[5],xmm9[5],xmm4[6],xmm9[6],xmm4[7],xmm9[7]4293; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4294; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm9[8],xmm2[9],xmm9[9],xmm2[10],xmm9[10],xmm2[11],xmm9[11],xmm2[12],xmm9[12],xmm2[13],xmm9[13],xmm2[14],xmm9[14],xmm2[15],xmm9[15]4295; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4296; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[1,0],xmm4[0,0]4297; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[2,0],xmm4[2,3]4298; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[3,1,2,3,4,5,6,7]4299; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,0,3]4300; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,6,4]4301; SSE-NEXT:    packuswb %xmm2, %xmm24302; SSE-NEXT:    movdqa %xmm6, %xmm44303; SSE-NEXT:    pandn %xmm2, %xmm44304; SSE-NEXT:    pand %xmm6, %xmm34305; SSE-NEXT:    por %xmm3, %xmm44306; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4307; SSE-NEXT:    movdqa 112(%rdi), %xmm34308; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4309; SSE-NEXT:    movdqa %xmm14, %xmm24310; SSE-NEXT:    pandn %xmm3, %xmm24311; SSE-NEXT:    movdqa 128(%rdi), %xmm34312; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4313; SSE-NEXT:    pand %xmm14, %xmm34314; SSE-NEXT:    por %xmm2, %xmm34315; SSE-NEXT:    movdqa %xmm3, %xmm24316; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm9[0],xmm2[1],xmm9[1],xmm2[2],xmm9[2],xmm2[3],xmm9[3],xmm2[4],xmm9[4],xmm2[5],xmm9[5],xmm2[6],xmm9[6],xmm2[7],xmm9[7]4317; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm2[0,1,1,3]4318; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,7,6,7]4319; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm9[8],xmm3[9],xmm9[9],xmm3[10],xmm9[10],xmm3[11],xmm9[11],xmm3[12],xmm9[12],xmm3[13],xmm9[13],xmm3[14],xmm9[14],xmm3[15],xmm9[15]4320; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,0]4321; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,6,5,4,7]4322; SSE-NEXT:    punpckhdq {{.*#+}} xmm3 = xmm3[2],xmm4[2],xmm3[3],xmm4[3]4323; SSE-NEXT:    packuswb %xmm3, %xmm24324; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,0,2,3]4325; SSE-NEXT:    movdqa %xmm11, %xmm34326; SSE-NEXT:    pandn %xmm2, %xmm34327; SSE-NEXT:    movdqa 96(%rdi), %xmm44328; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4329; SSE-NEXT:    movdqa %xmm10, %xmm24330; SSE-NEXT:    pandn %xmm4, %xmm24331; SSE-NEXT:    movdqa 80(%rdi), %xmm44332; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4333; SSE-NEXT:    pand %xmm10, %xmm44334; SSE-NEXT:    por %xmm2, %xmm44335; SSE-NEXT:    movdqa %xmm4, %xmm24336; SSE-NEXT:    punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm9[0],xmm2[1],xmm9[1],xmm2[2],xmm9[2],xmm2[3],xmm9[3],xmm2[4],xmm9[4],xmm2[5],xmm9[5],xmm2[6],xmm9[6],xmm2[7],xmm9[7]4337; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm9[8],xmm4[9],xmm9[9],xmm4[10],xmm9[10],xmm4[11],xmm9[11],xmm4[12],xmm9[12],xmm4[13],xmm9[13],xmm4[14],xmm9[14],xmm4[15],xmm9[15]4338; SSE-NEXT:    pand %xmm8, %xmm44339; SSE-NEXT:    pandn %xmm2, %xmm84340; SSE-NEXT:    por %xmm4, %xmm84341; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm8[0,2,1,3,4,5,6,7]4342; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,5,7]4343; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,3,2,1]4344; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,2,1,3,4,5,6,7]4345; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,5,7]4346; SSE-NEXT:    packuswb %xmm2, %xmm24347; SSE-NEXT:    pand %xmm11, %xmm24348; SSE-NEXT:    por %xmm3, %xmm24349; SSE-NEXT:    movdqa 144(%rdi), %xmm124350; SSE-NEXT:    movdqa %xmm12, %xmm44351; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm9[0],xmm4[1],xmm9[1],xmm4[2],xmm9[2],xmm4[3],xmm9[3],xmm4[4],xmm9[4],xmm4[5],xmm9[5],xmm4[6],xmm9[6],xmm4[7],xmm9[7]4352; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4353; SSE-NEXT:    punpckhbw {{.*#+}} xmm12 = xmm12[8],xmm9[8],xmm12[9],xmm9[9],xmm12[10],xmm9[10],xmm12[11],xmm9[11],xmm12[12],xmm9[12],xmm12[13],xmm9[13],xmm12[14],xmm9[14],xmm12[15],xmm9[15]4354; SSE-NEXT:    movdqa %xmm12, %xmm34355; SSE-NEXT:    movdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4356; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[1,0],xmm4[0,0]4357; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[2,0],xmm4[2,3]4358; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[3,1,2,3,4,5,6,7]4359; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,0,3]4360; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,6,4]4361; SSE-NEXT:    packuswb %xmm3, %xmm34362; SSE-NEXT:    movdqa %xmm6, %xmm144363; SSE-NEXT:    movdqa %xmm6, %xmm44364; SSE-NEXT:    pandn %xmm3, %xmm44365; SSE-NEXT:    pand %xmm6, %xmm24366; SSE-NEXT:    por %xmm2, %xmm44367; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4368; SSE-NEXT:    movdqa %xmm10, %xmm24369; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4370; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4371; SSE-NEXT:    pand %xmm10, %xmm34372; SSE-NEXT:    por %xmm2, %xmm34373; SSE-NEXT:    movdqa %xmm3, %xmm24374; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm9[8],xmm2[9],xmm9[9],xmm2[10],xmm9[10],xmm2[11],xmm9[11],xmm2[12],xmm9[12],xmm2[13],xmm9[13],xmm2[14],xmm9[14],xmm2[15],xmm9[15]4375; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm9[0],xmm3[1],xmm9[1],xmm3[2],xmm9[2],xmm3[3],xmm9[3],xmm3[4],xmm9[4],xmm3[5],xmm9[5],xmm3[6],xmm9[6],xmm3[7],xmm9[7]4376; SSE-NEXT:    movdqa %xmm3, %xmm44377; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[1,0],xmm2[0,0]4378; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[2,0],xmm2[2,3]4379; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,2,1,3]4380; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm4[0,1,2,3,6,5,6,7]4381; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,2,1]4382; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[1,2,3,0,4,5,6,7]4383; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,7,7,7,7]4384; SSE-NEXT:    psllq $48, %xmm34385; SSE-NEXT:    packuswb %xmm2, %xmm34386; SSE-NEXT:    movdqa %xmm11, %xmm44387; SSE-NEXT:    pandn %xmm3, %xmm44388; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload4389; SSE-NEXT:    movdqa %xmm6, %xmm34390; SSE-NEXT:    pand %xmm0, %xmm34391; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload4392; SSE-NEXT:    movdqa %xmm3, %xmm74393; SSE-NEXT:    punpckhbw {{.*#+}} xmm7 = xmm7[8],xmm9[8],xmm7[9],xmm9[9],xmm7[10],xmm9[10],xmm7[11],xmm9[11],xmm7[12],xmm9[12],xmm7[13],xmm9[13],xmm7[14],xmm9[14],xmm7[15],xmm9[15]4394; SSE-NEXT:    movdqa {{.*#+}} xmm2 = [65535,65535,0,0,65535,65535,65535,0]4395; SSE-NEXT:    movdqa %xmm2, %xmm84396; SSE-NEXT:    pandn %xmm7, %xmm84397; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm9[0],xmm3[1],xmm9[1],xmm3[2],xmm9[2],xmm3[3],xmm9[3],xmm3[4],xmm9[4],xmm3[5],xmm9[5],xmm3[6],xmm9[6],xmm3[7],xmm9[7]4398; SSE-NEXT:    pand %xmm2, %xmm34399; SSE-NEXT:    por %xmm8, %xmm34400; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,2,1,3]4401; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,7,6,5]4402; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,3,2,1]4403; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[1,2,3,0,4,5,6,7]4404; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,7,4,5,7]4405; SSE-NEXT:    packuswb %xmm3, %xmm34406; SSE-NEXT:    pand %xmm11, %xmm34407; SSE-NEXT:    por %xmm4, %xmm34408; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4409; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload4410; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[2,0],xmm7[3,0]4411; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,1],xmm4[0,2]4412; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm7[0,1,2,3,4,7,6,7]4413; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[0,1,2,1]4414; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,6,5,4]4415; SSE-NEXT:    packuswb %xmm4, %xmm44416; SSE-NEXT:    movdqa %xmm14, %xmm74417; SSE-NEXT:    pandn %xmm4, %xmm74418; SSE-NEXT:    pand %xmm14, %xmm34419; SSE-NEXT:    por %xmm3, %xmm74420; SSE-NEXT:    movdqa %xmm7, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4421; SSE-NEXT:    movdqa %xmm10, %xmm34422; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload4423; SSE-NEXT:    movdqa %xmm15, %xmm44424; SSE-NEXT:    pand %xmm10, %xmm44425; SSE-NEXT:    movdqa %xmm10, %xmm54426; SSE-NEXT:    por %xmm3, %xmm44427; SSE-NEXT:    movdqa %xmm4, %xmm34428; SSE-NEXT:    punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm9[8],xmm3[9],xmm9[9],xmm3[10],xmm9[10],xmm3[11],xmm9[11],xmm3[12],xmm9[12],xmm3[13],xmm9[13],xmm3[14],xmm9[14],xmm3[15],xmm9[15]4429; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm9[0],xmm4[1],xmm9[1],xmm4[2],xmm9[2],xmm4[3],xmm9[3],xmm4[4],xmm9[4],xmm4[5],xmm9[5],xmm4[6],xmm9[6],xmm4[7],xmm9[7]4430; SSE-NEXT:    movdqa %xmm4, %xmm74431; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[1,0],xmm3[0,0]4432; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[2,0],xmm3[2,3]4433; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,2,1,3]4434; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm7[0,1,2,3,6,5,6,7]4435; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,2,2,1]4436; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[1,2,3,0,4,5,6,7]4437; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,7,7,7,7]4438; SSE-NEXT:    psllq $48, %xmm44439; SSE-NEXT:    packuswb %xmm3, %xmm44440; SSE-NEXT:    movdqa %xmm11, %xmm34441; SSE-NEXT:    pandn %xmm4, %xmm34442; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload4443; SSE-NEXT:    movdqa %xmm10, %xmm44444; SSE-NEXT:    movdqa %xmm0, %xmm84445; SSE-NEXT:    pand %xmm0, %xmm44446; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload4447; SSE-NEXT:    movdqa %xmm4, %xmm04448; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm9[8],xmm0[9],xmm9[9],xmm0[10],xmm9[10],xmm0[11],xmm9[11],xmm0[12],xmm9[12],xmm0[13],xmm9[13],xmm0[14],xmm9[14],xmm0[15],xmm9[15]4449; SSE-NEXT:    movdqa %xmm2, %xmm74450; SSE-NEXT:    pandn %xmm0, %xmm74451; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm9[0],xmm4[1],xmm9[1],xmm4[2],xmm9[2],xmm4[3],xmm9[3],xmm4[4],xmm9[4],xmm4[5],xmm9[5],xmm4[6],xmm9[6],xmm4[7],xmm9[7]4452; SSE-NEXT:    pand %xmm2, %xmm44453; SSE-NEXT:    por %xmm7, %xmm44454; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm4[0,2,1,3]4455; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,5]4456; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,1]4457; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,2,3,0,4,5,6,7]4458; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,4,5,7]4459; SSE-NEXT:    packuswb %xmm0, %xmm04460; SSE-NEXT:    pand %xmm11, %xmm04461; SSE-NEXT:    por %xmm3, %xmm04462; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4463; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4464; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[2,0],xmm4[3,0]4465; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,1],xmm3[0,2]4466; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm4[0,1,2,3,4,7,6,7]4467; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,1,2,1]4468; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,6,5,4]4469; SSE-NEXT:    packuswb %xmm3, %xmm34470; SSE-NEXT:    movdqa %xmm14, %xmm44471; SSE-NEXT:    pandn %xmm3, %xmm44472; SSE-NEXT:    pand %xmm14, %xmm04473; SSE-NEXT:    por %xmm0, %xmm44474; SSE-NEXT:    movdqa %xmm4, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4475; SSE-NEXT:    movdqa %xmm5, %xmm04476; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4477; SSE-NEXT:    movdqa %xmm13, %xmm34478; SSE-NEXT:    pand %xmm5, %xmm34479; SSE-NEXT:    por %xmm0, %xmm34480; SSE-NEXT:    movdqa %xmm3, %xmm04481; SSE-NEXT:    punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm9[8],xmm0[9],xmm9[9],xmm0[10],xmm9[10],xmm0[11],xmm9[11],xmm0[12],xmm9[12],xmm0[13],xmm9[13],xmm0[14],xmm9[14],xmm0[15],xmm9[15]4482; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm9[0],xmm3[1],xmm9[1],xmm3[2],xmm9[2],xmm3[3],xmm9[3],xmm3[4],xmm9[4],xmm3[5],xmm9[5],xmm3[6],xmm9[6],xmm3[7],xmm9[7]4483; SSE-NEXT:    movdqa %xmm3, %xmm44484; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[1,0],xmm0[0,0]4485; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[2,0],xmm0[2,3]4486; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,2,1,3]4487; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm4[0,1,2,3,6,5,6,7]4488; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,1]4489; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[1,2,3,0,4,5,6,7]4490; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,7,7,7]4491; SSE-NEXT:    psllq $48, %xmm34492; SSE-NEXT:    packuswb %xmm0, %xmm34493; SSE-NEXT:    movdqa %xmm11, %xmm04494; SSE-NEXT:    pandn %xmm3, %xmm04495; SSE-NEXT:    movdqa (%rsp), %xmm3 # 16-byte Reload4496; SSE-NEXT:    pand %xmm8, %xmm34497; SSE-NEXT:    movdqa %xmm8, %xmm74498; SSE-NEXT:    por %xmm1, %xmm34499; SSE-NEXT:    movdqa %xmm3, %xmm14500; 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]4501; SSE-NEXT:    movdqa %xmm2, %xmm44502; SSE-NEXT:    pandn %xmm1, %xmm44503; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm9[0],xmm3[1],xmm9[1],xmm3[2],xmm9[2],xmm3[3],xmm9[3],xmm3[4],xmm9[4],xmm3[5],xmm9[5],xmm3[6],xmm9[6],xmm3[7],xmm9[7]4504; SSE-NEXT:    pand %xmm2, %xmm34505; SSE-NEXT:    por %xmm4, %xmm34506; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,2,1,3]4507; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,5]4508; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,2,1]4509; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,2,3,0,4,5,6,7]4510; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,4,5,7]4511; SSE-NEXT:    packuswb %xmm1, %xmm14512; SSE-NEXT:    pand %xmm11, %xmm14513; SSE-NEXT:    por %xmm0, %xmm14514; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4515; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4516; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[2,0],xmm3[3,0]4517; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,1],xmm0[0,2]4518; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm3[0,1,2,3,4,7,6,7]4519; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,2,1]4520; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,5,4]4521; SSE-NEXT:    packuswb %xmm0, %xmm04522; SSE-NEXT:    movdqa %xmm14, %xmm34523; SSE-NEXT:    pandn %xmm0, %xmm34524; SSE-NEXT:    pand %xmm14, %xmm14525; SSE-NEXT:    por %xmm1, %xmm34526; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4527; SSE-NEXT:    movdqa %xmm5, %xmm14528; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4529; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4530; SSE-NEXT:    pand %xmm5, %xmm04531; SSE-NEXT:    movdqa %xmm5, %xmm84532; SSE-NEXT:    por %xmm1, %xmm04533; SSE-NEXT:    movdqa %xmm0, %xmm14534; 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]4535; 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]4536; SSE-NEXT:    movdqa %xmm0, %xmm34537; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[1,0],xmm1[0,0]4538; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[2,0],xmm1[2,3]4539; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,2,1,3]4540; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm3[0,1,2,3,6,5,6,7]4541; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,1]4542; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,2,3,0,4,5,6,7]4543; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,7,7,7]4544; SSE-NEXT:    psllq $48, %xmm04545; SSE-NEXT:    packuswb %xmm1, %xmm04546; SSE-NEXT:    movdqa %xmm7, %xmm14547; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4548; SSE-NEXT:    pandn %xmm5, %xmm14549; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload4550; SSE-NEXT:    pand %xmm7, %xmm34551; SSE-NEXT:    por %xmm1, %xmm34552; SSE-NEXT:    movdqa %xmm3, %xmm14553; 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]4554; SSE-NEXT:    punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm9[0],xmm3[1],xmm9[1],xmm3[2],xmm9[2],xmm3[3],xmm9[3],xmm3[4],xmm9[4],xmm3[5],xmm9[5],xmm3[6],xmm9[6],xmm3[7],xmm9[7]4555; SSE-NEXT:    pand %xmm2, %xmm34556; SSE-NEXT:    pandn %xmm1, %xmm24557; SSE-NEXT:    por %xmm3, %xmm24558; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,2,1,3]4559; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,5]4560; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,3,2,1]4561; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[1,2,3,0,4,5,6,7]4562; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,7,4,5,7]4563; SSE-NEXT:    packuswb %xmm1, %xmm14564; SSE-NEXT:    pand %xmm11, %xmm14565; SSE-NEXT:    pandn %xmm0, %xmm114566; SSE-NEXT:    por %xmm11, %xmm14567; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4568; SSE-NEXT:    shufps {{.*#+}} xmm12 = xmm12[2,0],xmm2[3,0]4569; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm12[0,2]4570; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm2[0,1,2,3,4,7,6,7]4571; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,2,1]4572; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,5,4]4573; SSE-NEXT:    packuswb %xmm0, %xmm04574; SSE-NEXT:    movdqa %xmm14, %xmm24575; SSE-NEXT:    pandn %xmm0, %xmm24576; SSE-NEXT:    pand %xmm14, %xmm14577; SSE-NEXT:    por %xmm1, %xmm24578; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4579; SSE-NEXT:    movdqa %xmm6, %xmm14580; SSE-NEXT:    movdqa {{.*#+}} xmm11 = [255,255,0,255,255,255,255,0,255,255,255,255,0,255,255,255]4581; SSE-NEXT:    pand %xmm11, %xmm14582; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4583; SSE-NEXT:    movdqa %xmm1, %xmm24584; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm9[8],xmm2[9],xmm9[9],xmm2[10],xmm9[10],xmm2[11],xmm9[11],xmm2[12],xmm9[12],xmm2[13],xmm9[13],xmm2[14],xmm9[14],xmm2[15],xmm9[15]4585; SSE-NEXT:    movdqa {{.*#+}} xmm6 = [65535,65535,65535,0,0,65535,65535,65535]4586; SSE-NEXT:    movdqa %xmm6, %xmm34587; SSE-NEXT:    pandn %xmm2, %xmm34588; 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]4589; SSE-NEXT:    pand %xmm6, %xmm14590; SSE-NEXT:    por %xmm3, %xmm14591; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[2,1,2,3,4,5,6,7]4592; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]4593; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,1,3]4594; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]4595; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]4596; SSE-NEXT:    packuswb %xmm1, %xmm14597; SSE-NEXT:    movdqa {{.*#+}} xmm12 = [0,0,0,65535,65535,65535,65535,65535]4598; SSE-NEXT:    movdqa %xmm12, %xmm24599; SSE-NEXT:    pandn %xmm1, %xmm24600; SSE-NEXT:    movdqa %xmm8, %xmm14601; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4602; SSE-NEXT:    movdqa %xmm7, %xmm04603; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4604; SSE-NEXT:    pandn %xmm4, %xmm04605; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4606; SSE-NEXT:    movdqa %xmm11, %xmm34607; SSE-NEXT:    pandn %xmm4, %xmm34608; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4609; SSE-NEXT:    pand %xmm8, %xmm44610; SSE-NEXT:    por %xmm1, %xmm44611; SSE-NEXT:    movdqa %xmm4, %xmm14612; 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]4613; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm9[0],xmm4[1],xmm9[1],xmm4[2],xmm9[2],xmm4[3],xmm9[3],xmm4[4],xmm9[4],xmm4[5],xmm9[5],xmm4[6],xmm9[6],xmm4[7],xmm9[7]4614; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm4[0,1,2,0]4615; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[2,0],xmm1[3,0]4616; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm4[0,2]4617; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[2,1,2,3,4,5,6,7]4618; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]4619; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]4620; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]4621; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,6,6,6]4622; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm7[0,1,2,3,4,5,6,5]4623; SSE-NEXT:    packuswb %xmm1, %xmm44624; SSE-NEXT:    pand %xmm12, %xmm44625; SSE-NEXT:    por %xmm2, %xmm44626; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4627; SSE-NEXT:    # xmm1 = mem[1,1,1,1]4628; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4629; SSE-NEXT:    # xmm2 = mem[0,2,2,3]4630; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]4631; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm2[0,3,2,3,4,5,6,7]4632; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]4633; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,5]4634; SSE-NEXT:    packuswb %xmm1, %xmm14635; SSE-NEXT:    movdqa %xmm14, %xmm34636; SSE-NEXT:    pandn %xmm1, %xmm34637; SSE-NEXT:    pand %xmm14, %xmm44638; SSE-NEXT:    por %xmm4, %xmm34639; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4640; SSE-NEXT:    pand %xmm11, %xmm104641; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Folded Reload4642; SSE-NEXT:    movdqa %xmm10, %xmm24643; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm9[8],xmm2[9],xmm9[9],xmm2[10],xmm9[10],xmm2[11],xmm9[11],xmm2[12],xmm9[12],xmm2[13],xmm9[13],xmm2[14],xmm9[14],xmm2[15],xmm9[15]4644; SSE-NEXT:    movdqa %xmm6, %xmm44645; SSE-NEXT:    pandn %xmm2, %xmm44646; SSE-NEXT:    punpcklbw {{.*#+}} xmm10 = xmm10[0],xmm9[0],xmm10[1],xmm9[1],xmm10[2],xmm9[2],xmm10[3],xmm9[3],xmm10[4],xmm9[4],xmm10[5],xmm9[5],xmm10[6],xmm9[6],xmm10[7],xmm9[7]4647; SSE-NEXT:    pand %xmm6, %xmm104648; SSE-NEXT:    por %xmm4, %xmm104649; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm10[2,1,2,3,4,5,6,7]4650; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]4651; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,1,3]4652; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]4653; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]4654; SSE-NEXT:    packuswb %xmm1, %xmm14655; SSE-NEXT:    movdqa %xmm12, %xmm24656; SSE-NEXT:    pandn %xmm1, %xmm24657; SSE-NEXT:    movdqa %xmm8, %xmm14658; SSE-NEXT:    pandn %xmm15, %xmm14659; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [255,0,255,255,255,255,0,255,255,255,255,0,255,255,255,255]4660; SSE-NEXT:    movdqa %xmm10, %xmm04661; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4662; SSE-NEXT:    pandn %xmm4, %xmm04663; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4664; SSE-NEXT:    movdqa %xmm11, %xmm34665; SSE-NEXT:    pandn %xmm4, %xmm34666; SSE-NEXT:    movdqa %xmm3, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4667; SSE-NEXT:    pand %xmm8, %xmm44668; SSE-NEXT:    por %xmm1, %xmm44669; SSE-NEXT:    movdqa %xmm4, %xmm14670; 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]4671; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm9[0],xmm4[1],xmm9[1],xmm4[2],xmm9[2],xmm4[3],xmm9[3],xmm4[4],xmm9[4],xmm4[5],xmm9[5],xmm4[6],xmm9[6],xmm4[7],xmm9[7]4672; SSE-NEXT:    pshufd {{.*#+}} xmm7 = xmm4[0,1,2,0]4673; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[2,0],xmm1[3,0]4674; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[0,1],xmm4[0,2]4675; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[2,1,2,3,4,5,6,7]4676; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]4677; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]4678; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]4679; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,6,6,6]4680; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm7[0,1,2,3,4,5,6,5]4681; SSE-NEXT:    packuswb %xmm1, %xmm44682; SSE-NEXT:    pand %xmm12, %xmm44683; SSE-NEXT:    por %xmm2, %xmm44684; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4685; SSE-NEXT:    # xmm1 = mem[1,1,1,1]4686; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4687; SSE-NEXT:    # xmm2 = mem[0,2,2,3]4688; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]4689; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm2[0,3,2,3,4,5,6,7]4690; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]4691; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,5]4692; SSE-NEXT:    packuswb %xmm1, %xmm14693; SSE-NEXT:    movdqa %xmm14, %xmm24694; SSE-NEXT:    pandn %xmm1, %xmm24695; SSE-NEXT:    pand %xmm14, %xmm44696; SSE-NEXT:    por %xmm4, %xmm24697; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4698; SSE-NEXT:    movdqa (%rsp), %xmm1 # 16-byte Reload4699; SSE-NEXT:    pand %xmm11, %xmm14700; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload4701; SSE-NEXT:    movdqa %xmm1, %xmm24702; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm9[8],xmm2[9],xmm9[9],xmm2[10],xmm9[10],xmm2[11],xmm9[11],xmm2[12],xmm9[12],xmm2[13],xmm9[13],xmm2[14],xmm9[14],xmm2[15],xmm9[15]4703; SSE-NEXT:    movdqa %xmm6, %xmm44704; SSE-NEXT:    pandn %xmm2, %xmm44705; 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]4706; SSE-NEXT:    pand %xmm6, %xmm14707; SSE-NEXT:    por %xmm4, %xmm14708; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[2,1,2,3,4,5,6,7]4709; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,7,6,7]4710; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,2,1,3]4711; SSE-NEXT:    pshuflw {{.*#+}} xmm1 = xmm1[0,3,2,1,4,5,6,7]4712; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,6,5,6,7]4713; SSE-NEXT:    packuswb %xmm1, %xmm14714; SSE-NEXT:    movdqa %xmm12, %xmm24715; SSE-NEXT:    pandn %xmm1, %xmm24716; SSE-NEXT:    movdqa %xmm8, %xmm44717; SSE-NEXT:    pandn %xmm13, %xmm44718; SSE-NEXT:    movdqa %xmm10, %xmm04719; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload4720; SSE-NEXT:    pandn %xmm7, %xmm04721; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4722; SSE-NEXT:    movdqa %xmm11, %xmm14723; SSE-NEXT:    pandn %xmm7, %xmm14724; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4725; SSE-NEXT:    pand %xmm8, %xmm74726; SSE-NEXT:    movdqa %xmm8, %xmm104727; SSE-NEXT:    por %xmm4, %xmm74728; SSE-NEXT:    movdqa %xmm7, %xmm44729; SSE-NEXT:    punpckhbw {{.*#+}} xmm4 = xmm4[8],xmm9[8],xmm4[9],xmm9[9],xmm4[10],xmm9[10],xmm4[11],xmm9[11],xmm4[12],xmm9[12],xmm4[13],xmm9[13],xmm4[14],xmm9[14],xmm4[15],xmm9[15]4730; SSE-NEXT:    punpcklbw {{.*#+}} xmm7 = xmm7[0],xmm9[0],xmm7[1],xmm9[1],xmm7[2],xmm9[2],xmm7[3],xmm9[3],xmm7[4],xmm9[4],xmm7[5],xmm9[5],xmm7[6],xmm9[6],xmm7[7],xmm9[7]4731; SSE-NEXT:    pshufd {{.*#+}} xmm8 = xmm7[0,1,2,0]4732; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[2,0],xmm4[3,0]4733; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[0,1],xmm7[0,2]4734; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[2,1,2,3,4,5,6,7]4735; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,4,7,6,7]4736; SSE-NEXT:    pshufd {{.*#+}} xmm4 = xmm4[0,2,2,3]4737; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,3,2,1,4,5,6,7]4738; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm4[0,1,2,3,6,6,6,6]4739; SSE-NEXT:    pshufhw {{.*#+}} xmm7 = xmm8[0,1,2,3,4,5,6,5]4740; SSE-NEXT:    packuswb %xmm4, %xmm74741; SSE-NEXT:    pand %xmm12, %xmm74742; SSE-NEXT:    por %xmm2, %xmm74743; SSE-NEXT:    pshufd $85, {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4744; SSE-NEXT:    # xmm2 = mem[1,1,1,1]4745; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload4746; SSE-NEXT:    # xmm4 = mem[0,2,2,3]4747; SSE-NEXT:    punpckldq {{.*#+}} xmm4 = xmm4[0],xmm2[0],xmm4[1],xmm2[1]4748; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm4[0,3,2,3,4,5,6,7]4749; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,0]4750; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,7,6,5]4751; SSE-NEXT:    packuswb %xmm2, %xmm24752; SSE-NEXT:    movdqa %xmm14, %xmm14753; SSE-NEXT:    pandn %xmm2, %xmm14754; SSE-NEXT:    pand %xmm14, %xmm74755; SSE-NEXT:    por %xmm7, %xmm14756; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4757; SSE-NEXT:    movdqa %xmm11, %xmm84758; SSE-NEXT:    movdqa %xmm11, %xmm24759; SSE-NEXT:    pandn %xmm5, %xmm24760; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload4761; SSE-NEXT:    pand %xmm11, %xmm44762; SSE-NEXT:    por %xmm2, %xmm44763; SSE-NEXT:    movdqa %xmm4, %xmm24764; SSE-NEXT:    punpckhbw {{.*#+}} xmm2 = xmm2[8],xmm9[8],xmm2[9],xmm9[9],xmm2[10],xmm9[10],xmm2[11],xmm9[11],xmm2[12],xmm9[12],xmm2[13],xmm9[13],xmm2[14],xmm9[14],xmm2[15],xmm9[15]4765; SSE-NEXT:    movdqa %xmm6, %xmm74766; SSE-NEXT:    pandn %xmm2, %xmm74767; SSE-NEXT:    punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm9[0],xmm4[1],xmm9[1],xmm4[2],xmm9[2],xmm4[3],xmm9[3],xmm4[4],xmm9[4],xmm4[5],xmm9[5],xmm4[6],xmm9[6],xmm4[7],xmm9[7]4768; SSE-NEXT:    pand %xmm6, %xmm44769; SSE-NEXT:    por %xmm7, %xmm44770; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm4[2,1,2,3,4,5,6,7]4771; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,7,6,7]4772; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,2,1,3]4773; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[0,3,2,1,4,5,6,7]4774; SSE-NEXT:    pshufhw {{.*#+}} xmm4 = xmm2[0,1,2,3,6,5,6,7]4775; SSE-NEXT:    packuswb %xmm4, %xmm44776; SSE-NEXT:    movdqa %xmm12, %xmm34777; SSE-NEXT:    pandn %xmm4, %xmm34778; SSE-NEXT:    movdqa %xmm10, %xmm74779; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4780; SSE-NEXT:    pandn %xmm5, %xmm74781; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4782; SSE-NEXT:    movdqa %xmm0, %xmm144783; SSE-NEXT:    movdqa {{.*#+}} xmm1 = [255,0,255,255,255,255,0,255,255,255,255,0,255,255,255,255]4784; SSE-NEXT:    pand %xmm1, %xmm144785; SSE-NEXT:    movdqa %xmm15, %xmm114786; SSE-NEXT:    pand %xmm1, %xmm114787; SSE-NEXT:    movdqa %xmm13, %xmm44788; SSE-NEXT:    pand %xmm1, %xmm44789; SSE-NEXT:    movdqa %xmm5, %xmm24790; SSE-NEXT:    pand %xmm1, %xmm24791; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4792; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4793; SSE-NEXT:    pandn %xmm2, %xmm14794; SSE-NEXT:    movdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4795; SSE-NEXT:    pand %xmm8, %xmm04796; SSE-NEXT:    movdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4797; SSE-NEXT:    pand %xmm8, %xmm154798; SSE-NEXT:    pand %xmm8, %xmm134799; SSE-NEXT:    pand %xmm8, %xmm54800; SSE-NEXT:    movdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4801; SSE-NEXT:    movdqa %xmm2, %xmm04802; SSE-NEXT:    pandn %xmm2, %xmm84803; SSE-NEXT:    movdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4804; SSE-NEXT:    pand %xmm10, %xmm04805; SSE-NEXT:    por %xmm7, %xmm04806; SSE-NEXT:    movdqa %xmm0, %xmm74807; SSE-NEXT:    punpckhbw {{.*#+}} xmm7 = xmm7[8],xmm9[8],xmm7[9],xmm9[9],xmm7[10],xmm9[10],xmm7[11],xmm9[11],xmm7[12],xmm9[12],xmm7[13],xmm9[13],xmm7[14],xmm9[14],xmm7[15],xmm9[15]4808; 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]4809; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm0[0,1,2,0]4810; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[2,0],xmm7[3,0]4811; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,1],xmm0[0,2]4812; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm7[2,1,2,3,4,5,6,7]4813; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,7]4814; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]4815; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,1,4,5,6,7]4816; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,6,6,6]4817; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,5]4818; SSE-NEXT:    packuswb %xmm0, %xmm14819; SSE-NEXT:    pand %xmm12, %xmm14820; SSE-NEXT:    por %xmm3, %xmm14821; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload4822; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm5[1,1,1,1]4823; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload4824; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm8[0,2,2,3]4825; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]4826; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm2[0,3,2,3,4,5,6,7]4827; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,2,0]4828; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,7,6,5]4829; SSE-NEXT:    packuswb %xmm0, %xmm04830; SSE-NEXT:    movdqa {{.*#+}} xmm10 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0]4831; SSE-NEXT:    movdqa %xmm10, %xmm24832; SSE-NEXT:    pandn %xmm0, %xmm24833; SSE-NEXT:    pand %xmm10, %xmm14834; SSE-NEXT:    por %xmm1, %xmm24835; SSE-NEXT:    movdqa %xmm2, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill4836; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4837; SSE-NEXT:    movdqa {{.*#+}} xmm3 = [255,255,255,0,255,255,255,255,0,255,255,255,255,0,255,255]4838; SSE-NEXT:    pand %xmm3, %xmm04839; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4840; SSE-NEXT:    movdqa %xmm0, %xmm14841; 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]4842; 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]4843; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[3,1],xmm1[2,0]4844; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,5]4845; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[3,1,2,0]4846; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,0,1,2,4,5,6,7]4847; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,4,6,7]4848; SSE-NEXT:    packuswb %xmm0, %xmm04849; SSE-NEXT:    movdqa %xmm12, %xmm14850; SSE-NEXT:    pandn %xmm0, %xmm14851; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Folded Reload4852; SSE-NEXT:    movdqa %xmm14, %xmm04853; 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]4854; SSE-NEXT:    punpckhbw {{.*#+}} xmm14 = xmm14[8],xmm9[8],xmm14[9],xmm9[9],xmm14[10],xmm9[10],xmm14[11],xmm9[11],xmm14[12],xmm9[12],xmm14[13],xmm9[13],xmm14[14],xmm9[14],xmm14[15],xmm9[15]4855; SSE-NEXT:    shufps {{.*#+}} xmm14 = xmm14[3,1],xmm0[2,0]4856; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm14[0,1,2,3,6,5,6,7]4857; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,1,0,3]4858; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[3,0,1,2,4,5,6,7]4859; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,5,5,5,5]4860; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]4861; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,5,6]4862; SSE-NEXT:    packuswb %xmm2, %xmm04863; SSE-NEXT:    pand %xmm12, %xmm04864; SSE-NEXT:    por %xmm1, %xmm04865; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4866; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4867; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[2,0],xmm2[3,0]4868; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm1[0,2]4869; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,6,6,7]4870; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]4871; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,5]4872; SSE-NEXT:    packuswb %xmm1, %xmm14873; SSE-NEXT:    movdqa %xmm10, %xmm94874; SSE-NEXT:    movdqa %xmm10, %xmm144875; SSE-NEXT:    pandn %xmm1, %xmm144876; SSE-NEXT:    pand %xmm10, %xmm04877; SSE-NEXT:    por %xmm0, %xmm144878; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4879; SSE-NEXT:    pand %xmm3, %xmm04880; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4881; SSE-NEXT:    movdqa %xmm0, %xmm14882; SSE-NEXT:    pxor %xmm2, %xmm24883; SSE-NEXT:    punpckhbw {{.*#+}} xmm1 = xmm1[8],xmm2[8],xmm1[9],xmm2[9],xmm1[10],xmm2[10],xmm1[11],xmm2[11],xmm1[12],xmm2[12],xmm1[13],xmm2[13],xmm1[14],xmm2[14],xmm1[15],xmm2[15]4884; 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]4885; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[3,1],xmm1[2,0]4886; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,5]4887; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[3,1,2,0]4888; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,0,1,2,4,5,6,7]4889; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,4,6,7]4890; SSE-NEXT:    packuswb %xmm0, %xmm04891; SSE-NEXT:    movdqa %xmm12, %xmm14892; SSE-NEXT:    pandn %xmm0, %xmm14893; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Folded Reload4894; SSE-NEXT:    movdqa %xmm11, %xmm04895; 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]4896; SSE-NEXT:    punpckhbw {{.*#+}} xmm11 = xmm11[8],xmm2[8],xmm11[9],xmm2[9],xmm11[10],xmm2[10],xmm11[11],xmm2[11],xmm11[12],xmm2[12],xmm11[13],xmm2[13],xmm11[14],xmm2[14],xmm11[15],xmm2[15]4897; SSE-NEXT:    pxor %xmm10, %xmm104898; SSE-NEXT:    shufps {{.*#+}} xmm11 = xmm11[3,1],xmm0[2,0]4899; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm11[0,1,2,3,6,5,6,7]4900; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,1,0,3]4901; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[3,0,1,2,4,5,6,7]4902; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,5,5,5,5]4903; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]4904; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,5,6]4905; SSE-NEXT:    packuswb %xmm2, %xmm04906; SSE-NEXT:    pand %xmm12, %xmm04907; SSE-NEXT:    por %xmm1, %xmm04908; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4909; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4910; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[2,0],xmm2[3,0]4911; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm1[0,2]4912; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,6,6,7]4913; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]4914; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,5]4915; SSE-NEXT:    packuswb %xmm1, %xmm14916; SSE-NEXT:    movdqa %xmm9, %xmm114917; SSE-NEXT:    pandn %xmm1, %xmm114918; SSE-NEXT:    pand %xmm9, %xmm04919; SSE-NEXT:    por %xmm0, %xmm114920; SSE-NEXT:    movdqa (%rsp), %xmm0 # 16-byte Reload4921; SSE-NEXT:    pand %xmm3, %xmm04922; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Folded Reload4923; SSE-NEXT:    movdqa %xmm0, %xmm14924; 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]4925; 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]4926; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[3,1],xmm1[2,0]4927; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,5]4928; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[3,1,2,0]4929; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,0,1,2,4,5,6,7]4930; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,4,6,7]4931; SSE-NEXT:    packuswb %xmm0, %xmm04932; SSE-NEXT:    movdqa %xmm12, %xmm14933; SSE-NEXT:    pandn %xmm0, %xmm14934; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload4935; SSE-NEXT:    movdqa %xmm4, %xmm04936; 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]4937; 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]4938; SSE-NEXT:    shufps {{.*#+}} xmm4 = xmm4[3,1],xmm0[2,0]4939; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm4[0,1,2,3,6,5,6,7]4940; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,1,0,3]4941; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[3,0,1,2,4,5,6,7]4942; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,5,5,5,5]4943; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]4944; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,5,6]4945; SSE-NEXT:    packuswb %xmm2, %xmm04946; SSE-NEXT:    pand %xmm12, %xmm04947; SSE-NEXT:    por %xmm1, %xmm04948; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload4949; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4950; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[2,0],xmm2[3,0]4951; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm1[0,2]4952; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm2[0,1,2,3,4,6,6,7]4953; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm1[0,1,2,0]4954; SSE-NEXT:    pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,4,7,5]4955; SSE-NEXT:    packuswb %xmm1, %xmm24956; SSE-NEXT:    movdqa %xmm9, %xmm104957; SSE-NEXT:    pandn %xmm2, %xmm104958; SSE-NEXT:    pand %xmm9, %xmm04959; SSE-NEXT:    por %xmm0, %xmm104960; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload4961; SSE-NEXT:    movdqa %xmm3, %xmm24962; SSE-NEXT:    pand %xmm3, %xmm04963; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4964; SSE-NEXT:    por %xmm0, %xmm24965; SSE-NEXT:    movdqa %xmm2, %xmm04966; SSE-NEXT:    pxor %xmm1, %xmm14967; 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]4968; 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]4969; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[3,1],xmm0[2,0]4970; SSE-NEXT:    movaps %xmm2, %xmm44971; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Reload4972; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm2 # 16-byte Folded Reload4973; SSE-NEXT:    movdqa %xmm2, %xmm04974; 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]4975; 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]4976; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[3,1],xmm0[2,0]4977; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,6,5,6,7]4978; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[2,1,0,3]4979; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[3,0,1,2,4,5,6,7]4980; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,5,5,5,5]4981; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,1,0,3]4982; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,5,6]4983; SSE-NEXT:    packuswb %xmm2, %xmm04984; SSE-NEXT:    pand %xmm12, %xmm04985; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm4[0,1,2,3,4,5,6,5]4986; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[3,1,2,0]4987; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[3,0,1,2,4,5,6,7]4988; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,7,4,6,7]4989; SSE-NEXT:    packuswb %xmm2, %xmm24990; SSE-NEXT:    pandn %xmm2, %xmm124991; SSE-NEXT:    por %xmm12, %xmm04992; SSE-NEXT:    movdqa %xmm8, %xmm34993; SSE-NEXT:    shufps {{.*#+}} xmm5 = xmm5[2,0],xmm8[3,0]4994; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,1],xmm5[0,2]4995; SSE-NEXT:    pand %xmm9, %xmm04996; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm3[0,1,2,3,4,6,6,7]4997; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,1,2,0]4998; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,4,7,5]4999; SSE-NEXT:    packuswb %xmm2, %xmm25000; SSE-NEXT:    pandn %xmm2, %xmm95001; SSE-NEXT:    por %xmm0, %xmm95002; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5003; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload5004; SSE-NEXT:    movdqa %xmm3, %xmm05005; 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]5006; 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]5007; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm3[0,1,1,3]5008; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,3],xmm0[1,2]5009; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[0,2,3,1]5010; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm3[3,1,2,3,4,5,6,7]5011; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,6,7]5012; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]5013; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,1,3,0,4,5,6,7]5014; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,4,7]5015; SSE-NEXT:    packuswb %xmm0, %xmm25016; SSE-NEXT:    movdqa {{.*#+}} xmm4 = [65535,65535,65535,0,0,0,65535,65535]5017; SSE-NEXT:    movdqa %xmm4, %xmm35018; SSE-NEXT:    pandn %xmm2, %xmm35019; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5020; SSE-NEXT:    movdqa {{.*#+}} xmm12 = [255,255,255,255,0,255,255,255,255,0,255,255,255,255,0,255]5021; SSE-NEXT:    pand %xmm12, %xmm85022; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Folded Reload5023; SSE-NEXT:    movdqa %xmm8, %xmm25024; 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]5025; SSE-NEXT:    movdqa %xmm6, %xmm75026; SSE-NEXT:    pandn %xmm2, %xmm75027; SSE-NEXT:    punpckhbw {{.*#+}} xmm8 = xmm8[8],xmm1[8],xmm8[9],xmm1[9],xmm8[10],xmm1[10],xmm8[11],xmm1[11],xmm8[12],xmm1[12],xmm8[13],xmm1[13],xmm8[14],xmm1[14],xmm8[15],xmm1[15]5028; SSE-NEXT:    pand %xmm6, %xmm85029; SSE-NEXT:    por %xmm7, %xmm85030; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm8[3,1,0,3,4,5,6,7]5031; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,5,6,4]5032; SSE-NEXT:    pshufd {{.*#+}} xmm2 = xmm2[0,3,2,1]5033; SSE-NEXT:    pshuflw {{.*#+}} xmm2 = xmm2[3,1,2,0,4,5,6,7]5034; SSE-NEXT:    pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,6,5,6,7]5035; SSE-NEXT:    packuswb %xmm2, %xmm25036; SSE-NEXT:    pand %xmm4, %xmm25037; SSE-NEXT:    por %xmm3, %xmm25038; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload5039; SSE-NEXT:    # xmm3 = mem[3,1,2,3]5040; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload5041; SSE-NEXT:    # xmm7 = mem[0,2,2,3]5042; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,1,2,1,4,5,6,7]5043; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[0,1,0,3,4,5,6,7]5044; SSE-NEXT:    punpckldq {{.*#+}} xmm7 = xmm7[0],xmm3[0],xmm7[1],xmm3[1]5045; SSE-NEXT:    packuswb %xmm0, %xmm75046; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[0,1],xmm7[2,1]5047; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload5048; SSE-NEXT:    movdqa %xmm15, %xmm05049; 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]5050; SSE-NEXT:    punpcklbw {{.*#+}} xmm15 = xmm15[0],xmm1[0],xmm15[1],xmm1[1],xmm15[2],xmm1[2],xmm15[3],xmm1[3],xmm15[4],xmm1[4],xmm15[5],xmm1[5],xmm15[6],xmm1[6],xmm15[7],xmm1[7]5051; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm15[0,1,1,3]5052; SSE-NEXT:    shufps {{.*#+}} xmm15 = xmm15[0,3],xmm0[1,2]5053; SSE-NEXT:    shufps {{.*#+}} xmm15 = xmm15[0,2,3,1]5054; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm15[3,1,2,3,4,5,6,7]5055; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,6,7]5056; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]5057; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,1,3,0,4,5,6,7]5058; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]5059; SSE-NEXT:    packuswb %xmm0, %xmm35060; SSE-NEXT:    movdqa %xmm4, %xmm75061; SSE-NEXT:    pandn %xmm3, %xmm75062; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5063; SSE-NEXT:    pand %xmm12, %xmm155064; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Folded Reload5065; SSE-NEXT:    movdqa %xmm15, %xmm35066; 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]5067; SSE-NEXT:    movdqa %xmm6, %xmm85068; SSE-NEXT:    pandn %xmm3, %xmm85069; SSE-NEXT:    punpckhbw {{.*#+}} xmm15 = xmm15[8],xmm1[8],xmm15[9],xmm1[9],xmm15[10],xmm1[10],xmm15[11],xmm1[11],xmm15[12],xmm1[12],xmm15[13],xmm1[13],xmm15[14],xmm1[14],xmm15[15],xmm1[15]5070; SSE-NEXT:    pand %xmm6, %xmm155071; SSE-NEXT:    por %xmm8, %xmm155072; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm15[3,1,0,3,4,5,6,7]5073; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,6,4]5074; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,3,2,1]5075; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[3,1,2,0,4,5,6,7]5076; SSE-NEXT:    pshufhw {{.*#+}} xmm8 = xmm3[0,1,2,3,6,5,6,7]5077; SSE-NEXT:    packuswb %xmm8, %xmm85078; SSE-NEXT:    pand %xmm4, %xmm85079; SSE-NEXT:    por %xmm7, %xmm85080; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload5081; SSE-NEXT:    # xmm3 = mem[3,1,2,3]5082; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload5083; SSE-NEXT:    # xmm7 = mem[0,2,2,3]5084; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,1,2,1,4,5,6,7]5085; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[0,1,0,3,4,5,6,7]5086; SSE-NEXT:    punpckldq {{.*#+}} xmm7 = xmm7[0],xmm3[0],xmm7[1],xmm3[1]5087; SSE-NEXT:    packuswb %xmm0, %xmm75088; SSE-NEXT:    shufps {{.*#+}} xmm8 = xmm8[0,1],xmm7[2,1]5089; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Folded Reload5090; SSE-NEXT:    movdqa %xmm13, %xmm05091; 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]5092; 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]5093; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm13[0,1,1,3]5094; SSE-NEXT:    shufps {{.*#+}} xmm13 = xmm13[0,3],xmm0[1,2]5095; SSE-NEXT:    shufps {{.*#+}} xmm13 = xmm13[0,2,3,1]5096; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm13[3,1,2,3,4,5,6,7]5097; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,6,7]5098; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]5099; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[2,1,3,0,4,5,6,7]5100; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]5101; SSE-NEXT:    packuswb %xmm0, %xmm35102; SSE-NEXT:    movdqa %xmm4, %xmm75103; SSE-NEXT:    pandn %xmm3, %xmm75104; SSE-NEXT:    movdqa (%rsp), %xmm13 # 16-byte Reload5105; SSE-NEXT:    pand %xmm12, %xmm135106; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Folded Reload5107; SSE-NEXT:    movdqa %xmm13, %xmm35108; 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]5109; SSE-NEXT:    movdqa %xmm6, %xmm55110; SSE-NEXT:    pandn %xmm3, %xmm55111; SSE-NEXT:    punpckhbw {{.*#+}} xmm13 = xmm13[8],xmm1[8],xmm13[9],xmm1[9],xmm13[10],xmm1[10],xmm13[11],xmm1[11],xmm13[12],xmm1[12],xmm13[13],xmm1[13],xmm13[14],xmm1[14],xmm13[15],xmm1[15]5112; SSE-NEXT:    pand %xmm6, %xmm135113; SSE-NEXT:    por %xmm5, %xmm135114; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm13[3,1,0,3,4,5,6,7]5115; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,6,4]5116; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm3[0,3,2,1]5117; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[3,1,2,0,4,5,6,7]5118; SSE-NEXT:    pshufhw {{.*#+}} xmm5 = xmm3[0,1,2,3,6,5,6,7]5119; SSE-NEXT:    packuswb %xmm5, %xmm55120; SSE-NEXT:    pand %xmm4, %xmm55121; SSE-NEXT:    por %xmm7, %xmm55122; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload5123; SSE-NEXT:    # xmm3 = mem[3,1,2,3]5124; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload5125; SSE-NEXT:    # xmm7 = mem[0,2,2,3]5126; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,1,2,1,4,5,6,7]5127; SSE-NEXT:    pshuflw {{.*#+}} xmm7 = xmm7[0,1,0,3,4,5,6,7]5128; SSE-NEXT:    punpckldq {{.*#+}} xmm7 = xmm7[0],xmm3[0],xmm7[1],xmm3[1]5129; SSE-NEXT:    packuswb %xmm0, %xmm75130; SSE-NEXT:    shufps {{.*#+}} xmm5 = xmm5[0,1],xmm7[2,1]5131; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload5132; SSE-NEXT:    por {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Folded Reload5133; SSE-NEXT:    movdqa %xmm7, %xmm05134; 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]5135; 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]5136; SSE-NEXT:    pshufd {{.*#+}} xmm3 = xmm7[0,1,1,3]5137; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,3],xmm0[1,2]5138; SSE-NEXT:    movdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5139; SSE-NEXT:    pand %xmm12, %xmm05140; SSE-NEXT:    pandn {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Folded Reload5141; SSE-NEXT:    por %xmm0, %xmm125142; SSE-NEXT:    movdqa %xmm12, %xmm05143; 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]5144; 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]5145; SSE-NEXT:    pand %xmm6, %xmm125146; SSE-NEXT:    pandn %xmm0, %xmm65147; SSE-NEXT:    por %xmm12, %xmm65148; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm6[3,1,0,3,4,5,6,7]5149; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,4]5150; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm0[0,3,2,1]5151; SSE-NEXT:    pshuflw {{.*#+}} xmm0 = xmm0[3,1,2,0,4,5,6,7]5152; SSE-NEXT:    pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,6,7]5153; SSE-NEXT:    packuswb %xmm0, %xmm05154; SSE-NEXT:    pand %xmm4, %xmm05155; SSE-NEXT:    shufps {{.*#+}} xmm7 = xmm7[0,2,3,1]5156; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm7[3,1,2,3,4,5,6,7]5157; SSE-NEXT:    pshufhw {{.*#+}} xmm6 = xmm6[0,1,2,3,4,6,6,7]5158; SSE-NEXT:    pshufd {{.*#+}} xmm6 = xmm6[0,2,2,3]5159; SSE-NEXT:    pshuflw {{.*#+}} xmm6 = xmm6[2,1,3,0,4,5,6,7]5160; SSE-NEXT:    pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,5,4,7]5161; SSE-NEXT:    packuswb %xmm6, %xmm35162; SSE-NEXT:    pandn %xmm3, %xmm45163; SSE-NEXT:    por %xmm4, %xmm05164; SSE-NEXT:    pshufd $231, {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Folded Reload5165; SSE-NEXT:    # xmm3 = mem[3,1,2,3]5166; SSE-NEXT:    pshufd $232, {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Folded Reload5167; SSE-NEXT:    # xmm4 = mem[0,2,2,3]5168; SSE-NEXT:    pshuflw {{.*#+}} xmm3 = xmm3[0,1,2,1,4,5,6,7]5169; SSE-NEXT:    pshuflw {{.*#+}} xmm4 = xmm4[0,1,0,3,4,5,6,7]5170; SSE-NEXT:    punpckldq {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]5171; SSE-NEXT:    packuswb %xmm6, %xmm45172; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[0,1],xmm4[2,1]5173; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5174; SSE-NEXT:    movaps %xmm3, 16(%rsi)5175; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5176; SSE-NEXT:    movaps %xmm3, 48(%rsi)5177; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5178; SSE-NEXT:    movaps %xmm3, (%rsi)5179; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5180; SSE-NEXT:    movaps %xmm3, 32(%rsi)5181; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5182; SSE-NEXT:    movaps %xmm3, 16(%rdx)5183; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5184; SSE-NEXT:    movaps %xmm3, 48(%rdx)5185; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5186; SSE-NEXT:    movaps %xmm3, (%rdx)5187; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5188; SSE-NEXT:    movaps %xmm3, 32(%rdx)5189; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5190; SSE-NEXT:    movaps %xmm1, 16(%rcx)5191; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5192; SSE-NEXT:    movaps %xmm1, 48(%rcx)5193; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5194; SSE-NEXT:    movaps %xmm1, (%rcx)5195; SSE-NEXT:    movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5196; SSE-NEXT:    movaps %xmm1, 32(%rcx)5197; SSE-NEXT:    movdqa %xmm9, 16(%r8)5198; SSE-NEXT:    movdqa %xmm10, 48(%r8)5199; SSE-NEXT:    movdqa %xmm11, (%r8)5200; SSE-NEXT:    movdqa %xmm14, 32(%r8)5201; SSE-NEXT:    movaps %xmm0, 16(%r9)5202; SSE-NEXT:    movaps %xmm5, 48(%r9)5203; SSE-NEXT:    movaps %xmm8, (%r9)5204; SSE-NEXT:    movaps %xmm2, 32(%r9)5205; SSE-NEXT:    addq $552, %rsp # imm = 0x2285206; SSE-NEXT:    retq5207;5208; AVX-LABEL: load_i8_stride5_vf64:5209; AVX:       # %bb.0:5210; AVX-NEXT:    subq $488, %rsp # imm = 0x1E85211; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [4,9,14,0,4,9,14,0,4,9,14,0,4,9,14,0]5212; AVX-NEXT:    vmovdqa (%rdi), %xmm85213; AVX-NEXT:    vmovdqa 16(%rdi), %xmm115214; AVX-NEXT:    vmovdqa 32(%rdi), %xmm125215; AVX-NEXT:    vmovdqa 48(%rdi), %xmm95216; AVX-NEXT:    vpshufb %xmm2, %xmm11, %xmm05217; AVX-NEXT:    vmovdqa %xmm11, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5218; AVX-NEXT:    vbroadcastss {{.*#+}} xmm3 = [0,5,10,15,0,5,10,15,0,5,10,15,0,5,10,15]5219; AVX-NEXT:    vpshufb %xmm3, %xmm8, %xmm15220; AVX-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5221; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm1 = xmm1[2],xmm0[2],xmm1[3],xmm0[3]5222; AVX-NEXT:    vmovddup {{.*#+}} xmm4 = [128,128,2,7,12,0,0,128,128,128,2,7,12,0,0,128]5223; AVX-NEXT:    # xmm4 = mem[0,0]5224; AVX-NEXT:    vpshufb %xmm4, %xmm9, %xmm05225; AVX-NEXT:    vmovdqa %xmm9, (%rsp) # 16-byte Spill5226; AVX-NEXT:    vmovddup {{.*#+}} xmm5 = [8,13,128,128,128,0,0,3,8,13,128,128,128,0,0,3]5227; AVX-NEXT:    # xmm5 = mem[0,0]5228; AVX-NEXT:    vpshufb %xmm5, %xmm12, %xmm65229; AVX-NEXT:    vmovdqa %xmm12, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5230; AVX-NEXT:    vpor %xmm0, %xmm6, %xmm65231; AVX-NEXT:    vmovq {{.*#+}} xmm0 = [255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0]5232; AVX-NEXT:    vpblendvb %xmm0, %xmm1, %xmm6, %xmm15233; AVX-NEXT:    vmovdqu %ymm1, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5234; AVX-NEXT:    vmovdqa 176(%rdi), %xmm145235; AVX-NEXT:    vpshufb %xmm2, %xmm14, %xmm25236; AVX-NEXT:    vmovdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5237; AVX-NEXT:    vmovdqa 160(%rdi), %xmm135238; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm35239; AVX-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5240; AVX-NEXT:    vpunpckhdq {{.*#+}} xmm2 = xmm3[2],xmm2[2],xmm3[3],xmm2[3]5241; AVX-NEXT:    vmovdqa 208(%rdi), %xmm105242; AVX-NEXT:    vpshufb %xmm4, %xmm10, %xmm35243; AVX-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5244; AVX-NEXT:    vmovdqa 192(%rdi), %xmm15245; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm45246; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5247; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm35248; AVX-NEXT:    vpblendvb %xmm0, %xmm2, %xmm3, %xmm25249; AVX-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5250; AVX-NEXT:    vmovq {{.*#+}} xmm3 = [1,6,11,128,128,128,128,0,0,0,0,0,0,0,0,0]5251; AVX-NEXT:    vpshufb %xmm3, %xmm8, %xmm45252; AVX-NEXT:    vmovq {{.*#+}} xmm5 = [128,128,128,0,5,10,15,0,0,0,0,0,0,0,0,0]5253; AVX-NEXT:    vpshufb %xmm5, %xmm11, %xmm65254; AVX-NEXT:    vpor %xmm4, %xmm6, %xmm45255; AVX-NEXT:    vmovddup {{.*#+}} xmm7 = [128,128,3,8,13,0,0,128,128,128,3,8,13,0,0,128]5256; AVX-NEXT:    # xmm7 = mem[0,0]5257; AVX-NEXT:    vpshufb %xmm7, %xmm9, %xmm65258; AVX-NEXT:    vmovddup {{.*#+}} xmm8 = [9,14,128,128,128,0,0,4,9,14,128,128,128,0,0,4]5259; AVX-NEXT:    # xmm8 = mem[0,0]5260; AVX-NEXT:    vpshufb %xmm8, %xmm12, %xmm95261; AVX-NEXT:    vpor %xmm6, %xmm9, %xmm65262; AVX-NEXT:    vpblendvb %xmm0, %xmm4, %xmm6, %xmm25263; AVX-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5264; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm35265; AVX-NEXT:    vpshufb %xmm5, %xmm14, %xmm45266; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm35267; AVX-NEXT:    vmovddup {{.*#+}} xmm11 = [0,0,128,128,128,1,6,11,0,0,128,128,128,1,6,11]5268; AVX-NEXT:    # xmm11 = mem[0,0]5269; AVX-NEXT:    vpshufb %xmm7, %xmm10, %xmm45270; AVX-NEXT:    vpshufb %xmm8, %xmm1, %xmm55271; AVX-NEXT:    vpor %xmm4, %xmm5, %xmm45272; AVX-NEXT:    vmovdqa 144(%rdi), %xmm85273; AVX-NEXT:    vpblendvb %xmm0, %xmm3, %xmm4, %xmm05274; AVX-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5275; AVX-NEXT:    vpshufb %xmm11, %xmm8, %xmm05276; AVX-NEXT:    vmovddup {{.*#+}} xmm7 = [0,0,2,7,12,128,128,128,0,0,2,7,12,128,128,128]5277; AVX-NEXT:    # xmm7 = mem[0,0]5278; AVX-NEXT:    vmovdqa 128(%rdi), %xmm135279; AVX-NEXT:    vpshufb %xmm7, %xmm13, %xmm35280; AVX-NEXT:    vpor %xmm0, %xmm3, %xmm05281; AVX-NEXT:    vmovddup {{.*#+}} xmm5 = [8,13,0,0,128,128,128,3,8,13,0,0,128,128,128,3]5282; AVX-NEXT:    # xmm5 = mem[0,0]5283; AVX-NEXT:    vmovdqa 112(%rdi), %xmm15284; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5285; AVX-NEXT:    vpshufb %xmm5, %xmm1, %xmm35286; AVX-NEXT:    vmovddup {{.*#+}} xmm6 = [128,128,0,0,4,9,14,128,128,128,0,0,4,9,14,128]5287; AVX-NEXT:    # xmm6 = mem[0,0]5288; AVX-NEXT:    vmovdqa 96(%rdi), %xmm15289; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5290; AVX-NEXT:    vpshufb %xmm6, %xmm1, %xmm125291; AVX-NEXT:    vpor %xmm3, %xmm12, %xmm35292; AVX-NEXT:    vpxor %xmm4, %xmm4, %xmm45293; AVX-NEXT:    vpblendw {{.*#+}} xmm12 = xmm4[0,1],xmm3[2,3,4,5,6,7]5294; AVX-NEXT:    vmovdqa {{.*#+}} xmm3 = [0,5,10,15,128,128,128,128,128,128,u,u,u,u,u,u]5295; AVX-NEXT:    vmovdqa 80(%rdi), %xmm145296; AVX-NEXT:    vpshufb %xmm3, %xmm14, %xmm155297; AVX-NEXT:    vpor %xmm15, %xmm12, %xmm125298; AVX-NEXT:    vpblendw {{.*#+}} xmm15 = xmm12[0,1,2,3,4],xmm0[5,6,7]5299; AVX-NEXT:    vmovaps {{.*#+}} ymm12 = [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,255,255,255,255,255,255]5300; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm0 # 32-byte Folded Reload5301; AVX-NEXT:    vbroadcastss {{.*#+}} xmm2 = [0,1,6,11,0,1,6,11,0,1,6,11,0,1,6,11]5302; AVX-NEXT:    vmovdqa 64(%rdi), %xmm15303; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5304; AVX-NEXT:    vpshufb %xmm2, %xmm1, %xmm95305; AVX-NEXT:    vandnps %ymm9, %ymm12, %ymm95306; AVX-NEXT:    vorps %ymm0, %ymm9, %ymm05307; AVX-NEXT:    vinsertf128 $1, %xmm15, %ymm0, %ymm05308; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5309; AVX-NEXT:    vmovdqa 304(%rdi), %xmm05310; AVX-NEXT:    vmovdqa %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5311; AVX-NEXT:    vpshufb %xmm11, %xmm0, %xmm05312; AVX-NEXT:    vmovdqa 288(%rdi), %xmm15313; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5314; AVX-NEXT:    vpshufb %xmm7, %xmm1, %xmm95315; AVX-NEXT:    vpor %xmm0, %xmm9, %xmm05316; AVX-NEXT:    vmovdqa 272(%rdi), %xmm105317; AVX-NEXT:    vpshufb %xmm5, %xmm10, %xmm55318; AVX-NEXT:    vmovdqa %xmm10, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5319; AVX-NEXT:    vmovdqa 256(%rdi), %xmm95320; AVX-NEXT:    vpshufb %xmm6, %xmm9, %xmm65321; AVX-NEXT:    vpor %xmm5, %xmm6, %xmm55322; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm4[0,1],xmm5[2,3,4,5,6,7]5323; AVX-NEXT:    vmovdqa 240(%rdi), %xmm15324; AVX-NEXT:    vmovdqa %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5325; AVX-NEXT:    vpshufb %xmm3, %xmm1, %xmm35326; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm35327; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm3[0,1,2,3,4],xmm0[5,6,7]5328; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm3 # 32-byte Folded Reload5329; AVX-NEXT:    vmovdqa 224(%rdi), %xmm55330; AVX-NEXT:    vpshufb %xmm2, %xmm5, %xmm25331; AVX-NEXT:    vmovdqa %xmm5, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5332; AVX-NEXT:    vandnps %ymm2, %ymm12, %ymm25333; AVX-NEXT:    vorps %ymm2, %ymm3, %ymm25334; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm2, %ymm05335; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5336; AVX-NEXT:    vmovddup {{.*#+}} xmm2 = [0,0,128,128,128,2,7,12,0,0,128,128,128,2,7,12]5337; AVX-NEXT:    # xmm2 = mem[0,0]5338; AVX-NEXT:    vpshufb %xmm2, %xmm8, %xmm05339; AVX-NEXT:    vmovdqa %xmm8, %xmm115340; AVX-NEXT:    vmovdqa %xmm8, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5341; AVX-NEXT:    vmovddup {{.*#+}} xmm3 = [0,0,3,8,13,128,128,128,0,0,3,8,13,128,128,128]5342; AVX-NEXT:    # xmm3 = mem[0,0]5343; AVX-NEXT:    vmovdqa %xmm13, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5344; AVX-NEXT:    vpshufb %xmm3, %xmm13, %xmm45345; AVX-NEXT:    vpor %xmm0, %xmm4, %xmm45346; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm7 # 16-byte Reload5347; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm7[u,u,u],zero,zero,zero,zero,xmm7[4,9,14,u,u,u,u,u,u]5348; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5349; AVX-NEXT:    vpshufb {{.*#+}} xmm8 = xmm1[u,u,u,0,5,10,15],zero,zero,zero,xmm1[u,u,u,u,u,u]5350; AVX-NEXT:    vpor %xmm0, %xmm8, %xmm85351; AVX-NEXT:    vpshufb {{.*#+}} xmm8 = zero,zero,zero,xmm8[3,4,5,6,7,8,9,u,u,u,u,u,u]5352; AVX-NEXT:    vmovdqa %xmm14, %xmm65353; AVX-NEXT:    vmovdqa %xmm14, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5354; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[1,6,11],zero,zero,zero,zero,zero,zero,zero,xmm14[u,u,u,u,u,u]5355; AVX-NEXT:    vpor %xmm14, %xmm8, %xmm85356; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm8[0,1,2,3,4],xmm4[5,6,7]5357; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm8 # 32-byte Folded Reload5358; AVX-NEXT:    vbroadcastss {{.*#+}} xmm14 = [0,2,7,12,0,2,7,12,0,2,7,12,0,2,7,12]5359; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5360; AVX-NEXT:    vpshufb %xmm14, %xmm0, %xmm155361; AVX-NEXT:    vandnps %ymm15, %ymm12, %ymm155362; AVX-NEXT:    vorps %ymm15, %ymm8, %ymm85363; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm8, %ymm45364; AVX-NEXT:    vmovups %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5365; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5366; AVX-NEXT:    vpshufb %xmm2, %xmm0, %xmm25367; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5368; AVX-NEXT:    vpshufb %xmm3, %xmm0, %xmm35369; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm25370; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm10[u,u,u],zero,zero,zero,zero,xmm10[4,9,14,u,u,u,u,u,u]5371; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm9[u,u,u,0,5,10,15],zero,zero,zero,xmm9[u,u,u,u,u,u]5372; AVX-NEXT:    vmovdqa %xmm9, %xmm85373; AVX-NEXT:    vmovdqa %xmm9, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill5374; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm35375; AVX-NEXT:    vmovdqa {{.*#+}} xmm9 = [128,128,128,3,4,5,6,7,8,9,u,u,u,u,u,u]5376; AVX-NEXT:    vpshufb %xmm9, %xmm3, %xmm35377; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5378; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm10[1,6,11],zero,zero,zero,zero,zero,zero,zero,xmm10[u,u,u,u,u,u]5379; AVX-NEXT:    vpor %xmm0, %xmm3, %xmm05380; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3,4],xmm2[5,6,7]5381; AVX-NEXT:    vandps {{[-0-9]+}}(%r{{[sb]}}p), %ymm12, %ymm2 # 32-byte Folded Reload5382; AVX-NEXT:    vpshufb %xmm14, %xmm5, %xmm35383; AVX-NEXT:    vandnps %ymm3, %ymm12, %ymm35384; AVX-NEXT:    vorps %ymm3, %ymm2, %ymm25385; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm2, %ymm05386; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5387; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[3,8,13]5388; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm13[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero5389; AVX-NEXT:    vpor %xmm0, %xmm2, %xmm05390; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm1[u,u,u,1,6,11],zero,zero,zero,zero,xmm1[u,u,u,u,u,u]5391; AVX-NEXT:    vmovddup {{.*#+}} xmm4 = [10,15,0,128,128,128,0,5,10,15,0,128,128,128,0,5]5392; AVX-NEXT:    # xmm4 = mem[0,0]5393; AVX-NEXT:    vpshufb %xmm4, %xmm7, %xmm55394; AVX-NEXT:    vpor %xmm3, %xmm5, %xmm35395; AVX-NEXT:    vpshufb %xmm9, %xmm3, %xmm35396; AVX-NEXT:    vmovdqa {{.*#+}} xmm11 = [2,7,12,128,128,128,128,128,128,128,u,u,u,u,u,u]5397; AVX-NEXT:    vpshufb %xmm11, %xmm6, %xmm145398; AVX-NEXT:    vpor %xmm3, %xmm14, %xmm35399; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1,2,3,4],xmm0[5,6,7]5400; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5401; AVX-NEXT:    vpshufb {{.*#+}} xmm14 = zero,zero,zero,xmm6[1,6,11,u,u,u,u,u,u,u,u,u,u]5402; AVX-NEXT:    vmovddup {{.*#+}} xmm3 = [128,128,4,9,14,0,128,128,128,128,4,9,14,0,128,128]5403; AVX-NEXT:    # xmm3 = mem[0,0]5404; AVX-NEXT:    vmovdqa (%rsp), %xmm7 # 16-byte Reload5405; AVX-NEXT:    vpshufb %xmm3, %xmm7, %xmm125406; AVX-NEXT:    vpblendw {{.*#+}} xmm12 = xmm14[0,1,2],xmm12[3,4,5,6,7]5407; AVX-NEXT:    vmovq {{.*#+}} xmm14 = [2,7,12,128,128,128,0,0,0,0,0,0,0,0,0,0]5408; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5409; AVX-NEXT:    vpshufb %xmm14, %xmm15, %xmm05410; AVX-NEXT:    vmovddup {{.*#+}} xmm9 = [10,15,128,128,128,0,0,5,10,15,128,128,128,0,0,5]5411; AVX-NEXT:    # xmm9 = mem[0,0]5412; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload5413; AVX-NEXT:    vpshufb %xmm9, %xmm5, %xmm135414; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2],xmm13[3,4,5,6,7]5415; AVX-NEXT:    vpor %xmm0, %xmm12, %xmm05416; AVX-NEXT:    vmovaps {{.*#+}} ymm12 = [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,255,255,255,255,255,255]5417; AVX-NEXT:    vandps %ymm0, %ymm12, %ymm05418; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5419; AVX-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13]5420; AVX-NEXT:    vandnps %ymm13, %ymm12, %ymm135421; AVX-NEXT:    vorps %ymm0, %ymm13, %ymm05422; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm0, %ymm05423; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5424; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5425; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm0[3,8,13]5426; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5427; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero5428; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm05429; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm8[u,u,u,1,6,11],zero,zero,zero,zero,xmm8[u,u,u,u,u,u]5430; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5431; AVX-NEXT:    vpshufb %xmm4, %xmm13, %xmm45432; AVX-NEXT:    vpor %xmm1, %xmm4, %xmm15433; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,4,5,6,7,8,9,u,u,u,u,u,u]5434; AVX-NEXT:    vpshufb %xmm11, %xmm10, %xmm45435; AVX-NEXT:    vpor %xmm4, %xmm1, %xmm15436; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm1[0,1,2,3,4],xmm0[5,6,7]5437; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload5438; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm11[1,6,11,u,u,u,u,u,u,u,u,u,u]5439; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm8 # 16-byte Reload5440; AVX-NEXT:    vpshufb %xmm3, %xmm8, %xmm35441; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2],xmm3[3,4,5,6,7]5442; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm10 # 16-byte Reload5443; AVX-NEXT:    vpshufb %xmm14, %xmm10, %xmm35444; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload5445; AVX-NEXT:    vpshufb %xmm9, %xmm14, %xmm25446; AVX-NEXT:    vpblendw {{.*#+}} xmm2 = xmm3[0,1,2],xmm2[3,4,5,6,7]5447; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm15448; AVX-NEXT:    vandps %ymm1, %ymm12, %ymm15449; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5450; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm9[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13]5451; AVX-NEXT:    vandnps %ymm2, %ymm12, %ymm25452; AVX-NEXT:    vorps %ymm2, %ymm1, %ymm15453; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm05454; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5455; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,zero,xmm6[2,7,12,u,u,u,u,u,u,u,u,u,u]5456; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm5[u,u,u,u,u,u,1,6,11],zero,zero,zero,zero,xmm5[u,u,u]5457; AVX-NEXT:    vpblendw {{.*#+}} xmm0 = xmm0[0,1,2],xmm1[3,4,5,6,7]5458; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm15[3,8,13],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]5459; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm7[u,u,u,u,u,u],zero,zero,zero,xmm7[0,5,10,15,u,u,u]5460; AVX-NEXT:    vpblendw {{.*#+}} xmm1 = xmm1[0,1,2],xmm2[3,4,5,6,7]5461; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm35462; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload5463; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u],zero,zero,zero,xmm0[1,6,11,u,u,u,u,u,u,u]5464; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5465; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,2,7,12],zero,zero,zero,xmm1[u,u,u,u,u,u,u]5466; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm05467; AVX-NEXT:    vpshufb {{.*#+}} xmm0 = zero,zero,zero,xmm0[3,4,5,6,7,8,u,u,u,u,u,u,u]5468; AVX-NEXT:    vmovdqa {{.*#+}} xmm2 = [3,8,13,128,128,128,128,128,128,u,u,u,u,u,u,u]5469; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5470; AVX-NEXT:    vpshufb %xmm2, %xmm15, %xmm15471; AVX-NEXT:    vpor %xmm1, %xmm0, %xmm05472; AVX-NEXT:    vbroadcastss {{.*#+}} xmm1 = [0,4,9,14,0,4,9,14,0,4,9,14,0,4,9,14]5473; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5474; AVX-NEXT:    vpshufb %xmm1, %xmm4, %xmm45475; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm4, %ymm45476; AVX-NEXT:    vmovaps {{.*#+}} ymm12 = [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,255,255,255,255,255,255,255]5477; AVX-NEXT:    vandps %ymm3, %ymm12, %ymm35478; AVX-NEXT:    vandnps %ymm4, %ymm12, %ymm45479; AVX-NEXT:    vorps %ymm4, %ymm3, %ymm35480; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5481; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm6[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm6[4,9,14]5482; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5483; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm4[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero5484; AVX-NEXT:    vpor %xmm5, %xmm7, %xmm55485; AVX-NEXT:    vextractf128 $1, %ymm3, %xmm75486; AVX-NEXT:    vpmovsxwq {{.*#+}} xmm0 = [18446744073709551615,255]5487; AVX-NEXT:    vpblendvb %xmm0, %xmm7, %xmm5, %xmm55488; AVX-NEXT:    vinsertf128 $1, %xmm5, %ymm3, %ymm35489; AVX-NEXT:    vmovups %ymm3, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5490; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm11[2,7,12,u,u,u,u,u,u,u,u,u,u]5491; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm14[u,u,u,u,u,u,1,6,11],zero,zero,zero,zero,xmm14[u,u,u]5492; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm3[0,1,2],xmm5[3,4,5,6,7]5493; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm10[3,8,13],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]5494; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm8[u,u,u,u,u,u],zero,zero,zero,xmm8[0,5,10,15,u,u,u]5495; AVX-NEXT:    vpblendw {{.*#+}} xmm5 = xmm5[0,1,2],xmm7[3,4,5,6,7]5496; AVX-NEXT:    vpor %xmm3, %xmm5, %xmm35497; AVX-NEXT:    vpshufb {{.*#+}} xmm5 = xmm13[u,u,u],zero,zero,zero,xmm13[1,6,11,u,u,u,u,u,u,u]5498; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm11 # 16-byte Reload5499; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm11[u,u,u,2,7,12],zero,zero,zero,xmm11[u,u,u,u,u,u,u]5500; AVX-NEXT:    vpor %xmm5, %xmm7, %xmm55501; AVX-NEXT:    vmovdqa {{.*#+}} xmm7 = [128,128,128,3,4,5,6,7,8,u,u,u,u,u,u,u]5502; AVX-NEXT:    vpshufb %xmm7, %xmm5, %xmm55503; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm14 # 16-byte Reload5504; AVX-NEXT:    vpshufb %xmm2, %xmm14, %xmm25505; AVX-NEXT:    vpor %xmm2, %xmm5, %xmm25506; AVX-NEXT:    vpshufb %xmm1, %xmm9, %xmm15507; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm1, %ymm15508; AVX-NEXT:    vandps %ymm3, %ymm12, %ymm25509; AVX-NEXT:    vandnps %ymm1, %ymm12, %ymm05510; AVX-NEXT:    vorps %ymm0, %ymm2, %ymm05511; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm9 # 16-byte Reload5512; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm9[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm9[4,9,14]5513; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload5514; AVX-NEXT:    vpshufb {{.*#+}} xmm2 = xmm5[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero5515; AVX-NEXT:    vpor %xmm1, %xmm2, %xmm15516; AVX-NEXT:    vextractf128 $1, %ymm0, %xmm25517; AVX-NEXT:    vpmovsxwq {{.*#+}} xmm8 = [18446744073709551615,255]5518; AVX-NEXT:    vpblendvb %xmm8, %xmm2, %xmm1, %xmm15519; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm0, %ymm05520; AVX-NEXT:    vmovups %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5521; AVX-NEXT:    vmovddup {{.*#+}} xmm0 = [0,1,6,11,128,128,128,128,0,1,6,11,128,128,128,128]5522; AVX-NEXT:    # xmm0 = mem[0,0]5523; AVX-NEXT:    vpshufb %xmm0, %xmm4, %xmm25524; AVX-NEXT:    vmovddup {{.*#+}} xmm1 = [0,128,128,128,0,5,10,15,0,128,128,128,0,5,10,15]5525; AVX-NEXT:    # xmm1 = mem[0,0]5526; AVX-NEXT:    vpshufb %xmm1, %xmm6, %xmm35527; AVX-NEXT:    vpor %xmm2, %xmm3, %xmm25528; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5529; AVX-NEXT:    vpshufb {{.*#+}} xmm4 = xmm3[u,u,u],zero,zero,zero,xmm3[2,7,12,u,u,u,u,u,u,u]5530; AVX-NEXT:    vmovddup {{.*#+}} xmm3 = [128,0,0,3,8,13,128,128,128,0,0,3,8,13,128,128]5531; AVX-NEXT:    # xmm3 = mem[0,0]5532; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm6 # 16-byte Reload5533; AVX-NEXT:    vpshufb %xmm3, %xmm6, %xmm65534; AVX-NEXT:    vpor %xmm4, %xmm6, %xmm45535; AVX-NEXT:    vpshufb %xmm7, %xmm4, %xmm45536; AVX-NEXT:    vpshufb {{.*#+}} xmm7 = xmm15[4,9,14],zero,zero,zero,zero,zero,zero,xmm15[u,u,u,u,u,u,u]5537; AVX-NEXT:    vpor %xmm7, %xmm4, %xmm45538; AVX-NEXT:    vmovdqa (%rsp), %xmm6 # 16-byte Reload5539; AVX-NEXT:    vpshufb {{.*#+}} xmm10 = xmm6[u,u,u,u,u,u],zero,zero,zero,xmm6[1,6,11,u,u,u,u]5540; AVX-NEXT:    vmovq {{.*#+}} xmm7 = [128,128,128,3,8,13,0,0,0,0,0,0,0,0,0,0]5541; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm12 # 16-byte Reload5542; AVX-NEXT:    vpshufb %xmm7, %xmm12, %xmm125543; AVX-NEXT:    vpblendw {{.*#+}} xmm10 = xmm12[0,1,2],xmm10[3,4,5],xmm12[6,7]5544; AVX-NEXT:    vmovddup {{.*#+}} xmm12 = [12,128,128,128,0,0,2,7,12,128,128,128,0,0,2,7]5545; AVX-NEXT:    # xmm12 = mem[0,0]5546; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm13 # 16-byte Reload5547; AVX-NEXT:    vpshufb %xmm12, %xmm13, %xmm135548; AVX-NEXT:    vmovq {{.*#+}} xmm6 = [4,9,14,128,128,128,0,0,0,0,0,0,0,0,0,0]5549; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5550; AVX-NEXT:    vpshufb %xmm6, %xmm15, %xmm155551; AVX-NEXT:    vpblendw {{.*#+}} xmm13 = xmm15[0,1,2],xmm13[3,4,5],xmm15[6,7]5552; AVX-NEXT:    vpor %xmm10, %xmm13, %xmm105553; AVX-NEXT:    vpblendvb %xmm8, %xmm4, %xmm2, %xmm25554; AVX-NEXT:    vbroadcastss {{.*#+}} xmm13 = [0,5,10,15,0,5,10,15,0,5,10,15,0,5,10,15]5555; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm15 # 16-byte Reload5556; AVX-NEXT:    vpshufb %xmm13, %xmm15, %xmm155557; AVX-NEXT:    vinsertf128 $1, %xmm4, %ymm15, %ymm45558; AVX-NEXT:    vblendps {{.*#+}} ymm4 = ymm10[0,1,2],ymm4[3,4,5,6,7]5559; AVX-NEXT:    vinsertf128 $1, %xmm2, %ymm4, %ymm25560; AVX-NEXT:    vpshufb %xmm0, %xmm5, %xmm05561; AVX-NEXT:    vpshufb %xmm1, %xmm9, %xmm15562; AVX-NEXT:    vpor %xmm0, %xmm1, %xmm05563; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload5564; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u],zero,zero,zero,xmm1[2,7,12,u,u,u,u,u,u,u]5565; AVX-NEXT:    vpshufb %xmm3, %xmm11, %xmm35566; AVX-NEXT:    vpor %xmm1, %xmm3, %xmm15567; AVX-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,4,5,6,7,8,u,u,u,u,u,u,u]5568; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm14[4,9,14],zero,zero,zero,zero,zero,zero,xmm14[u,u,u,u,u,u,u]5569; AVX-NEXT:    vpor %xmm3, %xmm1, %xmm15570; AVX-NEXT:    vpblendvb %xmm8, %xmm1, %xmm0, %xmm05571; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm3 # 16-byte Reload5572; AVX-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u,u,u,u],zero,zero,zero,xmm3[1,6,11,u,u,u,u]5573; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5574; AVX-NEXT:    vpshufb %xmm7, %xmm4, %xmm45575; AVX-NEXT:    vpblendw {{.*#+}} xmm3 = xmm4[0,1,2],xmm3[3,4,5],xmm4[6,7]5576; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5577; AVX-NEXT:    vpshufb %xmm12, %xmm4, %xmm45578; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm5 # 16-byte Reload5579; AVX-NEXT:    vpshufb %xmm6, %xmm5, %xmm55580; AVX-NEXT:    vpblendw {{.*#+}} xmm4 = xmm5[0,1,2],xmm4[3,4,5],xmm5[6,7]5581; AVX-NEXT:    vpor %xmm3, %xmm4, %xmm35582; AVX-NEXT:    vmovdqa {{[-0-9]+}}(%r{{[sb]}}p), %xmm4 # 16-byte Reload5583; AVX-NEXT:    vpshufb %xmm13, %xmm4, %xmm45584; AVX-NEXT:    vinsertf128 $1, %xmm1, %ymm4, %ymm15585; AVX-NEXT:    vblendps {{.*#+}} ymm1 = ymm3[0,1,2],ymm1[3,4,5,6,7]5586; AVX-NEXT:    vinsertf128 $1, %xmm0, %ymm1, %ymm05587; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5588; AVX-NEXT:    vmovaps %ymm1, 32(%rsi)5589; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5590; AVX-NEXT:    vmovaps %ymm1, (%rsi)5591; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5592; AVX-NEXT:    vmovaps %ymm1, 32(%rdx)5593; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5594; AVX-NEXT:    vmovaps %ymm1, (%rdx)5595; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5596; AVX-NEXT:    vmovaps %ymm1, 32(%rcx)5597; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5598; AVX-NEXT:    vmovaps %ymm1, (%rcx)5599; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5600; AVX-NEXT:    vmovaps %ymm1, 32(%r8)5601; AVX-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm1 # 32-byte Reload5602; AVX-NEXT:    vmovaps %ymm1, (%r8)5603; AVX-NEXT:    vmovaps %ymm0, 32(%r9)5604; AVX-NEXT:    vmovaps %ymm2, (%r9)5605; AVX-NEXT:    addq $488, %rsp # imm = 0x1E85606; AVX-NEXT:    vzeroupper5607; AVX-NEXT:    retq5608;5609; AVX2-LABEL: load_i8_stride5_vf64:5610; AVX2:       # %bb.0:5611; AVX2-NEXT:    subq $136, %rsp5612; AVX2-NEXT:    vmovdqa 64(%rdi), %ymm25613; AVX2-NEXT:    vmovdqa 96(%rdi), %ymm45614; AVX2-NEXT:    vmovdqa 224(%rdi), %ymm105615; AVX2-NEXT:    vmovdqa 256(%rdi), %ymm95616; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]5617; AVX2-NEXT:    vpblendvb %ymm12, %ymm10, %ymm9, %ymm05618; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5619; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255]5620; AVX2-NEXT:    # ymm3 = mem[0,1,0,1]5621; AVX2-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm155622; AVX2-NEXT:    vpblendvb %ymm12, %ymm2, %ymm4, %ymm05623; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5624; AVX2-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm75625; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]5626; AVX2-NEXT:    vpblendvb %ymm5, %ymm9, %ymm10, %ymm05627; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5628; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0]5629; AVX2-NEXT:    # ymm3 = mem[0,1,0,1]5630; AVX2-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm05631; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5632; AVX2-NEXT:    vpblendvb %ymm5, %ymm4, %ymm2, %ymm05633; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5634; AVX2-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm115635; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]5636; AVX2-NEXT:    vpblendvb %ymm5, %ymm9, %ymm10, %ymm05637; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5638; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255]5639; AVX2-NEXT:    # ymm3 = mem[0,1,0,1]5640; AVX2-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm05641; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5642; AVX2-NEXT:    vpblendvb %ymm5, %ymm4, %ymm2, %ymm05643; AVX2-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5644; AVX2-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5645; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5646; AVX2-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm05647; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5648; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]5649; AVX2-NEXT:    vpblendvb %ymm5, %ymm9, %ymm10, %ymm05650; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5651; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0]5652; AVX2-NEXT:    # ymm3 = mem[0,1,0,1]5653; AVX2-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm05654; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5655; AVX2-NEXT:    vpblendvb %ymm5, %ymm4, %ymm2, %ymm05656; AVX2-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5657; AVX2-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm05658; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5659; AVX2-NEXT:    vmovdqa 160(%rdi), %ymm135660; AVX2-NEXT:    vmovdqa 192(%rdi), %ymm145661; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm6 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]5662; AVX2-NEXT:    vpblendvb %ymm6, %ymm13, %ymm14, %ymm05663; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm15664; AVX2-NEXT:    vmovdqa {{.*#+}} xmm5 = [128,128,128,128,4,9,14,128,128,128,2,7,12,u,u,u]5665; AVX2-NEXT:    vpshufb %xmm5, %xmm1, %xmm15666; AVX2-NEXT:    vmovdqa {{.*#+}} xmm4 = [0,5,10,15,128,128,128,3,8,13,128,128,128,u,u,u]5667; AVX2-NEXT:    vpshufb %xmm4, %xmm0, %xmm05668; AVX2-NEXT:    vpor %xmm1, %xmm0, %xmm15669; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,5,10,15,4,9,14,3,8,13,0,0,0,1,6,11,0,5,10,15,4,9,14,3,8,13,0,0,0,1,6,11]5670; AVX2-NEXT:    # ymm3 = mem[0,1,0,1]5671; AVX2-NEXT:    vpshufb %ymm3, %ymm15, %ymm155672; AVX2-NEXT:    vpmovsxwd {{.*#+}} xmm2 = [4294967295,4294967295,4294967295,255]5673; AVX2-NEXT:    vpblendvb %ymm2, %ymm1, %ymm15, %ymm05674; AVX2-NEXT:    vmovdqu %ymm0, (%rsp) # 32-byte Spill5675; AVX2-NEXT:    vpshufb %ymm3, %ymm7, %ymm75676; AVX2-NEXT:    vmovdqa (%rdi), %ymm35677; AVX2-NEXT:    vmovdqa 32(%rdi), %ymm15678; AVX2-NEXT:    vpblendvb %ymm6, %ymm3, %ymm1, %ymm05679; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm85680; AVX2-NEXT:    vpshufb %xmm5, %xmm8, %xmm55681; AVX2-NEXT:    vpshufb %xmm4, %xmm0, %xmm05682; AVX2-NEXT:    vpor %xmm5, %xmm0, %xmm05683; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm7, %ymm155684; AVX2-NEXT:    vpblendvb %ymm12, %ymm13, %ymm14, %ymm05685; AVX2-NEXT:    vmovdqa {{.*#+}} xmm6 = [1,6,11,128,128,128,128,4,9,14,128,128,128,u,u,u]5686; AVX2-NEXT:    vpshufb %xmm6, %xmm0, %xmm55687; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm05688; AVX2-NEXT:    vmovdqa {{.*#+}} xmm4 = [128,128,128,0,5,10,15,128,128,128,3,8,13,u,u,u]5689; AVX2-NEXT:    vpshufb %xmm4, %xmm0, %xmm05690; AVX2-NEXT:    vpor %xmm5, %xmm0, %xmm05691; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [1,6,11,0,5,10,15,4,9,14,0,0,0,2,7,12,1,6,11,0,5,10,15,4,9,14,0,0,0,2,7,12]5692; AVX2-NEXT:    # ymm5 = mem[0,1,0,1]5693; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload5694; AVX2-NEXT:    vpshufb %ymm5, %ymm8, %ymm85695; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm8, %ymm85696; AVX2-NEXT:    vpshufb %ymm5, %ymm11, %ymm05697; AVX2-NEXT:    vpblendvb %ymm12, %ymm3, %ymm1, %ymm55698; AVX2-NEXT:    vpshufb %xmm6, %xmm5, %xmm65699; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm55700; AVX2-NEXT:    vpshufb %xmm4, %xmm5, %xmm45701; AVX2-NEXT:    vpor %xmm6, %xmm4, %xmm45702; AVX2-NEXT:    vpblendvb %ymm2, %ymm4, %ymm0, %ymm115703; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]5704; AVX2-NEXT:    vpblendvb %ymm7, %ymm14, %ymm13, %ymm05705; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm45706; AVX2-NEXT:    vmovdqa {{.*#+}} xmm5 = [128,128,128,1,6,11,128,128,128,128,4,9,14,u,u,u]5707; AVX2-NEXT:    vpshufb %xmm5, %xmm4, %xmm45708; AVX2-NEXT:    vmovdqa {{.*#+}} xmm6 = [2,7,12,128,128,128,0,5,10,15,128,128,128,u,u,u]5709; AVX2-NEXT:    vpshufb %xmm6, %xmm0, %xmm05710; AVX2-NEXT:    vpor %xmm4, %xmm0, %xmm05711; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [2,7,12,1,6,11,0,5,10,15,0,0,0,3,8,13,2,7,12,1,6,11,0,5,10,15,0,0,0,3,8,13]5712; AVX2-NEXT:    # ymm4 = mem[0,1,0,1]5713; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload5714; AVX2-NEXT:    vpshufb %ymm4, %ymm12, %ymm125715; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm12, %ymm05716; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5717; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5718; AVX2-NEXT:    vpshufb %ymm4, %ymm0, %ymm05719; AVX2-NEXT:    vpblendvb %ymm7, %ymm1, %ymm3, %ymm45720; AVX2-NEXT:    vextracti128 $1, %ymm4, %xmm125721; AVX2-NEXT:    vpshufb %xmm5, %xmm12, %xmm55722; AVX2-NEXT:    vpshufb %xmm6, %xmm4, %xmm45723; AVX2-NEXT:    vpor %xmm5, %xmm4, %xmm45724; AVX2-NEXT:    vpblendvb %ymm2, %ymm4, %ymm0, %ymm05725; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5726; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]5727; AVX2-NEXT:    vpblendvb %ymm7, %ymm14, %ymm13, %ymm05728; AVX2-NEXT:    vmovdqa {{.*#+}} xmm4 = [3,8,13,128,128,128,1,6,11,128,128,128,128,u,u,u]5729; AVX2-NEXT:    vpshufb %xmm4, %xmm0, %xmm55730; AVX2-NEXT:    vextracti128 $1, %ymm0, %xmm05731; AVX2-NEXT:    vmovdqa {{.*#+}} xmm6 = [128,128,128,2,7,12,128,128,128,0,5,10,15,u,u,u]5732; AVX2-NEXT:    vpshufb %xmm6, %xmm0, %xmm05733; AVX2-NEXT:    vpor %xmm5, %xmm0, %xmm05734; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [3,8,13,2,7,12,1,6,11,0,0,0,0,4,9,14,3,8,13,2,7,12,1,6,11,0,0,0,0,4,9,14]5735; AVX2-NEXT:    # ymm5 = mem[0,1,0,1]5736; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload5737; AVX2-NEXT:    vpshufb %ymm5, %ymm12, %ymm125738; AVX2-NEXT:    vpblendvb %ymm2, %ymm0, %ymm12, %ymm05739; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5740; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5741; AVX2-NEXT:    vpshufb %ymm5, %ymm0, %ymm05742; AVX2-NEXT:    vpblendvb %ymm7, %ymm1, %ymm3, %ymm55743; AVX2-NEXT:    vpshufb %xmm4, %xmm5, %xmm45744; AVX2-NEXT:    vextracti128 $1, %ymm5, %xmm55745; AVX2-NEXT:    vpshufb %xmm6, %xmm5, %xmm55746; AVX2-NEXT:    vpor %xmm4, %xmm5, %xmm45747; AVX2-NEXT:    vpblendvb %ymm2, %ymm4, %ymm0, %ymm65748; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]5749; AVX2-NEXT:    vpblendvb %ymm4, %ymm10, %ymm9, %ymm05750; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload5751; AVX2-NEXT:    vpblendvb %ymm4, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload5752; AVX2-NEXT:    vpermq {{.*#+}} ymm4 = ymm0[2,3,0,1]5753; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255]5754; AVX2-NEXT:    # ymm5 = mem[0,1,0,1]5755; AVX2-NEXT:    vpblendvb %ymm5, %ymm0, %ymm4, %ymm105756; AVX2-NEXT:    vpermq {{.*#+}} ymm0 = ymm2[2,3,0,1]5757; AVX2-NEXT:    vpblendvb %ymm5, %ymm2, %ymm0, %ymm05758; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5759; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm4 = [0,0,128,128,128,1,6,11,0,0,128,128,128,1,6,11]5760; AVX2-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]5761; AVX2-NEXT:    vpblendvb %ymm0, %ymm14, %ymm13, %ymm135762; AVX2-NEXT:    vmovdqa 304(%rdi), %xmm25763; AVX2-NEXT:    vpblendvb %ymm0, %ymm1, %ymm3, %ymm95764; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm05765; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm12 = [0,0,2,7,12,128,128,128,0,0,2,7,12,128,128,128]5766; AVX2-NEXT:    vmovdqa 288(%rdi), %xmm15767; AVX2-NEXT:    vpshufb %xmm12, %xmm1, %xmm35768; AVX2-NEXT:    vpor %xmm0, %xmm3, %xmm05769; AVX2-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm05770; AVX2-NEXT:    vmovdqu (%rsp), %ymm3 # 32-byte Reload5771; AVX2-NEXT:    vpblendw {{.*#+}} ymm0 = ymm3[0,1,2,3,4],ymm0[5,6,7],ymm3[8,9,10,11,12],ymm0[13,14,15]5772; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]5773; AVX2-NEXT:    vmovdqu %ymm0, (%rsp) # 32-byte Spill5774; AVX2-NEXT:    vmovdqa 144(%rdi), %xmm35775; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm45776; AVX2-NEXT:    vmovdqa 128(%rdi), %xmm55777; AVX2-NEXT:    vpshufb %xmm12, %xmm5, %xmm125778; AVX2-NEXT:    vpor %xmm4, %xmm12, %xmm45779; AVX2-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm45780; AVX2-NEXT:    vpblendw {{.*#+}} ymm4 = ymm15[0,1,2,3,4],ymm4[5,6,7],ymm15[8,9,10,11,12],ymm4[13,14,15]5781; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm4[4,5,6,7]5782; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5783; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm12 = [0,0,128,128,128,2,7,12,0,0,128,128,128,2,7,12]5784; AVX2-NEXT:    vpshufb %xmm12, %xmm2, %xmm75785; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm14 = [0,0,3,8,13,128,128,128,0,0,3,8,13,128,128,128]5786; AVX2-NEXT:    vpshufb %xmm14, %xmm1, %xmm155787; AVX2-NEXT:    vpor %xmm7, %xmm15, %xmm75788; AVX2-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm75789; AVX2-NEXT:    vpblendw {{.*#+}} ymm7 = ymm8[0,1,2,3,4],ymm7[5,6,7],ymm8[8,9,10,11,12],ymm7[13,14,15]5790; AVX2-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm7[4,5,6,7]5791; AVX2-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5792; AVX2-NEXT:    vpshufb %xmm12, %xmm3, %xmm85793; AVX2-NEXT:    vpshufb %xmm14, %xmm5, %xmm125794; AVX2-NEXT:    vpor %xmm8, %xmm12, %xmm85795; AVX2-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm85796; AVX2-NEXT:    vpblendw {{.*#+}} ymm8 = ymm11[0,1,2,3,4],ymm8[5,6,7],ymm11[8,9,10,11,12],ymm8[13,14,15]5797; AVX2-NEXT:    vpblendd {{.*#+}} ymm8 = ymm11[0,1,2,3],ymm8[4,5,6,7]5798; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm12 = [0,128,128,128,128,4,9,14,0,128,128,128,128,4,9,14]5799; AVX2-NEXT:    vpshufb %xmm12, %xmm2, %xmm115800; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm15 = [0,0,5,10,15,128,128,128,0,0,5,10,15,128,128,128]5801; AVX2-NEXT:    vpshufb %xmm15, %xmm1, %xmm145802; AVX2-NEXT:    vpor %xmm11, %xmm14, %xmm115803; AVX2-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm115804; AVX2-NEXT:    vpmovsxwq {{.*#+}} ymm14 = [18446744073709551615,18446744073709551615,18446744073709551615,255]5805; AVX2-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload5806; AVX2-NEXT:    vpshufb %xmm12, %xmm3, %xmm125807; AVX2-NEXT:    vpshufb %xmm15, %xmm5, %xmm155808; AVX2-NEXT:    vpor %xmm12, %xmm15, %xmm125809; AVX2-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm125810; AVX2-NEXT:    vpblendvb %ymm14, %ymm6, %ymm12, %ymm125811; AVX2-NEXT:    vextracti128 $1, %ymm13, %xmm155812; AVX2-NEXT:    vmovdqa {{.*#+}} xmm6 = [128,128,128,3,8,13,128,128,128,1,6,11,u,u,u,u]5813; AVX2-NEXT:    vpshufb %xmm6, %xmm15, %xmm155814; AVX2-NEXT:    vmovdqa {{.*#+}} xmm7 = [4,9,14,128,128,128,2,7,12,128,128,128,u,u,u,u]5815; AVX2-NEXT:    vpshufb %xmm7, %xmm13, %xmm135816; AVX2-NEXT:    vpor %xmm15, %xmm13, %xmm135817; AVX2-NEXT:    vbroadcasti128 {{.*#+}} ymm15 = [4,9,14,3,8,13,2,7,12,0,0,0,0,5,10,15,4,9,14,3,8,13,2,7,12,0,0,0,0,5,10,15]5818; AVX2-NEXT:    # ymm15 = mem[0,1,0,1]5819; AVX2-NEXT:    vpshufb %ymm15, %ymm10, %ymm105820; AVX2-NEXT:    vpblendd {{.*#+}} ymm10 = ymm13[0,1,2],ymm10[3,4,5,6,7]5821; AVX2-NEXT:    vmovdqa 288(%rdi), %ymm135822; AVX2-NEXT:    vpbroadcastq {{.*#+}} ymm4 = [0,1,6,11,0,5,10,15,0,1,6,11,0,5,10,15,0,1,6,11,0,5,10,15,0,1,6,11,0,5,10,15]5823; AVX2-NEXT:    vpshufb %ymm4, %ymm13, %ymm135824; AVX2-NEXT:    vpbroadcastq {{.*#+}} ymm0 = [0,5,0,5,0,5,0,5]5825; AVX2-NEXT:    vpermd %ymm13, %ymm0, %ymm135826; AVX2-NEXT:    vpblendvb %ymm14, %ymm10, %ymm13, %ymm105827; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload5828; AVX2-NEXT:    vpshufb %ymm15, %ymm13, %ymm135829; AVX2-NEXT:    vextracti128 $1, %ymm9, %xmm155830; AVX2-NEXT:    vpshufb %xmm6, %xmm15, %xmm65831; AVX2-NEXT:    vpshufb %xmm7, %xmm9, %xmm75832; AVX2-NEXT:    vpor %xmm6, %xmm7, %xmm65833; AVX2-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2],ymm13[3,4,5,6,7]5834; AVX2-NEXT:    vmovdqa 128(%rdi), %ymm75835; AVX2-NEXT:    vpshufb %ymm4, %ymm7, %ymm45836; AVX2-NEXT:    vpermd %ymm4, %ymm0, %ymm05837; AVX2-NEXT:    vpblendvb %ymm14, %ymm6, %ymm0, %ymm05838; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm4 = [0,0,128,128,128,3,8,13,0,0,128,128,128,3,8,13]5839; AVX2-NEXT:    vpshufb %xmm4, %xmm2, %xmm25840; AVX2-NEXT:    vpbroadcastq {{.*#+}} xmm6 = [0,0,4,9,14,128,128,128,0,0,4,9,14,128,128,128]5841; AVX2-NEXT:    vpshufb %xmm6, %xmm1, %xmm15842; AVX2-NEXT:    vpor %xmm2, %xmm1, %xmm15843; AVX2-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm15844; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload5845; AVX2-NEXT:    vpblendw {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5,6,7],ymm2[8,9,10,11,12],ymm1[13,14,15]5846; AVX2-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]5847; AVX2-NEXT:    vpshufb %xmm4, %xmm3, %xmm25848; AVX2-NEXT:    vpshufb %xmm6, %xmm5, %xmm35849; AVX2-NEXT:    vpor %xmm2, %xmm3, %xmm25850; AVX2-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm25851; AVX2-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload5852; AVX2-NEXT:    vpblendw {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5,6,7],ymm3[8,9,10,11,12],ymm2[13,14,15]5853; AVX2-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]5854; AVX2-NEXT:    vmovups (%rsp), %ymm3 # 32-byte Reload5855; AVX2-NEXT:    vmovaps %ymm3, 32(%rsi)5856; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload5857; AVX2-NEXT:    vmovaps %ymm3, (%rsi)5858; AVX2-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload5859; AVX2-NEXT:    vmovaps %ymm3, 32(%rdx)5860; AVX2-NEXT:    vmovdqa %ymm8, (%rdx)5861; AVX2-NEXT:    vmovdqa %ymm1, 32(%rcx)5862; AVX2-NEXT:    vmovdqa %ymm2, (%rcx)5863; AVX2-NEXT:    vmovdqa %ymm11, 32(%r8)5864; AVX2-NEXT:    vmovdqa %ymm12, (%r8)5865; AVX2-NEXT:    vmovdqa %ymm10, 32(%r9)5866; AVX2-NEXT:    vmovdqa %ymm0, (%r9)5867; AVX2-NEXT:    addq $136, %rsp5868; AVX2-NEXT:    vzeroupper5869; AVX2-NEXT:    retq5870;5871; AVX2-FP-LABEL: load_i8_stride5_vf64:5872; AVX2-FP:       # %bb.0:5873; AVX2-FP-NEXT:    subq $136, %rsp5874; AVX2-FP-NEXT:    vmovdqa 64(%rdi), %ymm25875; AVX2-FP-NEXT:    vmovdqa 96(%rdi), %ymm45876; AVX2-FP-NEXT:    vmovdqa 224(%rdi), %ymm105877; AVX2-FP-NEXT:    vmovdqa 256(%rdi), %ymm95878; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]5879; AVX2-FP-NEXT:    vpblendvb %ymm12, %ymm10, %ymm9, %ymm05880; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5881; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255]5882; AVX2-FP-NEXT:    # ymm3 = mem[0,1,0,1]5883; AVX2-FP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm155884; AVX2-FP-NEXT:    vpblendvb %ymm12, %ymm2, %ymm4, %ymm05885; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5886; AVX2-FP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm75887; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]5888; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm9, %ymm10, %ymm05889; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5890; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0]5891; AVX2-FP-NEXT:    # ymm3 = mem[0,1,0,1]5892; AVX2-FP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm05893; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5894; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm4, %ymm2, %ymm05895; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5896; AVX2-FP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm115897; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]5898; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm9, %ymm10, %ymm05899; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5900; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255]5901; AVX2-FP-NEXT:    # ymm3 = mem[0,1,0,1]5902; AVX2-FP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm05903; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5904; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm4, %ymm2, %ymm05905; AVX2-FP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5906; AVX2-FP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5907; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5908; AVX2-FP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm05909; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5910; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]5911; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm9, %ymm10, %ymm05912; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5913; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0]5914; AVX2-FP-NEXT:    # ymm3 = mem[0,1,0,1]5915; AVX2-FP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm05916; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5917; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm4, %ymm2, %ymm05918; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]5919; AVX2-FP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm05920; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5921; AVX2-FP-NEXT:    vmovdqa 160(%rdi), %ymm135922; AVX2-FP-NEXT:    vmovdqa 192(%rdi), %ymm145923; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm6 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]5924; AVX2-FP-NEXT:    vpblendvb %ymm6, %ymm13, %ymm14, %ymm05925; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm15926; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm5 = [128,128,128,128,4,9,14,128,128,128,2,7,12,u,u,u]5927; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm1, %xmm15928; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm4 = [0,5,10,15,128,128,128,3,8,13,128,128,128,u,u,u]5929; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm0, %xmm05930; AVX2-FP-NEXT:    vpor %xmm1, %xmm0, %xmm15931; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,5,10,15,4,9,14,3,8,13,0,0,0,1,6,11,0,5,10,15,4,9,14,3,8,13,0,0,0,1,6,11]5932; AVX2-FP-NEXT:    # ymm3 = mem[0,1,0,1]5933; AVX2-FP-NEXT:    vpshufb %ymm3, %ymm15, %ymm155934; AVX2-FP-NEXT:    vpmovsxwd {{.*#+}} xmm2 = [4294967295,4294967295,4294967295,255]5935; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm1, %ymm15, %ymm05936; AVX2-FP-NEXT:    vmovdqu %ymm0, (%rsp) # 32-byte Spill5937; AVX2-FP-NEXT:    vpshufb %ymm3, %ymm7, %ymm75938; AVX2-FP-NEXT:    vmovdqa (%rdi), %ymm35939; AVX2-FP-NEXT:    vmovdqa 32(%rdi), %ymm15940; AVX2-FP-NEXT:    vpblendvb %ymm6, %ymm3, %ymm1, %ymm05941; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm85942; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm8, %xmm55943; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm0, %xmm05944; AVX2-FP-NEXT:    vpor %xmm5, %xmm0, %xmm05945; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm7, %ymm155946; AVX2-FP-NEXT:    vpblendvb %ymm12, %ymm13, %ymm14, %ymm05947; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm6 = [1,6,11,128,128,128,128,4,9,14,128,128,128,u,u,u]5948; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm0, %xmm55949; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm05950; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm4 = [128,128,128,0,5,10,15,128,128,128,3,8,13,u,u,u]5951; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm0, %xmm05952; AVX2-FP-NEXT:    vpor %xmm5, %xmm0, %xmm05953; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [1,6,11,0,5,10,15,4,9,14,0,0,0,2,7,12,1,6,11,0,5,10,15,4,9,14,0,0,0,2,7,12]5954; AVX2-FP-NEXT:    # ymm5 = mem[0,1,0,1]5955; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload5956; AVX2-FP-NEXT:    vpshufb %ymm5, %ymm8, %ymm85957; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm8, %ymm85958; AVX2-FP-NEXT:    vpshufb %ymm5, %ymm11, %ymm05959; AVX2-FP-NEXT:    vpblendvb %ymm12, %ymm3, %ymm1, %ymm55960; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm5, %xmm65961; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm55962; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm5, %xmm45963; AVX2-FP-NEXT:    vpor %xmm6, %xmm4, %xmm45964; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm4, %ymm0, %ymm115965; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]5966; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm14, %ymm13, %ymm05967; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm45968; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm5 = [128,128,128,1,6,11,128,128,128,128,4,9,14,u,u,u]5969; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm4, %xmm45970; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm6 = [2,7,12,128,128,128,0,5,10,15,128,128,128,u,u,u]5971; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm0, %xmm05972; AVX2-FP-NEXT:    vpor %xmm4, %xmm0, %xmm05973; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [2,7,12,1,6,11,0,5,10,15,0,0,0,3,8,13,2,7,12,1,6,11,0,5,10,15,0,0,0,3,8,13]5974; AVX2-FP-NEXT:    # ymm4 = mem[0,1,0,1]5975; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload5976; AVX2-FP-NEXT:    vpshufb %ymm4, %ymm12, %ymm125977; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm12, %ymm05978; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5979; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload5980; AVX2-FP-NEXT:    vpshufb %ymm4, %ymm0, %ymm05981; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm1, %ymm3, %ymm45982; AVX2-FP-NEXT:    vextracti128 $1, %ymm4, %xmm125983; AVX2-FP-NEXT:    vpshufb %xmm5, %xmm12, %xmm55984; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm4, %xmm45985; AVX2-FP-NEXT:    vpor %xmm5, %xmm4, %xmm45986; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm4, %ymm0, %ymm05987; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill5988; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]5989; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm14, %ymm13, %ymm05990; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm4 = [3,8,13,128,128,128,1,6,11,128,128,128,128,u,u,u]5991; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm0, %xmm55992; AVX2-FP-NEXT:    vextracti128 $1, %ymm0, %xmm05993; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm6 = [128,128,128,2,7,12,128,128,128,0,5,10,15,u,u,u]5994; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm0, %xmm05995; AVX2-FP-NEXT:    vpor %xmm5, %xmm0, %xmm05996; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [3,8,13,2,7,12,1,6,11,0,0,0,0,4,9,14,3,8,13,2,7,12,1,6,11,0,0,0,0,4,9,14]5997; AVX2-FP-NEXT:    # ymm5 = mem[0,1,0,1]5998; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload5999; AVX2-FP-NEXT:    vpshufb %ymm5, %ymm12, %ymm126000; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm12, %ymm06001; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6002; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6003; AVX2-FP-NEXT:    vpshufb %ymm5, %ymm0, %ymm06004; AVX2-FP-NEXT:    vpblendvb %ymm7, %ymm1, %ymm3, %ymm56005; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm5, %xmm46006; AVX2-FP-NEXT:    vextracti128 $1, %ymm5, %xmm56007; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm5, %xmm56008; AVX2-FP-NEXT:    vpor %xmm4, %xmm5, %xmm46009; AVX2-FP-NEXT:    vpblendvb %ymm2, %ymm4, %ymm0, %ymm66010; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]6011; AVX2-FP-NEXT:    vpblendvb %ymm4, %ymm10, %ymm9, %ymm06012; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6013; AVX2-FP-NEXT:    vpblendvb %ymm4, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload6014; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm4 = ymm0[2,3,0,1]6015; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255]6016; AVX2-FP-NEXT:    # ymm5 = mem[0,1,0,1]6017; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm0, %ymm4, %ymm106018; AVX2-FP-NEXT:    vpermq {{.*#+}} ymm0 = ymm2[2,3,0,1]6019; AVX2-FP-NEXT:    vpblendvb %ymm5, %ymm2, %ymm0, %ymm06020; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6021; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm4 = [0,0,128,128,128,1,6,11,0,0,128,128,128,1,6,11]6022; AVX2-FP-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]6023; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm14, %ymm13, %ymm136024; AVX2-FP-NEXT:    vmovdqa 304(%rdi), %xmm26025; AVX2-FP-NEXT:    vpblendvb %ymm0, %ymm1, %ymm3, %ymm96026; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm06027; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm12 = [0,0,2,7,12,128,128,128,0,0,2,7,12,128,128,128]6028; AVX2-FP-NEXT:    vmovdqa 288(%rdi), %xmm16029; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm1, %xmm36030; AVX2-FP-NEXT:    vpor %xmm0, %xmm3, %xmm06031; AVX2-FP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06032; AVX2-FP-NEXT:    vmovdqu (%rsp), %ymm3 # 32-byte Reload6033; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm3[0,1,2,3,4],ymm0[5,6,7],ymm3[8,9,10,11,12],ymm0[13,14,15]6034; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]6035; AVX2-FP-NEXT:    vmovdqu %ymm0, (%rsp) # 32-byte Spill6036; AVX2-FP-NEXT:    vmovdqa 144(%rdi), %xmm36037; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm3, %xmm46038; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %xmm56039; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm5, %xmm126040; AVX2-FP-NEXT:    vpor %xmm4, %xmm12, %xmm46041; AVX2-FP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm46042; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm15[0,1,2,3,4],ymm4[5,6,7],ymm15[8,9,10,11,12],ymm4[13,14,15]6043; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm4[4,5,6,7]6044; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6045; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm12 = [0,0,128,128,128,2,7,12,0,0,128,128,128,2,7,12]6046; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm2, %xmm76047; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm14 = [0,0,3,8,13,128,128,128,0,0,3,8,13,128,128,128]6048; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm1, %xmm156049; AVX2-FP-NEXT:    vpor %xmm7, %xmm15, %xmm76050; AVX2-FP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm76051; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm7 = ymm8[0,1,2,3,4],ymm7[5,6,7],ymm8[8,9,10,11,12],ymm7[13,14,15]6052; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm7[4,5,6,7]6053; AVX2-FP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6054; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm3, %xmm86055; AVX2-FP-NEXT:    vpshufb %xmm14, %xmm5, %xmm126056; AVX2-FP-NEXT:    vpor %xmm8, %xmm12, %xmm86057; AVX2-FP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86058; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm11[0,1,2,3,4],ymm8[5,6,7],ymm11[8,9,10,11,12],ymm8[13,14,15]6059; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm11[0,1,2,3],ymm8[4,5,6,7]6060; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm12 = [0,128,128,128,128,4,9,14,0,128,128,128,128,4,9,14]6061; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm2, %xmm116062; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm15 = [0,0,5,10,15,128,128,128,0,0,5,10,15,128,128,128]6063; AVX2-FP-NEXT:    vpshufb %xmm15, %xmm1, %xmm146064; AVX2-FP-NEXT:    vpor %xmm11, %xmm14, %xmm116065; AVX2-FP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm116066; AVX2-FP-NEXT:    vpmovsxwq {{.*#+}} ymm14 = [18446744073709551615,18446744073709551615,18446744073709551615,255]6067; AVX2-FP-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload6068; AVX2-FP-NEXT:    vpshufb %xmm12, %xmm3, %xmm126069; AVX2-FP-NEXT:    vpshufb %xmm15, %xmm5, %xmm156070; AVX2-FP-NEXT:    vpor %xmm12, %xmm15, %xmm126071; AVX2-FP-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm126072; AVX2-FP-NEXT:    vpblendvb %ymm14, %ymm6, %ymm12, %ymm126073; AVX2-FP-NEXT:    vextracti128 $1, %ymm13, %xmm156074; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm6 = [128,128,128,3,8,13,128,128,128,1,6,11,u,u,u,u]6075; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm15, %xmm156076; AVX2-FP-NEXT:    vmovdqa {{.*#+}} xmm7 = [4,9,14,128,128,128,2,7,12,128,128,128,u,u,u,u]6077; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm13, %xmm136078; AVX2-FP-NEXT:    vpor %xmm15, %xmm13, %xmm136079; AVX2-FP-NEXT:    vbroadcasti128 {{.*#+}} ymm15 = [4,9,14,3,8,13,2,7,12,0,0,0,0,5,10,15,4,9,14,3,8,13,2,7,12,0,0,0,0,5,10,15]6080; AVX2-FP-NEXT:    # ymm15 = mem[0,1,0,1]6081; AVX2-FP-NEXT:    vpshufb %ymm15, %ymm10, %ymm106082; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm13[0,1,2],ymm10[3,4,5,6,7]6083; AVX2-FP-NEXT:    vmovdqa 288(%rdi), %ymm136084; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} ymm4 = [0,1,6,11,0,5,10,15,0,1,6,11,0,5,10,15,0,1,6,11,0,5,10,15,0,1,6,11,0,5,10,15]6085; AVX2-FP-NEXT:    vpshufb %ymm4, %ymm13, %ymm136086; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} ymm0 = [0,5,0,5,0,5,0,5]6087; AVX2-FP-NEXT:    vpermd %ymm13, %ymm0, %ymm136088; AVX2-FP-NEXT:    vpblendvb %ymm14, %ymm10, %ymm13, %ymm106089; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6090; AVX2-FP-NEXT:    vpshufb %ymm15, %ymm13, %ymm136091; AVX2-FP-NEXT:    vextracti128 $1, %ymm9, %xmm156092; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm15, %xmm66093; AVX2-FP-NEXT:    vpshufb %xmm7, %xmm9, %xmm76094; AVX2-FP-NEXT:    vpor %xmm6, %xmm7, %xmm66095; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2],ymm13[3,4,5,6,7]6096; AVX2-FP-NEXT:    vmovdqa 128(%rdi), %ymm76097; AVX2-FP-NEXT:    vpshufb %ymm4, %ymm7, %ymm46098; AVX2-FP-NEXT:    vpermd %ymm4, %ymm0, %ymm06099; AVX2-FP-NEXT:    vpblendvb %ymm14, %ymm6, %ymm0, %ymm06100; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm4 = [0,0,128,128,128,3,8,13,0,0,128,128,128,3,8,13]6101; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm2, %xmm26102; AVX2-FP-NEXT:    vpbroadcastq {{.*#+}} xmm6 = [0,0,4,9,14,128,128,128,0,0,4,9,14,128,128,128]6103; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm1, %xmm16104; AVX2-FP-NEXT:    vpor %xmm2, %xmm1, %xmm16105; AVX2-FP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm16106; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6107; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5,6,7],ymm2[8,9,10,11,12],ymm1[13,14,15]6108; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6109; AVX2-FP-NEXT:    vpshufb %xmm4, %xmm3, %xmm26110; AVX2-FP-NEXT:    vpshufb %xmm6, %xmm5, %xmm36111; AVX2-FP-NEXT:    vpor %xmm2, %xmm3, %xmm26112; AVX2-FP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm26113; AVX2-FP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6114; AVX2-FP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5,6,7],ymm3[8,9,10,11,12],ymm2[13,14,15]6115; AVX2-FP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]6116; AVX2-FP-NEXT:    vmovups (%rsp), %ymm3 # 32-byte Reload6117; AVX2-FP-NEXT:    vmovaps %ymm3, 32(%rsi)6118; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6119; AVX2-FP-NEXT:    vmovaps %ymm3, (%rsi)6120; AVX2-FP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6121; AVX2-FP-NEXT:    vmovaps %ymm3, 32(%rdx)6122; AVX2-FP-NEXT:    vmovdqa %ymm8, (%rdx)6123; AVX2-FP-NEXT:    vmovdqa %ymm1, 32(%rcx)6124; AVX2-FP-NEXT:    vmovdqa %ymm2, (%rcx)6125; AVX2-FP-NEXT:    vmovdqa %ymm11, 32(%r8)6126; AVX2-FP-NEXT:    vmovdqa %ymm12, (%r8)6127; AVX2-FP-NEXT:    vmovdqa %ymm10, 32(%r9)6128; AVX2-FP-NEXT:    vmovdqa %ymm0, (%r9)6129; AVX2-FP-NEXT:    addq $136, %rsp6130; AVX2-FP-NEXT:    vzeroupper6131; AVX2-FP-NEXT:    retq6132;6133; AVX2-FCP-LABEL: load_i8_stride5_vf64:6134; AVX2-FCP:       # %bb.0:6135; AVX2-FCP-NEXT:    subq $136, %rsp6136; AVX2-FCP-NEXT:    vmovdqa 64(%rdi), %ymm26137; AVX2-FCP-NEXT:    vmovdqa 96(%rdi), %ymm46138; AVX2-FCP-NEXT:    vmovdqa 224(%rdi), %ymm106139; AVX2-FCP-NEXT:    vmovdqa 256(%rdi), %ymm96140; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm12 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]6141; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm10, %ymm9, %ymm06142; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]6143; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255]6144; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,0,1]6145; AVX2-FCP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm156146; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm2, %ymm4, %ymm06147; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]6148; AVX2-FCP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm76149; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]6150; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm9, %ymm10, %ymm06151; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]6152; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0]6153; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,0,1]6154; AVX2-FCP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm06155; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6156; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm4, %ymm2, %ymm06157; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]6158; AVX2-FCP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm116159; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]6160; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm9, %ymm10, %ymm06161; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]6162; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,255]6163; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,0,1]6164; AVX2-FCP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm06165; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6166; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm4, %ymm2, %ymm06167; AVX2-FCP-NEXT:    vmovdqu %ymm2, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6168; AVX2-FCP-NEXT:    vmovdqu %ymm4, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6169; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]6170; AVX2-FCP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm06171; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6172; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm5 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]6173; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm9, %ymm10, %ymm06174; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]6175; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,0]6176; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,0,1]6177; AVX2-FCP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm06178; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6179; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm4, %ymm2, %ymm06180; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]6181; AVX2-FCP-NEXT:    vpblendvb %ymm3, %ymm0, %ymm1, %ymm06182; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6183; AVX2-FCP-NEXT:    vmovdqa 160(%rdi), %ymm136184; AVX2-FCP-NEXT:    vmovdqa 192(%rdi), %ymm146185; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm6 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]6186; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm13, %ymm14, %ymm06187; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm16188; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm5 = [128,128,128,128,4,9,14,128,128,128,2,7,12,u,u,u]6189; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm1, %xmm16190; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm4 = [0,5,10,15,128,128,128,3,8,13,128,128,128,u,u,u]6191; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm0, %xmm06192; AVX2-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm16193; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm3 = [0,5,10,15,4,9,14,3,8,13,0,0,0,1,6,11,0,5,10,15,4,9,14,3,8,13,0,0,0,1,6,11]6194; AVX2-FCP-NEXT:    # ymm3 = mem[0,1,0,1]6195; AVX2-FCP-NEXT:    vpshufb %ymm3, %ymm15, %ymm156196; AVX2-FCP-NEXT:    vpmovsxwd {{.*#+}} xmm2 = [4294967295,4294967295,4294967295,255]6197; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm1, %ymm15, %ymm06198; AVX2-FCP-NEXT:    vmovdqu %ymm0, (%rsp) # 32-byte Spill6199; AVX2-FCP-NEXT:    vpshufb %ymm3, %ymm7, %ymm76200; AVX2-FCP-NEXT:    vmovdqa (%rdi), %ymm36201; AVX2-FCP-NEXT:    vmovdqa 32(%rdi), %ymm16202; AVX2-FCP-NEXT:    vpblendvb %ymm6, %ymm3, %ymm1, %ymm06203; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm86204; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm8, %xmm56205; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm0, %xmm06206; AVX2-FCP-NEXT:    vpor %xmm5, %xmm0, %xmm06207; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm7, %ymm156208; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm13, %ymm14, %ymm06209; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm6 = [1,6,11,128,128,128,128,4,9,14,128,128,128,u,u,u]6210; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm0, %xmm56211; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm06212; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm4 = [128,128,128,0,5,10,15,128,128,128,3,8,13,u,u,u]6213; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm0, %xmm06214; AVX2-FCP-NEXT:    vpor %xmm5, %xmm0, %xmm06215; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [1,6,11,0,5,10,15,4,9,14,0,0,0,2,7,12,1,6,11,0,5,10,15,4,9,14,0,0,0,2,7,12]6216; AVX2-FCP-NEXT:    # ymm5 = mem[0,1,0,1]6217; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm8 # 32-byte Reload6218; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm8, %ymm86219; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm8, %ymm86220; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm11, %ymm06221; AVX2-FCP-NEXT:    vpblendvb %ymm12, %ymm3, %ymm1, %ymm56222; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm5, %xmm66223; AVX2-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm56224; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm5, %xmm46225; AVX2-FCP-NEXT:    vpor %xmm6, %xmm4, %xmm46226; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm4, %ymm0, %ymm116227; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]6228; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm14, %ymm13, %ymm06229; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm46230; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm5 = [128,128,128,1,6,11,128,128,128,128,4,9,14,u,u,u]6231; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm4, %xmm46232; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm6 = [2,7,12,128,128,128,0,5,10,15,128,128,128,u,u,u]6233; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm0, %xmm06234; AVX2-FCP-NEXT:    vpor %xmm4, %xmm0, %xmm06235; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm4 = [2,7,12,1,6,11,0,5,10,15,0,0,0,3,8,13,2,7,12,1,6,11,0,5,10,15,0,0,0,3,8,13]6236; AVX2-FCP-NEXT:    # ymm4 = mem[0,1,0,1]6237; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload6238; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm12, %ymm126239; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm12, %ymm06240; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6241; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6242; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm0, %ymm06243; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm1, %ymm3, %ymm46244; AVX2-FCP-NEXT:    vextracti128 $1, %ymm4, %xmm126245; AVX2-FCP-NEXT:    vpshufb %xmm5, %xmm12, %xmm56246; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm4, %xmm46247; AVX2-FCP-NEXT:    vpor %xmm5, %xmm4, %xmm46248; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm4, %ymm0, %ymm06249; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6250; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm7 = [65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535]6251; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm14, %ymm13, %ymm06252; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm4 = [3,8,13,128,128,128,1,6,11,128,128,128,128,u,u,u]6253; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm0, %xmm56254; AVX2-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm06255; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm6 = [128,128,128,2,7,12,128,128,128,0,5,10,15,u,u,u]6256; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm0, %xmm06257; AVX2-FCP-NEXT:    vpor %xmm5, %xmm0, %xmm06258; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [3,8,13,2,7,12,1,6,11,0,0,0,0,4,9,14,3,8,13,2,7,12,1,6,11,0,0,0,0,4,9,14]6259; AVX2-FCP-NEXT:    # ymm5 = mem[0,1,0,1]6260; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm12 # 32-byte Reload6261; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm12, %ymm126262; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm0, %ymm12, %ymm06263; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6264; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm0 # 32-byte Reload6265; AVX2-FCP-NEXT:    vpshufb %ymm5, %ymm0, %ymm06266; AVX2-FCP-NEXT:    vpblendvb %ymm7, %ymm1, %ymm3, %ymm56267; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm5, %xmm46268; AVX2-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm56269; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm5, %xmm56270; AVX2-FCP-NEXT:    vpor %xmm4, %xmm5, %xmm46271; AVX2-FCP-NEXT:    vpblendvb %ymm2, %ymm4, %ymm0, %ymm66272; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm4 = [65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0,65535]6273; AVX2-FCP-NEXT:    vpblendvb %ymm4, %ymm10, %ymm9, %ymm06274; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6275; AVX2-FCP-NEXT:    vpblendvb %ymm4, {{[-0-9]+}}(%r{{[sb]}}p), %ymm2, %ymm2 # 32-byte Folded Reload6276; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm4 = ymm0[2,3,0,1]6277; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm5 = [255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255,255,0,255,0,255,255,0,255,0,255,255,0,255,0,255,255]6278; AVX2-FCP-NEXT:    # ymm5 = mem[0,1,0,1]6279; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm0, %ymm4, %ymm106280; AVX2-FCP-NEXT:    vpermq {{.*#+}} ymm0 = ymm2[2,3,0,1]6281; AVX2-FCP-NEXT:    vpblendvb %ymm5, %ymm2, %ymm0, %ymm06282; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6283; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm4 = [0,0,128,128,128,1,6,11,0,0,128,128,128,1,6,11]6284; AVX2-FCP-NEXT:    vpmovsxbw {{.*#+}} ymm0 = [0,65535,0,65535,0,0,65535,0,65535,0,0,65535,0,65535,0,0]6285; AVX2-FCP-NEXT:    vpblendvb %ymm0, %ymm14, %ymm13, %ymm136286; AVX2-FCP-NEXT:    vmovdqa 304(%rdi), %xmm26287; AVX2-FCP-NEXT:    vpblendvb %ymm0, %ymm1, %ymm3, %ymm96288; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm2, %xmm06289; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm12 = [0,0,2,7,12,128,128,128,0,0,2,7,12,128,128,128]6290; AVX2-FCP-NEXT:    vmovdqa 288(%rdi), %xmm16291; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm1, %xmm36292; AVX2-FCP-NEXT:    vpor %xmm0, %xmm3, %xmm06293; AVX2-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06294; AVX2-FCP-NEXT:    vmovdqu (%rsp), %ymm3 # 32-byte Reload6295; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm0 = ymm3[0,1,2,3,4],ymm0[5,6,7],ymm3[8,9,10,11,12],ymm0[13,14,15]6296; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]6297; AVX2-FCP-NEXT:    vmovdqu %ymm0, (%rsp) # 32-byte Spill6298; AVX2-FCP-NEXT:    vmovdqa 144(%rdi), %xmm36299; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm3, %xmm46300; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %xmm56301; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm5, %xmm126302; AVX2-FCP-NEXT:    vpor %xmm4, %xmm12, %xmm46303; AVX2-FCP-NEXT:    vinserti128 $1, %xmm4, %ymm0, %ymm46304; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm4 = ymm15[0,1,2,3,4],ymm4[5,6,7],ymm15[8,9,10,11,12],ymm4[13,14,15]6305; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3],ymm4[4,5,6,7]6306; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6307; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm12 = [0,0,128,128,128,2,7,12,0,0,128,128,128,2,7,12]6308; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm2, %xmm76309; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm14 = [0,0,3,8,13,128,128,128,0,0,3,8,13,128,128,128]6310; AVX2-FCP-NEXT:    vpshufb %xmm14, %xmm1, %xmm156311; AVX2-FCP-NEXT:    vpor %xmm7, %xmm15, %xmm76312; AVX2-FCP-NEXT:    vinserti128 $1, %xmm7, %ymm0, %ymm76313; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm7 = ymm8[0,1,2,3,4],ymm7[5,6,7],ymm8[8,9,10,11,12],ymm7[13,14,15]6314; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm8[0,1,2,3],ymm7[4,5,6,7]6315; AVX2-FCP-NEXT:    vmovdqu %ymm0, {{[-0-9]+}}(%r{{[sb]}}p) # 32-byte Spill6316; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm3, %xmm86317; AVX2-FCP-NEXT:    vpshufb %xmm14, %xmm5, %xmm126318; AVX2-FCP-NEXT:    vpor %xmm8, %xmm12, %xmm86319; AVX2-FCP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm86320; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm8 = ymm11[0,1,2,3,4],ymm8[5,6,7],ymm11[8,9,10,11,12],ymm8[13,14,15]6321; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm8 = ymm11[0,1,2,3],ymm8[4,5,6,7]6322; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm12 = [0,128,128,128,128,4,9,14,0,128,128,128,128,4,9,14]6323; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm2, %xmm116324; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm15 = [0,0,5,10,15,128,128,128,0,0,5,10,15,128,128,128]6325; AVX2-FCP-NEXT:    vpshufb %xmm15, %xmm1, %xmm146326; AVX2-FCP-NEXT:    vpor %xmm11, %xmm14, %xmm116327; AVX2-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm116328; AVX2-FCP-NEXT:    vpmovsxwq {{.*#+}} ymm14 = [18446744073709551615,18446744073709551615,18446744073709551615,255]6329; AVX2-FCP-NEXT:    vpblendvb %ymm14, {{[-0-9]+}}(%r{{[sb]}}p), %ymm11, %ymm11 # 32-byte Folded Reload6330; AVX2-FCP-NEXT:    vpshufb %xmm12, %xmm3, %xmm126331; AVX2-FCP-NEXT:    vpshufb %xmm15, %xmm5, %xmm156332; AVX2-FCP-NEXT:    vpor %xmm12, %xmm15, %xmm126333; AVX2-FCP-NEXT:    vinserti128 $1, %xmm12, %ymm0, %ymm126334; AVX2-FCP-NEXT:    vpblendvb %ymm14, %ymm6, %ymm12, %ymm126335; AVX2-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm156336; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm6 = [128,128,128,3,8,13,128,128,128,1,6,11,u,u,u,u]6337; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm15, %xmm156338; AVX2-FCP-NEXT:    vmovdqa {{.*#+}} xmm7 = [4,9,14,128,128,128,2,7,12,128,128,128,u,u,u,u]6339; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm13, %xmm136340; AVX2-FCP-NEXT:    vpor %xmm15, %xmm13, %xmm136341; AVX2-FCP-NEXT:    vbroadcasti128 {{.*#+}} ymm15 = [4,9,14,3,8,13,2,7,12,0,0,0,0,5,10,15,4,9,14,3,8,13,2,7,12,0,0,0,0,5,10,15]6342; AVX2-FCP-NEXT:    # ymm15 = mem[0,1,0,1]6343; AVX2-FCP-NEXT:    vpshufb %ymm15, %ymm10, %ymm106344; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm13[0,1,2],ymm10[3,4,5,6,7]6345; AVX2-FCP-NEXT:    vmovdqa 288(%rdi), %ymm136346; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm4 = [0,1,6,11,0,5,10,15,0,1,6,11,0,5,10,15,0,1,6,11,0,5,10,15,0,1,6,11,0,5,10,15]6347; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm13, %ymm136348; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm0 = [0,5,0,5,0,5,0,5]6349; AVX2-FCP-NEXT:    vpermd %ymm13, %ymm0, %ymm136350; AVX2-FCP-NEXT:    vpblendvb %ymm14, %ymm10, %ymm13, %ymm106351; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm13 # 32-byte Reload6352; AVX2-FCP-NEXT:    vpshufb %ymm15, %ymm13, %ymm136353; AVX2-FCP-NEXT:    vextracti128 $1, %ymm9, %xmm156354; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm15, %xmm66355; AVX2-FCP-NEXT:    vpshufb %xmm7, %xmm9, %xmm76356; AVX2-FCP-NEXT:    vpor %xmm6, %xmm7, %xmm66357; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm6 = ymm6[0,1,2],ymm13[3,4,5,6,7]6358; AVX2-FCP-NEXT:    vmovdqa 128(%rdi), %ymm76359; AVX2-FCP-NEXT:    vpshufb %ymm4, %ymm7, %ymm46360; AVX2-FCP-NEXT:    vpermd %ymm4, %ymm0, %ymm06361; AVX2-FCP-NEXT:    vpblendvb %ymm14, %ymm6, %ymm0, %ymm06362; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm4 = [0,0,128,128,128,3,8,13,0,0,128,128,128,3,8,13]6363; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm2, %xmm26364; AVX2-FCP-NEXT:    vpbroadcastq {{.*#+}} xmm6 = [0,0,4,9,14,128,128,128,0,0,4,9,14,128,128,128]6365; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm1, %xmm16366; AVX2-FCP-NEXT:    vpor %xmm2, %xmm1, %xmm16367; AVX2-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm16368; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm2 # 32-byte Reload6369; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm1 = ymm2[0,1,2,3,4],ymm1[5,6,7],ymm2[8,9,10,11,12],ymm1[13,14,15]6370; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6371; AVX2-FCP-NEXT:    vpshufb %xmm4, %xmm3, %xmm26372; AVX2-FCP-NEXT:    vpshufb %xmm6, %xmm5, %xmm36373; AVX2-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm26374; AVX2-FCP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm26375; AVX2-FCP-NEXT:    vmovdqu {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6376; AVX2-FCP-NEXT:    vpblendw {{.*#+}} ymm2 = ymm3[0,1,2,3,4],ymm2[5,6,7],ymm3[8,9,10,11,12],ymm2[13,14,15]6377; AVX2-FCP-NEXT:    vpblendd {{.*#+}} ymm2 = ymm3[0,1,2,3],ymm2[4,5,6,7]6378; AVX2-FCP-NEXT:    vmovups (%rsp), %ymm3 # 32-byte Reload6379; AVX2-FCP-NEXT:    vmovaps %ymm3, 32(%rsi)6380; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6381; AVX2-FCP-NEXT:    vmovaps %ymm3, (%rsi)6382; AVX2-FCP-NEXT:    vmovups {{[-0-9]+}}(%r{{[sb]}}p), %ymm3 # 32-byte Reload6383; AVX2-FCP-NEXT:    vmovaps %ymm3, 32(%rdx)6384; AVX2-FCP-NEXT:    vmovdqa %ymm8, (%rdx)6385; AVX2-FCP-NEXT:    vmovdqa %ymm1, 32(%rcx)6386; AVX2-FCP-NEXT:    vmovdqa %ymm2, (%rcx)6387; AVX2-FCP-NEXT:    vmovdqa %ymm11, 32(%r8)6388; AVX2-FCP-NEXT:    vmovdqa %ymm12, (%r8)6389; AVX2-FCP-NEXT:    vmovdqa %ymm10, 32(%r9)6390; AVX2-FCP-NEXT:    vmovdqa %ymm0, (%r9)6391; AVX2-FCP-NEXT:    addq $136, %rsp6392; AVX2-FCP-NEXT:    vzeroupper6393; AVX2-FCP-NEXT:    retq6394;6395; AVX512-LABEL: load_i8_stride5_vf64:6396; AVX512:       # %bb.0:6397; AVX512-NEXT:    vmovdqa {{.*#+}} ymm5 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]6398; AVX512-NEXT:    vmovdqa64 (%rdi), %ymm246399; AVX512-NEXT:    vmovdqa64 32(%rdi), %ymm256400; AVX512-NEXT:    vmovdqa64 64(%rdi), %ymm226401; AVX512-NEXT:    vmovdqa64 96(%rdi), %ymm236402; AVX512-NEXT:    vmovdqa %ymm5, %ymm46403; AVX512-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm23 ^ (ymm4 & (ymm22 ^ ymm23))6404; AVX512-NEXT:    vpermq {{.*#+}} ymm7 = ymm4[2,3,0,1]6405; AVX512-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (mem & (ymm7 ^ ymm4))6406; AVX512-NEXT:    vmovdqa {{.*#+}} ymm6 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,6,11,16,21,26,31,20,25,30,19,24,29,128,128,128,128,128,128]6407; AVX512-NEXT:    vpshufb %ymm6, %ymm7, %ymm76408; AVX512-NEXT:    vmovdqa {{.*#+}} ymm4 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]6409; AVX512-NEXT:    vmovdqa %ymm4, %ymm86410; AVX512-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm25 ^ (ymm8 & (ymm24 ^ ymm25))6411; AVX512-NEXT:    vextracti128 $1, %ymm8, %xmm96412; AVX512-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12,u,u,u]6413; AVX512-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[0,5,10,15],zero,zero,zero,xmm8[3,8,13],zero,zero,zero,xmm8[u,u,u]6414; AVX512-NEXT:    vpor %xmm9, %xmm8, %xmm106415; AVX512-NEXT:    vmovdqa64 {{.*#+}} ymm20 = [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,255,255,255,255,255,255]6416; AVX512-NEXT:    vpternlogq {{.*#+}} ymm10 = (ymm10 & ymm20) | ymm76417; AVX512-NEXT:    vmovdqa64 192(%rdi), %ymm266418; AVX512-NEXT:    vmovdqa 224(%rdi), %ymm86419; AVX512-NEXT:    vmovdqa %ymm4, %ymm116420; AVX512-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm26 ^ (ymm11 & (ymm8 ^ ymm26))6421; AVX512-NEXT:    vmovdqa 208(%rdi), %xmm96422; AVX512-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm9 ^ (mem & (ymm11 ^ ymm9))6423; AVX512-NEXT:    vpshufb {{.*#+}} ymm11 = zero,zero,zero,zero,zero,zero,zero,ymm11[3,8,13,2,7,12,1,6,11,16,21,26,31,u,u,u,u,u,u,u,u,u,u,u,u]6424; AVX512-NEXT:    vmovdqa 160(%rdi), %ymm126425; AVX512-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[0,5,10,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,20,25,30,u,u,u,u,u,u,u,u,u]6426; AVX512-NEXT:    vpbroadcastq {{.*#+}} ymm17 = [0,5,0,5,0,5,0,5]6427; AVX512-NEXT:    vpermd %ymm12, %ymm17, %ymm156428; AVX512-NEXT:    vmovdqa64 {{.*#+}} ymm16 = [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]6429; AVX512-NEXT:    vpternlogq {{.*#+}} ymm15 = (ymm15 & ~ymm16) | ymm116430; AVX512-NEXT:    vmovdqa 144(%rdi), %xmm126431; AVX512-NEXT:    vpshufb %xmm6, %xmm12, %xmm66432; AVX512-NEXT:    vmovdqa 128(%rdi), %xmm136433; AVX512-NEXT:    vpshufb {{.*#+}} xmm11 = xmm13[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero6434; AVX512-NEXT:    vpor %xmm6, %xmm11, %xmm66435; AVX512-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66436; AVX512-NEXT:    vinserti64x4 $1, %ymm15, %zmm6, %zmm66437; AVX512-NEXT:    vmovdqa64 {{.*#+}} zmm21 = [65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535]6438; AVX512-NEXT:    vpternlogq {{.*#+}} zmm6 = zmm6 ^ (zmm21 & (zmm6 ^ zmm10))6439; AVX512-NEXT:    vmovdqa 256(%rdi), %ymm146440; AVX512-NEXT:    vmovdqa 288(%rdi), %ymm116441; AVX512-NEXT:    vmovdqa %ymm5, %ymm106442; AVX512-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm14 ^ (ymm10 & (ymm11 ^ ymm14))6443; AVX512-NEXT:    vextracti128 $1, %ymm10, %xmm06444; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u],zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[1,6,11]6445; AVX512-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,u,u,4,9,14],zero,zero,zero,xmm10[2,7,12],zero,zero,zero6446; AVX512-NEXT:    vpor %xmm0, %xmm10, %xmm06447; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06448; AVX512-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5,6,7]6449; AVX512-NEXT:    vinserti64x4 $1, %ymm0, %zmm6, %zmm196450; AVX512-NEXT:    vmovdqa %ymm4, %ymm06451; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm11 ^ (ymm0 & (ymm14 ^ ymm11))6452; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm66453; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u],zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12]6454; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,0,5,10,15],zero,zero,zero,xmm0[3,8,13],zero,zero,zero6455; AVX512-NEXT:    vpor %xmm6, %xmm0, %xmm06456; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06457; AVX512-NEXT:    vmovdqa %ymm5, %ymm66458; AVX512-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm26 ^ (ymm6 & (ymm8 ^ ymm26))6459; AVX512-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm9 ^ (mem & (ymm6 ^ ymm9))6460; AVX512-NEXT:    vpshufb {{.*#+}} ymm10 = zero,zero,zero,zero,zero,zero,zero,ymm6[4,9,14,3,8,13,2,7,12,17,22,27,u,u,u,u,u,u,u,u,u,u,u,u,u]6461; AVX512-NEXT:    vmovdqa 160(%rdi), %xmm156462; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm15[1,6,11],zero,zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u]6463; AVX512-NEXT:    vmovdqa 176(%rdi), %xmm66464; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm6[0,5,10,15,u,u,u,u,u,u,u,u,u]6465; AVX512-NEXT:    vpor %xmm1, %xmm3, %xmm16466; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = (ymm1 & ~ymm16) | ymm106467; AVX512-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,16777215,0]6468; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))6469; AVX512-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]6470; AVX512-NEXT:    vmovdqa %ymm10, %ymm06471; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))6472; AVX512-NEXT:    vpermq {{.*#+}} ymm3 = ymm0[2,3,0,1]6473; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (mem & (ymm3 ^ ymm0))6474; AVX512-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,2,7,12,17,22,27,16,21,26,31,20,25,30,128,128,128,128,128,128]6475; AVX512-NEXT:    vpshufb %ymm0, %ymm3, %ymm36476; AVX512-NEXT:    vmovdqa %ymm5, %ymm26477; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm25 ^ (ymm2 & (ymm24 ^ ymm25))6478; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = xmm2[1,6,11],zero,zero,zero,zero,xmm2[4,9,14],zero,zero,zero,xmm2[u,u,u]6479; AVX512-NEXT:    vextracti128 $1, %ymm2, %xmm26480; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13,u,u,u]6481; AVX512-NEXT:    vpor %xmm7, %xmm2, %xmm26482; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & ymm20) | ymm36483; AVX512-NEXT:    vpshufb %xmm0, %xmm12, %xmm06484; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm13[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero6485; AVX512-NEXT:    vpor %xmm0, %xmm3, %xmm06486; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06487; AVX512-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm0 ^ (zmm21 & (zmm0 ^ zmm2))6488; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm186489; AVX512-NEXT:    vmovdqa %ymm5, %ymm06490; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm11 ^ (ymm0 & (ymm14 ^ ymm11))6491; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[u,u,u,1,6,11],zero,zero,zero,zero,xmm0[4,9,14],zero,zero,zero6492; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm06493; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u],zero,zero,zero,xmm0[0,5,10,15],zero,zero,zero,xmm0[3,8,13]6494; AVX512-NEXT:    vpor %xmm1, %xmm0, %xmm06495; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06496; AVX512-NEXT:    vmovdqa %ymm4, %ymm16497; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm8 ^ (ymm1 & (ymm26 ^ ymm8))6498; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm9 ^ (mem & (ymm1 ^ ymm9))6499; AVX512-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,0,5,10,15,4,9,14,3,8,13,18,23,28,u,u,u,u,u,u,u,u,u,u,u,u,u]6500; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm6[1,6,11,u,u,u,u,u,u,u,u,u,u]6501; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[2,7,12],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]6502; AVX512-NEXT:    vpor %xmm2, %xmm3, %xmm26503; AVX512-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]6504; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6505; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))6506; AVX512-NEXT:    vmovdqa %ymm4, %ymm06507; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))6508; AVX512-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]6509; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 ^ (mem & (ymm2 ^ ymm0))6510; AVX512-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,3,8,13,18,23,28,17,22,27,16,21,26,31,128,128,128,128,128,128]6511; AVX512-NEXT:    vpshufb %ymm0, %ymm2, %ymm26512; AVX512-NEXT:    vmovdqa %ymm10, %ymm36513; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm24 ^ (ymm3 & (ymm25 ^ ymm24))6514; AVX512-NEXT:    vextracti128 $1, %ymm3, %xmm76515; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]6516; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15],zero,zero,zero,xmm3[u,u,u]6517; AVX512-NEXT:    vpor %xmm7, %xmm3, %xmm36518; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = (ymm3 & ymm20) | ymm26519; AVX512-NEXT:    vpshufb %xmm0, %xmm12, %xmm06520; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm13[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero6521; AVX512-NEXT:    vpor %xmm0, %xmm2, %xmm06522; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06523; AVX512-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm0 ^ (zmm21 & (zmm0 ^ zmm3))6524; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm206525; AVX512-NEXT:    vmovdqa %ymm10, %ymm06526; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm14 ^ (ymm0 & (ymm11 ^ ymm14))6527; AVX512-NEXT:    vextracti128 $1, %ymm0, %xmm16528; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u],zero,zero,zero,xmm1[1,6,11],zero,zero,zero,zero,xmm1[4,9,14]6529; AVX512-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,2,7,12],zero,zero,zero,xmm0[0,5,10,15],zero,zero,zero6530; AVX512-NEXT:    vpor %xmm1, %xmm0, %xmm06531; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06532; AVX512-NEXT:    vmovdqa %ymm5, %ymm16533; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm8 ^ (ymm1 & (ymm26 ^ ymm8))6534; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm9 ^ (mem & (ymm1 ^ ymm9))6535; AVX512-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,1,6,11,0,5,10,15,4,9,14,19,24,29,u,u,u,u,u,u,u,u,u,u,u,u,u]6536; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm6[2,7,12,u,u,u,u,u,u,u,u,u,u]6537; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[3,8,13],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]6538; AVX512-NEXT:    vpor %xmm2, %xmm3, %xmm26539; AVX512-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]6540; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6541; AVX512-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))6542; AVX512-NEXT:    vmovdqa %ymm5, %ymm06543; AVX512-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))6544; AVX512-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]6545; AVX512-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 ^ (mem & (ymm2 ^ ymm0))6546; AVX512-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]6547; AVX512-NEXT:    vpshufb %ymm0, %ymm2, %ymm26548; AVX512-NEXT:    vmovdqa %ymm4, %ymm36549; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm24 ^ (ymm3 & (ymm25 ^ ymm24))6550; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11],zero,zero,zero,zero,xmm3[u,u,u]6551; AVX512-NEXT:    vextracti128 $1, %ymm3, %xmm36552; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15,u,u,u]6553; AVX512-NEXT:    vpor %xmm7, %xmm3, %xmm36554; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = (ymm3 & mem) | ymm26555; AVX512-NEXT:    vpshufb %xmm0, %xmm12, %xmm06556; AVX512-NEXT:    vpshufb {{.*#+}} xmm2 = xmm13[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero6557; AVX512-NEXT:    vpor %xmm0, %xmm2, %xmm06558; AVX512-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06559; AVX512-NEXT:    vpmovsxwq {{.*#+}} zmm2 = [0,0,0,18446744073709551360,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615]6560; AVX512-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm3 ^ (zmm2 & (zmm0 ^ zmm3))6561; AVX512-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm06562; AVX512-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm14 ^ (ymm4 & (ymm11 ^ ymm14))6563; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = xmm11[u,u,u,3,8,13],zero,zero,zero,xmm11[1,6,11],zero,zero,zero,zero6564; AVX512-NEXT:    vextracti128 $1, %ymm11, %xmm36565; AVX512-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15]6566; AVX512-NEXT:    vpor %xmm1, %xmm3, %xmm16567; AVX512-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm16568; AVX512-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm26 ^ (ymm10 & (ymm8 ^ ymm26))6569; AVX512-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm9 ^ (mem & (ymm10 ^ ymm9))6570; AVX512-NEXT:    vpshufb {{.*#+}} ymm3 = ymm10[u,u,u,u,u,u,2,7,12,1,6,11,0,5,10,15,20,25,30,u,u,u,u,u,u,u,u,u,u,u,u,u]6571; AVX512-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,xmm6[3,8,13,u,u,u,u,u,u,u,u,u,u]6572; AVX512-NEXT:    vpshufb {{.*#+}} xmm7 = xmm15[4,9,14],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]6573; AVX512-NEXT:    vpor %xmm6, %xmm7, %xmm66574; AVX512-NEXT:    vpblendw {{.*#+}} xmm6 = xmm6[0,1,2],xmm3[3,4,5,6,7]6575; AVX512-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3],ymm3[4,5,6,7]6576; AVX512-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm1 ^ (ymm16 & (ymm3 ^ ymm1))6577; AVX512-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm24 ^ (ymm5 & (ymm25 ^ ymm24))6578; AVX512-NEXT:    vextracti128 $1, %ymm5, %xmm16579; AVX512-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11,u,u,u,u]6580; AVX512-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[4,9,14],zero,zero,zero,xmm5[2,7,12],zero,zero,zero,xmm5[u,u,u,u]6581; AVX512-NEXT:    vpor %xmm1, %xmm5, %xmm16582; AVX512-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm23 ^ (ymm4 & (ymm22 ^ ymm23))6583; AVX512-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]6584; AVX512-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm5 ^ (mem & (ymm5 ^ ymm4))6585; AVX512-NEXT:    vpshufb {{.*#+}} ymm4 = ymm5[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]6586; AVX512-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2],ymm4[3,4,5,6,7]6587; AVX512-NEXT:    vmovdqa 128(%rdi), %ymm46588; AVX512-NEXT:    vpshufb {{.*#+}} ymm4 = ymm4[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]6589; AVX512-NEXT:    vpermd %ymm4, %ymm17, %ymm46590; AVX512-NEXT:    vpternlogq {{.*#+}} zmm4 = zmm1 ^ (zmm2 & (zmm4 ^ zmm1))6591; AVX512-NEXT:    vinserti64x4 $1, %ymm3, %zmm4, %zmm16592; AVX512-NEXT:    vmovdqa64 %zmm19, (%rsi)6593; AVX512-NEXT:    vmovdqa64 %zmm18, (%rdx)6594; AVX512-NEXT:    vmovdqa64 %zmm20, (%rcx)6595; AVX512-NEXT:    vmovdqa64 %zmm0, (%r8)6596; AVX512-NEXT:    vmovdqa64 %zmm1, (%r9)6597; AVX512-NEXT:    vzeroupper6598; AVX512-NEXT:    retq6599;6600; AVX512-FCP-LABEL: load_i8_stride5_vf64:6601; AVX512-FCP:       # %bb.0:6602; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm5 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]6603; AVX512-FCP-NEXT:    vmovdqa64 (%rdi), %ymm246604; AVX512-FCP-NEXT:    vmovdqa64 32(%rdi), %ymm256605; AVX512-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm226606; AVX512-FCP-NEXT:    vmovdqa64 96(%rdi), %ymm236607; AVX512-FCP-NEXT:    vmovdqa %ymm5, %ymm46608; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm23 ^ (ymm4 & (ymm22 ^ ymm23))6609; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm7 = ymm4[2,3,0,1]6610; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (mem & (ymm7 ^ ymm4))6611; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm6 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,6,11,16,21,26,31,20,25,30,19,24,29,128,128,128,128,128,128]6612; AVX512-FCP-NEXT:    vpshufb %ymm6, %ymm7, %ymm76613; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm4 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]6614; AVX512-FCP-NEXT:    vmovdqa %ymm4, %ymm86615; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm25 ^ (ymm8 & (ymm24 ^ ymm25))6616; AVX512-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm96617; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12,u,u,u]6618; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[0,5,10,15],zero,zero,zero,xmm8[3,8,13],zero,zero,zero,xmm8[u,u,u]6619; AVX512-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm106620; AVX512-FCP-NEXT:    vmovdqa64 {{.*#+}} ymm20 = [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,255,255,255,255,255,255]6621; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = (ymm10 & ymm20) | ymm76622; AVX512-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm266623; AVX512-FCP-NEXT:    vmovdqa 224(%rdi), %ymm86624; AVX512-FCP-NEXT:    vmovdqa %ymm4, %ymm116625; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm26 ^ (ymm11 & (ymm8 ^ ymm26))6626; AVX512-FCP-NEXT:    vmovdqa 208(%rdi), %xmm96627; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm9 ^ (mem & (ymm11 ^ ymm9))6628; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm11 = zero,zero,zero,zero,zero,zero,zero,ymm11[3,8,13,2,7,12,1,6,11,16,21,26,31,u,u,u,u,u,u,u,u,u,u,u,u]6629; AVX512-FCP-NEXT:    vmovdqa 160(%rdi), %ymm126630; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[0,5,10,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,20,25,30,u,u,u,u,u,u,u,u,u]6631; AVX512-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm17 = [0,5,0,5,0,5,0,5]6632; AVX512-FCP-NEXT:    vpermd %ymm12, %ymm17, %ymm156633; AVX512-FCP-NEXT:    vmovdqa64 {{.*#+}} ymm16 = [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]6634; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = (ymm15 & ~ymm16) | ymm116635; AVX512-FCP-NEXT:    vmovdqa 144(%rdi), %xmm126636; AVX512-FCP-NEXT:    vpshufb %xmm6, %xmm12, %xmm66637; AVX512-FCP-NEXT:    vmovdqa 128(%rdi), %xmm136638; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm13[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero6639; AVX512-FCP-NEXT:    vpor %xmm6, %xmm11, %xmm66640; AVX512-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66641; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm15, %zmm6, %zmm66642; AVX512-FCP-NEXT:    vmovdqa64 {{.*#+}} zmm21 = [65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535]6643; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm6 = zmm6 ^ (zmm21 & (zmm6 ^ zmm10))6644; AVX512-FCP-NEXT:    vmovdqa 256(%rdi), %ymm146645; AVX512-FCP-NEXT:    vmovdqa 288(%rdi), %ymm116646; AVX512-FCP-NEXT:    vmovdqa %ymm5, %ymm106647; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm14 ^ (ymm10 & (ymm11 ^ ymm14))6648; AVX512-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm06649; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u],zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[1,6,11]6650; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,u,u,4,9,14],zero,zero,zero,xmm10[2,7,12],zero,zero,zero6651; AVX512-FCP-NEXT:    vpor %xmm0, %xmm10, %xmm06652; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06653; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5,6,7]6654; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm6, %zmm196655; AVX512-FCP-NEXT:    vmovdqa %ymm4, %ymm06656; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm11 ^ (ymm0 & (ymm14 ^ ymm11))6657; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm66658; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u],zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12]6659; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,0,5,10,15],zero,zero,zero,xmm0[3,8,13],zero,zero,zero6660; AVX512-FCP-NEXT:    vpor %xmm6, %xmm0, %xmm06661; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06662; AVX512-FCP-NEXT:    vmovdqa %ymm5, %ymm66663; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm26 ^ (ymm6 & (ymm8 ^ ymm26))6664; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm9 ^ (mem & (ymm6 ^ ymm9))6665; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm10 = zero,zero,zero,zero,zero,zero,zero,ymm6[4,9,14,3,8,13,2,7,12,17,22,27,u,u,u,u,u,u,u,u,u,u,u,u,u]6666; AVX512-FCP-NEXT:    vmovdqa 160(%rdi), %xmm156667; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm15[1,6,11],zero,zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u]6668; AVX512-FCP-NEXT:    vmovdqa 176(%rdi), %xmm66669; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm6[0,5,10,15,u,u,u,u,u,u,u,u,u]6670; AVX512-FCP-NEXT:    vpor %xmm1, %xmm3, %xmm16671; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = (ymm1 & ~ymm16) | ymm106672; AVX512-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,16777215,0]6673; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))6674; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]6675; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm06676; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))6677; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm0[2,3,0,1]6678; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (mem & (ymm3 ^ ymm0))6679; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,2,7,12,17,22,27,16,21,26,31,20,25,30,128,128,128,128,128,128]6680; AVX512-FCP-NEXT:    vpshufb %ymm0, %ymm3, %ymm36681; AVX512-FCP-NEXT:    vmovdqa %ymm5, %ymm26682; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm25 ^ (ymm2 & (ymm24 ^ ymm25))6683; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm2[1,6,11],zero,zero,zero,zero,xmm2[4,9,14],zero,zero,zero,xmm2[u,u,u]6684; AVX512-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm26685; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13,u,u,u]6686; AVX512-FCP-NEXT:    vpor %xmm7, %xmm2, %xmm26687; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & ymm20) | ymm36688; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm12, %xmm06689; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm13[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero6690; AVX512-FCP-NEXT:    vpor %xmm0, %xmm3, %xmm06691; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06692; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm0 ^ (zmm21 & (zmm0 ^ zmm2))6693; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm186694; AVX512-FCP-NEXT:    vmovdqa %ymm5, %ymm06695; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm11 ^ (ymm0 & (ymm14 ^ ymm11))6696; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[u,u,u,1,6,11],zero,zero,zero,zero,xmm0[4,9,14],zero,zero,zero6697; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm06698; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u],zero,zero,zero,xmm0[0,5,10,15],zero,zero,zero,xmm0[3,8,13]6699; AVX512-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm06700; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06701; AVX512-FCP-NEXT:    vmovdqa %ymm4, %ymm16702; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm8 ^ (ymm1 & (ymm26 ^ ymm8))6703; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm9 ^ (mem & (ymm1 ^ ymm9))6704; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,0,5,10,15,4,9,14,3,8,13,18,23,28,u,u,u,u,u,u,u,u,u,u,u,u,u]6705; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm6[1,6,11,u,u,u,u,u,u,u,u,u,u]6706; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[2,7,12],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]6707; AVX512-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm26708; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]6709; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6710; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))6711; AVX512-FCP-NEXT:    vmovdqa %ymm4, %ymm06712; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))6713; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]6714; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 ^ (mem & (ymm2 ^ ymm0))6715; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,3,8,13,18,23,28,17,22,27,16,21,26,31,128,128,128,128,128,128]6716; AVX512-FCP-NEXT:    vpshufb %ymm0, %ymm2, %ymm26717; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm36718; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm24 ^ (ymm3 & (ymm25 ^ ymm24))6719; AVX512-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm76720; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]6721; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15],zero,zero,zero,xmm3[u,u,u]6722; AVX512-FCP-NEXT:    vpor %xmm7, %xmm3, %xmm36723; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = (ymm3 & ymm20) | ymm26724; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm12, %xmm06725; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm13[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero6726; AVX512-FCP-NEXT:    vpor %xmm0, %xmm2, %xmm06727; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06728; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm0 ^ (zmm21 & (zmm0 ^ zmm3))6729; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm206730; AVX512-FCP-NEXT:    vmovdqa %ymm10, %ymm06731; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm14 ^ (ymm0 & (ymm11 ^ ymm14))6732; AVX512-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm16733; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u],zero,zero,zero,xmm1[1,6,11],zero,zero,zero,zero,xmm1[4,9,14]6734; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,2,7,12],zero,zero,zero,xmm0[0,5,10,15],zero,zero,zero6735; AVX512-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm06736; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06737; AVX512-FCP-NEXT:    vmovdqa %ymm5, %ymm16738; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm8 ^ (ymm1 & (ymm26 ^ ymm8))6739; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm9 ^ (mem & (ymm1 ^ ymm9))6740; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,1,6,11,0,5,10,15,4,9,14,19,24,29,u,u,u,u,u,u,u,u,u,u,u,u,u]6741; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm6[2,7,12,u,u,u,u,u,u,u,u,u,u]6742; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[3,8,13],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]6743; AVX512-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm26744; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]6745; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6746; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))6747; AVX512-FCP-NEXT:    vmovdqa %ymm5, %ymm06748; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))6749; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]6750; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 ^ (mem & (ymm2 ^ ymm0))6751; AVX512-FCP-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]6752; AVX512-FCP-NEXT:    vpshufb %ymm0, %ymm2, %ymm26753; AVX512-FCP-NEXT:    vmovdqa %ymm4, %ymm36754; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm24 ^ (ymm3 & (ymm25 ^ ymm24))6755; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11],zero,zero,zero,zero,xmm3[u,u,u]6756; AVX512-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm36757; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15,u,u,u]6758; AVX512-FCP-NEXT:    vpor %xmm7, %xmm3, %xmm36759; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = (ymm3 & mem) | ymm26760; AVX512-FCP-NEXT:    vpshufb %xmm0, %xmm12, %xmm06761; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm13[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero6762; AVX512-FCP-NEXT:    vpor %xmm0, %xmm2, %xmm06763; AVX512-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06764; AVX512-FCP-NEXT:    vpmovsxwq {{.*#+}} zmm2 = [0,0,0,18446744073709551360,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615]6765; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm3 ^ (zmm2 & (zmm0 ^ zmm3))6766; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm06767; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm14 ^ (ymm4 & (ymm11 ^ ymm14))6768; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm11[u,u,u,3,8,13],zero,zero,zero,xmm11[1,6,11],zero,zero,zero,zero6769; AVX512-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm36770; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15]6771; AVX512-FCP-NEXT:    vpor %xmm1, %xmm3, %xmm16772; AVX512-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm16773; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm26 ^ (ymm10 & (ymm8 ^ ymm26))6774; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm9 ^ (mem & (ymm10 ^ ymm9))6775; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm3 = ymm10[u,u,u,u,u,u,2,7,12,1,6,11,0,5,10,15,20,25,30,u,u,u,u,u,u,u,u,u,u,u,u,u]6776; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,xmm6[3,8,13,u,u,u,u,u,u,u,u,u,u]6777; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm15[4,9,14],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]6778; AVX512-FCP-NEXT:    vpor %xmm6, %xmm7, %xmm66779; AVX512-FCP-NEXT:    vpblendw {{.*#+}} xmm6 = xmm6[0,1,2],xmm3[3,4,5,6,7]6780; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3],ymm3[4,5,6,7]6781; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm1 ^ (ymm16 & (ymm3 ^ ymm1))6782; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm24 ^ (ymm5 & (ymm25 ^ ymm24))6783; AVX512-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm16784; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11,u,u,u,u]6785; AVX512-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[4,9,14],zero,zero,zero,xmm5[2,7,12],zero,zero,zero,xmm5[u,u,u,u]6786; AVX512-FCP-NEXT:    vpor %xmm1, %xmm5, %xmm16787; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm23 ^ (ymm4 & (ymm22 ^ ymm23))6788; AVX512-FCP-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]6789; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm5 ^ (mem & (ymm5 ^ ymm4))6790; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = ymm5[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]6791; AVX512-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2],ymm4[3,4,5,6,7]6792; AVX512-FCP-NEXT:    vmovdqa 128(%rdi), %ymm46793; AVX512-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = ymm4[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]6794; AVX512-FCP-NEXT:    vpermd %ymm4, %ymm17, %ymm46795; AVX512-FCP-NEXT:    vpternlogq {{.*#+}} zmm4 = zmm1 ^ (zmm2 & (zmm4 ^ zmm1))6796; AVX512-FCP-NEXT:    vinserti64x4 $1, %ymm3, %zmm4, %zmm16797; AVX512-FCP-NEXT:    vmovdqa64 %zmm19, (%rsi)6798; AVX512-FCP-NEXT:    vmovdqa64 %zmm18, (%rdx)6799; AVX512-FCP-NEXT:    vmovdqa64 %zmm20, (%rcx)6800; AVX512-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)6801; AVX512-FCP-NEXT:    vmovdqa64 %zmm1, (%r9)6802; AVX512-FCP-NEXT:    vzeroupper6803; AVX512-FCP-NEXT:    retq6804;6805; AVX512DQ-LABEL: load_i8_stride5_vf64:6806; AVX512DQ:       # %bb.0:6807; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm5 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]6808; AVX512DQ-NEXT:    vmovdqa64 (%rdi), %ymm246809; AVX512DQ-NEXT:    vmovdqa64 32(%rdi), %ymm256810; AVX512DQ-NEXT:    vmovdqa64 64(%rdi), %ymm226811; AVX512DQ-NEXT:    vmovdqa64 96(%rdi), %ymm236812; AVX512DQ-NEXT:    vmovdqa %ymm5, %ymm46813; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm23 ^ (ymm4 & (ymm22 ^ ymm23))6814; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm7 = ymm4[2,3,0,1]6815; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (mem & (ymm7 ^ ymm4))6816; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm6 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,6,11,16,21,26,31,20,25,30,19,24,29,128,128,128,128,128,128]6817; AVX512DQ-NEXT:    vpshufb %ymm6, %ymm7, %ymm76818; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm4 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]6819; AVX512DQ-NEXT:    vmovdqa %ymm4, %ymm86820; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm25 ^ (ymm8 & (ymm24 ^ ymm25))6821; AVX512DQ-NEXT:    vextracti128 $1, %ymm8, %xmm96822; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12,u,u,u]6823; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[0,5,10,15],zero,zero,zero,xmm8[3,8,13],zero,zero,zero,xmm8[u,u,u]6824; AVX512DQ-NEXT:    vpor %xmm9, %xmm8, %xmm106825; AVX512DQ-NEXT:    vmovdqa64 {{.*#+}} ymm20 = [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,255,255,255,255,255,255]6826; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm10 = (ymm10 & ymm20) | ymm76827; AVX512DQ-NEXT:    vmovdqa64 192(%rdi), %ymm266828; AVX512DQ-NEXT:    vmovdqa 224(%rdi), %ymm86829; AVX512DQ-NEXT:    vmovdqa %ymm4, %ymm116830; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm26 ^ (ymm11 & (ymm8 ^ ymm26))6831; AVX512DQ-NEXT:    vmovdqa 208(%rdi), %xmm96832; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm9 ^ (mem & (ymm11 ^ ymm9))6833; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm11 = zero,zero,zero,zero,zero,zero,zero,ymm11[3,8,13,2,7,12,1,6,11,16,21,26,31,u,u,u,u,u,u,u,u,u,u,u,u]6834; AVX512DQ-NEXT:    vmovdqa 160(%rdi), %ymm126835; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[0,5,10,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,20,25,30,u,u,u,u,u,u,u,u,u]6836; AVX512DQ-NEXT:    vpbroadcastq {{.*#+}} ymm17 = [0,5,0,5,0,5,0,5]6837; AVX512DQ-NEXT:    vpermd %ymm12, %ymm17, %ymm156838; AVX512DQ-NEXT:    vmovdqa64 {{.*#+}} ymm16 = [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]6839; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm15 = (ymm15 & ~ymm16) | ymm116840; AVX512DQ-NEXT:    vmovdqa 144(%rdi), %xmm126841; AVX512DQ-NEXT:    vpshufb %xmm6, %xmm12, %xmm66842; AVX512DQ-NEXT:    vmovdqa 128(%rdi), %xmm136843; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm11 = xmm13[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero6844; AVX512DQ-NEXT:    vpor %xmm6, %xmm11, %xmm66845; AVX512DQ-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm66846; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm15, %zmm6, %zmm66847; AVX512DQ-NEXT:    vmovdqa64 {{.*#+}} zmm21 = [65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535]6848; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm6 = zmm6 ^ (zmm21 & (zmm6 ^ zmm10))6849; AVX512DQ-NEXT:    vmovdqa 256(%rdi), %ymm146850; AVX512DQ-NEXT:    vmovdqa 288(%rdi), %ymm116851; AVX512DQ-NEXT:    vmovdqa %ymm5, %ymm106852; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm14 ^ (ymm10 & (ymm11 ^ ymm14))6853; AVX512DQ-NEXT:    vextracti128 $1, %ymm10, %xmm06854; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u],zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[1,6,11]6855; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,u,u,4,9,14],zero,zero,zero,xmm10[2,7,12],zero,zero,zero6856; AVX512DQ-NEXT:    vpor %xmm0, %xmm10, %xmm06857; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06858; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5,6,7]6859; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm0, %zmm6, %zmm196860; AVX512DQ-NEXT:    vmovdqa %ymm4, %ymm06861; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm11 ^ (ymm0 & (ymm14 ^ ymm11))6862; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm66863; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u],zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12]6864; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,0,5,10,15],zero,zero,zero,xmm0[3,8,13],zero,zero,zero6865; AVX512DQ-NEXT:    vpor %xmm6, %xmm0, %xmm06866; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06867; AVX512DQ-NEXT:    vmovdqa %ymm5, %ymm66868; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm26 ^ (ymm6 & (ymm8 ^ ymm26))6869; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm9 ^ (mem & (ymm6 ^ ymm9))6870; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm10 = zero,zero,zero,zero,zero,zero,zero,ymm6[4,9,14,3,8,13,2,7,12,17,22,27,u,u,u,u,u,u,u,u,u,u,u,u,u]6871; AVX512DQ-NEXT:    vmovdqa 160(%rdi), %xmm156872; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm15[1,6,11],zero,zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u]6873; AVX512DQ-NEXT:    vmovdqa 176(%rdi), %xmm66874; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm6[0,5,10,15,u,u,u,u,u,u,u,u,u]6875; AVX512DQ-NEXT:    vpor %xmm1, %xmm3, %xmm16876; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = (ymm1 & ~ymm16) | ymm106877; AVX512DQ-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,16777215,0]6878; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))6879; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]6880; AVX512DQ-NEXT:    vmovdqa %ymm10, %ymm06881; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))6882; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm3 = ymm0[2,3,0,1]6883; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (mem & (ymm3 ^ ymm0))6884; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,2,7,12,17,22,27,16,21,26,31,20,25,30,128,128,128,128,128,128]6885; AVX512DQ-NEXT:    vpshufb %ymm0, %ymm3, %ymm36886; AVX512DQ-NEXT:    vmovdqa %ymm5, %ymm26887; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm25 ^ (ymm2 & (ymm24 ^ ymm25))6888; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = xmm2[1,6,11],zero,zero,zero,zero,xmm2[4,9,14],zero,zero,zero,xmm2[u,u,u]6889; AVX512DQ-NEXT:    vextracti128 $1, %ymm2, %xmm26890; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13,u,u,u]6891; AVX512DQ-NEXT:    vpor %xmm7, %xmm2, %xmm26892; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & ymm20) | ymm36893; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm12, %xmm06894; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm13[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero6895; AVX512DQ-NEXT:    vpor %xmm0, %xmm3, %xmm06896; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06897; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm0 ^ (zmm21 & (zmm0 ^ zmm2))6898; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm186899; AVX512DQ-NEXT:    vmovdqa %ymm5, %ymm06900; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm11 ^ (ymm0 & (ymm14 ^ ymm11))6901; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[u,u,u,1,6,11],zero,zero,zero,zero,xmm0[4,9,14],zero,zero,zero6902; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm06903; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u],zero,zero,zero,xmm0[0,5,10,15],zero,zero,zero,xmm0[3,8,13]6904; AVX512DQ-NEXT:    vpor %xmm1, %xmm0, %xmm06905; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06906; AVX512DQ-NEXT:    vmovdqa %ymm4, %ymm16907; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm8 ^ (ymm1 & (ymm26 ^ ymm8))6908; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm9 ^ (mem & (ymm1 ^ ymm9))6909; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,0,5,10,15,4,9,14,3,8,13,18,23,28,u,u,u,u,u,u,u,u,u,u,u,u,u]6910; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm6[1,6,11,u,u,u,u,u,u,u,u,u,u]6911; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[2,7,12],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]6912; AVX512DQ-NEXT:    vpor %xmm2, %xmm3, %xmm26913; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]6914; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6915; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))6916; AVX512DQ-NEXT:    vmovdqa %ymm4, %ymm06917; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))6918; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]6919; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 ^ (mem & (ymm2 ^ ymm0))6920; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,3,8,13,18,23,28,17,22,27,16,21,26,31,128,128,128,128,128,128]6921; AVX512DQ-NEXT:    vpshufb %ymm0, %ymm2, %ymm26922; AVX512DQ-NEXT:    vmovdqa %ymm10, %ymm36923; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm24 ^ (ymm3 & (ymm25 ^ ymm24))6924; AVX512DQ-NEXT:    vextracti128 $1, %ymm3, %xmm76925; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]6926; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15],zero,zero,zero,xmm3[u,u,u]6927; AVX512DQ-NEXT:    vpor %xmm7, %xmm3, %xmm36928; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = (ymm3 & ymm20) | ymm26929; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm12, %xmm06930; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm13[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero6931; AVX512DQ-NEXT:    vpor %xmm0, %xmm2, %xmm06932; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06933; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm0 ^ (zmm21 & (zmm0 ^ zmm3))6934; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm206935; AVX512DQ-NEXT:    vmovdqa %ymm10, %ymm06936; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm14 ^ (ymm0 & (ymm11 ^ ymm14))6937; AVX512DQ-NEXT:    vextracti128 $1, %ymm0, %xmm16938; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u],zero,zero,zero,xmm1[1,6,11],zero,zero,zero,zero,xmm1[4,9,14]6939; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,2,7,12],zero,zero,zero,xmm0[0,5,10,15],zero,zero,zero6940; AVX512DQ-NEXT:    vpor %xmm1, %xmm0, %xmm06941; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06942; AVX512DQ-NEXT:    vmovdqa %ymm5, %ymm16943; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm8 ^ (ymm1 & (ymm26 ^ ymm8))6944; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm9 ^ (mem & (ymm1 ^ ymm9))6945; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,1,6,11,0,5,10,15,4,9,14,19,24,29,u,u,u,u,u,u,u,u,u,u,u,u,u]6946; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm6[2,7,12,u,u,u,u,u,u,u,u,u,u]6947; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[3,8,13],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]6948; AVX512DQ-NEXT:    vpor %xmm2, %xmm3, %xmm26949; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]6950; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]6951; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))6952; AVX512DQ-NEXT:    vmovdqa %ymm5, %ymm06953; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))6954; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]6955; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 ^ (mem & (ymm2 ^ ymm0))6956; AVX512DQ-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]6957; AVX512DQ-NEXT:    vpshufb %ymm0, %ymm2, %ymm26958; AVX512DQ-NEXT:    vmovdqa %ymm4, %ymm36959; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm24 ^ (ymm3 & (ymm25 ^ ymm24))6960; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11],zero,zero,zero,zero,xmm3[u,u,u]6961; AVX512DQ-NEXT:    vextracti128 $1, %ymm3, %xmm36962; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15,u,u,u]6963; AVX512DQ-NEXT:    vpor %xmm7, %xmm3, %xmm36964; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = (ymm3 & mem) | ymm26965; AVX512DQ-NEXT:    vpshufb %xmm0, %xmm12, %xmm06966; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm2 = xmm13[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero6967; AVX512DQ-NEXT:    vpor %xmm0, %xmm2, %xmm06968; AVX512DQ-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm06969; AVX512DQ-NEXT:    vpmovsxwq {{.*#+}} zmm2 = [0,0,0,18446744073709551360,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615]6970; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm3 ^ (zmm2 & (zmm0 ^ zmm3))6971; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm06972; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm14 ^ (ymm4 & (ymm11 ^ ymm14))6973; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = xmm11[u,u,u,3,8,13],zero,zero,zero,xmm11[1,6,11],zero,zero,zero,zero6974; AVX512DQ-NEXT:    vextracti128 $1, %ymm11, %xmm36975; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15]6976; AVX512DQ-NEXT:    vpor %xmm1, %xmm3, %xmm16977; AVX512DQ-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm16978; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm26 ^ (ymm10 & (ymm8 ^ ymm26))6979; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm9 ^ (mem & (ymm10 ^ ymm9))6980; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm3 = ymm10[u,u,u,u,u,u,2,7,12,1,6,11,0,5,10,15,20,25,30,u,u,u,u,u,u,u,u,u,u,u,u,u]6981; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,xmm6[3,8,13,u,u,u,u,u,u,u,u,u,u]6982; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm7 = xmm15[4,9,14],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]6983; AVX512DQ-NEXT:    vpor %xmm6, %xmm7, %xmm66984; AVX512DQ-NEXT:    vpblendw {{.*#+}} xmm6 = xmm6[0,1,2],xmm3[3,4,5,6,7]6985; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3],ymm3[4,5,6,7]6986; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm1 ^ (ymm16 & (ymm3 ^ ymm1))6987; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm24 ^ (ymm5 & (ymm25 ^ ymm24))6988; AVX512DQ-NEXT:    vextracti128 $1, %ymm5, %xmm16989; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11,u,u,u,u]6990; AVX512DQ-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[4,9,14],zero,zero,zero,xmm5[2,7,12],zero,zero,zero,xmm5[u,u,u,u]6991; AVX512DQ-NEXT:    vpor %xmm1, %xmm5, %xmm16992; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm23 ^ (ymm4 & (ymm22 ^ ymm23))6993; AVX512DQ-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]6994; AVX512DQ-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm5 ^ (mem & (ymm5 ^ ymm4))6995; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm4 = ymm5[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]6996; AVX512DQ-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2],ymm4[3,4,5,6,7]6997; AVX512DQ-NEXT:    vmovdqa 128(%rdi), %ymm46998; AVX512DQ-NEXT:    vpshufb {{.*#+}} ymm4 = ymm4[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]6999; AVX512DQ-NEXT:    vpermd %ymm4, %ymm17, %ymm47000; AVX512DQ-NEXT:    vpternlogq {{.*#+}} zmm4 = zmm1 ^ (zmm2 & (zmm4 ^ zmm1))7001; AVX512DQ-NEXT:    vinserti64x4 $1, %ymm3, %zmm4, %zmm17002; AVX512DQ-NEXT:    vmovdqa64 %zmm19, (%rsi)7003; AVX512DQ-NEXT:    vmovdqa64 %zmm18, (%rdx)7004; AVX512DQ-NEXT:    vmovdqa64 %zmm20, (%rcx)7005; AVX512DQ-NEXT:    vmovdqa64 %zmm0, (%r8)7006; AVX512DQ-NEXT:    vmovdqa64 %zmm1, (%r9)7007; AVX512DQ-NEXT:    vzeroupper7008; AVX512DQ-NEXT:    retq7009;7010; AVX512DQ-FCP-LABEL: load_i8_stride5_vf64:7011; AVX512DQ-FCP:       # %bb.0:7012; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm5 = [65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535]7013; AVX512DQ-FCP-NEXT:    vmovdqa64 (%rdi), %ymm247014; AVX512DQ-FCP-NEXT:    vmovdqa64 32(%rdi), %ymm257015; AVX512DQ-FCP-NEXT:    vmovdqa64 64(%rdi), %ymm227016; AVX512DQ-FCP-NEXT:    vmovdqa64 96(%rdi), %ymm237017; AVX512DQ-FCP-NEXT:    vmovdqa %ymm5, %ymm47018; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm23 ^ (ymm4 & (ymm22 ^ ymm23))7019; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm7 = ymm4[2,3,0,1]7020; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm7 = ymm7 ^ (mem & (ymm7 ^ ymm4))7021; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm6 = [128,128,128,128,128,128,128,128,128,128,128,128,128,1,6,11,16,21,26,31,20,25,30,19,24,29,128,128,128,128,128,128]7022; AVX512DQ-FCP-NEXT:    vpshufb %ymm6, %ymm7, %ymm77023; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm4 = [65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535]7024; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, %ymm87025; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm8 = ymm25 ^ (ymm8 & (ymm24 ^ ymm25))7026; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm8, %xmm97027; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = zero,zero,zero,zero,xmm9[4,9,14],zero,zero,zero,xmm9[2,7,12,u,u,u]7028; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm8[0,5,10,15],zero,zero,zero,xmm8[3,8,13],zero,zero,zero,xmm8[u,u,u]7029; AVX512DQ-FCP-NEXT:    vpor %xmm9, %xmm8, %xmm107030; AVX512DQ-FCP-NEXT:    vmovdqa64 {{.*#+}} ymm20 = [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,255,255,255,255,255,255]7031; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = (ymm10 & ymm20) | ymm77032; AVX512DQ-FCP-NEXT:    vmovdqa64 192(%rdi), %ymm267033; AVX512DQ-FCP-NEXT:    vmovdqa 224(%rdi), %ymm87034; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, %ymm117035; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm26 ^ (ymm11 & (ymm8 ^ ymm26))7036; AVX512DQ-FCP-NEXT:    vmovdqa 208(%rdi), %xmm97037; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm9 ^ (mem & (ymm11 ^ ymm9))7038; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm11 = zero,zero,zero,zero,zero,zero,zero,ymm11[3,8,13,2,7,12,1,6,11,16,21,26,31,u,u,u,u,u,u,u,u,u,u,u,u]7039; AVX512DQ-FCP-NEXT:    vmovdqa 160(%rdi), %ymm127040; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm12 = ymm12[0,5,10,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,20,25,30,u,u,u,u,u,u,u,u,u]7041; AVX512DQ-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm17 = [0,5,0,5,0,5,0,5]7042; AVX512DQ-FCP-NEXT:    vpermd %ymm12, %ymm17, %ymm157043; AVX512DQ-FCP-NEXT:    vmovdqa64 {{.*#+}} ymm16 = [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]7044; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm15 = (ymm15 & ~ymm16) | ymm117045; AVX512DQ-FCP-NEXT:    vmovdqa 144(%rdi), %xmm127046; AVX512DQ-FCP-NEXT:    vpshufb %xmm6, %xmm12, %xmm67047; AVX512DQ-FCP-NEXT:    vmovdqa 128(%rdi), %xmm137048; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm13[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero7049; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm11, %xmm67050; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm6, %ymm0, %ymm67051; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm15, %zmm6, %zmm67052; AVX512DQ-FCP-NEXT:    vmovdqa64 {{.*#+}} zmm21 = [65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,65535,65535,65535,65535,65535,65535]7053; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm6 = zmm6 ^ (zmm21 & (zmm6 ^ zmm10))7054; AVX512DQ-FCP-NEXT:    vmovdqa 256(%rdi), %ymm147055; AVX512DQ-FCP-NEXT:    vmovdqa 288(%rdi), %ymm117056; AVX512DQ-FCP-NEXT:    vmovdqa %ymm5, %ymm107057; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm14 ^ (ymm10 & (ymm11 ^ ymm14))7058; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm10, %xmm07059; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,u],zero,zero,zero,xmm0[3,8,13],zero,zero,zero,xmm0[1,6,11]7060; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm10[u,u,u,u,4,9,14],zero,zero,zero,xmm10[2,7,12],zero,zero,zero7061; AVX512DQ-FCP-NEXT:    vpor %xmm0, %xmm10, %xmm07062; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm07063; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm15[0,1,2,3,4],ymm0[5,6,7]7064; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm6, %zmm197065; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, %ymm07066; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm11 ^ (ymm0 & (ymm14 ^ ymm11))7067; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm67068; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = xmm6[u,u,u],zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12]7069; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,0,5,10,15],zero,zero,zero,xmm0[3,8,13],zero,zero,zero7070; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm0, %xmm07071; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm07072; AVX512DQ-FCP-NEXT:    vmovdqa %ymm5, %ymm67073; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm26 ^ (ymm6 & (ymm8 ^ ymm26))7074; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm6 = ymm9 ^ (mem & (ymm6 ^ ymm9))7075; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm10 = zero,zero,zero,zero,zero,zero,zero,ymm6[4,9,14,3,8,13,2,7,12,17,22,27,u,u,u,u,u,u,u,u,u,u,u,u,u]7076; AVX512DQ-FCP-NEXT:    vmovdqa 160(%rdi), %xmm157077; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm15[1,6,11],zero,zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u]7078; AVX512DQ-FCP-NEXT:    vmovdqa 176(%rdi), %xmm67079; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm6[0,5,10,15,u,u,u,u,u,u,u,u,u]7080; AVX512DQ-FCP-NEXT:    vpor %xmm1, %xmm3, %xmm17081; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = (ymm1 & ~ymm16) | ymm107082; AVX512DQ-FCP-NEXT:    vpmovsxdq {{.*#+}} ymm16 = [18446744073709551615,18446744073709551615,16777215,0]7083; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))7084; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm10 = [65535,0,65535,0,65535,65535,0,65535,0,65535,65535,0,65535,0,65535,65535]7085; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm07086; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))7087; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm3 = ymm0[2,3,0,1]7088; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm3 ^ (mem & (ymm3 ^ ymm0))7089; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,2,7,12,17,22,27,16,21,26,31,20,25,30,128,128,128,128,128,128]7090; AVX512DQ-FCP-NEXT:    vpshufb %ymm0, %ymm3, %ymm37091; AVX512DQ-FCP-NEXT:    vmovdqa %ymm5, %ymm27092; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm25 ^ (ymm2 & (ymm24 ^ ymm25))7093; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm2[1,6,11],zero,zero,zero,zero,xmm2[4,9,14],zero,zero,zero,xmm2[u,u,u]7094; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm27095; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm2[0,5,10,15],zero,zero,zero,xmm2[3,8,13,u,u,u]7096; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm2, %xmm27097; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = (ymm2 & ymm20) | ymm37098; AVX512DQ-FCP-NEXT:    vpshufb %xmm0, %xmm12, %xmm07099; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm13[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero7100; AVX512DQ-FCP-NEXT:    vpor %xmm0, %xmm3, %xmm07101; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm07102; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm0 ^ (zmm21 & (zmm0 ^ zmm2))7103; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm187104; AVX512DQ-FCP-NEXT:    vmovdqa %ymm5, %ymm07105; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm11 ^ (ymm0 & (ymm14 ^ ymm11))7106; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm0[u,u,u,1,6,11],zero,zero,zero,zero,xmm0[4,9,14],zero,zero,zero7107; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm07108; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u],zero,zero,zero,xmm0[0,5,10,15],zero,zero,zero,xmm0[3,8,13]7109; AVX512DQ-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm07110; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm07111; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, %ymm17112; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm8 ^ (ymm1 & (ymm26 ^ ymm8))7113; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm9 ^ (mem & (ymm1 ^ ymm9))7114; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,0,5,10,15,4,9,14,3,8,13,18,23,28,u,u,u,u,u,u,u,u,u,u,u,u,u]7115; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm6[1,6,11,u,u,u,u,u,u,u,u,u,u]7116; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[2,7,12],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]7117; AVX512DQ-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm27118; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]7119; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]7120; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))7121; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, %ymm07122; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))7123; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]7124; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 ^ (mem & (ymm2 ^ ymm0))7125; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,3,8,13,18,23,28,17,22,27,16,21,26,31,128,128,128,128,128,128]7126; AVX512DQ-FCP-NEXT:    vpshufb %ymm0, %ymm2, %ymm27127; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm37128; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm24 ^ (ymm3 & (ymm25 ^ ymm24))7129; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm77130; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero,xmm7[4,9,14,u,u,u]7131; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15],zero,zero,zero,xmm3[u,u,u]7132; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm3, %xmm37133; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = (ymm3 & ymm20) | ymm27134; AVX512DQ-FCP-NEXT:    vpshufb %xmm0, %xmm12, %xmm07135; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm13[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero7136; AVX512DQ-FCP-NEXT:    vpor %xmm0, %xmm2, %xmm07137; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm07138; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm0 ^ (zmm21 & (zmm0 ^ zmm3))7139; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm207140; AVX512DQ-FCP-NEXT:    vmovdqa %ymm10, %ymm07141; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm14 ^ (ymm0 & (ymm11 ^ ymm14))7142; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm0, %xmm17143; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm1[u,u,u],zero,zero,zero,xmm1[1,6,11],zero,zero,zero,zero,xmm1[4,9,14]7144; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm0 = xmm0[u,u,u,2,7,12],zero,zero,zero,xmm0[0,5,10,15],zero,zero,zero7145; AVX512DQ-FCP-NEXT:    vpor %xmm1, %xmm0, %xmm07146; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm07147; AVX512DQ-FCP-NEXT:    vmovdqa %ymm5, %ymm17148; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm8 ^ (ymm1 & (ymm26 ^ ymm8))7149; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm9 ^ (mem & (ymm1 ^ ymm9))7150; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm1[u,u,u,u,u,u,1,6,11,0,5,10,15,4,9,14,19,24,29,u,u,u,u,u,u,u,u,u,u,u,u,u]7151; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm6[2,7,12,u,u,u,u,u,u,u,u,u,u]7152; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm15[3,8,13],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]7153; AVX512DQ-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm27154; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]7155; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]7156; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm1 = ymm0 ^ (ymm16 & (ymm1 ^ ymm0))7157; AVX512DQ-FCP-NEXT:    vmovdqa %ymm5, %ymm07158; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm0 = ymm22 ^ (ymm0 & (ymm23 ^ ymm22))7159; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm2 = ymm0[2,3,0,1]7160; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm2 = ymm2 ^ (mem & (ymm2 ^ ymm0))7161; AVX512DQ-FCP-NEXT:    vmovdqa {{.*#+}} ymm0 = [128,128,128,128,128,128,128,128,128,128,128,128,128,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]7162; AVX512DQ-FCP-NEXT:    vpshufb %ymm0, %ymm2, %ymm27163; AVX512DQ-FCP-NEXT:    vmovdqa %ymm4, %ymm37164; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm24 ^ (ymm3 & (ymm25 ^ ymm24))7165; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11],zero,zero,zero,zero,xmm3[u,u,u]7166; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm3, %xmm37167; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15,u,u,u]7168; AVX512DQ-FCP-NEXT:    vpor %xmm7, %xmm3, %xmm37169; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = (ymm3 & mem) | ymm27170; AVX512DQ-FCP-NEXT:    vpshufb %xmm0, %xmm12, %xmm07171; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm13[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero7172; AVX512DQ-FCP-NEXT:    vpor %xmm0, %xmm2, %xmm07173; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm0, %ymm0, %ymm07174; AVX512DQ-FCP-NEXT:    vpmovsxwq {{.*#+}} zmm2 = [0,0,0,18446744073709551360,18446744073709551615,18446744073709551615,18446744073709551615,18446744073709551615]7175; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm0 = zmm3 ^ (zmm2 & (zmm0 ^ zmm3))7176; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm07177; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm11 = ymm14 ^ (ymm4 & (ymm11 ^ ymm14))7178; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = xmm11[u,u,u,3,8,13],zero,zero,zero,xmm11[1,6,11],zero,zero,zero,zero7179; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm37180; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15]7181; AVX512DQ-FCP-NEXT:    vpor %xmm1, %xmm3, %xmm17182; AVX512DQ-FCP-NEXT:    vinserti128 $1, %xmm1, %ymm0, %ymm17183; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm26 ^ (ymm10 & (ymm8 ^ ymm26))7184; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm10 = ymm9 ^ (mem & (ymm10 ^ ymm9))7185; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm3 = ymm10[u,u,u,u,u,u,2,7,12,1,6,11,0,5,10,15,20,25,30,u,u,u,u,u,u,u,u,u,u,u,u,u]7186; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,xmm6[3,8,13,u,u,u,u,u,u,u,u,u,u]7187; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm7 = xmm15[4,9,14],zero,zero,zero,xmm15[u,u,u,u,u,u,u,u,u,u]7188; AVX512DQ-FCP-NEXT:    vpor %xmm6, %xmm7, %xmm67189; AVX512DQ-FCP-NEXT:    vpblendw {{.*#+}} xmm6 = xmm6[0,1,2],xmm3[3,4,5,6,7]7190; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm3 = ymm6[0,1,2,3],ymm3[4,5,6,7]7191; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm3 = ymm1 ^ (ymm16 & (ymm3 ^ ymm1))7192; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm24 ^ (ymm5 & (ymm25 ^ ymm24))7193; AVX512DQ-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm17194; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm1 = zero,zero,zero,xmm1[3,8,13],zero,zero,zero,xmm1[1,6,11,u,u,u,u]7195; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[4,9,14],zero,zero,zero,xmm5[2,7,12],zero,zero,zero,xmm5[u,u,u,u]7196; AVX512DQ-FCP-NEXT:    vpor %xmm1, %xmm5, %xmm17197; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm4 = ymm23 ^ (ymm4 & (ymm22 ^ ymm23))7198; AVX512DQ-FCP-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]7199; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} ymm5 = ymm5 ^ (mem & (ymm5 ^ ymm4))7200; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = ymm5[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]7201; AVX512DQ-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm1[0,1,2],ymm4[3,4,5,6,7]7202; AVX512DQ-FCP-NEXT:    vmovdqa 128(%rdi), %ymm47203; AVX512DQ-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = ymm4[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]7204; AVX512DQ-FCP-NEXT:    vpermd %ymm4, %ymm17, %ymm47205; AVX512DQ-FCP-NEXT:    vpternlogq {{.*#+}} zmm4 = zmm1 ^ (zmm2 & (zmm4 ^ zmm1))7206; AVX512DQ-FCP-NEXT:    vinserti64x4 $1, %ymm3, %zmm4, %zmm17207; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm19, (%rsi)7208; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm18, (%rdx)7209; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm20, (%rcx)7210; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm0, (%r8)7211; AVX512DQ-FCP-NEXT:    vmovdqa64 %zmm1, (%r9)7212; AVX512DQ-FCP-NEXT:    vzeroupper7213; AVX512DQ-FCP-NEXT:    retq7214;7215; AVX512BW-LABEL: load_i8_stride5_vf64:7216; AVX512BW:       # %bb.0:7217; AVX512BW-NEXT:    vmovdqa (%rdi), %ymm37218; AVX512BW-NEXT:    vmovdqa 32(%rdi), %ymm27219; AVX512BW-NEXT:    vmovdqa 64(%rdi), %ymm07220; AVX512BW-NEXT:    vmovdqa 96(%rdi), %ymm17221; AVX512BW-NEXT:    movw $21140, %ax # imm = 0x52947222; AVX512BW-NEXT:    kmovd %eax, %k27223; AVX512BW-NEXT:    vpblendmw %ymm1, %ymm0, %ymm4 {%k2}7224; AVX512BW-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]7225; AVX512BW-NEXT:    movl $1108344832, %eax # imm = 0x421000007226; AVX512BW-NEXT:    kmovd %eax, %k17227; AVX512BW-NEXT:    vmovdqu8 %ymm5, %ymm4 {%k1}7228; AVX512BW-NEXT:    movw $19026, %ax # imm = 0x4A527229; AVX512BW-NEXT:    kmovd %eax, %k17230; AVX512BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm5 {%k1}7231; AVX512BW-NEXT:    vextracti128 $1, %ymm5, %xmm67232; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]7233; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]7234; AVX512BW-NEXT:    vpor %xmm6, %xmm5, %xmm97235; AVX512BW-NEXT:    movl $67100672, %eax # imm = 0x3FFE0007236; AVX512BW-NEXT:    kmovd %eax, %k57237; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm9 {%k5} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]7238; AVX512BW-NEXT:    vmovdqa 192(%rdi), %ymm67239; AVX512BW-NEXT:    vmovdqa 224(%rdi), %ymm57240; AVX512BW-NEXT:    vpblendmw %ymm6, %ymm5, %ymm4 {%k1}7241; AVX512BW-NEXT:    vpermq {{.*#+}} ymm7 = ymm4[2,3,0,1]7242; AVX512BW-NEXT:    movl $4228, %eax # imm = 0x10847243; AVX512BW-NEXT:    kmovd %eax, %k37244; AVX512BW-NEXT:    vmovdqu8 %ymm7, %ymm4 {%k3}7245; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm7 = ymm4[u,u,u,u,u,u,u,3,8,13,2,7,12,1,6,11,16,21,26,31,u,u,u,u,u,u,u,u,u,u,u,u]7246; AVX512BW-NEXT:    vmovdqa 160(%rdi), %ymm47247; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm8 = ymm4[0,5,10,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,20,25,30,u,u,u,u,u,u,u,u,u]7248; AVX512BW-NEXT:    vpbroadcastq {{.*#+}} ymm19 = [0,5,0,5,0,5,0,5]7249; AVX512BW-NEXT:    vpermd %ymm8, %ymm19, %ymm87250; AVX512BW-NEXT:    movl $127, %eax7251; AVX512BW-NEXT:    kmovd %eax, %k47252; AVX512BW-NEXT:    vmovdqu8 %ymm8, %ymm7 {%k4}7253; AVX512BW-NEXT:    vmovdqa 144(%rdi), %xmm117254; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[1,6,11]7255; AVX512BW-NEXT:    vmovdqa 128(%rdi), %xmm127256; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm12[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero7257; AVX512BW-NEXT:    vpor %xmm8, %xmm10, %xmm87258; AVX512BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87259; AVX512BW-NEXT:    vinserti64x4 $1, %ymm7, %zmm8, %zmm77260; AVX512BW-NEXT:    vmovdqu16 %zmm7, %zmm9 {%k5}7261; AVX512BW-NEXT:    vextracti64x4 $1, %zmm9, %ymm107262; AVX512BW-NEXT:    vmovdqa 256(%rdi), %ymm87263; AVX512BW-NEXT:    vmovdqa 288(%rdi), %ymm77264; AVX512BW-NEXT:    vpblendmw %ymm8, %ymm7, %ymm13 {%k2}7265; AVX512BW-NEXT:    vextracti128 $1, %ymm13, %xmm147266; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u],zero,zero,zero,xmm14[3,8,13],zero,zero,zero,xmm14[1,6,11]7267; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u,u,4,9,14],zero,zero,zero,xmm13[2,7,12],zero,zero,zero7268; AVX512BW-NEXT:    vpor %xmm14, %xmm13, %xmm137269; AVX512BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm137270; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4],ymm13[5,6,7]7271; AVX512BW-NEXT:    vinserti64x4 $1, %ymm10, %zmm9, %zmm207272; AVX512BW-NEXT:    movw $10570, %ax # imm = 0x294A7273; AVX512BW-NEXT:    kmovd %eax, %k37274; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm10 {%k3}7275; AVX512BW-NEXT:    vpermq {{.*#+}} ymm13 = ymm10[2,3,0,1]7276; AVX512BW-NEXT:    movl $-2078212096, %eax # imm = 0x842100007277; AVX512BW-NEXT:    kmovd %eax, %k67278; AVX512BW-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k6}7279; AVX512BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm13 {%k2}7280; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[1,6,11],zero,zero,zero,zero,xmm13[4,9,14],zero,zero,zero,xmm13[u,u,u]7281; AVX512BW-NEXT:    vextracti128 $1, %ymm13, %xmm137282; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[0,5,10,15],zero,zero,zero,xmm13[3,8,13,u,u,u]7283; AVX512BW-NEXT:    vpor %xmm14, %xmm13, %xmm147284; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm14 {%k5} = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]7285; AVX512BW-NEXT:    vpblendmw %ymm6, %ymm5, %ymm10 {%k2}7286; AVX512BW-NEXT:    vpermq {{.*#+}} ymm13 = ymm10[2,3,0,1]7287; AVX512BW-NEXT:    movl $8456, %eax # imm = 0x21087288; AVX512BW-NEXT:    kmovd %eax, %k67289; AVX512BW-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k6}7290; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm15 = ymm10[u,u,u,u,u,u,u,4,9,14,3,8,13,2,7,12,17,22,27,u,u,u,u,u,u,u,u,u,u,u,u,u]7291; AVX512BW-NEXT:    vmovdqa 160(%rdi), %xmm107292; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u]7293; AVX512BW-NEXT:    vmovdqa 176(%rdi), %xmm137294; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[0,5,10,15,u,u,u,u,u,u,u,u,u]7295; AVX512BW-NEXT:    vporq %xmm16, %xmm17, %xmm167296; AVX512BW-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k4}7297; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[2,7,12]7298; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm17 = xmm12[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero7299; AVX512BW-NEXT:    vporq %xmm16, %xmm17, %xmm167300; AVX512BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm167301; AVX512BW-NEXT:    vinserti64x4 $1, %ymm15, %zmm16, %zmm157302; AVX512BW-NEXT:    vmovdqu16 %zmm15, %zmm14 {%k5}7303; AVX512BW-NEXT:    vextracti64x4 $1, %zmm14, %ymm157304; AVX512BW-NEXT:    vpblendmw %ymm7, %ymm8, %ymm16 {%k1}7305; AVX512BW-NEXT:    vextracti32x4 $1, %ymm16, %xmm177306; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u,u],zero,zero,zero,zero,xmm17[4,9,14],zero,zero,zero,xmm17[2,7,12]7307; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[u,u,u,0,5,10,15],zero,zero,zero,xmm16[3,8,13],zero,zero,zero7308; AVX512BW-NEXT:    vporq %xmm17, %xmm16, %xmm167309; AVX512BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm167310; AVX512BW-NEXT:    movl $-524288, %eax # imm = 0xFFF800007311; AVX512BW-NEXT:    kmovd %eax, %k47312; AVX512BW-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k4}7313; AVX512BW-NEXT:    vinserti64x4 $1, %ymm15, %zmm14, %zmm147314; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm15 {%k1}7315; AVX512BW-NEXT:    vpermq {{.*#+}} ymm16 = ymm15[2,3,0,1]7316; AVX512BW-NEXT:    movl $138543104, %eax # imm = 0x84200007317; AVX512BW-NEXT:    kmovd %eax, %k67318; AVX512BW-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k6}7319; AVX512BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm16 {%k3}7320; AVX512BW-NEXT:    vextracti32x4 $1, %ymm16, %xmm177321; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm17[1,6,11],zero,zero,zero,zero,xmm17[4,9,14,u,u,u]7322; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[2,7,12],zero,zero,zero,xmm16[0,5,10,15],zero,zero,zero,xmm16[u,u,u]7323; AVX512BW-NEXT:    vporq %xmm17, %xmm16, %xmm167324; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm16 {%k5} = ymm15[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]7325; AVX512BW-NEXT:    vpblendmw %ymm5, %ymm6, %ymm15 {%k1}7326; AVX512BW-NEXT:    vpermq {{.*#+}} ymm17 = ymm15[2,3,0,1]7327; AVX512BW-NEXT:    movl $16912, %eax # imm = 0x42107328; AVX512BW-NEXT:    kmovd %eax, %k67329; AVX512BW-NEXT:    vmovdqu8 %ymm17, %ymm15 {%k6}7330; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm15 = ymm15[u,u,u,u,u,u,0,5,10,15,4,9,14,3,8,13,18,23,28,u,u,u,u,u,u,u,u,u,u,u,u,u]7331; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[1,6,11,u,u,u,u,u,u,u,u,u,u]7332; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm18 = xmm10[2,7,12],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]7333; AVX512BW-NEXT:    vporq %xmm17, %xmm18, %xmm47334; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm4 = xmm4[0,1,2],xmm15[3,4,5,6,7]7335; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]7336; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[3,8,13]7337; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm17 = xmm12[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero7338; AVX512BW-NEXT:    vporq %xmm15, %xmm17, %xmm157339; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157340; AVX512BW-NEXT:    vinserti64x4 $1, %ymm4, %zmm15, %zmm47341; AVX512BW-NEXT:    vmovdqu16 %zmm4, %zmm16 {%k5}7342; AVX512BW-NEXT:    vextracti64x4 $1, %zmm16, %ymm47343; AVX512BW-NEXT:    vpblendmw %ymm7, %ymm8, %ymm15 {%k2}7344; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm17 = xmm15[u,u,u,1,6,11],zero,zero,zero,zero,xmm15[4,9,14],zero,zero,zero7345; AVX512BW-NEXT:    vextracti128 $1, %ymm15, %xmm157346; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u,u],zero,zero,zero,xmm15[0,5,10,15],zero,zero,zero,xmm15[3,8,13]7347; AVX512BW-NEXT:    vporq %xmm17, %xmm15, %xmm157348; AVX512BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157349; AVX512BW-NEXT:    vmovdqu8 %ymm15, %ymm4 {%k4}7350; AVX512BW-NEXT:    vinserti64x4 $1, %ymm4, %zmm16, %zmm157351; AVX512BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm4 {%k2}7352; AVX512BW-NEXT:    vpermq {{.*#+}} ymm16 = ymm4[2,3,0,1]7353; AVX512BW-NEXT:    movl $277086208, %eax # imm = 0x108400007354; AVX512BW-NEXT:    kmovd %eax, %k57355; AVX512BW-NEXT:    vmovdqu8 %ymm16, %ymm4 {%k5}7356; AVX512BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm16 {%k1}7357; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm17 = xmm16[3,8,13],zero,zero,zero,xmm16[1,6,11],zero,zero,zero,zero,xmm16[u,u,u]7358; AVX512BW-NEXT:    vextracti32x4 $1, %ymm16, %xmm167359; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm16 = zero,zero,zero,xmm16[2,7,12],zero,zero,zero,xmm16[0,5,10,15,u,u,u]7360; AVX512BW-NEXT:    vporq %xmm17, %xmm16, %xmm167361; AVX512BW-NEXT:    movl $33546240, %eax # imm = 0x1FFE0007362; AVX512BW-NEXT:    kmovd %eax, %k57363; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm16 {%k5} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]7364; AVX512BW-NEXT:    vpblendmw %ymm5, %ymm6, %ymm4 {%k2}7365; AVX512BW-NEXT:    vpermq {{.*#+}} ymm17 = ymm4[2,3,0,1]7366; AVX512BW-NEXT:    movl $33825, %eax # imm = 0x84217367; AVX512BW-NEXT:    kmovd %eax, %k57368; AVX512BW-NEXT:    vmovdqu8 %ymm17, %ymm4 {%k5}7369; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm4 = ymm4[u,u,u,u,u,u,1,6,11,0,5,10,15,4,9,14,19,24,29,u,u,u,u,u,u,u,u,u,u,u,u,u]7370; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[2,7,12,u,u,u,u,u,u,u,u,u,u]7371; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm18 = xmm10[3,8,13],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]7372; AVX512BW-NEXT:    vporq %xmm17, %xmm18, %xmm97373; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm9 = xmm9[0,1,2],xmm4[3,4,5,6,7]7374; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm9[0,1,2,3],ymm4[4,5,6,7]7375; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm11[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm11[4,9,14]7376; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm12[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero7377; AVX512BW-NEXT:    vpor %xmm9, %xmm11, %xmm97378; AVX512BW-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm97379; AVX512BW-NEXT:    vinserti64x4 $1, %ymm4, %zmm9, %zmm47380; AVX512BW-NEXT:    movl $33554431, %eax # imm = 0x1FFFFFF7381; AVX512BW-NEXT:    kmovq %rax, %k57382; AVX512BW-NEXT:    vmovdqu8 %zmm16, %zmm4 {%k5}7383; AVX512BW-NEXT:    vextracti64x4 $1, %zmm4, %ymm97384; AVX512BW-NEXT:    vpblendmw %ymm8, %ymm7, %ymm11 {%k3}7385; AVX512BW-NEXT:    vextracti128 $1, %ymm11, %xmm127386; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u],zero,zero,zero,xmm12[1,6,11],zero,zero,zero,zero,xmm12[4,9,14]7387; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,2,7,12],zero,zero,zero,xmm11[0,5,10,15],zero,zero,zero7388; AVX512BW-NEXT:    vpor %xmm12, %xmm11, %xmm117389; AVX512BW-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm117390; AVX512BW-NEXT:    vmovdqu8 %ymm11, %ymm9 {%k4}7391; AVX512BW-NEXT:    vinserti64x4 $1, %ymm9, %zmm4, %zmm47392; AVX512BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k2}7393; AVX512BW-NEXT:    vextracti128 $1, %ymm2, %xmm37394; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]7395; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]7396; AVX512BW-NEXT:    vpor %xmm3, %xmm2, %xmm27397; AVX512BW-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k1}7398; AVX512BW-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]7399; AVX512BW-NEXT:    movl $554172416, %eax # imm = 0x210800007400; AVX512BW-NEXT:    kmovd %eax, %k27401; AVX512BW-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k2}7402; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]7403; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]7404; AVX512BW-NEXT:    vmovdqu16 %ymm6, %ymm5 {%k3}7405; AVX512BW-NEXT:    vpermq {{.*#+}} ymm1 = ymm5[2,3,0,1]7406; AVX512BW-NEXT:    movl $2114, %eax # imm = 0x8427407; AVX512BW-NEXT:    kmovd %eax, %k27408; AVX512BW-NEXT:    vmovdqu8 %ymm1, %ymm5 {%k2}7409; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm1 = ymm5[u,u,u,u,u,u,2,7,12,1,6,11,0,5,10,15,20,25,30,u,u,u,u,u,u,u,u,u,u,u,u,u]7410; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm13[3,8,13,u,u,u,u,u,u,u,u,u,u]7411; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm10[4,9,14],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]7412; AVX512BW-NEXT:    vpor %xmm2, %xmm3, %xmm27413; AVX512BW-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]7414; AVX512BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]7415; AVX512BW-NEXT:    vmovdqa 128(%rdi), %ymm27416; AVX512BW-NEXT:    vpshufb {{.*#+}} ymm2 = ymm2[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]7417; AVX512BW-NEXT:    vpermd %ymm2, %ymm19, %ymm27418; AVX512BW-NEXT:    vinserti64x4 $1, %ymm1, %zmm2, %zmm17419; AVX512BW-NEXT:    vmovdqu8 %zmm0, %zmm1 {%k5}7420; AVX512BW-NEXT:    vextracti64x4 $1, %zmm1, %ymm07421; AVX512BW-NEXT:    vmovdqu16 %ymm8, %ymm7 {%k1}7422; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm7[u,u,u,3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero7423; AVX512BW-NEXT:    vextracti128 $1, %ymm7, %xmm37424; AVX512BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15]7425; AVX512BW-NEXT:    vpor %xmm2, %xmm3, %xmm27426; AVX512BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm27427; AVX512BW-NEXT:    vmovdqu8 %ymm2, %ymm0 {%k4}7428; AVX512BW-NEXT:    vinserti64x4 $1, %ymm0, %zmm1, %zmm07429; AVX512BW-NEXT:    vmovdqa64 %zmm20, (%rsi)7430; AVX512BW-NEXT:    vmovdqa64 %zmm14, (%rdx)7431; AVX512BW-NEXT:    vmovdqa64 %zmm15, (%rcx)7432; AVX512BW-NEXT:    vmovdqa64 %zmm4, (%r8)7433; AVX512BW-NEXT:    vmovdqa64 %zmm0, (%r9)7434; AVX512BW-NEXT:    vzeroupper7435; AVX512BW-NEXT:    retq7436;7437; AVX512BW-FCP-LABEL: load_i8_stride5_vf64:7438; AVX512BW-FCP:       # %bb.0:7439; AVX512BW-FCP-NEXT:    vmovdqa (%rdi), %ymm37440; AVX512BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm27441; AVX512BW-FCP-NEXT:    vmovdqa 64(%rdi), %ymm07442; AVX512BW-FCP-NEXT:    vmovdqa 96(%rdi), %ymm17443; AVX512BW-FCP-NEXT:    movw $21140, %ax # imm = 0x52947444; AVX512BW-FCP-NEXT:    kmovd %eax, %k27445; AVX512BW-FCP-NEXT:    vpblendmw %ymm1, %ymm0, %ymm4 {%k2}7446; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]7447; AVX512BW-FCP-NEXT:    movl $1108344832, %eax # imm = 0x421000007448; AVX512BW-FCP-NEXT:    kmovd %eax, %k17449; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm5, %ymm4 {%k1}7450; AVX512BW-FCP-NEXT:    movw $19026, %ax # imm = 0x4A527451; AVX512BW-FCP-NEXT:    kmovd %eax, %k17452; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm5 {%k1}7453; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm67454; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]7455; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]7456; AVX512BW-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm97457; AVX512BW-FCP-NEXT:    movl $67100672, %eax # imm = 0x3FFE0007458; AVX512BW-FCP-NEXT:    kmovd %eax, %k57459; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm9 {%k5} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]7460; AVX512BW-FCP-NEXT:    vmovdqa 192(%rdi), %ymm67461; AVX512BW-FCP-NEXT:    vmovdqa 224(%rdi), %ymm57462; AVX512BW-FCP-NEXT:    vpblendmw %ymm6, %ymm5, %ymm4 {%k1}7463; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm7 = ymm4[2,3,0,1]7464; AVX512BW-FCP-NEXT:    movl $4228, %eax # imm = 0x10847465; AVX512BW-FCP-NEXT:    kmovd %eax, %k37466; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm7, %ymm4 {%k3}7467; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm7 = ymm4[u,u,u,u,u,u,u,3,8,13,2,7,12,1,6,11,16,21,26,31,u,u,u,u,u,u,u,u,u,u,u,u]7468; AVX512BW-FCP-NEXT:    vmovdqa 160(%rdi), %ymm47469; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = ymm4[0,5,10,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,20,25,30,u,u,u,u,u,u,u,u,u]7470; AVX512BW-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm19 = [0,5,0,5,0,5,0,5]7471; AVX512BW-FCP-NEXT:    vpermd %ymm8, %ymm19, %ymm87472; AVX512BW-FCP-NEXT:    movl $127, %eax7473; AVX512BW-FCP-NEXT:    kmovd %eax, %k47474; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm8, %ymm7 {%k4}7475; AVX512BW-FCP-NEXT:    vmovdqa 144(%rdi), %xmm117476; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[1,6,11]7477; AVX512BW-FCP-NEXT:    vmovdqa 128(%rdi), %xmm127478; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm12[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero7479; AVX512BW-FCP-NEXT:    vpor %xmm8, %xmm10, %xmm87480; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87481; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm8, %zmm77482; AVX512BW-FCP-NEXT:    vmovdqu16 %zmm7, %zmm9 {%k5}7483; AVX512BW-FCP-NEXT:    vextracti64x4 $1, %zmm9, %ymm107484; AVX512BW-FCP-NEXT:    vmovdqa 256(%rdi), %ymm87485; AVX512BW-FCP-NEXT:    vmovdqa 288(%rdi), %ymm77486; AVX512BW-FCP-NEXT:    vpblendmw %ymm8, %ymm7, %ymm13 {%k2}7487; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm147488; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u],zero,zero,zero,xmm14[3,8,13],zero,zero,zero,xmm14[1,6,11]7489; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u,u,4,9,14],zero,zero,zero,xmm13[2,7,12],zero,zero,zero7490; AVX512BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm137491; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm137492; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4],ymm13[5,6,7]7493; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm10, %zmm9, %zmm207494; AVX512BW-FCP-NEXT:    movw $10570, %ax # imm = 0x294A7495; AVX512BW-FCP-NEXT:    kmovd %eax, %k37496; AVX512BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm10 {%k3}7497; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm10[2,3,0,1]7498; AVX512BW-FCP-NEXT:    movl $-2078212096, %eax # imm = 0x842100007499; AVX512BW-FCP-NEXT:    kmovd %eax, %k67500; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k6}7501; AVX512BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm13 {%k2}7502; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[1,6,11],zero,zero,zero,zero,xmm13[4,9,14],zero,zero,zero,xmm13[u,u,u]7503; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm137504; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[0,5,10,15],zero,zero,zero,xmm13[3,8,13,u,u,u]7505; AVX512BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm147506; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 {%k5} = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]7507; AVX512BW-FCP-NEXT:    vpblendmw %ymm6, %ymm5, %ymm10 {%k2}7508; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm10[2,3,0,1]7509; AVX512BW-FCP-NEXT:    movl $8456, %eax # imm = 0x21087510; AVX512BW-FCP-NEXT:    kmovd %eax, %k67511; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k6}7512; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm10[u,u,u,u,u,u,u,4,9,14,3,8,13,2,7,12,17,22,27,u,u,u,u,u,u,u,u,u,u,u,u,u]7513; AVX512BW-FCP-NEXT:    vmovdqa 160(%rdi), %xmm107514; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u]7515; AVX512BW-FCP-NEXT:    vmovdqa 176(%rdi), %xmm137516; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[0,5,10,15,u,u,u,u,u,u,u,u,u]7517; AVX512BW-FCP-NEXT:    vporq %xmm16, %xmm17, %xmm167518; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k4}7519; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[2,7,12]7520; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm12[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero7521; AVX512BW-FCP-NEXT:    vporq %xmm16, %xmm17, %xmm167522; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm167523; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm15, %zmm16, %zmm157524; AVX512BW-FCP-NEXT:    vmovdqu16 %zmm15, %zmm14 {%k5}7525; AVX512BW-FCP-NEXT:    vextracti64x4 $1, %zmm14, %ymm157526; AVX512BW-FCP-NEXT:    vpblendmw %ymm7, %ymm8, %ymm16 {%k1}7527; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm177528; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u,u],zero,zero,zero,zero,xmm17[4,9,14],zero,zero,zero,xmm17[2,7,12]7529; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[u,u,u,0,5,10,15],zero,zero,zero,xmm16[3,8,13],zero,zero,zero7530; AVX512BW-FCP-NEXT:    vporq %xmm17, %xmm16, %xmm167531; AVX512BW-FCP-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm167532; AVX512BW-FCP-NEXT:    movl $-524288, %eax # imm = 0xFFF800007533; AVX512BW-FCP-NEXT:    kmovd %eax, %k47534; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k4}7535; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm15, %zmm14, %zmm147536; AVX512BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm15 {%k1}7537; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm16 = ymm15[2,3,0,1]7538; AVX512BW-FCP-NEXT:    movl $138543104, %eax # imm = 0x84200007539; AVX512BW-FCP-NEXT:    kmovd %eax, %k67540; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k6}7541; AVX512BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm16 {%k3}7542; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm177543; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm17[1,6,11],zero,zero,zero,zero,xmm17[4,9,14,u,u,u]7544; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[2,7,12],zero,zero,zero,xmm16[0,5,10,15],zero,zero,zero,xmm16[u,u,u]7545; AVX512BW-FCP-NEXT:    vporq %xmm17, %xmm16, %xmm167546; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm16 {%k5} = ymm15[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]7547; AVX512BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm15 {%k1}7548; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm17 = ymm15[2,3,0,1]7549; AVX512BW-FCP-NEXT:    movl $16912, %eax # imm = 0x42107550; AVX512BW-FCP-NEXT:    kmovd %eax, %k67551; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm17, %ymm15 {%k6}7552; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm15[u,u,u,u,u,u,0,5,10,15,4,9,14,3,8,13,18,23,28,u,u,u,u,u,u,u,u,u,u,u,u,u]7553; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[1,6,11,u,u,u,u,u,u,u,u,u,u]7554; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm10[2,7,12],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]7555; AVX512BW-FCP-NEXT:    vporq %xmm17, %xmm18, %xmm47556; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm4[0,1,2],xmm15[3,4,5,6,7]7557; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]7558; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[3,8,13]7559; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm12[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero7560; AVX512BW-FCP-NEXT:    vporq %xmm15, %xmm17, %xmm157561; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157562; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm4, %zmm15, %zmm47563; AVX512BW-FCP-NEXT:    vmovdqu16 %zmm4, %zmm16 {%k5}7564; AVX512BW-FCP-NEXT:    vextracti64x4 $1, %zmm16, %ymm47565; AVX512BW-FCP-NEXT:    vpblendmw %ymm7, %ymm8, %ymm15 {%k2}7566; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm15[u,u,u,1,6,11],zero,zero,zero,zero,xmm15[4,9,14],zero,zero,zero7567; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm15, %xmm157568; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u,u],zero,zero,zero,xmm15[0,5,10,15],zero,zero,zero,xmm15[3,8,13]7569; AVX512BW-FCP-NEXT:    vporq %xmm17, %xmm15, %xmm157570; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157571; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm15, %ymm4 {%k4}7572; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm4, %zmm16, %zmm157573; AVX512BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm4 {%k2}7574; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm16 = ymm4[2,3,0,1]7575; AVX512BW-FCP-NEXT:    movl $277086208, %eax # imm = 0x108400007576; AVX512BW-FCP-NEXT:    kmovd %eax, %k57577; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm16, %ymm4 {%k5}7578; AVX512BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm16 {%k1}7579; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm16[3,8,13],zero,zero,zero,xmm16[1,6,11],zero,zero,zero,zero,xmm16[u,u,u]7580; AVX512BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm167581; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = zero,zero,zero,xmm16[2,7,12],zero,zero,zero,xmm16[0,5,10,15,u,u,u]7582; AVX512BW-FCP-NEXT:    vporq %xmm17, %xmm16, %xmm167583; AVX512BW-FCP-NEXT:    movl $33546240, %eax # imm = 0x1FFE0007584; AVX512BW-FCP-NEXT:    kmovd %eax, %k57585; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm16 {%k5} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]7586; AVX512BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm4 {%k2}7587; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm17 = ymm4[2,3,0,1]7588; AVX512BW-FCP-NEXT:    movl $33825, %eax # imm = 0x84217589; AVX512BW-FCP-NEXT:    kmovd %eax, %k57590; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm17, %ymm4 {%k5}7591; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = ymm4[u,u,u,u,u,u,1,6,11,0,5,10,15,4,9,14,19,24,29,u,u,u,u,u,u,u,u,u,u,u,u,u]7592; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[2,7,12,u,u,u,u,u,u,u,u,u,u]7593; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm10[3,8,13],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]7594; AVX512BW-FCP-NEXT:    vporq %xmm17, %xmm18, %xmm97595; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm9 = xmm9[0,1,2],xmm4[3,4,5,6,7]7596; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm9[0,1,2,3],ymm4[4,5,6,7]7597; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm11[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm11[4,9,14]7598; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm12[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero7599; AVX512BW-FCP-NEXT:    vpor %xmm9, %xmm11, %xmm97600; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm97601; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm4, %zmm9, %zmm47602; AVX512BW-FCP-NEXT:    movl $33554431, %eax # imm = 0x1FFFFFF7603; AVX512BW-FCP-NEXT:    kmovq %rax, %k57604; AVX512BW-FCP-NEXT:    vmovdqu8 %zmm16, %zmm4 {%k5}7605; AVX512BW-FCP-NEXT:    vextracti64x4 $1, %zmm4, %ymm97606; AVX512BW-FCP-NEXT:    vpblendmw %ymm8, %ymm7, %ymm11 {%k3}7607; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm127608; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u],zero,zero,zero,xmm12[1,6,11],zero,zero,zero,zero,xmm12[4,9,14]7609; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,2,7,12],zero,zero,zero,xmm11[0,5,10,15],zero,zero,zero7610; AVX512BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm117611; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm117612; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm11, %ymm9 {%k4}7613; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm9, %zmm4, %zmm47614; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k2}7615; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm37616; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]7617; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]7618; AVX512BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm27619; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k1}7620; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]7621; AVX512BW-FCP-NEXT:    movl $554172416, %eax # imm = 0x210800007622; AVX512BW-FCP-NEXT:    kmovd %eax, %k27623; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k2}7624; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]7625; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]7626; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm6, %ymm5 {%k3}7627; AVX512BW-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm5[2,3,0,1]7628; AVX512BW-FCP-NEXT:    movl $2114, %eax # imm = 0x8427629; AVX512BW-FCP-NEXT:    kmovd %eax, %k27630; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm1, %ymm5 {%k2}7631; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm5[u,u,u,u,u,u,2,7,12,1,6,11,0,5,10,15,20,25,30,u,u,u,u,u,u,u,u,u,u,u,u,u]7632; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm13[3,8,13,u,u,u,u,u,u,u,u,u,u]7633; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm10[4,9,14],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]7634; AVX512BW-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm27635; AVX512BW-FCP-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]7636; AVX512BW-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]7637; AVX512BW-FCP-NEXT:    vmovdqa 128(%rdi), %ymm27638; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} ymm2 = ymm2[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]7639; AVX512BW-FCP-NEXT:    vpermd %ymm2, %ymm19, %ymm27640; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm2, %zmm17641; AVX512BW-FCP-NEXT:    vmovdqu8 %zmm0, %zmm1 {%k5}7642; AVX512BW-FCP-NEXT:    vextracti64x4 $1, %zmm1, %ymm07643; AVX512BW-FCP-NEXT:    vmovdqu16 %ymm8, %ymm7 {%k1}7644; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm7[u,u,u,3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero7645; AVX512BW-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm37646; AVX512BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15]7647; AVX512BW-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm27648; AVX512BW-FCP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm27649; AVX512BW-FCP-NEXT:    vmovdqu8 %ymm2, %ymm0 {%k4}7650; AVX512BW-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm1, %zmm07651; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm20, (%rsi)7652; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm14, (%rdx)7653; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm15, (%rcx)7654; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm4, (%r8)7655; AVX512BW-FCP-NEXT:    vmovdqa64 %zmm0, (%r9)7656; AVX512BW-FCP-NEXT:    vzeroupper7657; AVX512BW-FCP-NEXT:    retq7658;7659; AVX512DQ-BW-LABEL: load_i8_stride5_vf64:7660; AVX512DQ-BW:       # %bb.0:7661; AVX512DQ-BW-NEXT:    vmovdqa (%rdi), %ymm37662; AVX512DQ-BW-NEXT:    vmovdqa 32(%rdi), %ymm27663; AVX512DQ-BW-NEXT:    vmovdqa 64(%rdi), %ymm07664; AVX512DQ-BW-NEXT:    vmovdqa 96(%rdi), %ymm17665; AVX512DQ-BW-NEXT:    movw $21140, %ax # imm = 0x52947666; AVX512DQ-BW-NEXT:    kmovd %eax, %k27667; AVX512DQ-BW-NEXT:    vpblendmw %ymm1, %ymm0, %ymm4 {%k2}7668; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]7669; AVX512DQ-BW-NEXT:    movl $1108344832, %eax # imm = 0x421000007670; AVX512DQ-BW-NEXT:    kmovd %eax, %k17671; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm5, %ymm4 {%k1}7672; AVX512DQ-BW-NEXT:    movw $19026, %ax # imm = 0x4A527673; AVX512DQ-BW-NEXT:    kmovd %eax, %k17674; AVX512DQ-BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm5 {%k1}7675; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm5, %xmm67676; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]7677; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]7678; AVX512DQ-BW-NEXT:    vpor %xmm6, %xmm5, %xmm97679; AVX512DQ-BW-NEXT:    movl $67100672, %eax # imm = 0x3FFE0007680; AVX512DQ-BW-NEXT:    kmovd %eax, %k57681; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm9 {%k5} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]7682; AVX512DQ-BW-NEXT:    vmovdqa 192(%rdi), %ymm67683; AVX512DQ-BW-NEXT:    vmovdqa 224(%rdi), %ymm57684; AVX512DQ-BW-NEXT:    vpblendmw %ymm6, %ymm5, %ymm4 {%k1}7685; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm7 = ymm4[2,3,0,1]7686; AVX512DQ-BW-NEXT:    movl $4228, %eax # imm = 0x10847687; AVX512DQ-BW-NEXT:    kmovd %eax, %k37688; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm7, %ymm4 {%k3}7689; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm7 = ymm4[u,u,u,u,u,u,u,3,8,13,2,7,12,1,6,11,16,21,26,31,u,u,u,u,u,u,u,u,u,u,u,u]7690; AVX512DQ-BW-NEXT:    vmovdqa 160(%rdi), %ymm47691; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm8 = ymm4[0,5,10,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,20,25,30,u,u,u,u,u,u,u,u,u]7692; AVX512DQ-BW-NEXT:    vpbroadcastq {{.*#+}} ymm19 = [0,5,0,5,0,5,0,5]7693; AVX512DQ-BW-NEXT:    vpermd %ymm8, %ymm19, %ymm87694; AVX512DQ-BW-NEXT:    movl $127, %eax7695; AVX512DQ-BW-NEXT:    kmovd %eax, %k47696; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm8, %ymm7 {%k4}7697; AVX512DQ-BW-NEXT:    vmovdqa 144(%rdi), %xmm117698; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm8 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[1,6,11]7699; AVX512DQ-BW-NEXT:    vmovdqa 128(%rdi), %xmm127700; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm10 = xmm12[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero7701; AVX512DQ-BW-NEXT:    vpor %xmm8, %xmm10, %xmm87702; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87703; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm7, %zmm8, %zmm77704; AVX512DQ-BW-NEXT:    vmovdqu16 %zmm7, %zmm9 {%k5}7705; AVX512DQ-BW-NEXT:    vextracti64x4 $1, %zmm9, %ymm107706; AVX512DQ-BW-NEXT:    vmovdqa 256(%rdi), %ymm87707; AVX512DQ-BW-NEXT:    vmovdqa 288(%rdi), %ymm77708; AVX512DQ-BW-NEXT:    vpblendmw %ymm8, %ymm7, %ymm13 {%k2}7709; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm13, %xmm147710; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u],zero,zero,zero,xmm14[3,8,13],zero,zero,zero,xmm14[1,6,11]7711; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u,u,4,9,14],zero,zero,zero,xmm13[2,7,12],zero,zero,zero7712; AVX512DQ-BW-NEXT:    vpor %xmm14, %xmm13, %xmm137713; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm137714; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4],ymm13[5,6,7]7715; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm10, %zmm9, %zmm207716; AVX512DQ-BW-NEXT:    movw $10570, %ax # imm = 0x294A7717; AVX512DQ-BW-NEXT:    kmovd %eax, %k37718; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm10 {%k3}7719; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm13 = ymm10[2,3,0,1]7720; AVX512DQ-BW-NEXT:    movl $-2078212096, %eax # imm = 0x842100007721; AVX512DQ-BW-NEXT:    kmovd %eax, %k67722; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k6}7723; AVX512DQ-BW-NEXT:    vpblendmw %ymm2, %ymm3, %ymm13 {%k2}7724; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[1,6,11],zero,zero,zero,zero,xmm13[4,9,14],zero,zero,zero,xmm13[u,u,u]7725; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm13, %xmm137726; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[0,5,10,15],zero,zero,zero,xmm13[3,8,13,u,u,u]7727; AVX512DQ-BW-NEXT:    vpor %xmm14, %xmm13, %xmm147728; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm14 {%k5} = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]7729; AVX512DQ-BW-NEXT:    vpblendmw %ymm6, %ymm5, %ymm10 {%k2}7730; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm13 = ymm10[2,3,0,1]7731; AVX512DQ-BW-NEXT:    movl $8456, %eax # imm = 0x21087732; AVX512DQ-BW-NEXT:    kmovd %eax, %k67733; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k6}7734; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm15 = ymm10[u,u,u,u,u,u,u,4,9,14,3,8,13,2,7,12,17,22,27,u,u,u,u,u,u,u,u,u,u,u,u,u]7735; AVX512DQ-BW-NEXT:    vmovdqa 160(%rdi), %xmm107736; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u]7737; AVX512DQ-BW-NEXT:    vmovdqa 176(%rdi), %xmm137738; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[0,5,10,15,u,u,u,u,u,u,u,u,u]7739; AVX512DQ-BW-NEXT:    vporq %xmm16, %xmm17, %xmm167740; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k4}7741; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[2,7,12]7742; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm17 = xmm12[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero7743; AVX512DQ-BW-NEXT:    vporq %xmm16, %xmm17, %xmm167744; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm167745; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm15, %zmm16, %zmm157746; AVX512DQ-BW-NEXT:    vmovdqu16 %zmm15, %zmm14 {%k5}7747; AVX512DQ-BW-NEXT:    vextracti64x4 $1, %zmm14, %ymm157748; AVX512DQ-BW-NEXT:    vpblendmw %ymm7, %ymm8, %ymm16 {%k1}7749; AVX512DQ-BW-NEXT:    vextracti32x4 $1, %ymm16, %xmm177750; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u,u],zero,zero,zero,zero,xmm17[4,9,14],zero,zero,zero,xmm17[2,7,12]7751; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[u,u,u,0,5,10,15],zero,zero,zero,xmm16[3,8,13],zero,zero,zero7752; AVX512DQ-BW-NEXT:    vporq %xmm17, %xmm16, %xmm167753; AVX512DQ-BW-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm167754; AVX512DQ-BW-NEXT:    movl $-524288, %eax # imm = 0xFFF800007755; AVX512DQ-BW-NEXT:    kmovd %eax, %k47756; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k4}7757; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm15, %zmm14, %zmm147758; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm15 {%k1}7759; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm16 = ymm15[2,3,0,1]7760; AVX512DQ-BW-NEXT:    movl $138543104, %eax # imm = 0x84200007761; AVX512DQ-BW-NEXT:    kmovd %eax, %k67762; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k6}7763; AVX512DQ-BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm16 {%k3}7764; AVX512DQ-BW-NEXT:    vextracti32x4 $1, %ymm16, %xmm177765; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm17[1,6,11],zero,zero,zero,zero,xmm17[4,9,14,u,u,u]7766; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[2,7,12],zero,zero,zero,xmm16[0,5,10,15],zero,zero,zero,xmm16[u,u,u]7767; AVX512DQ-BW-NEXT:    vporq %xmm17, %xmm16, %xmm167768; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm16 {%k5} = ymm15[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]7769; AVX512DQ-BW-NEXT:    vpblendmw %ymm5, %ymm6, %ymm15 {%k1}7770; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm17 = ymm15[2,3,0,1]7771; AVX512DQ-BW-NEXT:    movl $16912, %eax # imm = 0x42107772; AVX512DQ-BW-NEXT:    kmovd %eax, %k67773; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm17, %ymm15 {%k6}7774; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm15 = ymm15[u,u,u,u,u,u,0,5,10,15,4,9,14,3,8,13,18,23,28,u,u,u,u,u,u,u,u,u,u,u,u,u]7775; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[1,6,11,u,u,u,u,u,u,u,u,u,u]7776; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm18 = xmm10[2,7,12],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]7777; AVX512DQ-BW-NEXT:    vporq %xmm17, %xmm18, %xmm47778; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm4 = xmm4[0,1,2],xmm15[3,4,5,6,7]7779; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]7780; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[3,8,13]7781; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm17 = xmm12[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero7782; AVX512DQ-BW-NEXT:    vporq %xmm15, %xmm17, %xmm157783; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157784; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm4, %zmm15, %zmm47785; AVX512DQ-BW-NEXT:    vmovdqu16 %zmm4, %zmm16 {%k5}7786; AVX512DQ-BW-NEXT:    vextracti64x4 $1, %zmm16, %ymm47787; AVX512DQ-BW-NEXT:    vpblendmw %ymm7, %ymm8, %ymm15 {%k2}7788; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm17 = xmm15[u,u,u,1,6,11],zero,zero,zero,zero,xmm15[4,9,14],zero,zero,zero7789; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm15, %xmm157790; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u,u],zero,zero,zero,xmm15[0,5,10,15],zero,zero,zero,xmm15[3,8,13]7791; AVX512DQ-BW-NEXT:    vporq %xmm17, %xmm15, %xmm157792; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm157793; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm15, %ymm4 {%k4}7794; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm4, %zmm16, %zmm157795; AVX512DQ-BW-NEXT:    vpblendmw %ymm0, %ymm1, %ymm4 {%k2}7796; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm16 = ymm4[2,3,0,1]7797; AVX512DQ-BW-NEXT:    movl $277086208, %eax # imm = 0x108400007798; AVX512DQ-BW-NEXT:    kmovd %eax, %k57799; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm16, %ymm4 {%k5}7800; AVX512DQ-BW-NEXT:    vpblendmw %ymm3, %ymm2, %ymm16 {%k1}7801; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm17 = xmm16[3,8,13],zero,zero,zero,xmm16[1,6,11],zero,zero,zero,zero,xmm16[u,u,u]7802; AVX512DQ-BW-NEXT:    vextracti32x4 $1, %ymm16, %xmm167803; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm16 = zero,zero,zero,xmm16[2,7,12],zero,zero,zero,xmm16[0,5,10,15,u,u,u]7804; AVX512DQ-BW-NEXT:    vporq %xmm17, %xmm16, %xmm167805; AVX512DQ-BW-NEXT:    movl $33546240, %eax # imm = 0x1FFE0007806; AVX512DQ-BW-NEXT:    kmovd %eax, %k57807; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm16 {%k5} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]7808; AVX512DQ-BW-NEXT:    vpblendmw %ymm5, %ymm6, %ymm4 {%k2}7809; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm17 = ymm4[2,3,0,1]7810; AVX512DQ-BW-NEXT:    movl $33825, %eax # imm = 0x84217811; AVX512DQ-BW-NEXT:    kmovd %eax, %k57812; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm17, %ymm4 {%k5}7813; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm4 = ymm4[u,u,u,u,u,u,1,6,11,0,5,10,15,4,9,14,19,24,29,u,u,u,u,u,u,u,u,u,u,u,u,u]7814; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[2,7,12,u,u,u,u,u,u,u,u,u,u]7815; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm18 = xmm10[3,8,13],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]7816; AVX512DQ-BW-NEXT:    vporq %xmm17, %xmm18, %xmm97817; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm9 = xmm9[0,1,2],xmm4[3,4,5,6,7]7818; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm4 = ymm9[0,1,2,3],ymm4[4,5,6,7]7819; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm9 = xmm11[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm11[4,9,14]7820; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm12[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero7821; AVX512DQ-BW-NEXT:    vpor %xmm9, %xmm11, %xmm97822; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm97823; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm4, %zmm9, %zmm47824; AVX512DQ-BW-NEXT:    movl $33554431, %eax # imm = 0x1FFFFFF7825; AVX512DQ-BW-NEXT:    kmovq %rax, %k57826; AVX512DQ-BW-NEXT:    vmovdqu8 %zmm16, %zmm4 {%k5}7827; AVX512DQ-BW-NEXT:    vextracti64x4 $1, %zmm4, %ymm97828; AVX512DQ-BW-NEXT:    vpblendmw %ymm8, %ymm7, %ymm11 {%k3}7829; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm11, %xmm127830; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u],zero,zero,zero,xmm12[1,6,11],zero,zero,zero,zero,xmm12[4,9,14]7831; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,2,7,12],zero,zero,zero,xmm11[0,5,10,15],zero,zero,zero7832; AVX512DQ-BW-NEXT:    vpor %xmm12, %xmm11, %xmm117833; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm117834; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm11, %ymm9 {%k4}7835; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm9, %zmm4, %zmm47836; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k2}7837; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm2, %xmm37838; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]7839; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]7840; AVX512DQ-BW-NEXT:    vpor %xmm3, %xmm2, %xmm27841; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k1}7842; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]7843; AVX512DQ-BW-NEXT:    movl $554172416, %eax # imm = 0x210800007844; AVX512DQ-BW-NEXT:    kmovd %eax, %k27845; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k2}7846; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]7847; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]7848; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm6, %ymm5 {%k3}7849; AVX512DQ-BW-NEXT:    vpermq {{.*#+}} ymm1 = ymm5[2,3,0,1]7850; AVX512DQ-BW-NEXT:    movl $2114, %eax # imm = 0x8427851; AVX512DQ-BW-NEXT:    kmovd %eax, %k27852; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm1, %ymm5 {%k2}7853; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm1 = ymm5[u,u,u,u,u,u,2,7,12,1,6,11,0,5,10,15,20,25,30,u,u,u,u,u,u,u,u,u,u,u,u,u]7854; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm13[3,8,13,u,u,u,u,u,u,u,u,u,u]7855; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm10[4,9,14],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]7856; AVX512DQ-BW-NEXT:    vpor %xmm2, %xmm3, %xmm27857; AVX512DQ-BW-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]7858; AVX512DQ-BW-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]7859; AVX512DQ-BW-NEXT:    vmovdqa 128(%rdi), %ymm27860; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} ymm2 = ymm2[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]7861; AVX512DQ-BW-NEXT:    vpermd %ymm2, %ymm19, %ymm27862; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm1, %zmm2, %zmm17863; AVX512DQ-BW-NEXT:    vmovdqu8 %zmm0, %zmm1 {%k5}7864; AVX512DQ-BW-NEXT:    vextracti64x4 $1, %zmm1, %ymm07865; AVX512DQ-BW-NEXT:    vmovdqu16 %ymm8, %ymm7 {%k1}7866; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm2 = xmm7[u,u,u,3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero7867; AVX512DQ-BW-NEXT:    vextracti128 $1, %ymm7, %xmm37868; AVX512DQ-BW-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15]7869; AVX512DQ-BW-NEXT:    vpor %xmm2, %xmm3, %xmm27870; AVX512DQ-BW-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm27871; AVX512DQ-BW-NEXT:    vmovdqu8 %ymm2, %ymm0 {%k4}7872; AVX512DQ-BW-NEXT:    vinserti64x4 $1, %ymm0, %zmm1, %zmm07873; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm20, (%rsi)7874; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm14, (%rdx)7875; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm15, (%rcx)7876; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm4, (%r8)7877; AVX512DQ-BW-NEXT:    vmovdqa64 %zmm0, (%r9)7878; AVX512DQ-BW-NEXT:    vzeroupper7879; AVX512DQ-BW-NEXT:    retq7880;7881; AVX512DQ-BW-FCP-LABEL: load_i8_stride5_vf64:7882; AVX512DQ-BW-FCP:       # %bb.0:7883; AVX512DQ-BW-FCP-NEXT:    vmovdqa (%rdi), %ymm37884; AVX512DQ-BW-FCP-NEXT:    vmovdqa 32(%rdi), %ymm27885; AVX512DQ-BW-FCP-NEXT:    vmovdqa 64(%rdi), %ymm07886; AVX512DQ-BW-FCP-NEXT:    vmovdqa 96(%rdi), %ymm17887; AVX512DQ-BW-FCP-NEXT:    movw $21140, %ax # imm = 0x52947888; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k27889; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm1, %ymm0, %ymm4 {%k2}7890; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm5 = ymm4[2,3,0,1]7891; AVX512DQ-BW-FCP-NEXT:    movl $1108344832, %eax # imm = 0x421000007892; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k17893; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm5, %ymm4 {%k1}7894; AVX512DQ-BW-FCP-NEXT:    movw $19026, %ax # imm = 0x4A527895; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k17896; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm5 {%k1}7897; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm5, %xmm67898; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm6 = zero,zero,zero,zero,xmm6[4,9,14],zero,zero,zero,xmm6[2,7,12,u,u,u]7899; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm5 = xmm5[0,5,10,15],zero,zero,zero,xmm5[3,8,13],zero,zero,zero,xmm5[u,u,u]7900; AVX512DQ-BW-FCP-NEXT:    vpor %xmm6, %xmm5, %xmm97901; AVX512DQ-BW-FCP-NEXT:    movl $67100672, %eax # imm = 0x3FFE0007902; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k57903; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm9 {%k5} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,1,6,11,16,21,26,31,20,25,30,19,24,29,u,u,u,u,u,u]7904; AVX512DQ-BW-FCP-NEXT:    vmovdqa 192(%rdi), %ymm67905; AVX512DQ-BW-FCP-NEXT:    vmovdqa 224(%rdi), %ymm57906; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm6, %ymm5, %ymm4 {%k1}7907; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm7 = ymm4[2,3,0,1]7908; AVX512DQ-BW-FCP-NEXT:    movl $4228, %eax # imm = 0x10847909; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k37910; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm7, %ymm4 {%k3}7911; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm7 = ymm4[u,u,u,u,u,u,u,3,8,13,2,7,12,1,6,11,16,21,26,31,u,u,u,u,u,u,u,u,u,u,u,u]7912; AVX512DQ-BW-FCP-NEXT:    vmovdqa 160(%rdi), %ymm47913; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm8 = ymm4[0,5,10,15,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,20,25,30,u,u,u,u,u,u,u,u,u]7914; AVX512DQ-BW-FCP-NEXT:    vpbroadcastq {{.*#+}} ymm19 = [0,5,0,5,0,5,0,5]7915; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm8, %ymm19, %ymm87916; AVX512DQ-BW-FCP-NEXT:    movl $127, %eax7917; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k47918; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm8, %ymm7 {%k4}7919; AVX512DQ-BW-FCP-NEXT:    vmovdqa 144(%rdi), %xmm117920; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm8 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[1,6,11]7921; AVX512DQ-BW-FCP-NEXT:    vmovdqa 128(%rdi), %xmm127922; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm10 = xmm12[u,u,u,u,u,u,u,u,u,u,2,7,12],zero,zero,zero7923; AVX512DQ-BW-FCP-NEXT:    vpor %xmm8, %xmm10, %xmm87924; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm8, %ymm0, %ymm87925; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm7, %zmm8, %zmm77926; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %zmm7, %zmm9 {%k5}7927; AVX512DQ-BW-FCP-NEXT:    vextracti64x4 $1, %zmm9, %ymm107928; AVX512DQ-BW-FCP-NEXT:    vmovdqa 256(%rdi), %ymm87929; AVX512DQ-BW-FCP-NEXT:    vmovdqa 288(%rdi), %ymm77930; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm8, %ymm7, %ymm13 {%k2}7931; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm147932; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm14[u,u,u,u],zero,zero,zero,xmm14[3,8,13],zero,zero,zero,xmm14[1,6,11]7933; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = xmm13[u,u,u,u,4,9,14],zero,zero,zero,xmm13[2,7,12],zero,zero,zero7934; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm137935; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm13, %ymm0, %ymm137936; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm10 = ymm10[0,1,2,3,4],ymm13[5,6,7]7937; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm10, %zmm9, %zmm207938; AVX512DQ-BW-FCP-NEXT:    movw $10570, %ax # imm = 0x294A7939; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k37940; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm10 {%k3}7941; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm10[2,3,0,1]7942; AVX512DQ-BW-FCP-NEXT:    movl $-2078212096, %eax # imm = 0x842100007943; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k67944; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k6}7945; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm2, %ymm3, %ymm13 {%k2}7946; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm14 = xmm13[1,6,11],zero,zero,zero,zero,xmm13[4,9,14],zero,zero,zero,xmm13[u,u,u]7947; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm13, %xmm137948; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm13 = zero,zero,zero,xmm13[0,5,10,15],zero,zero,zero,xmm13[3,8,13,u,u,u]7949; AVX512DQ-BW-FCP-NEXT:    vpor %xmm14, %xmm13, %xmm147950; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm14 {%k5} = ymm10[u,u,u,u,u,u,u,u,u,u,u,u,u,2,7,12,17,22,27,16,21,26,31,20,25,30,u,u,u,u,u,u]7951; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm6, %ymm5, %ymm10 {%k2}7952; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm13 = ymm10[2,3,0,1]7953; AVX512DQ-BW-FCP-NEXT:    movl $8456, %eax # imm = 0x21087954; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k67955; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm13, %ymm10 {%k6}7956; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm10[u,u,u,u,u,u,u,4,9,14,3,8,13,2,7,12,17,22,27,u,u,u,u,u,u,u,u,u,u,u,u,u]7957; AVX512DQ-BW-FCP-NEXT:    vmovdqa 160(%rdi), %xmm107958; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm10[1,6,11],zero,zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u]7959; AVX512DQ-BW-FCP-NEXT:    vmovdqa 176(%rdi), %xmm137960; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[0,5,10,15,u,u,u,u,u,u,u,u,u]7961; AVX512DQ-BW-FCP-NEXT:    vporq %xmm16, %xmm17, %xmm167962; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k4}7963; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[2,7,12]7964; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm12[u,u,u,u,u,u,u,u,u,u,3,8,13],zero,zero,zero7965; AVX512DQ-BW-FCP-NEXT:    vporq %xmm16, %xmm17, %xmm167966; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm167967; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm15, %zmm16, %zmm157968; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %zmm15, %zmm14 {%k5}7969; AVX512DQ-BW-FCP-NEXT:    vextracti64x4 $1, %zmm14, %ymm157970; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm7, %ymm8, %ymm16 {%k1}7971; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm177972; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm17[u,u,u],zero,zero,zero,zero,xmm17[4,9,14],zero,zero,zero,xmm17[2,7,12]7973; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[u,u,u,0,5,10,15],zero,zero,zero,xmm16[3,8,13],zero,zero,zero7974; AVX512DQ-BW-FCP-NEXT:    vporq %xmm17, %xmm16, %xmm167975; AVX512DQ-BW-FCP-NEXT:    vinserti32x4 $1, %xmm16, %ymm0, %ymm167976; AVX512DQ-BW-FCP-NEXT:    movl $-524288, %eax # imm = 0xFFF800007977; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k47978; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k4}7979; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm15, %zmm14, %zmm147980; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm15 {%k1}7981; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm16 = ymm15[2,3,0,1]7982; AVX512DQ-BW-FCP-NEXT:    movl $138543104, %eax # imm = 0x84200007983; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k67984; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm16, %ymm15 {%k6}7985; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm16 {%k3}7986; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm177987; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm17[1,6,11],zero,zero,zero,zero,xmm17[4,9,14,u,u,u]7988; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = xmm16[2,7,12],zero,zero,zero,xmm16[0,5,10,15],zero,zero,zero,xmm16[u,u,u]7989; AVX512DQ-BW-FCP-NEXT:    vporq %xmm17, %xmm16, %xmm167990; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm16 {%k5} = ymm15[u,u,u,u,u,u,u,u,u,u,u,u,u,3,8,13,18,23,28,17,22,27,16,21,26,31,u,u,u,u,u,u]7991; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm15 {%k1}7992; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm17 = ymm15[2,3,0,1]7993; AVX512DQ-BW-FCP-NEXT:    movl $16912, %eax # imm = 0x42107994; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k67995; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm17, %ymm15 {%k6}7996; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm15 = ymm15[u,u,u,u,u,u,0,5,10,15,4,9,14,3,8,13,18,23,28,u,u,u,u,u,u,u,u,u,u,u,u,u]7997; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[1,6,11,u,u,u,u,u,u,u,u,u,u]7998; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm10[2,7,12],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]7999; AVX512DQ-BW-FCP-NEXT:    vporq %xmm17, %xmm18, %xmm48000; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm4 = xmm4[0,1,2],xmm15[3,4,5,6,7]8001; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm4[0,1,2,3],ymm15[4,5,6,7]8002; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm11[u,u,u,u,u,u,u,u,u,u],zero,zero,zero,xmm11[3,8,13]8003; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm12[u,u,u,u,u,u,u,u,u,u,4,9,14],zero,zero,zero8004; AVX512DQ-BW-FCP-NEXT:    vporq %xmm15, %xmm17, %xmm158005; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm158006; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm4, %zmm15, %zmm48007; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %zmm4, %zmm16 {%k5}8008; AVX512DQ-BW-FCP-NEXT:    vextracti64x4 $1, %zmm16, %ymm48009; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm7, %ymm8, %ymm15 {%k2}8010; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm15[u,u,u,1,6,11],zero,zero,zero,zero,xmm15[4,9,14],zero,zero,zero8011; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm15, %xmm158012; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm15 = xmm15[u,u,u],zero,zero,zero,xmm15[0,5,10,15],zero,zero,zero,xmm15[3,8,13]8013; AVX512DQ-BW-FCP-NEXT:    vporq %xmm17, %xmm15, %xmm158014; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm15, %ymm0, %ymm158015; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm15, %ymm4 {%k4}8016; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm4, %zmm16, %zmm158017; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm0, %ymm1, %ymm4 {%k2}8018; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm16 = ymm4[2,3,0,1]8019; AVX512DQ-BW-FCP-NEXT:    movl $277086208, %eax # imm = 0x108400008020; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k58021; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm16, %ymm4 {%k5}8022; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm3, %ymm2, %ymm16 {%k1}8023; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = xmm16[3,8,13],zero,zero,zero,xmm16[1,6,11],zero,zero,zero,zero,xmm16[u,u,u]8024; AVX512DQ-BW-FCP-NEXT:    vextracti32x4 $1, %ymm16, %xmm168025; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm16 = zero,zero,zero,xmm16[2,7,12],zero,zero,zero,xmm16[0,5,10,15,u,u,u]8026; AVX512DQ-BW-FCP-NEXT:    vporq %xmm17, %xmm16, %xmm168027; AVX512DQ-BW-FCP-NEXT:    movl $33546240, %eax # imm = 0x1FFE0008028; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k58029; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm16 {%k5} = ymm4[u,u,u,u,u,u,u,u,u,u,u,u,u,4,9,14,19,24,29,18,23,28,17,22,27,u,u,u,u,u,u,u]8030; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm5, %ymm6, %ymm4 {%k2}8031; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm17 = ymm4[2,3,0,1]8032; AVX512DQ-BW-FCP-NEXT:    movl $33825, %eax # imm = 0x84218033; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k58034; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm17, %ymm4 {%k5}8035; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm4 = ymm4[u,u,u,u,u,u,1,6,11,0,5,10,15,4,9,14,19,24,29,u,u,u,u,u,u,u,u,u,u,u,u,u]8036; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm17 = zero,zero,zero,xmm13[2,7,12,u,u,u,u,u,u,u,u,u,u]8037; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm18 = xmm10[3,8,13],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]8038; AVX512DQ-BW-FCP-NEXT:    vporq %xmm17, %xmm18, %xmm98039; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm9 = xmm9[0,1,2],xmm4[3,4,5,6,7]8040; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm4 = ymm9[0,1,2,3],ymm4[4,5,6,7]8041; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm9 = xmm11[u,u,u,u,u,u,u,u,u],zero,zero,zero,zero,xmm11[4,9,14]8042; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm12[u,u,u,u,u,u,u,u,u,0,5,10,15],zero,zero,zero8043; AVX512DQ-BW-FCP-NEXT:    vpor %xmm9, %xmm11, %xmm98044; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm9, %ymm0, %ymm98045; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm4, %zmm9, %zmm48046; AVX512DQ-BW-FCP-NEXT:    movl $33554431, %eax # imm = 0x1FFFFFF8047; AVX512DQ-BW-FCP-NEXT:    kmovq %rax, %k58048; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %zmm16, %zmm4 {%k5}8049; AVX512DQ-BW-FCP-NEXT:    vextracti64x4 $1, %zmm4, %ymm98050; AVX512DQ-BW-FCP-NEXT:    vpblendmw %ymm8, %ymm7, %ymm11 {%k3}8051; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm11, %xmm128052; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm12 = xmm12[u,u,u],zero,zero,zero,xmm12[1,6,11],zero,zero,zero,zero,xmm12[4,9,14]8053; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm11 = xmm11[u,u,u,2,7,12],zero,zero,zero,xmm11[0,5,10,15],zero,zero,zero8054; AVX512DQ-BW-FCP-NEXT:    vpor %xmm12, %xmm11, %xmm118055; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm11, %ymm0, %ymm118056; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm11, %ymm9 {%k4}8057; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm9, %zmm4, %zmm48058; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm3, %ymm2 {%k2}8059; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm2, %xmm38060; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = zero,zero,zero,xmm3[3,8,13],zero,zero,zero,xmm3[1,6,11,u,u,u,u]8061; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm2[4,9,14],zero,zero,zero,xmm2[2,7,12],zero,zero,zero,xmm2[u,u,u,u]8062; AVX512DQ-BW-FCP-NEXT:    vpor %xmm3, %xmm2, %xmm28063; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm1, %ymm0 {%k1}8064; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm0[2,3,0,1]8065; AVX512DQ-BW-FCP-NEXT:    movl $554172416, %eax # imm = 0x210800008066; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k28067; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm1, %ymm0 {%k2}8068; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm0 = ymm0[u,u,u,u,u,u,u,u,u,u,u,u,0,5,10,15,20,25,30,19,24,29,18,23,28,u,u,u,u,u,u,u]8069; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm0 = ymm2[0,1,2],ymm0[3,4,5,6,7]8070; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm6, %ymm5 {%k3}8071; AVX512DQ-BW-FCP-NEXT:    vpermq {{.*#+}} ymm1 = ymm5[2,3,0,1]8072; AVX512DQ-BW-FCP-NEXT:    movl $2114, %eax # imm = 0x8428073; AVX512DQ-BW-FCP-NEXT:    kmovd %eax, %k28074; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm1, %ymm5 {%k2}8075; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm1 = ymm5[u,u,u,u,u,u,2,7,12,1,6,11,0,5,10,15,20,25,30,u,u,u,u,u,u,u,u,u,u,u,u,u]8076; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = zero,zero,zero,xmm13[3,8,13,u,u,u,u,u,u,u,u,u,u]8077; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm10[4,9,14],zero,zero,zero,xmm10[u,u,u,u,u,u,u,u,u,u]8078; AVX512DQ-BW-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm28079; AVX512DQ-BW-FCP-NEXT:    vpblendw {{.*#+}} xmm2 = xmm2[0,1,2],xmm1[3,4,5,6,7]8080; AVX512DQ-BW-FCP-NEXT:    vpblendd {{.*#+}} ymm1 = ymm2[0,1,2,3],ymm1[4,5,6,7]8081; AVX512DQ-BW-FCP-NEXT:    vmovdqa 128(%rdi), %ymm28082; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} ymm2 = ymm2[u,1,6,11,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,16,21,26,31,u,u,u,u,u,u,u,u]8083; AVX512DQ-BW-FCP-NEXT:    vpermd %ymm2, %ymm19, %ymm28084; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm1, %zmm2, %zmm18085; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %zmm0, %zmm1 {%k5}8086; AVX512DQ-BW-FCP-NEXT:    vextracti64x4 $1, %zmm1, %ymm08087; AVX512DQ-BW-FCP-NEXT:    vmovdqu16 %ymm8, %ymm7 {%k1}8088; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm2 = xmm7[u,u,u,3,8,13],zero,zero,zero,xmm7[1,6,11],zero,zero,zero,zero8089; AVX512DQ-BW-FCP-NEXT:    vextracti128 $1, %ymm7, %xmm38090; AVX512DQ-BW-FCP-NEXT:    vpshufb {{.*#+}} xmm3 = xmm3[u,u,u],zero,zero,zero,xmm3[2,7,12],zero,zero,zero,xmm3[0,5,10,15]8091; AVX512DQ-BW-FCP-NEXT:    vpor %xmm2, %xmm3, %xmm28092; AVX512DQ-BW-FCP-NEXT:    vinserti128 $1, %xmm2, %ymm0, %ymm28093; AVX512DQ-BW-FCP-NEXT:    vmovdqu8 %ymm2, %ymm0 {%k4}8094; AVX512DQ-BW-FCP-NEXT:    vinserti64x4 $1, %ymm0, %zmm1, %zmm08095; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm20, (%rsi)8096; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm14, (%rdx)8097; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm15, (%rcx)8098; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm4, (%r8)8099; AVX512DQ-BW-FCP-NEXT:    vmovdqa64 %zmm0, (%r9)8100; AVX512DQ-BW-FCP-NEXT:    vzeroupper8101; AVX512DQ-BW-FCP-NEXT:    retq8102  %wide.vec = load <320 x i8>, ptr %in.vec, align 648103  %strided.vec0 = shufflevector <320 x i8> %wide.vec, <320 x i8> poison, <64 x i32> <i32 0, i32 5, i32 10, i32 15, i32 20, i32 25, i32 30, i32 35, i32 40, i32 45, i32 50, i32 55, i32 60, i32 65, i32 70, i32 75, i32 80, i32 85, i32 90, i32 95, i32 100, i32 105, i32 110, i32 115, i32 120, i32 125, i32 130, i32 135, i32 140, i32 145, i32 150, i32 155, i32 160, i32 165, i32 170, i32 175, i32 180, i32 185, i32 190, i32 195, i32 200, i32 205, i32 210, i32 215, i32 220, i32 225, i32 230, i32 235, i32 240, i32 245, i32 250, i32 255, i32 260, i32 265, i32 270, i32 275, i32 280, i32 285, i32 290, i32 295, i32 300, i32 305, i32 310, i32 315>8104  %strided.vec1 = shufflevector <320 x i8> %wide.vec, <320 x i8> poison, <64 x i32> <i32 1, i32 6, i32 11, i32 16, i32 21, i32 26, i32 31, i32 36, i32 41, i32 46, i32 51, i32 56, i32 61, i32 66, i32 71, i32 76, i32 81, i32 86, i32 91, i32 96, i32 101, i32 106, i32 111, i32 116, i32 121, i32 126, i32 131, i32 136, i32 141, i32 146, i32 151, i32 156, i32 161, i32 166, i32 171, i32 176, i32 181, i32 186, i32 191, i32 196, i32 201, i32 206, i32 211, i32 216, i32 221, i32 226, i32 231, i32 236, i32 241, i32 246, i32 251, i32 256, i32 261, i32 266, i32 271, i32 276, i32 281, i32 286, i32 291, i32 296, i32 301, i32 306, i32 311, i32 316>8105  %strided.vec2 = shufflevector <320 x i8> %wide.vec, <320 x i8> poison, <64 x i32> <i32 2, i32 7, i32 12, i32 17, i32 22, i32 27, i32 32, i32 37, i32 42, i32 47, i32 52, i32 57, i32 62, i32 67, i32 72, i32 77, i32 82, i32 87, i32 92, i32 97, i32 102, i32 107, i32 112, i32 117, i32 122, i32 127, i32 132, i32 137, i32 142, i32 147, i32 152, i32 157, i32 162, i32 167, i32 172, i32 177, i32 182, i32 187, i32 192, i32 197, i32 202, i32 207, i32 212, i32 217, i32 222, i32 227, i32 232, i32 237, i32 242, i32 247, i32 252, i32 257, i32 262, i32 267, i32 272, i32 277, i32 282, i32 287, i32 292, i32 297, i32 302, i32 307, i32 312, i32 317>8106  %strided.vec3 = shufflevector <320 x i8> %wide.vec, <320 x i8> poison, <64 x i32> <i32 3, i32 8, i32 13, i32 18, i32 23, i32 28, i32 33, i32 38, i32 43, i32 48, i32 53, i32 58, i32 63, i32 68, i32 73, i32 78, i32 83, i32 88, i32 93, i32 98, i32 103, i32 108, i32 113, i32 118, i32 123, i32 128, i32 133, i32 138, i32 143, i32 148, i32 153, i32 158, i32 163, i32 168, i32 173, i32 178, i32 183, i32 188, i32 193, i32 198, i32 203, i32 208, i32 213, i32 218, i32 223, i32 228, i32 233, i32 238, i32 243, i32 248, i32 253, i32 258, i32 263, i32 268, i32 273, i32 278, i32 283, i32 288, i32 293, i32 298, i32 303, i32 308, i32 313, i32 318>8107  %strided.vec4 = shufflevector <320 x i8> %wide.vec, <320 x i8> poison, <64 x i32> <i32 4, i32 9, i32 14, i32 19, i32 24, i32 29, i32 34, i32 39, i32 44, i32 49, i32 54, i32 59, i32 64, i32 69, i32 74, i32 79, i32 84, i32 89, i32 94, i32 99, i32 104, i32 109, i32 114, i32 119, i32 124, i32 129, i32 134, i32 139, i32 144, i32 149, i32 154, i32 159, i32 164, i32 169, i32 174, i32 179, i32 184, i32 189, i32 194, i32 199, i32 204, i32 209, i32 214, i32 219, i32 224, i32 229, i32 234, i32 239, i32 244, i32 249, i32 254, i32 259, i32 264, i32 269, i32 274, i32 279, i32 284, i32 289, i32 294, i32 299, i32 304, i32 309, i32 314, i32 319>8108  store <64 x i8> %strided.vec0, ptr %out.vec0, align 648109  store <64 x i8> %strided.vec1, ptr %out.vec1, align 648110  store <64 x i8> %strided.vec2, ptr %out.vec2, align 648111  store <64 x i8> %strided.vec3, ptr %out.vec3, align 648112  store <64 x i8> %strided.vec4, ptr %out.vec4, align 648113  ret void8114}8115