; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+sse2 | FileCheck %s --check-prefixes=SSE2 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+sse3 | FileCheck %s --check-prefixes=SSE3 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+ssse3 | FileCheck %s --check-prefixes=SSSE3 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+sse4.1| FileCheck %s --check-prefixes=SSE41 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+sse4.2 | FileCheck %s --check-prefixes=SSE42 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+avx | FileCheck %s --check-prefixes=AVX1 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+avx2 | FileCheck %s --check-prefixes=AVX2 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+avx512f | FileCheck %s --check-prefixes=AVX512FVEC512 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+avx512f,+avx512vl,+prefer-256-bit | FileCheck %s --check-prefixes=AVX512FVEC256 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+avx512f,+avx512dq | FileCheck %s --check-prefixes=AVX512DQVEC512 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+avx512f,+avx512dq,+avx512vl,+prefer-256-bit | FileCheck %s --check-prefixes=AVX512DQVEC256 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefixes=AVX512BWVEC512 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+avx512f,+avx512bw,+avx512vl,+prefer-256-bit | FileCheck %s --check-prefixes=AVX512BWVEC256 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+avx512f,+avx512bw,+avx512vbmi | FileCheck %s --check-prefixes=AVX512VBMIVEC512 ; RUN: opt < %s -passes="print" -mtriple=x86_64-pc-linux-gnu 2>&1 -disable-output -cost-kind=all -mattr=+avx512f,+avx512bw,+avx512vbmi,+avx512vl,+prefer-256-bit | FileCheck %s --check-prefixes=AVX512VBMIVEC256 define void @replication_i1_stride2() nounwind "min-legal-vector-width"="256" { ; SSE2-LABEL: 'replication_i1_stride2' ; SSE2-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; SSE2-NEXT: Cost Model: Found costs of 8 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; SSE2-NEXT: Cost Model: Found costs of 9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; SSE2-NEXT: Cost Model: Found costs of 32 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; SSE2-NEXT: Cost Model: Found costs of 63 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; SSE2-NEXT: Cost Model: Found costs of 126 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; SSE2-NEXT: Cost Model: Found costs of 252 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; SSE2-NEXT: Cost Model: Found costs of 504 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; SSE2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE3-LABEL: 'replication_i1_stride2' ; SSE3-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; SSE3-NEXT: Cost Model: Found costs of 8 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; SSE3-NEXT: Cost Model: Found costs of 9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; SSE3-NEXT: Cost Model: Found costs of 32 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; SSE3-NEXT: Cost Model: Found costs of 63 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; SSE3-NEXT: Cost Model: Found costs of 126 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; SSE3-NEXT: Cost Model: Found costs of 252 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; SSE3-NEXT: Cost Model: Found costs of 504 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; SSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSSE3-LABEL: 'replication_i1_stride2' ; SSSE3-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; SSSE3-NEXT: Cost Model: Found costs of 8 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 32 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 63 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 126 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 252 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 504 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE41-LABEL: 'replication_i1_stride2' ; SSE41-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; SSE41-NEXT: Cost Model: Found costs of 5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; SSE41-NEXT: Cost Model: Found costs of 9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; SSE41-NEXT: Cost Model: Found costs of 17 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; SSE41-NEXT: Cost Model: Found costs of 33 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; SSE41-NEXT: Cost Model: Found costs of 66 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; SSE41-NEXT: Cost Model: Found costs of 132 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; SSE41-NEXT: Cost Model: Found costs of 264 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; SSE41-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE42-LABEL: 'replication_i1_stride2' ; SSE42-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; SSE42-NEXT: Cost Model: Found costs of 5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; SSE42-NEXT: Cost Model: Found costs of 9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; SSE42-NEXT: Cost Model: Found costs of 17 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; SSE42-NEXT: Cost Model: Found costs of 33 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; SSE42-NEXT: Cost Model: Found costs of 66 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; SSE42-NEXT: Cost Model: Found costs of 132 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; SSE42-NEXT: Cost Model: Found costs of 264 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX1-LABEL: 'replication_i1_stride2' ; AVX1-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; AVX1-NEXT: Cost Model: Found costs of 5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; AVX1-NEXT: Cost Model: Found costs of 9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; AVX1-NEXT: Cost Model: Found costs of 17 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; AVX1-NEXT: Cost Model: Found costs of 34 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; AVX1-NEXT: Cost Model: Found costs of 68 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; AVX1-NEXT: Cost Model: Found costs of 136 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; AVX1-NEXT: Cost Model: Found costs of 272 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX2-LABEL: 'replication_i1_stride2' ; AVX2-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; AVX2-NEXT: Cost Model: Found costs of 5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; AVX2-NEXT: Cost Model: Found costs of 9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; AVX2-NEXT: Cost Model: Found costs of 17 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; AVX2-NEXT: Cost Model: Found costs of 34 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; AVX2-NEXT: Cost Model: Found costs of 67 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; AVX2-NEXT: Cost Model: Found costs of 134 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; AVX2-NEXT: Cost Model: Found costs of 268 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC512-LABEL: 'replication_i1_stride2' ; AVX512FVEC512-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:14 CodeSize:10 Lat:18 SizeLat:10 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:28 CodeSize:20 Lat:36 SizeLat:20 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:56 CodeSize:40 Lat:72 SizeLat:40 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC256-LABEL: 'replication_i1_stride2' ; AVX512FVEC256-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:14 CodeSize:10 Lat:18 SizeLat:10 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:28 CodeSize:20 Lat:36 SizeLat:20 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:56 CodeSize:40 Lat:72 SizeLat:40 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:112 CodeSize:80 Lat:144 SizeLat:80 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC512-LABEL: 'replication_i1_stride2' ; AVX512DQVEC512-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:14 CodeSize:10 Lat:18 SizeLat:10 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:28 CodeSize:20 Lat:36 SizeLat:20 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:56 CodeSize:40 Lat:72 SizeLat:40 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC256-LABEL: 'replication_i1_stride2' ; AVX512DQVEC256-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:14 CodeSize:10 Lat:18 SizeLat:10 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:28 CodeSize:20 Lat:36 SizeLat:20 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:56 CodeSize:40 Lat:72 SizeLat:40 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:112 CodeSize:80 Lat:144 SizeLat:80 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC512-LABEL: 'replication_i1_stride2' ; AVX512BWVEC512-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:18 CodeSize:14 Lat:14 SizeLat:14 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:36 CodeSize:28 Lat:28 SizeLat:28 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC256-LABEL: 'replication_i1_stride2' ; AVX512BWVEC256-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:18 CodeSize:14 Lat:14 SizeLat:14 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:36 CodeSize:28 Lat:28 SizeLat:28 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:72 CodeSize:56 Lat:56 SizeLat:56 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC512-LABEL: 'replication_i1_stride2' ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:14 CodeSize:10 Lat:10 SizeLat:10 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC256-LABEL: 'replication_i1_stride2' ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of 3 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:14 CodeSize:10 Lat:10 SizeLat:10 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:28 CodeSize:20 Lat:20 SizeLat:20 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <2 x i32> zeroinitializer %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <4 x i32> %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <8 x i32> %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <16 x i32> %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <32 x i32> %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <64 x i32> %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <128 x i32> %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <256 x i32> ret void } define void @replication_i1_stride3() nounwind "min-legal-vector-width"="256" { ; SSE2-LABEL: 'replication_i1_stride3' ; SSE2-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; SSE2-NEXT: Cost Model: Found costs of 7 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; SSE2-NEXT: Cost Model: Found costs of 28 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; SSE2-NEXT: Cost Model: Found costs of 55 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; SSE2-NEXT: Cost Model: Found costs of 109 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; SSE2-NEXT: Cost Model: Found costs of 218 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; SSE2-NEXT: Cost Model: Found costs of 436 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; SSE2-NEXT: Cost Model: Found costs of 872 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; SSE2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE3-LABEL: 'replication_i1_stride3' ; SSE3-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; SSE3-NEXT: Cost Model: Found costs of 7 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; SSE3-NEXT: Cost Model: Found costs of 28 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; SSE3-NEXT: Cost Model: Found costs of 55 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; SSE3-NEXT: Cost Model: Found costs of 109 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; SSE3-NEXT: Cost Model: Found costs of 218 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; SSE3-NEXT: Cost Model: Found costs of 436 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; SSE3-NEXT: Cost Model: Found costs of 872 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; SSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSSE3-LABEL: 'replication_i1_stride3' ; SSSE3-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; SSSE3-NEXT: Cost Model: Found costs of 7 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 28 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 55 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 109 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 218 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 436 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 872 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE41-LABEL: 'replication_i1_stride3' ; SSE41-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; SSE41-NEXT: Cost Model: Found costs of 7 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; SSE41-NEXT: Cost Model: Found costs of 13 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; SSE41-NEXT: Cost Model: Found costs of 25 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; SSE41-NEXT: Cost Model: Found costs of 49 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; SSE41-NEXT: Cost Model: Found costs of 98 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; SSE41-NEXT: Cost Model: Found costs of 196 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; SSE41-NEXT: Cost Model: Found costs of 392 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; SSE41-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE42-LABEL: 'replication_i1_stride3' ; SSE42-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; SSE42-NEXT: Cost Model: Found costs of 7 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; SSE42-NEXT: Cost Model: Found costs of 13 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; SSE42-NEXT: Cost Model: Found costs of 25 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; SSE42-NEXT: Cost Model: Found costs of 49 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; SSE42-NEXT: Cost Model: Found costs of 98 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; SSE42-NEXT: Cost Model: Found costs of 196 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; SSE42-NEXT: Cost Model: Found costs of 392 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX1-LABEL: 'replication_i1_stride3' ; AVX1-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; AVX1-NEXT: Cost Model: Found costs of 7 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; AVX1-NEXT: Cost Model: Found costs of 13 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; AVX1-NEXT: Cost Model: Found costs of 27 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; AVX1-NEXT: Cost Model: Found costs of 51 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; AVX1-NEXT: Cost Model: Found costs of 101 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; AVX1-NEXT: Cost Model: Found costs of 202 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; AVX1-NEXT: Cost Model: Found costs of 404 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX2-LABEL: 'replication_i1_stride3' ; AVX2-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; AVX2-NEXT: Cost Model: Found costs of 7 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; AVX2-NEXT: Cost Model: Found costs of 13 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; AVX2-NEXT: Cost Model: Found costs of 27 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; AVX2-NEXT: Cost Model: Found costs of 51 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; AVX2-NEXT: Cost Model: Found costs of 100 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; AVX2-NEXT: Cost Model: Found costs of 200 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; AVX2-NEXT: Cost Model: Found costs of 400 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC512-LABEL: 'replication_i1_stride3' ; AVX512FVEC512-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:28 SizeLat:16 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:56 SizeLat:32 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:96 CodeSize:64 Lat:112 SizeLat:64 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC256-LABEL: 'replication_i1_stride3' ; AVX512FVEC256-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:28 SizeLat:16 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:56 SizeLat:32 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:96 CodeSize:64 Lat:112 SizeLat:64 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:192 CodeSize:128 Lat:224 SizeLat:128 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC512-LABEL: 'replication_i1_stride3' ; AVX512DQVEC512-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:28 SizeLat:16 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:56 SizeLat:32 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:96 CodeSize:64 Lat:112 SizeLat:64 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC256-LABEL: 'replication_i1_stride3' ; AVX512DQVEC256-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:28 SizeLat:16 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:56 SizeLat:32 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:96 CodeSize:64 Lat:112 SizeLat:64 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:192 CodeSize:128 Lat:224 SizeLat:128 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC512-LABEL: 'replication_i1_stride3' ; AVX512BWVEC512-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:15 CodeSize:11 Lat:11 SizeLat:11 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:30 CodeSize:22 Lat:22 SizeLat:22 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:60 CodeSize:44 Lat:44 SizeLat:44 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC256-LABEL: 'replication_i1_stride3' ; AVX512BWVEC256-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:15 CodeSize:11 Lat:11 SizeLat:11 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:30 CodeSize:22 Lat:22 SizeLat:22 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:60 CodeSize:44 Lat:44 SizeLat:44 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:120 CodeSize:88 Lat:88 SizeLat:88 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC512-LABEL: 'replication_i1_stride3' ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:8 SizeLat:8 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:16 SizeLat:16 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC256-LABEL: 'replication_i1_stride3' ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of 4 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:8 SizeLat:8 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:16 SizeLat:16 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:32 SizeLat:32 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <3 x i32> zeroinitializer %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <6 x i32> %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <12 x i32> %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <24 x i32> %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <48 x i32> %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <96 x i32> %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <192 x i32> %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <384 x i32> ret void } define void @replication_i1_stride4() nounwind "min-legal-vector-width"="256" { ; SSE2-LABEL: 'replication_i1_stride4' ; SSE2-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; SSE2-NEXT: Cost Model: Found costs of 9 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; SSE2-NEXT: Cost Model: Found costs of 32 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; SSE2-NEXT: Cost Model: Found costs of 63 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; SSE2-NEXT: Cost Model: Found costs of 125 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; SSE2-NEXT: Cost Model: Found costs of 250 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; SSE2-NEXT: Cost Model: Found costs of 500 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; SSE2-NEXT: Cost Model: Found costs of 1000 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; SSE2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE3-LABEL: 'replication_i1_stride4' ; SSE3-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; SSE3-NEXT: Cost Model: Found costs of 9 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; SSE3-NEXT: Cost Model: Found costs of 32 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; SSE3-NEXT: Cost Model: Found costs of 63 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; SSE3-NEXT: Cost Model: Found costs of 125 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; SSE3-NEXT: Cost Model: Found costs of 250 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; SSE3-NEXT: Cost Model: Found costs of 500 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; SSE3-NEXT: Cost Model: Found costs of 1000 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; SSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSSE3-LABEL: 'replication_i1_stride4' ; SSSE3-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; SSSE3-NEXT: Cost Model: Found costs of 9 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 32 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 63 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 125 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 250 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 500 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 1000 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE41-LABEL: 'replication_i1_stride4' ; SSE41-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; SSE41-NEXT: Cost Model: Found costs of 9 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; SSE41-NEXT: Cost Model: Found costs of 17 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; SSE41-NEXT: Cost Model: Found costs of 33 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; SSE41-NEXT: Cost Model: Found costs of 65 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; SSE41-NEXT: Cost Model: Found costs of 130 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; SSE41-NEXT: Cost Model: Found costs of 260 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; SSE41-NEXT: Cost Model: Found costs of 520 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; SSE41-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE42-LABEL: 'replication_i1_stride4' ; SSE42-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; SSE42-NEXT: Cost Model: Found costs of 9 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; SSE42-NEXT: Cost Model: Found costs of 17 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; SSE42-NEXT: Cost Model: Found costs of 33 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; SSE42-NEXT: Cost Model: Found costs of 65 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; SSE42-NEXT: Cost Model: Found costs of 130 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; SSE42-NEXT: Cost Model: Found costs of 260 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; SSE42-NEXT: Cost Model: Found costs of 520 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX1-LABEL: 'replication_i1_stride4' ; AVX1-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; AVX1-NEXT: Cost Model: Found costs of 9 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; AVX1-NEXT: Cost Model: Found costs of 17 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; AVX1-NEXT: Cost Model: Found costs of 34 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; AVX1-NEXT: Cost Model: Found costs of 67 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; AVX1-NEXT: Cost Model: Found costs of 134 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; AVX1-NEXT: Cost Model: Found costs of 268 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; AVX1-NEXT: Cost Model: Found costs of 536 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX2-LABEL: 'replication_i1_stride4' ; AVX2-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; AVX2-NEXT: Cost Model: Found costs of 9 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; AVX2-NEXT: Cost Model: Found costs of 17 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; AVX2-NEXT: Cost Model: Found costs of 34 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; AVX2-NEXT: Cost Model: Found costs of 67 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; AVX2-NEXT: Cost Model: Found costs of 133 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; AVX2-NEXT: Cost Model: Found costs of 266 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; AVX2-NEXT: Cost Model: Found costs of 532 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC512-LABEL: 'replication_i1_stride4' ; AVX512FVEC512-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:26 CodeSize:18 Lat:34 SizeLat:18 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:52 CodeSize:36 Lat:68 SizeLat:36 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:104 CodeSize:72 Lat:136 SizeLat:72 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC256-LABEL: 'replication_i1_stride4' ; AVX512FVEC256-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:26 CodeSize:18 Lat:34 SizeLat:18 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:52 CodeSize:36 Lat:68 SizeLat:36 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:104 CodeSize:72 Lat:136 SizeLat:72 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:208 CodeSize:144 Lat:272 SizeLat:144 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC512-LABEL: 'replication_i1_stride4' ; AVX512DQVEC512-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:26 CodeSize:18 Lat:34 SizeLat:18 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:52 CodeSize:36 Lat:68 SizeLat:36 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:104 CodeSize:72 Lat:136 SizeLat:72 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC256-LABEL: 'replication_i1_stride4' ; AVX512DQVEC256-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:26 CodeSize:18 Lat:34 SizeLat:18 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:52 CodeSize:36 Lat:68 SizeLat:36 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:104 CodeSize:72 Lat:136 SizeLat:72 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:208 CodeSize:144 Lat:272 SizeLat:144 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC512-LABEL: 'replication_i1_stride4' ; AVX512BWVEC512-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:17 CodeSize:13 Lat:13 SizeLat:13 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:34 CodeSize:26 Lat:26 SizeLat:26 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:68 CodeSize:52 Lat:52 SizeLat:52 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC256-LABEL: 'replication_i1_stride4' ; AVX512BWVEC256-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:17 CodeSize:13 Lat:13 SizeLat:13 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:34 CodeSize:26 Lat:26 SizeLat:26 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:68 CodeSize:52 Lat:52 SizeLat:52 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:136 CodeSize:104 Lat:104 SizeLat:104 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC512-LABEL: 'replication_i1_stride4' ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:9 SizeLat:9 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:26 CodeSize:18 Lat:18 SizeLat:18 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC256-LABEL: 'replication_i1_stride4' ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of 5 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:9 SizeLat:9 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:26 CodeSize:18 Lat:18 SizeLat:18 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:52 CodeSize:36 Lat:36 SizeLat:36 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <4 x i32> zeroinitializer %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <8 x i32> %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <16 x i32> %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <32 x i32> %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <64 x i32> %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <128 x i32> %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <256 x i32> %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <512 x i32> ret void } define void @replication_i1_stride5() nounwind "min-legal-vector-width"="256" { ; SSE2-LABEL: 'replication_i1_stride5' ; SSE2-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; SSE2-NEXT: Cost Model: Found costs of 26 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; SSE2-NEXT: Cost Model: Found costs of 51 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; SSE2-NEXT: Cost Model: Found costs of 101 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; SSE2-NEXT: Cost Model: Found costs of 201 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; SSE2-NEXT: Cost Model: Found costs of 402 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; SSE2-NEXT: Cost Model: Found costs of 804 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; SSE2-NEXT: Cost Model: Found costs of 1608 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; SSE2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE3-LABEL: 'replication_i1_stride5' ; SSE3-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; SSE3-NEXT: Cost Model: Found costs of 26 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; SSE3-NEXT: Cost Model: Found costs of 51 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; SSE3-NEXT: Cost Model: Found costs of 101 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; SSE3-NEXT: Cost Model: Found costs of 201 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; SSE3-NEXT: Cost Model: Found costs of 402 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; SSE3-NEXT: Cost Model: Found costs of 804 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; SSE3-NEXT: Cost Model: Found costs of 1608 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; SSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSSE3-LABEL: 'replication_i1_stride5' ; SSSE3-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; SSSE3-NEXT: Cost Model: Found costs of 26 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 51 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 101 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 201 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 402 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 804 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 1608 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE41-LABEL: 'replication_i1_stride5' ; SSE41-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; SSE41-NEXT: Cost Model: Found costs of 11 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; SSE41-NEXT: Cost Model: Found costs of 21 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; SSE41-NEXT: Cost Model: Found costs of 41 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; SSE41-NEXT: Cost Model: Found costs of 81 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; SSE41-NEXT: Cost Model: Found costs of 162 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; SSE41-NEXT: Cost Model: Found costs of 324 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; SSE41-NEXT: Cost Model: Found costs of 648 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; SSE41-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE42-LABEL: 'replication_i1_stride5' ; SSE42-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; SSE42-NEXT: Cost Model: Found costs of 11 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; SSE42-NEXT: Cost Model: Found costs of 21 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; SSE42-NEXT: Cost Model: Found costs of 41 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; SSE42-NEXT: Cost Model: Found costs of 81 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; SSE42-NEXT: Cost Model: Found costs of 162 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; SSE42-NEXT: Cost Model: Found costs of 324 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; SSE42-NEXT: Cost Model: Found costs of 648 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX1-LABEL: 'replication_i1_stride5' ; AVX1-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; AVX1-NEXT: Cost Model: Found costs of 11 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; AVX1-NEXT: Cost Model: Found costs of 23 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; AVX1-NEXT: Cost Model: Found costs of 43 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; AVX1-NEXT: Cost Model: Found costs of 84 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; AVX1-NEXT: Cost Model: Found costs of 167 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; AVX1-NEXT: Cost Model: Found costs of 334 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; AVX1-NEXT: Cost Model: Found costs of 668 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX2-LABEL: 'replication_i1_stride5' ; AVX2-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; AVX2-NEXT: Cost Model: Found costs of 11 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; AVX2-NEXT: Cost Model: Found costs of 23 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; AVX2-NEXT: Cost Model: Found costs of 43 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; AVX2-NEXT: Cost Model: Found costs of 84 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; AVX2-NEXT: Cost Model: Found costs of 166 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; AVX2-NEXT: Cost Model: Found costs of 332 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; AVX2-NEXT: Cost Model: Found costs of 664 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC512-LABEL: 'replication_i1_stride5' ; AVX512FVEC512-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:22 CodeSize:14 Lat:24 SizeLat:14 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:44 CodeSize:28 Lat:48 SizeLat:28 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:88 CodeSize:56 Lat:96 SizeLat:56 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:176 CodeSize:112 Lat:192 SizeLat:112 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC256-LABEL: 'replication_i1_stride5' ; AVX512FVEC256-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:22 CodeSize:14 Lat:24 SizeLat:14 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:44 CodeSize:28 Lat:48 SizeLat:28 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:88 CodeSize:56 Lat:96 SizeLat:56 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:176 CodeSize:112 Lat:192 SizeLat:112 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:352 CodeSize:224 Lat:384 SizeLat:224 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC512-LABEL: 'replication_i1_stride5' ; AVX512DQVEC512-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:22 CodeSize:14 Lat:24 SizeLat:14 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:44 CodeSize:28 Lat:48 SizeLat:28 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:88 CodeSize:56 Lat:96 SizeLat:56 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:176 CodeSize:112 Lat:192 SizeLat:112 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC256-LABEL: 'replication_i1_stride5' ; AVX512DQVEC256-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:22 CodeSize:14 Lat:24 SizeLat:14 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:44 CodeSize:28 Lat:48 SizeLat:28 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:88 CodeSize:56 Lat:96 SizeLat:56 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:176 CodeSize:112 Lat:192 SizeLat:112 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:352 CodeSize:224 Lat:384 SizeLat:224 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC512-LABEL: 'replication_i1_stride5' ; AVX512BWVEC512-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:15 CodeSize:11 Lat:11 SizeLat:11 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:27 CodeSize:19 Lat:19 SizeLat:19 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:54 CodeSize:38 Lat:38 SizeLat:38 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:108 CodeSize:76 Lat:76 SizeLat:76 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC256-LABEL: 'replication_i1_stride5' ; AVX512BWVEC256-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:15 CodeSize:11 Lat:11 SizeLat:11 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:27 CodeSize:19 Lat:19 SizeLat:19 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:54 CodeSize:38 Lat:38 SizeLat:38 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:108 CodeSize:76 Lat:76 SizeLat:76 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:216 CodeSize:152 Lat:152 SizeLat:152 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC512-LABEL: 'replication_i1_stride5' ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:8 SizeLat:8 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:22 CodeSize:14 Lat:14 SizeLat:14 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:44 CodeSize:28 Lat:28 SizeLat:28 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC256-LABEL: 'replication_i1_stride5' ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of 6 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:8 SizeLat:8 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:22 CodeSize:14 Lat:14 SizeLat:14 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:44 CodeSize:28 Lat:28 SizeLat:28 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:88 CodeSize:56 Lat:56 SizeLat:56 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <5 x i32> zeroinitializer %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <10 x i32> %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <20 x i32> %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <40 x i32> %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <80 x i32> %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <160 x i32> %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <320 x i32> %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <640 x i32> ret void } define void @replication_i1_stride6() nounwind "min-legal-vector-width"="256" { ; SSE2-LABEL: 'replication_i1_stride6' ; SSE2-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; SSE2-NEXT: Cost Model: Found costs of 28 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; SSE2-NEXT: Cost Model: Found costs of 55 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; SSE2-NEXT: Cost Model: Found costs of 109 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; SSE2-NEXT: Cost Model: Found costs of 217 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; SSE2-NEXT: Cost Model: Found costs of 434 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; SSE2-NEXT: Cost Model: Found costs of 868 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; SSE2-NEXT: Cost Model: Found costs of 1736 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; SSE2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE3-LABEL: 'replication_i1_stride6' ; SSE3-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; SSE3-NEXT: Cost Model: Found costs of 28 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; SSE3-NEXT: Cost Model: Found costs of 55 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; SSE3-NEXT: Cost Model: Found costs of 109 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; SSE3-NEXT: Cost Model: Found costs of 217 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; SSE3-NEXT: Cost Model: Found costs of 434 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; SSE3-NEXT: Cost Model: Found costs of 868 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; SSE3-NEXT: Cost Model: Found costs of 1736 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; SSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSSE3-LABEL: 'replication_i1_stride6' ; SSSE3-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; SSSE3-NEXT: Cost Model: Found costs of 28 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 55 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 109 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 217 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 434 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 868 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 1736 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE41-LABEL: 'replication_i1_stride6' ; SSE41-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; SSE41-NEXT: Cost Model: Found costs of 13 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; SSE41-NEXT: Cost Model: Found costs of 25 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; SSE41-NEXT: Cost Model: Found costs of 49 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; SSE41-NEXT: Cost Model: Found costs of 97 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; SSE41-NEXT: Cost Model: Found costs of 194 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; SSE41-NEXT: Cost Model: Found costs of 388 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; SSE41-NEXT: Cost Model: Found costs of 776 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; SSE41-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE42-LABEL: 'replication_i1_stride6' ; SSE42-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; SSE42-NEXT: Cost Model: Found costs of 13 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; SSE42-NEXT: Cost Model: Found costs of 25 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; SSE42-NEXT: Cost Model: Found costs of 49 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; SSE42-NEXT: Cost Model: Found costs of 97 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; SSE42-NEXT: Cost Model: Found costs of 194 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; SSE42-NEXT: Cost Model: Found costs of 388 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; SSE42-NEXT: Cost Model: Found costs of 776 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX1-LABEL: 'replication_i1_stride6' ; AVX1-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; AVX1-NEXT: Cost Model: Found costs of 13 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; AVX1-NEXT: Cost Model: Found costs of 27 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; AVX1-NEXT: Cost Model: Found costs of 51 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; AVX1-NEXT: Cost Model: Found costs of 100 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; AVX1-NEXT: Cost Model: Found costs of 200 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; AVX1-NEXT: Cost Model: Found costs of 400 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; AVX1-NEXT: Cost Model: Found costs of 800 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX2-LABEL: 'replication_i1_stride6' ; AVX2-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; AVX2-NEXT: Cost Model: Found costs of 13 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; AVX2-NEXT: Cost Model: Found costs of 27 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; AVX2-NEXT: Cost Model: Found costs of 51 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; AVX2-NEXT: Cost Model: Found costs of 100 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; AVX2-NEXT: Cost Model: Found costs of 199 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; AVX2-NEXT: Cost Model: Found costs of 398 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; AVX2-NEXT: Cost Model: Found costs of 796 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC512-LABEL: 'replication_i1_stride6' ; AVX512FVEC512-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:23 CodeSize:15 Lat:27 SizeLat:15 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:46 CodeSize:30 Lat:54 SizeLat:30 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:92 CodeSize:60 Lat:108 SizeLat:60 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:184 CodeSize:120 Lat:216 SizeLat:120 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC256-LABEL: 'replication_i1_stride6' ; AVX512FVEC256-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:23 CodeSize:15 Lat:27 SizeLat:15 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:46 CodeSize:30 Lat:54 SizeLat:30 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:92 CodeSize:60 Lat:108 SizeLat:60 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:184 CodeSize:120 Lat:216 SizeLat:120 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:368 CodeSize:240 Lat:432 SizeLat:240 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC512-LABEL: 'replication_i1_stride6' ; AVX512DQVEC512-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:23 CodeSize:15 Lat:27 SizeLat:15 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:46 CodeSize:30 Lat:54 SizeLat:30 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:92 CodeSize:60 Lat:108 SizeLat:60 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:184 CodeSize:120 Lat:216 SizeLat:120 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC256-LABEL: 'replication_i1_stride6' ; AVX512DQVEC256-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:14 SizeLat:8 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:23 CodeSize:15 Lat:27 SizeLat:15 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:46 CodeSize:30 Lat:54 SizeLat:30 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:92 CodeSize:60 Lat:108 SizeLat:60 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:184 CodeSize:120 Lat:216 SizeLat:120 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:368 CodeSize:240 Lat:432 SizeLat:240 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC512-LABEL: 'replication_i1_stride6' ; AVX512BWVEC512-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:15 CodeSize:11 Lat:11 SizeLat:11 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:29 CodeSize:21 Lat:21 SizeLat:21 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:58 CodeSize:42 Lat:42 SizeLat:42 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:116 CodeSize:84 Lat:84 SizeLat:84 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC256-LABEL: 'replication_i1_stride6' ; AVX512BWVEC256-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:15 CodeSize:11 Lat:11 SizeLat:11 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:29 CodeSize:21 Lat:21 SizeLat:21 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:58 CodeSize:42 Lat:42 SizeLat:42 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:116 CodeSize:84 Lat:84 SizeLat:84 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:232 CodeSize:168 Lat:168 SizeLat:168 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC512-LABEL: 'replication_i1_stride6' ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:8 SizeLat:8 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:23 CodeSize:15 Lat:15 SizeLat:15 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:46 CodeSize:30 Lat:30 SizeLat:30 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC256-LABEL: 'replication_i1_stride6' ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of 7 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:12 CodeSize:8 Lat:8 SizeLat:8 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:23 CodeSize:15 Lat:15 SizeLat:15 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:46 CodeSize:30 Lat:30 SizeLat:30 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:92 CodeSize:60 Lat:60 SizeLat:60 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <6 x i32> zeroinitializer %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <12 x i32> %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <24 x i32> %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <48 x i32> %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <96 x i32> %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <192 x i32> %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <384 x i32> %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <768 x i32> ret void } define void @replication_i1_stride7() nounwind "min-legal-vector-width"="256" { ; SSE2-LABEL: 'replication_i1_stride7' ; SSE2-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; SSE2-NEXT: Cost Model: Found costs of 30 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; SSE2-NEXT: Cost Model: Found costs of 59 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; SSE2-NEXT: Cost Model: Found costs of 117 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; SSE2-NEXT: Cost Model: Found costs of 233 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; SSE2-NEXT: Cost Model: Found costs of 466 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; SSE2-NEXT: Cost Model: Found costs of 932 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; SSE2-NEXT: Cost Model: Found costs of 1864 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; SSE2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE3-LABEL: 'replication_i1_stride7' ; SSE3-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; SSE3-NEXT: Cost Model: Found costs of 30 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; SSE3-NEXT: Cost Model: Found costs of 59 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; SSE3-NEXT: Cost Model: Found costs of 117 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; SSE3-NEXT: Cost Model: Found costs of 233 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; SSE3-NEXT: Cost Model: Found costs of 466 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; SSE3-NEXT: Cost Model: Found costs of 932 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; SSE3-NEXT: Cost Model: Found costs of 1864 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; SSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSSE3-LABEL: 'replication_i1_stride7' ; SSSE3-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; SSSE3-NEXT: Cost Model: Found costs of 30 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 59 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 117 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 233 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 466 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 932 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 1864 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE41-LABEL: 'replication_i1_stride7' ; SSE41-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; SSE41-NEXT: Cost Model: Found costs of 15 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; SSE41-NEXT: Cost Model: Found costs of 29 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; SSE41-NEXT: Cost Model: Found costs of 57 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; SSE41-NEXT: Cost Model: Found costs of 113 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; SSE41-NEXT: Cost Model: Found costs of 226 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; SSE41-NEXT: Cost Model: Found costs of 452 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; SSE41-NEXT: Cost Model: Found costs of 904 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; SSE41-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE42-LABEL: 'replication_i1_stride7' ; SSE42-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; SSE42-NEXT: Cost Model: Found costs of 15 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; SSE42-NEXT: Cost Model: Found costs of 29 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; SSE42-NEXT: Cost Model: Found costs of 57 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; SSE42-NEXT: Cost Model: Found costs of 113 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; SSE42-NEXT: Cost Model: Found costs of 226 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; SSE42-NEXT: Cost Model: Found costs of 452 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; SSE42-NEXT: Cost Model: Found costs of 904 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX1-LABEL: 'replication_i1_stride7' ; AVX1-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; AVX1-NEXT: Cost Model: Found costs of 15 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; AVX1-NEXT: Cost Model: Found costs of 31 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; AVX1-NEXT: Cost Model: Found costs of 60 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; AVX1-NEXT: Cost Model: Found costs of 117 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; AVX1-NEXT: Cost Model: Found costs of 233 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; AVX1-NEXT: Cost Model: Found costs of 466 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; AVX1-NEXT: Cost Model: Found costs of 932 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX2-LABEL: 'replication_i1_stride7' ; AVX2-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; AVX2-NEXT: Cost Model: Found costs of 15 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; AVX2-NEXT: Cost Model: Found costs of 31 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; AVX2-NEXT: Cost Model: Found costs of 60 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; AVX2-NEXT: Cost Model: Found costs of 117 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; AVX2-NEXT: Cost Model: Found costs of 232 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; AVX2-NEXT: Cost Model: Found costs of 464 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; AVX2-NEXT: Cost Model: Found costs of 928 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC512-LABEL: 'replication_i1_stride7' ; AVX512FVEC512-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:30 SizeLat:16 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:60 SizeLat:32 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:96 CodeSize:64 Lat:120 SizeLat:64 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:192 CodeSize:128 Lat:240 SizeLat:128 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC256-LABEL: 'replication_i1_stride7' ; AVX512FVEC256-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:30 SizeLat:16 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:60 SizeLat:32 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:96 CodeSize:64 Lat:120 SizeLat:64 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:192 CodeSize:128 Lat:240 SizeLat:128 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:384 CodeSize:256 Lat:480 SizeLat:256 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC512-LABEL: 'replication_i1_stride7' ; AVX512DQVEC512-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:30 SizeLat:16 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:60 SizeLat:32 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:96 CodeSize:64 Lat:120 SizeLat:64 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:192 CodeSize:128 Lat:240 SizeLat:128 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC256-LABEL: 'replication_i1_stride7' ; AVX512DQVEC256-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:30 SizeLat:16 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:60 SizeLat:32 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:96 CodeSize:64 Lat:120 SizeLat:64 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:192 CodeSize:128 Lat:240 SizeLat:128 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:384 CodeSize:256 Lat:480 SizeLat:256 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC512-LABEL: 'replication_i1_stride7' ; AVX512BWVEC512-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:17 CodeSize:13 Lat:13 SizeLat:13 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:31 CodeSize:23 Lat:23 SizeLat:23 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:62 CodeSize:46 Lat:46 SizeLat:46 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:124 CodeSize:92 Lat:92 SizeLat:92 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC256-LABEL: 'replication_i1_stride7' ; AVX512BWVEC256-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:17 CodeSize:13 Lat:13 SizeLat:13 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:31 CodeSize:23 Lat:23 SizeLat:23 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:62 CodeSize:46 Lat:46 SizeLat:46 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:124 CodeSize:92 Lat:92 SizeLat:92 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:248 CodeSize:184 Lat:184 SizeLat:184 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC512-LABEL: 'replication_i1_stride7' ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:9 SizeLat:9 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:16 SizeLat:16 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:32 SizeLat:32 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC256-LABEL: 'replication_i1_stride7' ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of 8 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:9 SizeLat:9 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:24 CodeSize:16 Lat:16 SizeLat:16 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:48 CodeSize:32 Lat:32 SizeLat:32 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:96 CodeSize:64 Lat:64 SizeLat:64 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <7 x i32> zeroinitializer %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <14 x i32> %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <28 x i32> %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <56 x i32> %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <112 x i32> %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <224 x i32> %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <448 x i32> %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <896 x i32> ret void } define void @replication_i1_stride8() nounwind "min-legal-vector-width"="256" { ; SSE2-LABEL: 'replication_i1_stride8' ; SSE2-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; SSE2-NEXT: Cost Model: Found costs of 32 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; SSE2-NEXT: Cost Model: Found costs of 63 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; SSE2-NEXT: Cost Model: Found costs of 125 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; SSE2-NEXT: Cost Model: Found costs of 249 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; SSE2-NEXT: Cost Model: Found costs of 498 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; SSE2-NEXT: Cost Model: Found costs of 996 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; SSE2-NEXT: Cost Model: Found costs of 1992 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; SSE2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE3-LABEL: 'replication_i1_stride8' ; SSE3-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; SSE3-NEXT: Cost Model: Found costs of 32 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; SSE3-NEXT: Cost Model: Found costs of 63 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; SSE3-NEXT: Cost Model: Found costs of 125 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; SSE3-NEXT: Cost Model: Found costs of 249 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; SSE3-NEXT: Cost Model: Found costs of 498 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; SSE3-NEXT: Cost Model: Found costs of 996 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; SSE3-NEXT: Cost Model: Found costs of 1992 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; SSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSSE3-LABEL: 'replication_i1_stride8' ; SSSE3-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; SSSE3-NEXT: Cost Model: Found costs of 32 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 63 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 125 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 249 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 498 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 996 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; SSSE3-NEXT: Cost Model: Found costs of 1992 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE41-LABEL: 'replication_i1_stride8' ; SSE41-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; SSE41-NEXT: Cost Model: Found costs of 17 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; SSE41-NEXT: Cost Model: Found costs of 33 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; SSE41-NEXT: Cost Model: Found costs of 65 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; SSE41-NEXT: Cost Model: Found costs of 129 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; SSE41-NEXT: Cost Model: Found costs of 258 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; SSE41-NEXT: Cost Model: Found costs of 516 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; SSE41-NEXT: Cost Model: Found costs of 1032 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; SSE41-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; SSE42-LABEL: 'replication_i1_stride8' ; SSE42-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; SSE42-NEXT: Cost Model: Found costs of 17 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; SSE42-NEXT: Cost Model: Found costs of 33 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; SSE42-NEXT: Cost Model: Found costs of 65 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; SSE42-NEXT: Cost Model: Found costs of 129 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; SSE42-NEXT: Cost Model: Found costs of 258 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; SSE42-NEXT: Cost Model: Found costs of 516 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; SSE42-NEXT: Cost Model: Found costs of 1032 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX1-LABEL: 'replication_i1_stride8' ; AVX1-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; AVX1-NEXT: Cost Model: Found costs of 17 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; AVX1-NEXT: Cost Model: Found costs of 34 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; AVX1-NEXT: Cost Model: Found costs of 67 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; AVX1-NEXT: Cost Model: Found costs of 133 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; AVX1-NEXT: Cost Model: Found costs of 266 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; AVX1-NEXT: Cost Model: Found costs of 532 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; AVX1-NEXT: Cost Model: Found costs of 1064 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX2-LABEL: 'replication_i1_stride8' ; AVX2-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; AVX2-NEXT: Cost Model: Found costs of 17 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; AVX2-NEXT: Cost Model: Found costs of 34 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; AVX2-NEXT: Cost Model: Found costs of 67 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; AVX2-NEXT: Cost Model: Found costs of 133 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; AVX2-NEXT: Cost Model: Found costs of 265 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; AVX2-NEXT: Cost Model: Found costs of 530 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; AVX2-NEXT: Cost Model: Found costs of 1060 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC512-LABEL: 'replication_i1_stride8' ; AVX512FVEC512-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:25 CodeSize:17 Lat:33 SizeLat:17 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:50 CodeSize:34 Lat:66 SizeLat:34 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:100 CodeSize:68 Lat:132 SizeLat:68 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:200 CodeSize:136 Lat:264 SizeLat:136 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; AVX512FVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512FVEC256-LABEL: 'replication_i1_stride8' ; AVX512FVEC256-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:25 CodeSize:17 Lat:33 SizeLat:17 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:50 CodeSize:34 Lat:66 SizeLat:34 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:100 CodeSize:68 Lat:132 SizeLat:68 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:200 CodeSize:136 Lat:264 SizeLat:136 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:400 CodeSize:272 Lat:528 SizeLat:272 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; AVX512FVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC512-LABEL: 'replication_i1_stride8' ; AVX512DQVEC512-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:25 CodeSize:17 Lat:33 SizeLat:17 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:50 CodeSize:34 Lat:66 SizeLat:34 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:100 CodeSize:68 Lat:132 SizeLat:68 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:200 CodeSize:136 Lat:264 SizeLat:136 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; AVX512DQVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512DQVEC256-LABEL: 'replication_i1_stride8' ; AVX512DQVEC256-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:9 SizeLat:5 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:17 SizeLat:9 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:25 CodeSize:17 Lat:33 SizeLat:17 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:50 CodeSize:34 Lat:66 SizeLat:34 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:100 CodeSize:68 Lat:132 SizeLat:68 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:200 CodeSize:136 Lat:264 SizeLat:136 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:400 CodeSize:272 Lat:528 SizeLat:272 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; AVX512DQVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC512-LABEL: 'replication_i1_stride8' ; AVX512BWVEC512-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:17 CodeSize:13 Lat:13 SizeLat:13 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:33 CodeSize:25 Lat:25 SizeLat:25 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:66 CodeSize:50 Lat:50 SizeLat:50 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:132 CodeSize:100 Lat:100 SizeLat:100 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; AVX512BWVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512BWVEC256-LABEL: 'replication_i1_stride8' ; AVX512BWVEC256-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:5 CodeSize:4 Lat:4 SizeLat:4 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:9 CodeSize:7 Lat:7 SizeLat:7 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:17 CodeSize:13 Lat:13 SizeLat:13 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:33 CodeSize:25 Lat:25 SizeLat:25 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:66 CodeSize:50 Lat:50 SizeLat:50 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:132 CodeSize:100 Lat:100 SizeLat:100 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:264 CodeSize:200 Lat:200 SizeLat:200 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; AVX512BWVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC512-LABEL: 'replication_i1_stride8' ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:9 SizeLat:9 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:25 CodeSize:17 Lat:17 SizeLat:17 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:50 CodeSize:34 Lat:34 SizeLat:34 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; AVX512VBMIVEC512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; AVX512VBMIVEC256-LABEL: 'replication_i1_stride8' ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of 9 for: %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:5 SizeLat:3 for: %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:3 SizeLat:3 for: %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:7 CodeSize:5 Lat:5 SizeLat:5 for: %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:13 CodeSize:9 Lat:9 SizeLat:9 for: %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:25 CodeSize:17 Lat:17 SizeLat:17 for: %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:50 CodeSize:34 Lat:34 SizeLat:34 for: %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:100 CodeSize:68 Lat:68 SizeLat:68 for: %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ; AVX512VBMIVEC256-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %vf1 = shufflevector <1 x i1> undef, <1 x i1> poison, <8 x i32> zeroinitializer %vf2 = shufflevector <2 x i1> undef, <2 x i1> poison, <16 x i32> %vf4 = shufflevector <4 x i1> undef, <4 x i1> poison, <32 x i32> %vf8 = shufflevector <8 x i1> undef, <8 x i1> poison, <64 x i32> %vf16 = shufflevector <16 x i1> undef, <16 x i1> poison, <128 x i32> %vf32 = shufflevector <32 x i1> undef, <32 x i1> poison, <256 x i32> %vf64 = shufflevector <64 x i1> undef, <64 x i1> poison, <512 x i32> %vf128 = shufflevector <128 x i1> undef, <128 x i1> poison, <1024 x i32> ret void }