; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 4 ; RUN: opt -passes="print" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v < %s | FileCheck %s ; RUN: opt -passes="print" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v -cost-kind=code-size < %s | FileCheck %s --check-prefix=SIZE define void @vector_insert_nxv128i8_0( %v) { ; CHECK-LABEL: 'vector_insert_nxv128i8_0' ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( %v, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( %v, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( %v, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( %v, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( %v, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( %v, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( %v, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( %v, <2 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( %v, <4 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( %v, <8 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( %v, <16 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( %v, <32 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( %v, <64 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( %v, <128 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; SIZE-LABEL: 'vector_insert_nxv128i8_0' ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( %v, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( %v, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( %v, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( %v, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( %v, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( %v, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( %v, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( %v, <2 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( %v, <4 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( %v, <8 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( %v, <16 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( %v, <32 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( %v, <64 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( %v, <128 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( %v, undef, i64 0) %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( %v, undef, i64 0) %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( %v, undef, i64 0) %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( %v, undef, i64 0) %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( %v, undef, i64 0) %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( %v, undef, i64 0) %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( %v, undef, i64 0) %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( %v, <2 x i8> undef, i64 0) %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( %v, <4 x i8> undef, i64 0) %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( %v, <8 x i8> undef, i64 0) %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( %v, <16 x i8> undef, i64 0) %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( %v, <32 x i8> undef, i64 0) %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( %v, <64 x i8> undef, i64 0) %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( %v, <128 x i8> undef, i64 0) ret void } define void @vector_insert_nxv128i8_undef_0() { ; CHECK-LABEL: 'vector_insert_nxv128i8_undef_0' ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( undef, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( undef, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( undef, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( undef, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( undef, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( undef, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( undef, undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( undef, <2 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( undef, <4 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( undef, <8 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( undef, <16 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( undef, <32 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( undef, <64 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( undef, <128 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; SIZE-LABEL: 'vector_insert_nxv128i8_undef_0' ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( undef, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( undef, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( undef, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( undef, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( undef, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( undef, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( undef, undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( undef, <2 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( undef, <4 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( undef, <8 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( undef, <16 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( undef, <32 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( undef, <64 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( undef, <128 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( undef, undef, i64 0) %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( undef, undef, i64 0) %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( undef, undef, i64 0) %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( undef, undef, i64 0) %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( undef, undef, i64 0) %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( undef, undef, i64 0) %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( undef, undef, i64 0) %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( undef, <2 x i8> undef, i64 0) %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( undef, <4 x i8> undef, i64 0) %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( undef, <8 x i8> undef, i64 0) %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( undef, <16 x i8> undef, i64 0) %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( undef, <32 x i8> undef, i64 0) %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( undef, <64 x i8> undef, i64 0) %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( undef, <128 x i8> undef, i64 0) ret void } define void @vector_insert_nxv128i8_1( %v) { ; CHECK-LABEL: 'vector_insert_nxv128i8_1' ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( %v, undef, i64 1) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( %v, undef, i64 2) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( %v, undef, i64 4) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( %v, undef, i64 8) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( %v, undef, i64 16) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( %v, undef, i64 32) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( %v, undef, i64 64) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( %v, <2 x i8> undef, i64 2) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( %v, <4 x i8> undef, i64 4) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( %v, <8 x i8> undef, i64 8) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( %v, <16 x i8> undef, i64 16) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( %v, <32 x i8> undef, i64 32) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( %v, <64 x i8> undef, i64 64) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( %v, <128 x i8> undef, i64 128) ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; SIZE-LABEL: 'vector_insert_nxv128i8_1' ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( %v, undef, i64 1) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( %v, undef, i64 2) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( %v, undef, i64 4) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( %v, undef, i64 8) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( %v, undef, i64 16) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( %v, undef, i64 32) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( %v, undef, i64 64) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( %v, <2 x i8> undef, i64 2) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( %v, <4 x i8> undef, i64 4) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( %v, <8 x i8> undef, i64 8) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( %v, <16 x i8> undef, i64 16) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( %v, <32 x i8> undef, i64 32) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( %v, <64 x i8> undef, i64 64) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( %v, <128 x i8> undef, i64 128) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( %v, undef, i64 1) %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( %v, undef, i64 2) %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( %v, undef, i64 4) %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( %v, undef, i64 8) %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( %v, undef, i64 16) %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( %v, undef, i64 32) %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( %v, undef, i64 64) %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( %v, <2 x i8> undef, i64 2) %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( %v, <4 x i8> undef, i64 4) %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( %v, <8 x i8> undef, i64 8) %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( %v, <16 x i8> undef, i64 16) %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( %v, <32 x i8> undef, i64 32) %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( %v, <64 x i8> undef, i64 64) %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( %v, <128 x i8> undef, i64 128) ret void } define void @vector_insert_nxv128i8_undef_1() { ; CHECK-LABEL: 'vector_insert_nxv128i8_undef_1' ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( undef, undef, i64 1) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( undef, undef, i64 2) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( undef, undef, i64 4) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( undef, undef, i64 8) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( undef, undef, i64 16) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( undef, undef, i64 32) ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( undef, undef, i64 64) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( undef, <2 x i8> undef, i64 2) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( undef, <4 x i8> undef, i64 4) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( undef, <8 x i8> undef, i64 8) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( undef, <16 x i8> undef, i64 16) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( undef, <32 x i8> undef, i64 32) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( undef, <64 x i8> undef, i64 64) ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( undef, <128 x i8> undef, i64 128) ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; SIZE-LABEL: 'vector_insert_nxv128i8_undef_1' ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( undef, undef, i64 1) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( undef, undef, i64 2) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( undef, undef, i64 4) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( undef, undef, i64 8) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( undef, undef, i64 16) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( undef, undef, i64 32) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( undef, undef, i64 64) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( undef, <2 x i8> undef, i64 2) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( undef, <4 x i8> undef, i64 4) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( undef, <8 x i8> undef, i64 8) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( undef, <16 x i8> undef, i64 16) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( undef, <32 x i8> undef, i64 32) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( undef, <64 x i8> undef, i64 64) ; SIZE-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( undef, <128 x i8> undef, i64 128) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; %scalable_mf8 = call @llvm.vector.insert.nxv128i8.nxv1i8( undef, undef, i64 1) %scalable_mf4 = call @llvm.vector.insert.nxv128i8.nxv2i8( undef, undef, i64 2) %scalable_mf2 = call @llvm.vector.insert.nxv128i8.nxv4i8( undef, undef, i64 4) %scalable_m1 = call @llvm.vector.insert.nxv128i8.nxv8i8( undef, undef, i64 8) %scalable_m2 = call @llvm.vector.insert.nxv128i8.nxv16i8( undef, undef, i64 16) %scalable_m4 = call @llvm.vector.insert.nxv128i8.nxv32i8( undef, undef, i64 32) %scalable_m8 = call @llvm.vector.insert.nxv128i8.nxv64i8( undef, undef, i64 64) %fixed_mf8 = call @llvm.vector.insert.nxv128i8.v2i8( undef, <2 x i8> undef, i64 2) %fixed_mf4 = call @llvm.vector.insert.nxv128i8.v4i8( undef, <4 x i8> undef, i64 4) %fixed_mf2 = call @llvm.vector.insert.nxv128i8.v8i8( undef, <8 x i8> undef, i64 8) %fixed_m1 = call @llvm.vector.insert.nxv128i8.v16i8( undef, <16 x i8> undef, i64 16) %fixed_m2 = call @llvm.vector.insert.nxv128i8.v32i8( undef, <32 x i8> undef, i64 32) %fixed_m4 = call @llvm.vector.insert.nxv128i8.v64i8( undef, <64 x i8> undef, i64 64) %fixed_m8 = call @llvm.vector.insert.nxv128i8.v128i8( undef, <128 x i8> undef, i64 128) ret void } define void @vector_insert_v128i8_0(<128 x i8> %v) { ; CHECK-LABEL: 'vector_insert_v128i8_0' ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> %v, <2 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> %v, <4 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> %v, <8 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> %v, <16 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> %v, <32 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> %v, <64 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m8 = call <128 x i8> @llvm.vector.insert.v128i8.v128i8(<128 x i8> %v, <128 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; SIZE-LABEL: 'vector_insert_v128i8_0' ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> %v, <2 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> %v, <4 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> %v, <8 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> %v, <16 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> %v, <32 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> %v, <64 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m8 = call <128 x i8> @llvm.vector.insert.v128i8.v128i8(<128 x i8> %v, <128 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> %v, <2 x i8> undef, i64 0) %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> %v, <4 x i8> undef, i64 0) %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> %v, <8 x i8> undef, i64 0) %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> %v, <16 x i8> undef, i64 0) %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> %v, <32 x i8> undef, i64 0) %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> %v, <64 x i8> undef, i64 0) %fixed_m8 = call <128 x i8> @llvm.vector.insert.v128i8.v128i8(<128 x i8> %v, <128 x i8> undef, i64 0) ret void } define void @vector_insert_v128i8_undef_0() { ; CHECK-LABEL: 'vector_insert_v128i8_undef_0' ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> undef, <2 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> undef, <4 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> undef, <8 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> undef, <16 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> undef, <32 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> undef, <64 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m8 = call <128 x i8> @llvm.vector.insert.v128i8.v128i8(<128 x i8> undef, <128 x i8> undef, i64 0) ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; SIZE-LABEL: 'vector_insert_v128i8_undef_0' ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> undef, <2 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> undef, <4 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> undef, <8 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> undef, <16 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> undef, <32 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> undef, <64 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m8 = call <128 x i8> @llvm.vector.insert.v128i8.v128i8(<128 x i8> undef, <128 x i8> undef, i64 0) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> undef, <2 x i8> undef, i64 0) %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> undef, <4 x i8> undef, i64 0) %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> undef, <8 x i8> undef, i64 0) %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> undef, <16 x i8> undef, i64 0) %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> undef, <32 x i8> undef, i64 0) %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> undef, <64 x i8> undef, i64 0) %fixed_m8 = call <128 x i8> @llvm.vector.insert.v128i8.v128i8(<128 x i8> undef, <128 x i8> undef, i64 0) ret void } define void @vector_insert_v128i8_1(<128 x i8> %v) { ; CHECK-LABEL: 'vector_insert_v128i8_1' ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> %v, <2 x i8> undef, i64 2) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> %v, <4 x i8> undef, i64 4) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> %v, <8 x i8> undef, i64 8) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> %v, <16 x i8> undef, i64 16) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> %v, <32 x i8> undef, i64 32) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> %v, <64 x i8> undef, i64 64) ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; SIZE-LABEL: 'vector_insert_v128i8_1' ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> %v, <2 x i8> undef, i64 2) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> %v, <4 x i8> undef, i64 4) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> %v, <8 x i8> undef, i64 8) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> %v, <16 x i8> undef, i64 16) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> %v, <32 x i8> undef, i64 32) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> %v, <64 x i8> undef, i64 64) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> %v, <2 x i8> undef, i64 2) %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> %v, <4 x i8> undef, i64 4) %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> %v, <8 x i8> undef, i64 8) %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> %v, <16 x i8> undef, i64 16) %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> %v, <32 x i8> undef, i64 32) %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> %v, <64 x i8> undef, i64 64) ; No @llvm.vector.insert.v128i8.v128i8(<128 x i8> %v, <128 x i8> undef, i64 128) since it would overrun ret void } define void @vector_insert_v128i8_undef_1() { ; CHECK-LABEL: 'vector_insert_v128i8_undef_1' ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> undef, <2 x i8> undef, i64 2) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> undef, <4 x i8> undef, i64 4) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> undef, <8 x i8> undef, i64 8) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> undef, <16 x i8> undef, i64 16) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> undef, <32 x i8> undef, i64 32) ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> undef, <64 x i8> undef, i64 64) ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void ; ; SIZE-LABEL: 'vector_insert_v128i8_undef_1' ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> undef, <2 x i8> undef, i64 2) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> undef, <4 x i8> undef, i64 4) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> undef, <8 x i8> undef, i64 8) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> undef, <16 x i8> undef, i64 16) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> undef, <32 x i8> undef, i64 32) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> undef, <64 x i8> undef, i64 64) ; SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret void ; %fixed_mf8 = call <128 x i8> @llvm.vector.insert.v128i8.v2i8(<128 x i8> undef, <2 x i8> undef, i64 2) %fixed_mf4 = call <128 x i8> @llvm.vector.insert.v128i8.v4i8(<128 x i8> undef, <4 x i8> undef, i64 4) %fixed_mf2 = call <128 x i8> @llvm.vector.insert.v128i8.v8i8(<128 x i8> undef, <8 x i8> undef, i64 8) %fixed_m1 = call <128 x i8> @llvm.vector.insert.v128i8.v16i8(<128 x i8> undef, <16 x i8> undef, i64 16) %fixed_m2 = call <128 x i8> @llvm.vector.insert.v128i8.v32i8(<128 x i8> undef, <32 x i8> undef, i64 32) %fixed_m4 = call <128 x i8> @llvm.vector.insert.v128i8.v64i8(<128 x i8> undef, <64 x i8> undef, i64 64) ; No @llvm.vector.insert.v128i8.v128i8(<128 x i8> undef, <128 x i8> undef, i64 128) since it would overrun ret void }