diff --git a/clang/include/clang/Basic/riscv_vector.td b/clang/include/clang/Basic/riscv_vector.td index c685f3ef6087d..9341e1ad1019f 100644 --- a/clang/include/clang/Basic/riscv_vector.td +++ b/clang/include/clang/Basic/riscv_vector.td @@ -345,6 +345,32 @@ class VString { !eq(nf, 8): !if(signed, "vvvvvvvv", "UvUvUvUvUvUvUvUv")); } + +class FixedVString { + string V = "(LFixedLog2LMUL:" # fixed_lmul # ")" # vec; + string S = !interleave(!listsplat(V, num), ""); +} + +multiclass RVVNonTupleVCreateBuiltin src_lmul_list> { + defvar dst_v = FixedVString.V; + defvar dst_uv = FixedVString.V; + foreach src_lmul = src_lmul_list in { + defvar num = !shl(1, !sub(dst_lmul, src_lmul)); + + defvar src_v = FixedVString.V; + defvar src_s = FixedVString.S; + def vcreate # src_v # dst_v : RVVBuiltin; + + defvar src_uv = FixedVString.V; + defvar src_us = FixedVString.S; + def vcreate_u # src_uv # dst_uv : RVVBuiltin; + } +} + multiclass RVVPseudoUnaryBuiltin { let Name = NAME, IRName = IR, @@ -2429,15 +2455,31 @@ let HasMasked = false, HasVL = false, IRName = "" in { SupportOverloading = false, ManualCodegen = [{ { - assert(isa(ResultType)); - unsigned NF = cast(ResultType)->getNumElements(); - llvm::Value *ReturnTuple = llvm::PoisonValue::get(ResultType); - for (unsigned I = 0; I < NF; ++I) { - ReturnTuple = Builder.CreateInsertValue(ReturnTuple, Ops[I], {I}); + if (isa(ResultType)) { + unsigned NF = cast(ResultType)->getNumElements(); + llvm::Value *ReturnTuple = llvm::PoisonValue::get(ResultType); + for (unsigned I = 0; I < NF; ++I) { + ReturnTuple = Builder.CreateInsertValue(ReturnTuple, Ops[I], {I}); + } + return ReturnTuple; } - return ReturnTuple; + llvm::Value *ReturnVector = llvm::PoisonValue::get(ResultType); + auto *VecTy = cast(Ops[0]->getType()); + for (unsigned I = 0, N = Ops.size(); I < N; ++I) { + llvm::Value *Idx = + ConstantInt::get(Builder.getInt64Ty(), + VecTy->getMinNumElements() * I); + ReturnVector = + Builder.CreateInsertVector(ResultType, ReturnVector, Ops[I], Idx); + } + return ReturnVector; } }] in { + + defm : RVVNonTupleVCreateBuiltin<1, [0]>; + defm : RVVNonTupleVCreateBuiltin<2, [0, 1]>; + defm : RVVNonTupleVCreateBuiltin<3, [0, 1, 2]>; + foreach nf = NFList in { let NF = nf in { defvar T = "(Tuple:" # nf # ")"; diff --git a/clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcreate.c b/clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcreate.c index 5dee49e455741..2878f2a3277a7 100644 --- a/clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcreate.c +++ b/clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcreate.c @@ -1,4 +1,4 @@ -// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 2 +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 3 // REQUIRES: riscv-registered-target // RUN: %clang_cc1 -triple riscv64 -target-feature +v -target-feature +zfh \ // RUN: -target-feature +zvfh -disable-O0-optnone \ @@ -7,8 +7,897 @@ #include -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f16mf4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0:[0-9]+]] { +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f16m1_f16m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0:[0-9]+]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8f16.nxv4f16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8f16.nxv4f16( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vfloat16m2_t test_vcreate_v_f16m1_f16m2(vfloat16m1_t v0, vfloat16m1_t v1) { + return __riscv_vcreate_v_f16m1_f16m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f16m1_f16m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16f16.nxv4f16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16f16.nxv4f16( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv16f16.nxv4f16( [[TMP1]], [[V2]], i64 8) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv16f16.nxv4f16( [[TMP2]], [[V3]], i64 12) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vfloat16m4_t test_vcreate_v_f16m1_f16m4(vfloat16m1_t v0, vfloat16m1_t v1, + vfloat16m1_t v2, vfloat16m1_t v3) { + return __riscv_vcreate_v_f16m1_f16m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f16m1_f16m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32f16.nxv4f16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32f16.nxv4f16( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv32f16.nxv4f16( [[TMP1]], [[V2]], i64 8) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv32f16.nxv4f16( [[TMP2]], [[V3]], i64 12) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv32f16.nxv4f16( [[TMP3]], [[V4]], i64 16) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv32f16.nxv4f16( [[TMP4]], [[V5]], i64 20) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv32f16.nxv4f16( [[TMP5]], [[V6]], i64 24) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv32f16.nxv4f16( [[TMP6]], [[V7]], i64 28) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vfloat16m8_t test_vcreate_v_f16m1_f16m8(vfloat16m1_t v0, vfloat16m1_t v1, + vfloat16m1_t v2, vfloat16m1_t v3, + vfloat16m1_t v4, vfloat16m1_t v5, + vfloat16m1_t v6, vfloat16m1_t v7) { + return __riscv_vcreate_v_f16m1_f16m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f16m2_f16m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16f16.nxv8f16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16f16.nxv8f16( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vfloat16m4_t test_vcreate_v_f16m2_f16m4(vfloat16m2_t v0, vfloat16m2_t v1) { + return __riscv_vcreate_v_f16m2_f16m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f16m2_f16m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32f16.nxv8f16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32f16.nxv8f16( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv32f16.nxv8f16( [[TMP1]], [[V2]], i64 16) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv32f16.nxv8f16( [[TMP2]], [[V3]], i64 24) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vfloat16m8_t test_vcreate_v_f16m2_f16m8(vfloat16m2_t v0, vfloat16m2_t v1, + vfloat16m2_t v2, vfloat16m2_t v3) { + return __riscv_vcreate_v_f16m2_f16m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f16m4_f16m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32f16.nxv16f16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32f16.nxv16f16( [[TMP0]], [[V1]], i64 16) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vfloat16m8_t test_vcreate_v_f16m4_f16m8(vfloat16m4_t v0, vfloat16m4_t v1) { + return __riscv_vcreate_v_f16m4_f16m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f32m1_f32m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv4f32.nxv2f32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv4f32.nxv2f32( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vfloat32m2_t test_vcreate_v_f32m1_f32m2(vfloat32m1_t v0, vfloat32m1_t v1) { + return __riscv_vcreate_v_f32m1_f32m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f32m1_f32m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8f32.nxv2f32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8f32.nxv2f32( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv8f32.nxv2f32( [[TMP1]], [[V2]], i64 4) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv8f32.nxv2f32( [[TMP2]], [[V3]], i64 6) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vfloat32m4_t test_vcreate_v_f32m1_f32m4(vfloat32m1_t v0, vfloat32m1_t v1, + vfloat32m1_t v2, vfloat32m1_t v3) { + return __riscv_vcreate_v_f32m1_f32m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f32m1_f32m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16f32.nxv2f32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16f32.nxv2f32( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv16f32.nxv2f32( [[TMP1]], [[V2]], i64 4) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv16f32.nxv2f32( [[TMP2]], [[V3]], i64 6) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv16f32.nxv2f32( [[TMP3]], [[V4]], i64 8) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv16f32.nxv2f32( [[TMP4]], [[V5]], i64 10) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv16f32.nxv2f32( [[TMP5]], [[V6]], i64 12) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv16f32.nxv2f32( [[TMP6]], [[V7]], i64 14) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vfloat32m8_t test_vcreate_v_f32m1_f32m8(vfloat32m1_t v0, vfloat32m1_t v1, + vfloat32m1_t v2, vfloat32m1_t v3, + vfloat32m1_t v4, vfloat32m1_t v5, + vfloat32m1_t v6, vfloat32m1_t v7) { + return __riscv_vcreate_v_f32m1_f32m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f32m2_f32m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8f32.nxv4f32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8f32.nxv4f32( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vfloat32m4_t test_vcreate_v_f32m2_f32m4(vfloat32m2_t v0, vfloat32m2_t v1) { + return __riscv_vcreate_v_f32m2_f32m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f32m2_f32m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16f32.nxv4f32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16f32.nxv4f32( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv16f32.nxv4f32( [[TMP1]], [[V2]], i64 8) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv16f32.nxv4f32( [[TMP2]], [[V3]], i64 12) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vfloat32m8_t test_vcreate_v_f32m2_f32m8(vfloat32m2_t v0, vfloat32m2_t v1, + vfloat32m2_t v2, vfloat32m2_t v3) { + return __riscv_vcreate_v_f32m2_f32m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f32m4_f32m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16f32.nxv8f32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16f32.nxv8f32( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vfloat32m8_t test_vcreate_v_f32m4_f32m8(vfloat32m4_t v0, vfloat32m4_t v1) { + return __riscv_vcreate_v_f32m4_f32m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f64m1_f64m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv2f64.nxv1f64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv2f64.nxv1f64( [[TMP0]], [[V1]], i64 1) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vfloat64m2_t test_vcreate_v_f64m1_f64m2(vfloat64m1_t v0, vfloat64m1_t v1) { + return __riscv_vcreate_v_f64m1_f64m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f64m1_f64m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv4f64.nxv1f64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv4f64.nxv1f64( [[TMP0]], [[V1]], i64 1) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv4f64.nxv1f64( [[TMP1]], [[V2]], i64 2) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv4f64.nxv1f64( [[TMP2]], [[V3]], i64 3) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vfloat64m4_t test_vcreate_v_f64m1_f64m4(vfloat64m1_t v0, vfloat64m1_t v1, + vfloat64m1_t v2, vfloat64m1_t v3) { + return __riscv_vcreate_v_f64m1_f64m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f64m1_f64m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8f64.nxv1f64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8f64.nxv1f64( [[TMP0]], [[V1]], i64 1) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv8f64.nxv1f64( [[TMP1]], [[V2]], i64 2) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv8f64.nxv1f64( [[TMP2]], [[V3]], i64 3) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv8f64.nxv1f64( [[TMP3]], [[V4]], i64 4) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv8f64.nxv1f64( [[TMP4]], [[V5]], i64 5) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv8f64.nxv1f64( [[TMP5]], [[V6]], i64 6) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv8f64.nxv1f64( [[TMP6]], [[V7]], i64 7) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vfloat64m8_t test_vcreate_v_f64m1_f64m8(vfloat64m1_t v0, vfloat64m1_t v1, + vfloat64m1_t v2, vfloat64m1_t v3, + vfloat64m1_t v4, vfloat64m1_t v5, + vfloat64m1_t v6, vfloat64m1_t v7) { + return __riscv_vcreate_v_f64m1_f64m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f64m2_f64m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv4f64.nxv2f64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv4f64.nxv2f64( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vfloat64m4_t test_vcreate_v_f64m2_f64m4(vfloat64m2_t v0, vfloat64m2_t v1) { + return __riscv_vcreate_v_f64m2_f64m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f64m2_f64m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8f64.nxv2f64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8f64.nxv2f64( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv8f64.nxv2f64( [[TMP1]], [[V2]], i64 4) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv8f64.nxv2f64( [[TMP2]], [[V3]], i64 6) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vfloat64m8_t test_vcreate_v_f64m2_f64m8(vfloat64m2_t v0, vfloat64m2_t v1, + vfloat64m2_t v2, vfloat64m2_t v3) { + return __riscv_vcreate_v_f64m2_f64m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_f64m4_f64m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8f64.nxv4f64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8f64.nxv4f64( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vfloat64m8_t test_vcreate_v_f64m4_f64m8(vfloat64m4_t v0, vfloat64m4_t v1) { + return __riscv_vcreate_v_f64m4_f64m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i8m1_i8m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i8.nxv8i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i8.nxv8i8( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint8m2_t test_vcreate_v_i8m1_i8m2(vint8m1_t v0, vint8m1_t v1) { + return __riscv_vcreate_v_i8m1_i8m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i8m1_i8m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32i8.nxv8i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32i8.nxv8i8( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv32i8.nxv8i8( [[TMP1]], [[V2]], i64 16) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv32i8.nxv8i8( [[TMP2]], [[V3]], i64 24) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vint8m4_t test_vcreate_v_i8m1_i8m4(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, + vint8m1_t v3) { + return __riscv_vcreate_v_i8m1_i8m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i8m1_i8m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP1]], [[V2]], i64 16) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP2]], [[V3]], i64 24) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP3]], [[V4]], i64 32) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP4]], [[V5]], i64 40) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP5]], [[V6]], i64 48) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP6]], [[V7]], i64 56) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vint8m8_t test_vcreate_v_i8m1_i8m8(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, + vint8m1_t v3, vint8m1_t v4, vint8m1_t v5, + vint8m1_t v6, vint8m1_t v7) { + return __riscv_vcreate_v_i8m1_i8m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i8m2_i8m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32i8.nxv16i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32i8.nxv16i8( [[TMP0]], [[V1]], i64 16) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint8m4_t test_vcreate_v_i8m2_i8m4(vint8m2_t v0, vint8m2_t v1) { + return __riscv_vcreate_v_i8m2_i8m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i8m2_i8m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv64i8.nxv16i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv64i8.nxv16i8( [[TMP0]], [[V1]], i64 16) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv64i8.nxv16i8( [[TMP1]], [[V2]], i64 32) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv64i8.nxv16i8( [[TMP2]], [[V3]], i64 48) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vint8m8_t test_vcreate_v_i8m2_i8m8(vint8m2_t v0, vint8m2_t v1, vint8m2_t v2, + vint8m2_t v3) { + return __riscv_vcreate_v_i8m2_i8m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i8m4_i8m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv64i8.nxv32i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv64i8.nxv32i8( [[TMP0]], [[V1]], i64 32) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint8m8_t test_vcreate_v_i8m4_i8m8(vint8m4_t v0, vint8m4_t v1) { + return __riscv_vcreate_v_i8m4_i8m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i16m1_i16m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i16.nxv4i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i16.nxv4i16( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint16m2_t test_vcreate_v_i16m1_i16m2(vint16m1_t v0, vint16m1_t v1) { + return __riscv_vcreate_v_i16m1_i16m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i16m1_i16m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i16.nxv4i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i16.nxv4i16( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv16i16.nxv4i16( [[TMP1]], [[V2]], i64 8) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv16i16.nxv4i16( [[TMP2]], [[V3]], i64 12) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vint16m4_t test_vcreate_v_i16m1_i16m4(vint16m1_t v0, vint16m1_t v1, + vint16m1_t v2, vint16m1_t v3) { + return __riscv_vcreate_v_i16m1_i16m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i16m1_i16m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP1]], [[V2]], i64 8) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP2]], [[V3]], i64 12) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP3]], [[V4]], i64 16) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP4]], [[V5]], i64 20) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP5]], [[V6]], i64 24) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP6]], [[V7]], i64 28) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vint16m8_t test_vcreate_v_i16m1_i16m8(vint16m1_t v0, vint16m1_t v1, + vint16m1_t v2, vint16m1_t v3, + vint16m1_t v4, vint16m1_t v5, + vint16m1_t v6, vint16m1_t v7) { + return __riscv_vcreate_v_i16m1_i16m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i16m2_i16m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i16.nxv8i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i16.nxv8i16( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint16m4_t test_vcreate_v_i16m2_i16m4(vint16m2_t v0, vint16m2_t v1) { + return __riscv_vcreate_v_i16m2_i16m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i16m2_i16m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32i16.nxv8i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32i16.nxv8i16( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv32i16.nxv8i16( [[TMP1]], [[V2]], i64 16) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv32i16.nxv8i16( [[TMP2]], [[V3]], i64 24) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vint16m8_t test_vcreate_v_i16m2_i16m8(vint16m2_t v0, vint16m2_t v1, + vint16m2_t v2, vint16m2_t v3) { + return __riscv_vcreate_v_i16m2_i16m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i16m4_i16m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32i16.nxv16i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32i16.nxv16i16( [[TMP0]], [[V1]], i64 16) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint16m8_t test_vcreate_v_i16m4_i16m8(vint16m4_t v0, vint16m4_t v1) { + return __riscv_vcreate_v_i16m4_i16m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i32m1_i32m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv4i32.nxv2i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv4i32.nxv2i32( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint32m2_t test_vcreate_v_i32m1_i32m2(vint32m1_t v0, vint32m1_t v1) { + return __riscv_vcreate_v_i32m1_i32m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i32m1_i32m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i32.nxv2i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i32.nxv2i32( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv8i32.nxv2i32( [[TMP1]], [[V2]], i64 4) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv8i32.nxv2i32( [[TMP2]], [[V3]], i64 6) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vint32m4_t test_vcreate_v_i32m1_i32m4(vint32m1_t v0, vint32m1_t v1, + vint32m1_t v2, vint32m1_t v3) { + return __riscv_vcreate_v_i32m1_i32m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i32m1_i32m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP1]], [[V2]], i64 4) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP2]], [[V3]], i64 6) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP3]], [[V4]], i64 8) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP4]], [[V5]], i64 10) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP5]], [[V6]], i64 12) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP6]], [[V7]], i64 14) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vint32m8_t test_vcreate_v_i32m1_i32m8(vint32m1_t v0, vint32m1_t v1, + vint32m1_t v2, vint32m1_t v3, + vint32m1_t v4, vint32m1_t v5, + vint32m1_t v6, vint32m1_t v7) { + return __riscv_vcreate_v_i32m1_i32m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i32m2_i32m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i32.nxv4i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i32.nxv4i32( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint32m4_t test_vcreate_v_i32m2_i32m4(vint32m2_t v0, vint32m2_t v1) { + return __riscv_vcreate_v_i32m2_i32m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i32m2_i32m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i32.nxv4i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i32.nxv4i32( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv16i32.nxv4i32( [[TMP1]], [[V2]], i64 8) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv16i32.nxv4i32( [[TMP2]], [[V3]], i64 12) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vint32m8_t test_vcreate_v_i32m2_i32m8(vint32m2_t v0, vint32m2_t v1, + vint32m2_t v2, vint32m2_t v3) { + return __riscv_vcreate_v_i32m2_i32m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i32m4_i32m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i32.nxv8i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i32.nxv8i32( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint32m8_t test_vcreate_v_i32m4_i32m8(vint32m4_t v0, vint32m4_t v1) { + return __riscv_vcreate_v_i32m4_i32m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i64m1_i64m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv2i64.nxv1i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv2i64.nxv1i64( [[TMP0]], [[V1]], i64 1) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint64m2_t test_vcreate_v_i64m1_i64m2(vint64m1_t v0, vint64m1_t v1) { + return __riscv_vcreate_v_i64m1_i64m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i64m1_i64m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv4i64.nxv1i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv4i64.nxv1i64( [[TMP0]], [[V1]], i64 1) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv4i64.nxv1i64( [[TMP1]], [[V2]], i64 2) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv4i64.nxv1i64( [[TMP2]], [[V3]], i64 3) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vint64m4_t test_vcreate_v_i64m1_i64m4(vint64m1_t v0, vint64m1_t v1, + vint64m1_t v2, vint64m1_t v3) { + return __riscv_vcreate_v_i64m1_i64m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i64m1_i64m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP0]], [[V1]], i64 1) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP1]], [[V2]], i64 2) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP2]], [[V3]], i64 3) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP3]], [[V4]], i64 4) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP4]], [[V5]], i64 5) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP5]], [[V6]], i64 6) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP6]], [[V7]], i64 7) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vint64m8_t test_vcreate_v_i64m1_i64m8(vint64m1_t v0, vint64m1_t v1, + vint64m1_t v2, vint64m1_t v3, + vint64m1_t v4, vint64m1_t v5, + vint64m1_t v6, vint64m1_t v7) { + return __riscv_vcreate_v_i64m1_i64m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i64m2_i64m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv4i64.nxv2i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv4i64.nxv2i64( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint64m4_t test_vcreate_v_i64m2_i64m4(vint64m2_t v0, vint64m2_t v1) { + return __riscv_vcreate_v_i64m2_i64m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i64m2_i64m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i64.nxv2i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i64.nxv2i64( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv8i64.nxv2i64( [[TMP1]], [[V2]], i64 4) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv8i64.nxv2i64( [[TMP2]], [[V3]], i64 6) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vint64m8_t test_vcreate_v_i64m2_i64m8(vint64m2_t v0, vint64m2_t v1, + vint64m2_t v2, vint64m2_t v3) { + return __riscv_vcreate_v_i64m2_i64m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_i64m4_i64m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i64.nxv4i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i64.nxv4i64( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vint64m8_t test_vcreate_v_i64m4_i64m8(vint64m4_t v0, vint64m4_t v1) { + return __riscv_vcreate_v_i64m4_i64m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u8m1_u8m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i8.nxv8i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i8.nxv8i8( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint8m2_t test_vcreate_v_u8m1_u8m2(vuint8m1_t v0, vuint8m1_t v1) { + return __riscv_vcreate_v_u8m1_u8m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u8m1_u8m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32i8.nxv8i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32i8.nxv8i8( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv32i8.nxv8i8( [[TMP1]], [[V2]], i64 16) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv32i8.nxv8i8( [[TMP2]], [[V3]], i64 24) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vuint8m4_t test_vcreate_v_u8m1_u8m4(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, + vuint8m1_t v3) { + return __riscv_vcreate_v_u8m1_u8m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u8m1_u8m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP1]], [[V2]], i64 16) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP2]], [[V3]], i64 24) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP3]], [[V4]], i64 32) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP4]], [[V5]], i64 40) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP5]], [[V6]], i64 48) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv64i8.nxv8i8( [[TMP6]], [[V7]], i64 56) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vuint8m8_t test_vcreate_v_u8m1_u8m8(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, + vuint8m1_t v3, vuint8m1_t v4, vuint8m1_t v5, + vuint8m1_t v6, vuint8m1_t v7) { + return __riscv_vcreate_v_u8m1_u8m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u8m2_u8m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32i8.nxv16i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32i8.nxv16i8( [[TMP0]], [[V1]], i64 16) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint8m4_t test_vcreate_v_u8m2_u8m4(vuint8m2_t v0, vuint8m2_t v1) { + return __riscv_vcreate_v_u8m2_u8m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u8m2_u8m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv64i8.nxv16i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv64i8.nxv16i8( [[TMP0]], [[V1]], i64 16) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv64i8.nxv16i8( [[TMP1]], [[V2]], i64 32) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv64i8.nxv16i8( [[TMP2]], [[V3]], i64 48) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vuint8m8_t test_vcreate_v_u8m2_u8m8(vuint8m2_t v0, vuint8m2_t v1, vuint8m2_t v2, + vuint8m2_t v3) { + return __riscv_vcreate_v_u8m2_u8m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u8m4_u8m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv64i8.nxv32i8( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv64i8.nxv32i8( [[TMP0]], [[V1]], i64 32) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint8m8_t test_vcreate_v_u8m4_u8m8(vuint8m4_t v0, vuint8m4_t v1) { + return __riscv_vcreate_v_u8m4_u8m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u16m1_u16m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i16.nxv4i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i16.nxv4i16( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint16m2_t test_vcreate_v_u16m1_u16m2(vuint16m1_t v0, vuint16m1_t v1) { + return __riscv_vcreate_v_u16m1_u16m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u16m1_u16m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i16.nxv4i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i16.nxv4i16( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv16i16.nxv4i16( [[TMP1]], [[V2]], i64 8) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv16i16.nxv4i16( [[TMP2]], [[V3]], i64 12) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vuint16m4_t test_vcreate_v_u16m1_u16m4(vuint16m1_t v0, vuint16m1_t v1, + vuint16m1_t v2, vuint16m1_t v3) { + return __riscv_vcreate_v_u16m1_u16m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u16m1_u16m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP1]], [[V2]], i64 8) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP2]], [[V3]], i64 12) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP3]], [[V4]], i64 16) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP4]], [[V5]], i64 20) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP5]], [[V6]], i64 24) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv32i16.nxv4i16( [[TMP6]], [[V7]], i64 28) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vuint16m8_t test_vcreate_v_u16m1_u16m8(vuint16m1_t v0, vuint16m1_t v1, + vuint16m1_t v2, vuint16m1_t v3, + vuint16m1_t v4, vuint16m1_t v5, + vuint16m1_t v6, vuint16m1_t v7) { + return __riscv_vcreate_v_u16m1_u16m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u16m2_u16m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i16.nxv8i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i16.nxv8i16( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint16m4_t test_vcreate_v_u16m2_u16m4(vuint16m2_t v0, vuint16m2_t v1) { + return __riscv_vcreate_v_u16m2_u16m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u16m2_u16m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32i16.nxv8i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32i16.nxv8i16( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv32i16.nxv8i16( [[TMP1]], [[V2]], i64 16) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv32i16.nxv8i16( [[TMP2]], [[V3]], i64 24) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vuint16m8_t test_vcreate_v_u16m2_u16m8(vuint16m2_t v0, vuint16m2_t v1, + vuint16m2_t v2, vuint16m2_t v3) { + return __riscv_vcreate_v_u16m2_u16m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u16m4_u16m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv32i16.nxv16i16( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv32i16.nxv16i16( [[TMP0]], [[V1]], i64 16) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint16m8_t test_vcreate_v_u16m4_u16m8(vuint16m4_t v0, vuint16m4_t v1) { + return __riscv_vcreate_v_u16m4_u16m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u32m1_u32m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv4i32.nxv2i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv4i32.nxv2i32( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint32m2_t test_vcreate_v_u32m1_u32m2(vuint32m1_t v0, vuint32m1_t v1) { + return __riscv_vcreate_v_u32m1_u32m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u32m1_u32m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i32.nxv2i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i32.nxv2i32( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv8i32.nxv2i32( [[TMP1]], [[V2]], i64 4) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv8i32.nxv2i32( [[TMP2]], [[V3]], i64 6) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vuint32m4_t test_vcreate_v_u32m1_u32m4(vuint32m1_t v0, vuint32m1_t v1, + vuint32m1_t v2, vuint32m1_t v3) { + return __riscv_vcreate_v_u32m1_u32m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u32m1_u32m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP1]], [[V2]], i64 4) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP2]], [[V3]], i64 6) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP3]], [[V4]], i64 8) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP4]], [[V5]], i64 10) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP5]], [[V6]], i64 12) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv16i32.nxv2i32( [[TMP6]], [[V7]], i64 14) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vuint32m8_t test_vcreate_v_u32m1_u32m8(vuint32m1_t v0, vuint32m1_t v1, + vuint32m1_t v2, vuint32m1_t v3, + vuint32m1_t v4, vuint32m1_t v5, + vuint32m1_t v6, vuint32m1_t v7) { + return __riscv_vcreate_v_u32m1_u32m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u32m2_u32m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i32.nxv4i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i32.nxv4i32( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint32m4_t test_vcreate_v_u32m2_u32m4(vuint32m2_t v0, vuint32m2_t v1) { + return __riscv_vcreate_v_u32m2_u32m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u32m2_u32m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i32.nxv4i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i32.nxv4i32( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv16i32.nxv4i32( [[TMP1]], [[V2]], i64 8) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv16i32.nxv4i32( [[TMP2]], [[V3]], i64 12) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vuint32m8_t test_vcreate_v_u32m2_u32m8(vuint32m2_t v0, vuint32m2_t v1, + vuint32m2_t v2, vuint32m2_t v3) { + return __riscv_vcreate_v_u32m2_u32m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u32m4_u32m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv16i32.nxv8i32( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv16i32.nxv8i32( [[TMP0]], [[V1]], i64 8) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint32m8_t test_vcreate_v_u32m4_u32m8(vuint32m4_t v0, vuint32m4_t v1) { + return __riscv_vcreate_v_u32m4_u32m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u64m1_u64m2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv2i64.nxv1i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv2i64.nxv1i64( [[TMP0]], [[V1]], i64 1) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint64m2_t test_vcreate_v_u64m1_u64m2(vuint64m1_t v0, vuint64m1_t v1) { + return __riscv_vcreate_v_u64m1_u64m2(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u64m1_u64m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv4i64.nxv1i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv4i64.nxv1i64( [[TMP0]], [[V1]], i64 1) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv4i64.nxv1i64( [[TMP1]], [[V2]], i64 2) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv4i64.nxv1i64( [[TMP2]], [[V3]], i64 3) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vuint64m4_t test_vcreate_v_u64m1_u64m4(vuint64m1_t v0, vuint64m1_t v1, + vuint64m1_t v2, vuint64m1_t v3) { + return __riscv_vcreate_v_u64m1_u64m4(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u64m1_u64m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP0]], [[V1]], i64 1) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP1]], [[V2]], i64 2) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP2]], [[V3]], i64 3) +// CHECK-RV64-NEXT: [[TMP4:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP3]], [[V4]], i64 4) +// CHECK-RV64-NEXT: [[TMP5:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP4]], [[V5]], i64 5) +// CHECK-RV64-NEXT: [[TMP6:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP5]], [[V6]], i64 6) +// CHECK-RV64-NEXT: [[TMP7:%.*]] = call @llvm.vector.insert.nxv8i64.nxv1i64( [[TMP6]], [[V7]], i64 7) +// CHECK-RV64-NEXT: ret [[TMP7]] +// +vuint64m8_t test_vcreate_v_u64m1_u64m8(vuint64m1_t v0, vuint64m1_t v1, + vuint64m1_t v2, vuint64m1_t v3, + vuint64m1_t v4, vuint64m1_t v5, + vuint64m1_t v6, vuint64m1_t v7) { + return __riscv_vcreate_v_u64m1_u64m8(v0, v1, v2, v3, v4, v5, v6, v7); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u64m2_u64m4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv4i64.nxv2i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv4i64.nxv2i64( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint64m4_t test_vcreate_v_u64m2_u64m4(vuint64m2_t v0, vuint64m2_t v1) { + return __riscv_vcreate_v_u64m2_u64m4(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u64m2_u64m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i64.nxv2i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i64.nxv2i64( [[TMP0]], [[V1]], i64 2) +// CHECK-RV64-NEXT: [[TMP2:%.*]] = call @llvm.vector.insert.nxv8i64.nxv2i64( [[TMP1]], [[V2]], i64 4) +// CHECK-RV64-NEXT: [[TMP3:%.*]] = call @llvm.vector.insert.nxv8i64.nxv2i64( [[TMP2]], [[V3]], i64 6) +// CHECK-RV64-NEXT: ret [[TMP3]] +// +vuint64m8_t test_vcreate_v_u64m2_u64m8(vuint64m2_t v0, vuint64m2_t v1, + vuint64m2_t v2, vuint64m2_t v3) { + return __riscv_vcreate_v_u64m2_u64m8(v0, v1, v2, v3); +} + +// CHECK-RV64-LABEL: define dso_local @test_vcreate_v_u64m4_u64m8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-NEXT: entry: +// CHECK-RV64-NEXT: [[TMP0:%.*]] = call @llvm.vector.insert.nxv8i64.nxv4i64( poison, [[V0]], i64 0) +// CHECK-RV64-NEXT: [[TMP1:%.*]] = call @llvm.vector.insert.nxv8i64.nxv4i64( [[TMP0]], [[V1]], i64 4) +// CHECK-RV64-NEXT: ret [[TMP1]] +// +vuint64m8_t test_vcreate_v_u64m4_u64m8(vuint64m4_t v0, vuint64m4_t v1) { + return __riscv_vcreate_v_u64m4_u64m8(v0, v1); +} + +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f16mf4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -18,20 +907,21 @@ vfloat16mf4x2_t test_vcreate_v_f16mf4x2(vfloat16mf4_t v0, vfloat16mf4_t v1) { return __riscv_vcreate_v_f16mf4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f16mf4x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f16mf4x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vfloat16mf4x3_t test_vcreate_v_f16mf4x3(vfloat16mf4_t v0, vfloat16mf4_t v1, vfloat16mf4_t v2) { +vfloat16mf4x3_t test_vcreate_v_f16mf4x3(vfloat16mf4_t v0, vfloat16mf4_t v1, + vfloat16mf4_t v2) { return __riscv_vcreate_v_f16mf4x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f16mf4x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f16mf4x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -39,12 +929,13 @@ vfloat16mf4x3_t test_vcreate_v_f16mf4x3(vfloat16mf4_t v0, vfloat16mf4_t v1, vflo // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vfloat16mf4x4_t test_vcreate_v_f16mf4x4(vfloat16mf4_t v0, vfloat16mf4_t v1, vfloat16mf4_t v2, vfloat16mf4_t v3) { +vfloat16mf4x4_t test_vcreate_v_f16mf4x4(vfloat16mf4_t v0, vfloat16mf4_t v1, + vfloat16mf4_t v2, vfloat16mf4_t v3) { return __riscv_vcreate_v_f16mf4x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f16mf4x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f16mf4x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -53,12 +944,14 @@ vfloat16mf4x4_t test_vcreate_v_f16mf4x4(vfloat16mf4_t v0, vfloat16mf4_t v1, vflo // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vfloat16mf4x5_t test_vcreate_v_f16mf4x5(vfloat16mf4_t v0, vfloat16mf4_t v1, vfloat16mf4_t v2, vfloat16mf4_t v3, vfloat16mf4_t v4) { +vfloat16mf4x5_t test_vcreate_v_f16mf4x5(vfloat16mf4_t v0, vfloat16mf4_t v1, + vfloat16mf4_t v2, vfloat16mf4_t v3, + vfloat16mf4_t v4) { return __riscv_vcreate_v_f16mf4x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f16mf4x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f16mf4x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -68,12 +961,14 @@ vfloat16mf4x5_t test_vcreate_v_f16mf4x5(vfloat16mf4_t v0, vfloat16mf4_t v1, vflo // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vfloat16mf4x6_t test_vcreate_v_f16mf4x6(vfloat16mf4_t v0, vfloat16mf4_t v1, vfloat16mf4_t v2, vfloat16mf4_t v3, vfloat16mf4_t v4, vfloat16mf4_t v5) { +vfloat16mf4x6_t test_vcreate_v_f16mf4x6(vfloat16mf4_t v0, vfloat16mf4_t v1, + vfloat16mf4_t v2, vfloat16mf4_t v3, + vfloat16mf4_t v4, vfloat16mf4_t v5) { return __riscv_vcreate_v_f16mf4x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f16mf4x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f16mf4x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -84,12 +979,15 @@ vfloat16mf4x6_t test_vcreate_v_f16mf4x6(vfloat16mf4_t v0, vfloat16mf4_t v1, vflo // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vfloat16mf4x7_t test_vcreate_v_f16mf4x7(vfloat16mf4_t v0, vfloat16mf4_t v1, vfloat16mf4_t v2, vfloat16mf4_t v3, vfloat16mf4_t v4, vfloat16mf4_t v5, vfloat16mf4_t v6) { +vfloat16mf4x7_t test_vcreate_v_f16mf4x7(vfloat16mf4_t v0, vfloat16mf4_t v1, + vfloat16mf4_t v2, vfloat16mf4_t v3, + vfloat16mf4_t v4, vfloat16mf4_t v5, + vfloat16mf4_t v6) { return __riscv_vcreate_v_f16mf4x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f16mf4x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f16mf4x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -101,12 +999,15 @@ vfloat16mf4x7_t test_vcreate_v_f16mf4x7(vfloat16mf4_t v0, vfloat16mf4_t v1, vflo // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vfloat16mf4x8_t test_vcreate_v_f16mf4x8(vfloat16mf4_t v0, vfloat16mf4_t v1, vfloat16mf4_t v2, vfloat16mf4_t v3, vfloat16mf4_t v4, vfloat16mf4_t v5, vfloat16mf4_t v6, vfloat16mf4_t v7) { +vfloat16mf4x8_t test_vcreate_v_f16mf4x8(vfloat16mf4_t v0, vfloat16mf4_t v1, + vfloat16mf4_t v2, vfloat16mf4_t v3, + vfloat16mf4_t v4, vfloat16mf4_t v5, + vfloat16mf4_t v6, vfloat16mf4_t v7) { return __riscv_vcreate_v_f16mf4x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f16mf2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f16mf2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -116,20 +1017,21 @@ vfloat16mf2x2_t test_vcreate_v_f16mf2x2(vfloat16mf2_t v0, vfloat16mf2_t v1) { return __riscv_vcreate_v_f16mf2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f16mf2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f16mf2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vfloat16mf2x3_t test_vcreate_v_f16mf2x3(vfloat16mf2_t v0, vfloat16mf2_t v1, vfloat16mf2_t v2) { +vfloat16mf2x3_t test_vcreate_v_f16mf2x3(vfloat16mf2_t v0, vfloat16mf2_t v1, + vfloat16mf2_t v2) { return __riscv_vcreate_v_f16mf2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f16mf2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f16mf2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -137,12 +1039,13 @@ vfloat16mf2x3_t test_vcreate_v_f16mf2x3(vfloat16mf2_t v0, vfloat16mf2_t v1, vflo // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vfloat16mf2x4_t test_vcreate_v_f16mf2x4(vfloat16mf2_t v0, vfloat16mf2_t v1, vfloat16mf2_t v2, vfloat16mf2_t v3) { +vfloat16mf2x4_t test_vcreate_v_f16mf2x4(vfloat16mf2_t v0, vfloat16mf2_t v1, + vfloat16mf2_t v2, vfloat16mf2_t v3) { return __riscv_vcreate_v_f16mf2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f16mf2x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f16mf2x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -151,12 +1054,14 @@ vfloat16mf2x4_t test_vcreate_v_f16mf2x4(vfloat16mf2_t v0, vfloat16mf2_t v1, vflo // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vfloat16mf2x5_t test_vcreate_v_f16mf2x5(vfloat16mf2_t v0, vfloat16mf2_t v1, vfloat16mf2_t v2, vfloat16mf2_t v3, vfloat16mf2_t v4) { +vfloat16mf2x5_t test_vcreate_v_f16mf2x5(vfloat16mf2_t v0, vfloat16mf2_t v1, + vfloat16mf2_t v2, vfloat16mf2_t v3, + vfloat16mf2_t v4) { return __riscv_vcreate_v_f16mf2x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f16mf2x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f16mf2x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -166,12 +1071,14 @@ vfloat16mf2x5_t test_vcreate_v_f16mf2x5(vfloat16mf2_t v0, vfloat16mf2_t v1, vflo // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vfloat16mf2x6_t test_vcreate_v_f16mf2x6(vfloat16mf2_t v0, vfloat16mf2_t v1, vfloat16mf2_t v2, vfloat16mf2_t v3, vfloat16mf2_t v4, vfloat16mf2_t v5) { +vfloat16mf2x6_t test_vcreate_v_f16mf2x6(vfloat16mf2_t v0, vfloat16mf2_t v1, + vfloat16mf2_t v2, vfloat16mf2_t v3, + vfloat16mf2_t v4, vfloat16mf2_t v5) { return __riscv_vcreate_v_f16mf2x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f16mf2x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f16mf2x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -182,12 +1089,15 @@ vfloat16mf2x6_t test_vcreate_v_f16mf2x6(vfloat16mf2_t v0, vfloat16mf2_t v1, vflo // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vfloat16mf2x7_t test_vcreate_v_f16mf2x7(vfloat16mf2_t v0, vfloat16mf2_t v1, vfloat16mf2_t v2, vfloat16mf2_t v3, vfloat16mf2_t v4, vfloat16mf2_t v5, vfloat16mf2_t v6) { +vfloat16mf2x7_t test_vcreate_v_f16mf2x7(vfloat16mf2_t v0, vfloat16mf2_t v1, + vfloat16mf2_t v2, vfloat16mf2_t v3, + vfloat16mf2_t v4, vfloat16mf2_t v5, + vfloat16mf2_t v6) { return __riscv_vcreate_v_f16mf2x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f16mf2x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f16mf2x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -199,12 +1109,15 @@ vfloat16mf2x7_t test_vcreate_v_f16mf2x7(vfloat16mf2_t v0, vfloat16mf2_t v1, vflo // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vfloat16mf2x8_t test_vcreate_v_f16mf2x8(vfloat16mf2_t v0, vfloat16mf2_t v1, vfloat16mf2_t v2, vfloat16mf2_t v3, vfloat16mf2_t v4, vfloat16mf2_t v5, vfloat16mf2_t v6, vfloat16mf2_t v7) { +vfloat16mf2x8_t test_vcreate_v_f16mf2x8(vfloat16mf2_t v0, vfloat16mf2_t v1, + vfloat16mf2_t v2, vfloat16mf2_t v3, + vfloat16mf2_t v4, vfloat16mf2_t v5, + vfloat16mf2_t v6, vfloat16mf2_t v7) { return __riscv_vcreate_v_f16mf2x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f16m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f16m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -214,20 +1127,21 @@ vfloat16m1x2_t test_vcreate_v_f16m1x2(vfloat16m1_t v0, vfloat16m1_t v1) { return __riscv_vcreate_v_f16m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f16m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f16m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vfloat16m1x3_t test_vcreate_v_f16m1x3(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16m1_t v2) { +vfloat16m1x3_t test_vcreate_v_f16m1x3(vfloat16m1_t v0, vfloat16m1_t v1, + vfloat16m1_t v2) { return __riscv_vcreate_v_f16m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f16m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f16m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -235,12 +1149,13 @@ vfloat16m1x3_t test_vcreate_v_f16m1x3(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16 // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vfloat16m1x4_t test_vcreate_v_f16m1x4(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16m1_t v2, vfloat16m1_t v3) { +vfloat16m1x4_t test_vcreate_v_f16m1x4(vfloat16m1_t v0, vfloat16m1_t v1, + vfloat16m1_t v2, vfloat16m1_t v3) { return __riscv_vcreate_v_f16m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f16m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f16m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -249,12 +1164,14 @@ vfloat16m1x4_t test_vcreate_v_f16m1x4(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16 // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vfloat16m1x5_t test_vcreate_v_f16m1x5(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16m1_t v2, vfloat16m1_t v3, vfloat16m1_t v4) { +vfloat16m1x5_t test_vcreate_v_f16m1x5(vfloat16m1_t v0, vfloat16m1_t v1, + vfloat16m1_t v2, vfloat16m1_t v3, + vfloat16m1_t v4) { return __riscv_vcreate_v_f16m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f16m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f16m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -264,12 +1181,14 @@ vfloat16m1x5_t test_vcreate_v_f16m1x5(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16 // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vfloat16m1x6_t test_vcreate_v_f16m1x6(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16m1_t v2, vfloat16m1_t v3, vfloat16m1_t v4, vfloat16m1_t v5) { +vfloat16m1x6_t test_vcreate_v_f16m1x6(vfloat16m1_t v0, vfloat16m1_t v1, + vfloat16m1_t v2, vfloat16m1_t v3, + vfloat16m1_t v4, vfloat16m1_t v5) { return __riscv_vcreate_v_f16m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f16m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f16m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -280,12 +1199,15 @@ vfloat16m1x6_t test_vcreate_v_f16m1x6(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16 // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vfloat16m1x7_t test_vcreate_v_f16m1x7(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16m1_t v2, vfloat16m1_t v3, vfloat16m1_t v4, vfloat16m1_t v5, vfloat16m1_t v6) { +vfloat16m1x7_t test_vcreate_v_f16m1x7(vfloat16m1_t v0, vfloat16m1_t v1, + vfloat16m1_t v2, vfloat16m1_t v3, + vfloat16m1_t v4, vfloat16m1_t v5, + vfloat16m1_t v6) { return __riscv_vcreate_v_f16m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f16m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f16m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -297,12 +1219,15 @@ vfloat16m1x7_t test_vcreate_v_f16m1x7(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16 // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vfloat16m1x8_t test_vcreate_v_f16m1x8(vfloat16m1_t v0, vfloat16m1_t v1, vfloat16m1_t v2, vfloat16m1_t v3, vfloat16m1_t v4, vfloat16m1_t v5, vfloat16m1_t v6, vfloat16m1_t v7) { +vfloat16m1x8_t test_vcreate_v_f16m1x8(vfloat16m1_t v0, vfloat16m1_t v1, + vfloat16m1_t v2, vfloat16m1_t v3, + vfloat16m1_t v4, vfloat16m1_t v5, + vfloat16m1_t v6, vfloat16m1_t v7) { return __riscv_vcreate_v_f16m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f16m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f16m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -312,20 +1237,21 @@ vfloat16m2x2_t test_vcreate_v_f16m2x2(vfloat16m2_t v0, vfloat16m2_t v1) { return __riscv_vcreate_v_f16m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f16m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f16m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vfloat16m2x3_t test_vcreate_v_f16m2x3(vfloat16m2_t v0, vfloat16m2_t v1, vfloat16m2_t v2) { +vfloat16m2x3_t test_vcreate_v_f16m2x3(vfloat16m2_t v0, vfloat16m2_t v1, + vfloat16m2_t v2) { return __riscv_vcreate_v_f16m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f16m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f16m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -333,12 +1259,13 @@ vfloat16m2x3_t test_vcreate_v_f16m2x3(vfloat16m2_t v0, vfloat16m2_t v1, vfloat16 // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vfloat16m2x4_t test_vcreate_v_f16m2x4(vfloat16m2_t v0, vfloat16m2_t v1, vfloat16m2_t v2, vfloat16m2_t v3) { +vfloat16m2x4_t test_vcreate_v_f16m2x4(vfloat16m2_t v0, vfloat16m2_t v1, + vfloat16m2_t v2, vfloat16m2_t v3) { return __riscv_vcreate_v_f16m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f16m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f16m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -348,8 +1275,8 @@ vfloat16m4x2_t test_vcreate_v_f16m4x2(vfloat16m4_t v0, vfloat16m4_t v1) { return __riscv_vcreate_v_f16m4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f32mf2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f32mf2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -359,20 +1286,21 @@ vfloat32mf2x2_t test_vcreate_v_f32mf2x2(vfloat32mf2_t v0, vfloat32mf2_t v1) { return __riscv_vcreate_v_f32mf2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f32mf2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f32mf2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vfloat32mf2x3_t test_vcreate_v_f32mf2x3(vfloat32mf2_t v0, vfloat32mf2_t v1, vfloat32mf2_t v2) { +vfloat32mf2x3_t test_vcreate_v_f32mf2x3(vfloat32mf2_t v0, vfloat32mf2_t v1, + vfloat32mf2_t v2) { return __riscv_vcreate_v_f32mf2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f32mf2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f32mf2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -380,12 +1308,13 @@ vfloat32mf2x3_t test_vcreate_v_f32mf2x3(vfloat32mf2_t v0, vfloat32mf2_t v1, vflo // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vfloat32mf2x4_t test_vcreate_v_f32mf2x4(vfloat32mf2_t v0, vfloat32mf2_t v1, vfloat32mf2_t v2, vfloat32mf2_t v3) { +vfloat32mf2x4_t test_vcreate_v_f32mf2x4(vfloat32mf2_t v0, vfloat32mf2_t v1, + vfloat32mf2_t v2, vfloat32mf2_t v3) { return __riscv_vcreate_v_f32mf2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f32mf2x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f32mf2x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -394,12 +1323,14 @@ vfloat32mf2x4_t test_vcreate_v_f32mf2x4(vfloat32mf2_t v0, vfloat32mf2_t v1, vflo // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vfloat32mf2x5_t test_vcreate_v_f32mf2x5(vfloat32mf2_t v0, vfloat32mf2_t v1, vfloat32mf2_t v2, vfloat32mf2_t v3, vfloat32mf2_t v4) { +vfloat32mf2x5_t test_vcreate_v_f32mf2x5(vfloat32mf2_t v0, vfloat32mf2_t v1, + vfloat32mf2_t v2, vfloat32mf2_t v3, + vfloat32mf2_t v4) { return __riscv_vcreate_v_f32mf2x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f32mf2x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f32mf2x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -409,12 +1340,14 @@ vfloat32mf2x5_t test_vcreate_v_f32mf2x5(vfloat32mf2_t v0, vfloat32mf2_t v1, vflo // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vfloat32mf2x6_t test_vcreate_v_f32mf2x6(vfloat32mf2_t v0, vfloat32mf2_t v1, vfloat32mf2_t v2, vfloat32mf2_t v3, vfloat32mf2_t v4, vfloat32mf2_t v5) { +vfloat32mf2x6_t test_vcreate_v_f32mf2x6(vfloat32mf2_t v0, vfloat32mf2_t v1, + vfloat32mf2_t v2, vfloat32mf2_t v3, + vfloat32mf2_t v4, vfloat32mf2_t v5) { return __riscv_vcreate_v_f32mf2x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f32mf2x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f32mf2x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -425,12 +1358,15 @@ vfloat32mf2x6_t test_vcreate_v_f32mf2x6(vfloat32mf2_t v0, vfloat32mf2_t v1, vflo // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vfloat32mf2x7_t test_vcreate_v_f32mf2x7(vfloat32mf2_t v0, vfloat32mf2_t v1, vfloat32mf2_t v2, vfloat32mf2_t v3, vfloat32mf2_t v4, vfloat32mf2_t v5, vfloat32mf2_t v6) { +vfloat32mf2x7_t test_vcreate_v_f32mf2x7(vfloat32mf2_t v0, vfloat32mf2_t v1, + vfloat32mf2_t v2, vfloat32mf2_t v3, + vfloat32mf2_t v4, vfloat32mf2_t v5, + vfloat32mf2_t v6) { return __riscv_vcreate_v_f32mf2x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f32mf2x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f32mf2x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -442,12 +1378,15 @@ vfloat32mf2x7_t test_vcreate_v_f32mf2x7(vfloat32mf2_t v0, vfloat32mf2_t v1, vflo // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vfloat32mf2x8_t test_vcreate_v_f32mf2x8(vfloat32mf2_t v0, vfloat32mf2_t v1, vfloat32mf2_t v2, vfloat32mf2_t v3, vfloat32mf2_t v4, vfloat32mf2_t v5, vfloat32mf2_t v6, vfloat32mf2_t v7) { +vfloat32mf2x8_t test_vcreate_v_f32mf2x8(vfloat32mf2_t v0, vfloat32mf2_t v1, + vfloat32mf2_t v2, vfloat32mf2_t v3, + vfloat32mf2_t v4, vfloat32mf2_t v5, + vfloat32mf2_t v6, vfloat32mf2_t v7) { return __riscv_vcreate_v_f32mf2x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f32m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f32m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -457,20 +1396,21 @@ vfloat32m1x2_t test_vcreate_v_f32m1x2(vfloat32m1_t v0, vfloat32m1_t v1) { return __riscv_vcreate_v_f32m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f32m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f32m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vfloat32m1x3_t test_vcreate_v_f32m1x3(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32m1_t v2) { +vfloat32m1x3_t test_vcreate_v_f32m1x3(vfloat32m1_t v0, vfloat32m1_t v1, + vfloat32m1_t v2) { return __riscv_vcreate_v_f32m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f32m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f32m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -478,12 +1418,13 @@ vfloat32m1x3_t test_vcreate_v_f32m1x3(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32 // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vfloat32m1x4_t test_vcreate_v_f32m1x4(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32m1_t v2, vfloat32m1_t v3) { +vfloat32m1x4_t test_vcreate_v_f32m1x4(vfloat32m1_t v0, vfloat32m1_t v1, + vfloat32m1_t v2, vfloat32m1_t v3) { return __riscv_vcreate_v_f32m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f32m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f32m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -492,12 +1433,14 @@ vfloat32m1x4_t test_vcreate_v_f32m1x4(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32 // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vfloat32m1x5_t test_vcreate_v_f32m1x5(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32m1_t v2, vfloat32m1_t v3, vfloat32m1_t v4) { +vfloat32m1x5_t test_vcreate_v_f32m1x5(vfloat32m1_t v0, vfloat32m1_t v1, + vfloat32m1_t v2, vfloat32m1_t v3, + vfloat32m1_t v4) { return __riscv_vcreate_v_f32m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f32m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f32m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -507,12 +1450,14 @@ vfloat32m1x5_t test_vcreate_v_f32m1x5(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32 // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vfloat32m1x6_t test_vcreate_v_f32m1x6(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32m1_t v2, vfloat32m1_t v3, vfloat32m1_t v4, vfloat32m1_t v5) { +vfloat32m1x6_t test_vcreate_v_f32m1x6(vfloat32m1_t v0, vfloat32m1_t v1, + vfloat32m1_t v2, vfloat32m1_t v3, + vfloat32m1_t v4, vfloat32m1_t v5) { return __riscv_vcreate_v_f32m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f32m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f32m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -523,12 +1468,15 @@ vfloat32m1x6_t test_vcreate_v_f32m1x6(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32 // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vfloat32m1x7_t test_vcreate_v_f32m1x7(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32m1_t v2, vfloat32m1_t v3, vfloat32m1_t v4, vfloat32m1_t v5, vfloat32m1_t v6) { +vfloat32m1x7_t test_vcreate_v_f32m1x7(vfloat32m1_t v0, vfloat32m1_t v1, + vfloat32m1_t v2, vfloat32m1_t v3, + vfloat32m1_t v4, vfloat32m1_t v5, + vfloat32m1_t v6) { return __riscv_vcreate_v_f32m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f32m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f32m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -540,12 +1488,15 @@ vfloat32m1x7_t test_vcreate_v_f32m1x7(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32 // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vfloat32m1x8_t test_vcreate_v_f32m1x8(vfloat32m1_t v0, vfloat32m1_t v1, vfloat32m1_t v2, vfloat32m1_t v3, vfloat32m1_t v4, vfloat32m1_t v5, vfloat32m1_t v6, vfloat32m1_t v7) { +vfloat32m1x8_t test_vcreate_v_f32m1x8(vfloat32m1_t v0, vfloat32m1_t v1, + vfloat32m1_t v2, vfloat32m1_t v3, + vfloat32m1_t v4, vfloat32m1_t v5, + vfloat32m1_t v6, vfloat32m1_t v7) { return __riscv_vcreate_v_f32m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f32m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f32m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -555,20 +1506,21 @@ vfloat32m2x2_t test_vcreate_v_f32m2x2(vfloat32m2_t v0, vfloat32m2_t v1) { return __riscv_vcreate_v_f32m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f32m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f32m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vfloat32m2x3_t test_vcreate_v_f32m2x3(vfloat32m2_t v0, vfloat32m2_t v1, vfloat32m2_t v2) { +vfloat32m2x3_t test_vcreate_v_f32m2x3(vfloat32m2_t v0, vfloat32m2_t v1, + vfloat32m2_t v2) { return __riscv_vcreate_v_f32m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f32m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f32m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -576,12 +1528,13 @@ vfloat32m2x3_t test_vcreate_v_f32m2x3(vfloat32m2_t v0, vfloat32m2_t v1, vfloat32 // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vfloat32m2x4_t test_vcreate_v_f32m2x4(vfloat32m2_t v0, vfloat32m2_t v1, vfloat32m2_t v2, vfloat32m2_t v3) { +vfloat32m2x4_t test_vcreate_v_f32m2x4(vfloat32m2_t v0, vfloat32m2_t v1, + vfloat32m2_t v2, vfloat32m2_t v3) { return __riscv_vcreate_v_f32m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f32m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f32m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -591,8 +1544,8 @@ vfloat32m4x2_t test_vcreate_v_f32m4x2(vfloat32m4_t v0, vfloat32m4_t v1) { return __riscv_vcreate_v_f32m4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f64m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f64m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -602,20 +1555,21 @@ vfloat64m1x2_t test_vcreate_v_f64m1x2(vfloat64m1_t v0, vfloat64m1_t v1) { return __riscv_vcreate_v_f64m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f64m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f64m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vfloat64m1x3_t test_vcreate_v_f64m1x3(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64m1_t v2) { +vfloat64m1x3_t test_vcreate_v_f64m1x3(vfloat64m1_t v0, vfloat64m1_t v1, + vfloat64m1_t v2) { return __riscv_vcreate_v_f64m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f64m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f64m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -623,12 +1577,13 @@ vfloat64m1x3_t test_vcreate_v_f64m1x3(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64 // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vfloat64m1x4_t test_vcreate_v_f64m1x4(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64m1_t v2, vfloat64m1_t v3) { +vfloat64m1x4_t test_vcreate_v_f64m1x4(vfloat64m1_t v0, vfloat64m1_t v1, + vfloat64m1_t v2, vfloat64m1_t v3) { return __riscv_vcreate_v_f64m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f64m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_f64m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -637,12 +1592,14 @@ vfloat64m1x4_t test_vcreate_v_f64m1x4(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64 // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vfloat64m1x5_t test_vcreate_v_f64m1x5(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64m1_t v2, vfloat64m1_t v3, vfloat64m1_t v4) { +vfloat64m1x5_t test_vcreate_v_f64m1x5(vfloat64m1_t v0, vfloat64m1_t v1, + vfloat64m1_t v2, vfloat64m1_t v3, + vfloat64m1_t v4) { return __riscv_vcreate_v_f64m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f64m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_f64m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -652,12 +1609,14 @@ vfloat64m1x5_t test_vcreate_v_f64m1x5(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64 // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vfloat64m1x6_t test_vcreate_v_f64m1x6(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64m1_t v2, vfloat64m1_t v3, vfloat64m1_t v4, vfloat64m1_t v5) { +vfloat64m1x6_t test_vcreate_v_f64m1x6(vfloat64m1_t v0, vfloat64m1_t v1, + vfloat64m1_t v2, vfloat64m1_t v3, + vfloat64m1_t v4, vfloat64m1_t v5) { return __riscv_vcreate_v_f64m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f64m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_f64m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -668,12 +1627,15 @@ vfloat64m1x6_t test_vcreate_v_f64m1x6(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64 // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vfloat64m1x7_t test_vcreate_v_f64m1x7(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64m1_t v2, vfloat64m1_t v3, vfloat64m1_t v4, vfloat64m1_t v5, vfloat64m1_t v6) { +vfloat64m1x7_t test_vcreate_v_f64m1x7(vfloat64m1_t v0, vfloat64m1_t v1, + vfloat64m1_t v2, vfloat64m1_t v3, + vfloat64m1_t v4, vfloat64m1_t v5, + vfloat64m1_t v6) { return __riscv_vcreate_v_f64m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f64m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_f64m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -685,12 +1647,15 @@ vfloat64m1x7_t test_vcreate_v_f64m1x7(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64 // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vfloat64m1x8_t test_vcreate_v_f64m1x8(vfloat64m1_t v0, vfloat64m1_t v1, vfloat64m1_t v2, vfloat64m1_t v3, vfloat64m1_t v4, vfloat64m1_t v5, vfloat64m1_t v6, vfloat64m1_t v7) { +vfloat64m1x8_t test_vcreate_v_f64m1x8(vfloat64m1_t v0, vfloat64m1_t v1, + vfloat64m1_t v2, vfloat64m1_t v3, + vfloat64m1_t v4, vfloat64m1_t v5, + vfloat64m1_t v6, vfloat64m1_t v7) { return __riscv_vcreate_v_f64m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f64m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f64m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -700,20 +1665,21 @@ vfloat64m2x2_t test_vcreate_v_f64m2x2(vfloat64m2_t v0, vfloat64m2_t v1) { return __riscv_vcreate_v_f64m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f64m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_f64m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vfloat64m2x3_t test_vcreate_v_f64m2x3(vfloat64m2_t v0, vfloat64m2_t v1, vfloat64m2_t v2) { +vfloat64m2x3_t test_vcreate_v_f64m2x3(vfloat64m2_t v0, vfloat64m2_t v1, + vfloat64m2_t v2) { return __riscv_vcreate_v_f64m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f64m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_f64m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -721,12 +1687,13 @@ vfloat64m2x3_t test_vcreate_v_f64m2x3(vfloat64m2_t v0, vfloat64m2_t v1, vfloat64 // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vfloat64m2x4_t test_vcreate_v_f64m2x4(vfloat64m2_t v0, vfloat64m2_t v1, vfloat64m2_t v2, vfloat64m2_t v3) { +vfloat64m2x4_t test_vcreate_v_f64m2x4(vfloat64m2_t v0, vfloat64m2_t v1, + vfloat64m2_t v2, vfloat64m2_t v3) { return __riscv_vcreate_v_f64m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f64m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_f64m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -736,8 +1703,8 @@ vfloat64m4x2_t test_vcreate_v_f64m4x2(vfloat64m4_t v0, vfloat64m4_t v1) { return __riscv_vcreate_v_f64m4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8mf8x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8mf8x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -747,20 +1714,21 @@ vint8mf8x2_t test_vcreate_v_i8mf8x2(vint8mf8_t v0, vint8mf8_t v1) { return __riscv_vcreate_v_i8mf8x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i8mf8x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i8mf8x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint8mf8x3_t test_vcreate_v_i8mf8x3(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2) { +vint8mf8x3_t test_vcreate_v_i8mf8x3(vint8mf8_t v0, vint8mf8_t v1, + vint8mf8_t v2) { return __riscv_vcreate_v_i8mf8x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i8mf8x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i8mf8x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -768,12 +1736,13 @@ vint8mf8x3_t test_vcreate_v_i8mf8x3(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint8mf8x4_t test_vcreate_v_i8mf8x4(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, vint8mf8_t v3) { +vint8mf8x4_t test_vcreate_v_i8mf8x4(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, + vint8mf8_t v3) { return __riscv_vcreate_v_i8mf8x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i8mf8x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i8mf8x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -782,12 +1751,13 @@ vint8mf8x4_t test_vcreate_v_i8mf8x4(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vint8mf8x5_t test_vcreate_v_i8mf8x5(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, vint8mf8_t v3, vint8mf8_t v4) { +vint8mf8x5_t test_vcreate_v_i8mf8x5(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, + vint8mf8_t v3, vint8mf8_t v4) { return __riscv_vcreate_v_i8mf8x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i8mf8x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i8mf8x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -797,12 +1767,14 @@ vint8mf8x5_t test_vcreate_v_i8mf8x5(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vint8mf8x6_t test_vcreate_v_i8mf8x6(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, vint8mf8_t v3, vint8mf8_t v4, vint8mf8_t v5) { +vint8mf8x6_t test_vcreate_v_i8mf8x6(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, + vint8mf8_t v3, vint8mf8_t v4, + vint8mf8_t v5) { return __riscv_vcreate_v_i8mf8x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i8mf8x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i8mf8x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -813,12 +1785,14 @@ vint8mf8x6_t test_vcreate_v_i8mf8x6(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vint8mf8x7_t test_vcreate_v_i8mf8x7(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, vint8mf8_t v3, vint8mf8_t v4, vint8mf8_t v5, vint8mf8_t v6) { +vint8mf8x7_t test_vcreate_v_i8mf8x7(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, + vint8mf8_t v3, vint8mf8_t v4, vint8mf8_t v5, + vint8mf8_t v6) { return __riscv_vcreate_v_i8mf8x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i8mf8x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i8mf8x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -830,12 +1804,14 @@ vint8mf8x7_t test_vcreate_v_i8mf8x7(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vint8mf8x8_t test_vcreate_v_i8mf8x8(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, vint8mf8_t v3, vint8mf8_t v4, vint8mf8_t v5, vint8mf8_t v6, vint8mf8_t v7) { +vint8mf8x8_t test_vcreate_v_i8mf8x8(vint8mf8_t v0, vint8mf8_t v1, vint8mf8_t v2, + vint8mf8_t v3, vint8mf8_t v4, vint8mf8_t v5, + vint8mf8_t v6, vint8mf8_t v7) { return __riscv_vcreate_v_i8mf8x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8mf4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8mf4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -845,20 +1821,21 @@ vint8mf4x2_t test_vcreate_v_i8mf4x2(vint8mf4_t v0, vint8mf4_t v1) { return __riscv_vcreate_v_i8mf4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i8mf4x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i8mf4x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint8mf4x3_t test_vcreate_v_i8mf4x3(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2) { +vint8mf4x3_t test_vcreate_v_i8mf4x3(vint8mf4_t v0, vint8mf4_t v1, + vint8mf4_t v2) { return __riscv_vcreate_v_i8mf4x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i8mf4x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i8mf4x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -866,12 +1843,13 @@ vint8mf4x3_t test_vcreate_v_i8mf4x3(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint8mf4x4_t test_vcreate_v_i8mf4x4(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, vint8mf4_t v3) { +vint8mf4x4_t test_vcreate_v_i8mf4x4(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, + vint8mf4_t v3) { return __riscv_vcreate_v_i8mf4x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i8mf4x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i8mf4x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -880,12 +1858,13 @@ vint8mf4x4_t test_vcreate_v_i8mf4x4(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vint8mf4x5_t test_vcreate_v_i8mf4x5(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, vint8mf4_t v3, vint8mf4_t v4) { +vint8mf4x5_t test_vcreate_v_i8mf4x5(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, + vint8mf4_t v3, vint8mf4_t v4) { return __riscv_vcreate_v_i8mf4x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i8mf4x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i8mf4x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -895,12 +1874,14 @@ vint8mf4x5_t test_vcreate_v_i8mf4x5(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vint8mf4x6_t test_vcreate_v_i8mf4x6(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, vint8mf4_t v3, vint8mf4_t v4, vint8mf4_t v5) { +vint8mf4x6_t test_vcreate_v_i8mf4x6(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, + vint8mf4_t v3, vint8mf4_t v4, + vint8mf4_t v5) { return __riscv_vcreate_v_i8mf4x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i8mf4x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i8mf4x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -911,12 +1892,14 @@ vint8mf4x6_t test_vcreate_v_i8mf4x6(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vint8mf4x7_t test_vcreate_v_i8mf4x7(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, vint8mf4_t v3, vint8mf4_t v4, vint8mf4_t v5, vint8mf4_t v6) { +vint8mf4x7_t test_vcreate_v_i8mf4x7(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, + vint8mf4_t v3, vint8mf4_t v4, vint8mf4_t v5, + vint8mf4_t v6) { return __riscv_vcreate_v_i8mf4x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i8mf4x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i8mf4x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -928,12 +1911,14 @@ vint8mf4x7_t test_vcreate_v_i8mf4x7(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vint8mf4x8_t test_vcreate_v_i8mf4x8(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, vint8mf4_t v3, vint8mf4_t v4, vint8mf4_t v5, vint8mf4_t v6, vint8mf4_t v7) { +vint8mf4x8_t test_vcreate_v_i8mf4x8(vint8mf4_t v0, vint8mf4_t v1, vint8mf4_t v2, + vint8mf4_t v3, vint8mf4_t v4, vint8mf4_t v5, + vint8mf4_t v6, vint8mf4_t v7) { return __riscv_vcreate_v_i8mf4x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8mf2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8mf2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -943,20 +1928,21 @@ vint8mf2x2_t test_vcreate_v_i8mf2x2(vint8mf2_t v0, vint8mf2_t v1) { return __riscv_vcreate_v_i8mf2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i8mf2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i8mf2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint8mf2x3_t test_vcreate_v_i8mf2x3(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2) { +vint8mf2x3_t test_vcreate_v_i8mf2x3(vint8mf2_t v0, vint8mf2_t v1, + vint8mf2_t v2) { return __riscv_vcreate_v_i8mf2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i8mf2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i8mf2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -964,12 +1950,13 @@ vint8mf2x3_t test_vcreate_v_i8mf2x3(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint8mf2x4_t test_vcreate_v_i8mf2x4(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, vint8mf2_t v3) { +vint8mf2x4_t test_vcreate_v_i8mf2x4(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, + vint8mf2_t v3) { return __riscv_vcreate_v_i8mf2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i8mf2x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i8mf2x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -978,12 +1965,13 @@ vint8mf2x4_t test_vcreate_v_i8mf2x4(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vint8mf2x5_t test_vcreate_v_i8mf2x5(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, vint8mf2_t v3, vint8mf2_t v4) { +vint8mf2x5_t test_vcreate_v_i8mf2x5(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, + vint8mf2_t v3, vint8mf2_t v4) { return __riscv_vcreate_v_i8mf2x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i8mf2x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i8mf2x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -993,12 +1981,14 @@ vint8mf2x5_t test_vcreate_v_i8mf2x5(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vint8mf2x6_t test_vcreate_v_i8mf2x6(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, vint8mf2_t v3, vint8mf2_t v4, vint8mf2_t v5) { +vint8mf2x6_t test_vcreate_v_i8mf2x6(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, + vint8mf2_t v3, vint8mf2_t v4, + vint8mf2_t v5) { return __riscv_vcreate_v_i8mf2x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i8mf2x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i8mf2x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -1009,12 +1999,14 @@ vint8mf2x6_t test_vcreate_v_i8mf2x6(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vint8mf2x7_t test_vcreate_v_i8mf2x7(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, vint8mf2_t v3, vint8mf2_t v4, vint8mf2_t v5, vint8mf2_t v6) { +vint8mf2x7_t test_vcreate_v_i8mf2x7(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, + vint8mf2_t v3, vint8mf2_t v4, vint8mf2_t v5, + vint8mf2_t v6) { return __riscv_vcreate_v_i8mf2x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i8mf2x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i8mf2x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -1026,12 +2018,14 @@ vint8mf2x7_t test_vcreate_v_i8mf2x7(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vint8mf2x8_t test_vcreate_v_i8mf2x8(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, vint8mf2_t v3, vint8mf2_t v4, vint8mf2_t v5, vint8mf2_t v6, vint8mf2_t v7) { +vint8mf2x8_t test_vcreate_v_i8mf2x8(vint8mf2_t v0, vint8mf2_t v1, vint8mf2_t v2, + vint8mf2_t v3, vint8mf2_t v4, vint8mf2_t v5, + vint8mf2_t v6, vint8mf2_t v7) { return __riscv_vcreate_v_i8mf2x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1041,8 +2035,8 @@ vint8m1x2_t test_vcreate_v_i8m1x2(vint8m1_t v0, vint8m1_t v1) { return __riscv_vcreate_v_i8m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i8m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i8m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 @@ -1053,8 +2047,8 @@ vint8m1x3_t test_vcreate_v_i8m1x3(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2) { return __riscv_vcreate_v_i8m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i8m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i8m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1062,12 +2056,13 @@ vint8m1x3_t test_vcreate_v_i8m1x3(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2) { // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint8m1x4_t test_vcreate_v_i8m1x4(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, vint8m1_t v3) { +vint8m1x4_t test_vcreate_v_i8m1x4(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, + vint8m1_t v3) { return __riscv_vcreate_v_i8m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i8m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i8m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -1076,12 +2071,13 @@ vint8m1x4_t test_vcreate_v_i8m1x4(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, vint // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vint8m1x5_t test_vcreate_v_i8m1x5(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, vint8m1_t v3, vint8m1_t v4) { +vint8m1x5_t test_vcreate_v_i8m1x5(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, + vint8m1_t v3, vint8m1_t v4) { return __riscv_vcreate_v_i8m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i8m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i8m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -1091,12 +2087,13 @@ vint8m1x5_t test_vcreate_v_i8m1x5(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, vint // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vint8m1x6_t test_vcreate_v_i8m1x6(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, vint8m1_t v3, vint8m1_t v4, vint8m1_t v5) { +vint8m1x6_t test_vcreate_v_i8m1x6(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, + vint8m1_t v3, vint8m1_t v4, vint8m1_t v5) { return __riscv_vcreate_v_i8m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i8m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i8m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -1107,12 +2104,14 @@ vint8m1x6_t test_vcreate_v_i8m1x6(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, vint // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vint8m1x7_t test_vcreate_v_i8m1x7(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, vint8m1_t v3, vint8m1_t v4, vint8m1_t v5, vint8m1_t v6) { +vint8m1x7_t test_vcreate_v_i8m1x7(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, + vint8m1_t v3, vint8m1_t v4, vint8m1_t v5, + vint8m1_t v6) { return __riscv_vcreate_v_i8m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i8m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i8m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -1124,12 +2123,14 @@ vint8m1x7_t test_vcreate_v_i8m1x7(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, vint // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vint8m1x8_t test_vcreate_v_i8m1x8(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, vint8m1_t v3, vint8m1_t v4, vint8m1_t v5, vint8m1_t v6, vint8m1_t v7) { +vint8m1x8_t test_vcreate_v_i8m1x8(vint8m1_t v0, vint8m1_t v1, vint8m1_t v2, + vint8m1_t v3, vint8m1_t v4, vint8m1_t v5, + vint8m1_t v6, vint8m1_t v7) { return __riscv_vcreate_v_i8m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1139,8 +2140,8 @@ vint8m2x2_t test_vcreate_v_i8m2x2(vint8m2_t v0, vint8m2_t v1) { return __riscv_vcreate_v_i8m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i8m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i8m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 @@ -1151,8 +2152,8 @@ vint8m2x3_t test_vcreate_v_i8m2x3(vint8m2_t v0, vint8m2_t v1, vint8m2_t v2) { return __riscv_vcreate_v_i8m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i8m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i8m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1160,12 +2161,13 @@ vint8m2x3_t test_vcreate_v_i8m2x3(vint8m2_t v0, vint8m2_t v1, vint8m2_t v2) { // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint8m2x4_t test_vcreate_v_i8m2x4(vint8m2_t v0, vint8m2_t v1, vint8m2_t v2, vint8m2_t v3) { +vint8m2x4_t test_vcreate_v_i8m2x4(vint8m2_t v0, vint8m2_t v1, vint8m2_t v2, + vint8m2_t v3) { return __riscv_vcreate_v_i8m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i8m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1175,8 +2177,8 @@ vint8m4x2_t test_vcreate_v_i8m4x2(vint8m4_t v0, vint8m4_t v1) { return __riscv_vcreate_v_i8m4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i16mf4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i16mf4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1186,20 +2188,21 @@ vint16mf4x2_t test_vcreate_v_i16mf4x2(vint16mf4_t v0, vint16mf4_t v1) { return __riscv_vcreate_v_i16mf4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i16mf4x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i16mf4x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint16mf4x3_t test_vcreate_v_i16mf4x3(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_t v2) { +vint16mf4x3_t test_vcreate_v_i16mf4x3(vint16mf4_t v0, vint16mf4_t v1, + vint16mf4_t v2) { return __riscv_vcreate_v_i16mf4x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i16mf4x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i16mf4x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1207,12 +2210,13 @@ vint16mf4x3_t test_vcreate_v_i16mf4x3(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_ // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint16mf4x4_t test_vcreate_v_i16mf4x4(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_t v2, vint16mf4_t v3) { +vint16mf4x4_t test_vcreate_v_i16mf4x4(vint16mf4_t v0, vint16mf4_t v1, + vint16mf4_t v2, vint16mf4_t v3) { return __riscv_vcreate_v_i16mf4x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i16mf4x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i16mf4x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -1221,12 +2225,14 @@ vint16mf4x4_t test_vcreate_v_i16mf4x4(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_ // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vint16mf4x5_t test_vcreate_v_i16mf4x5(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_t v2, vint16mf4_t v3, vint16mf4_t v4) { +vint16mf4x5_t test_vcreate_v_i16mf4x5(vint16mf4_t v0, vint16mf4_t v1, + vint16mf4_t v2, vint16mf4_t v3, + vint16mf4_t v4) { return __riscv_vcreate_v_i16mf4x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i16mf4x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i16mf4x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -1236,12 +2242,14 @@ vint16mf4x5_t test_vcreate_v_i16mf4x5(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_ // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vint16mf4x6_t test_vcreate_v_i16mf4x6(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_t v2, vint16mf4_t v3, vint16mf4_t v4, vint16mf4_t v5) { +vint16mf4x6_t test_vcreate_v_i16mf4x6(vint16mf4_t v0, vint16mf4_t v1, + vint16mf4_t v2, vint16mf4_t v3, + vint16mf4_t v4, vint16mf4_t v5) { return __riscv_vcreate_v_i16mf4x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i16mf4x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i16mf4x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -1252,12 +2260,15 @@ vint16mf4x6_t test_vcreate_v_i16mf4x6(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_ // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vint16mf4x7_t test_vcreate_v_i16mf4x7(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_t v2, vint16mf4_t v3, vint16mf4_t v4, vint16mf4_t v5, vint16mf4_t v6) { +vint16mf4x7_t test_vcreate_v_i16mf4x7(vint16mf4_t v0, vint16mf4_t v1, + vint16mf4_t v2, vint16mf4_t v3, + vint16mf4_t v4, vint16mf4_t v5, + vint16mf4_t v6) { return __riscv_vcreate_v_i16mf4x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i16mf4x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i16mf4x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -1269,12 +2280,15 @@ vint16mf4x7_t test_vcreate_v_i16mf4x7(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_ // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vint16mf4x8_t test_vcreate_v_i16mf4x8(vint16mf4_t v0, vint16mf4_t v1, vint16mf4_t v2, vint16mf4_t v3, vint16mf4_t v4, vint16mf4_t v5, vint16mf4_t v6, vint16mf4_t v7) { +vint16mf4x8_t test_vcreate_v_i16mf4x8(vint16mf4_t v0, vint16mf4_t v1, + vint16mf4_t v2, vint16mf4_t v3, + vint16mf4_t v4, vint16mf4_t v5, + vint16mf4_t v6, vint16mf4_t v7) { return __riscv_vcreate_v_i16mf4x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i16mf2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i16mf2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1284,20 +2298,21 @@ vint16mf2x2_t test_vcreate_v_i16mf2x2(vint16mf2_t v0, vint16mf2_t v1) { return __riscv_vcreate_v_i16mf2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i16mf2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i16mf2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint16mf2x3_t test_vcreate_v_i16mf2x3(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_t v2) { +vint16mf2x3_t test_vcreate_v_i16mf2x3(vint16mf2_t v0, vint16mf2_t v1, + vint16mf2_t v2) { return __riscv_vcreate_v_i16mf2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i16mf2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i16mf2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1305,12 +2320,13 @@ vint16mf2x3_t test_vcreate_v_i16mf2x3(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_ // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint16mf2x4_t test_vcreate_v_i16mf2x4(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_t v2, vint16mf2_t v3) { +vint16mf2x4_t test_vcreate_v_i16mf2x4(vint16mf2_t v0, vint16mf2_t v1, + vint16mf2_t v2, vint16mf2_t v3) { return __riscv_vcreate_v_i16mf2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i16mf2x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i16mf2x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -1319,12 +2335,14 @@ vint16mf2x4_t test_vcreate_v_i16mf2x4(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_ // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vint16mf2x5_t test_vcreate_v_i16mf2x5(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_t v2, vint16mf2_t v3, vint16mf2_t v4) { +vint16mf2x5_t test_vcreate_v_i16mf2x5(vint16mf2_t v0, vint16mf2_t v1, + vint16mf2_t v2, vint16mf2_t v3, + vint16mf2_t v4) { return __riscv_vcreate_v_i16mf2x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i16mf2x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i16mf2x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -1334,12 +2352,14 @@ vint16mf2x5_t test_vcreate_v_i16mf2x5(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_ // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vint16mf2x6_t test_vcreate_v_i16mf2x6(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_t v2, vint16mf2_t v3, vint16mf2_t v4, vint16mf2_t v5) { +vint16mf2x6_t test_vcreate_v_i16mf2x6(vint16mf2_t v0, vint16mf2_t v1, + vint16mf2_t v2, vint16mf2_t v3, + vint16mf2_t v4, vint16mf2_t v5) { return __riscv_vcreate_v_i16mf2x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i16mf2x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i16mf2x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -1350,12 +2370,15 @@ vint16mf2x6_t test_vcreate_v_i16mf2x6(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_ // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vint16mf2x7_t test_vcreate_v_i16mf2x7(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_t v2, vint16mf2_t v3, vint16mf2_t v4, vint16mf2_t v5, vint16mf2_t v6) { +vint16mf2x7_t test_vcreate_v_i16mf2x7(vint16mf2_t v0, vint16mf2_t v1, + vint16mf2_t v2, vint16mf2_t v3, + vint16mf2_t v4, vint16mf2_t v5, + vint16mf2_t v6) { return __riscv_vcreate_v_i16mf2x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i16mf2x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i16mf2x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -1367,12 +2390,15 @@ vint16mf2x7_t test_vcreate_v_i16mf2x7(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_ // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vint16mf2x8_t test_vcreate_v_i16mf2x8(vint16mf2_t v0, vint16mf2_t v1, vint16mf2_t v2, vint16mf2_t v3, vint16mf2_t v4, vint16mf2_t v5, vint16mf2_t v6, vint16mf2_t v7) { +vint16mf2x8_t test_vcreate_v_i16mf2x8(vint16mf2_t v0, vint16mf2_t v1, + vint16mf2_t v2, vint16mf2_t v3, + vint16mf2_t v4, vint16mf2_t v5, + vint16mf2_t v6, vint16mf2_t v7) { return __riscv_vcreate_v_i16mf2x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i16m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i16m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1382,20 +2408,21 @@ vint16m1x2_t test_vcreate_v_i16m1x2(vint16m1_t v0, vint16m1_t v1) { return __riscv_vcreate_v_i16m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i16m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i16m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint16m1x3_t test_vcreate_v_i16m1x3(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2) { +vint16m1x3_t test_vcreate_v_i16m1x3(vint16m1_t v0, vint16m1_t v1, + vint16m1_t v2) { return __riscv_vcreate_v_i16m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i16m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i16m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1403,12 +2430,13 @@ vint16m1x3_t test_vcreate_v_i16m1x3(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint16m1x4_t test_vcreate_v_i16m1x4(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, vint16m1_t v3) { +vint16m1x4_t test_vcreate_v_i16m1x4(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, + vint16m1_t v3) { return __riscv_vcreate_v_i16m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i16m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i16m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -1417,12 +2445,13 @@ vint16m1x4_t test_vcreate_v_i16m1x4(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vint16m1x5_t test_vcreate_v_i16m1x5(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, vint16m1_t v3, vint16m1_t v4) { +vint16m1x5_t test_vcreate_v_i16m1x5(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, + vint16m1_t v3, vint16m1_t v4) { return __riscv_vcreate_v_i16m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i16m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i16m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -1432,12 +2461,14 @@ vint16m1x5_t test_vcreate_v_i16m1x5(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vint16m1x6_t test_vcreate_v_i16m1x6(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, vint16m1_t v3, vint16m1_t v4, vint16m1_t v5) { +vint16m1x6_t test_vcreate_v_i16m1x6(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, + vint16m1_t v3, vint16m1_t v4, + vint16m1_t v5) { return __riscv_vcreate_v_i16m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i16m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i16m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -1448,12 +2479,14 @@ vint16m1x6_t test_vcreate_v_i16m1x6(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vint16m1x7_t test_vcreate_v_i16m1x7(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, vint16m1_t v3, vint16m1_t v4, vint16m1_t v5, vint16m1_t v6) { +vint16m1x7_t test_vcreate_v_i16m1x7(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, + vint16m1_t v3, vint16m1_t v4, vint16m1_t v5, + vint16m1_t v6) { return __riscv_vcreate_v_i16m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i16m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i16m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -1465,12 +2498,14 @@ vint16m1x7_t test_vcreate_v_i16m1x7(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vint16m1x8_t test_vcreate_v_i16m1x8(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, vint16m1_t v3, vint16m1_t v4, vint16m1_t v5, vint16m1_t v6, vint16m1_t v7) { +vint16m1x8_t test_vcreate_v_i16m1x8(vint16m1_t v0, vint16m1_t v1, vint16m1_t v2, + vint16m1_t v3, vint16m1_t v4, vint16m1_t v5, + vint16m1_t v6, vint16m1_t v7) { return __riscv_vcreate_v_i16m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i16m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i16m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1480,20 +2515,21 @@ vint16m2x2_t test_vcreate_v_i16m2x2(vint16m2_t v0, vint16m2_t v1) { return __riscv_vcreate_v_i16m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i16m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i16m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint16m2x3_t test_vcreate_v_i16m2x3(vint16m2_t v0, vint16m2_t v1, vint16m2_t v2) { +vint16m2x3_t test_vcreate_v_i16m2x3(vint16m2_t v0, vint16m2_t v1, + vint16m2_t v2) { return __riscv_vcreate_v_i16m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i16m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i16m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1501,12 +2537,13 @@ vint16m2x3_t test_vcreate_v_i16m2x3(vint16m2_t v0, vint16m2_t v1, vint16m2_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint16m2x4_t test_vcreate_v_i16m2x4(vint16m2_t v0, vint16m2_t v1, vint16m2_t v2, vint16m2_t v3) { +vint16m2x4_t test_vcreate_v_i16m2x4(vint16m2_t v0, vint16m2_t v1, vint16m2_t v2, + vint16m2_t v3) { return __riscv_vcreate_v_i16m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i16m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i16m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1516,8 +2553,8 @@ vint16m4x2_t test_vcreate_v_i16m4x2(vint16m4_t v0, vint16m4_t v1) { return __riscv_vcreate_v_i16m4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i32mf2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i32mf2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1527,20 +2564,21 @@ vint32mf2x2_t test_vcreate_v_i32mf2x2(vint32mf2_t v0, vint32mf2_t v1) { return __riscv_vcreate_v_i32mf2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i32mf2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i32mf2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint32mf2x3_t test_vcreate_v_i32mf2x3(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_t v2) { +vint32mf2x3_t test_vcreate_v_i32mf2x3(vint32mf2_t v0, vint32mf2_t v1, + vint32mf2_t v2) { return __riscv_vcreate_v_i32mf2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i32mf2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i32mf2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1548,12 +2586,13 @@ vint32mf2x3_t test_vcreate_v_i32mf2x3(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_ // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint32mf2x4_t test_vcreate_v_i32mf2x4(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_t v2, vint32mf2_t v3) { +vint32mf2x4_t test_vcreate_v_i32mf2x4(vint32mf2_t v0, vint32mf2_t v1, + vint32mf2_t v2, vint32mf2_t v3) { return __riscv_vcreate_v_i32mf2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i32mf2x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i32mf2x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -1562,12 +2601,14 @@ vint32mf2x4_t test_vcreate_v_i32mf2x4(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_ // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vint32mf2x5_t test_vcreate_v_i32mf2x5(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_t v2, vint32mf2_t v3, vint32mf2_t v4) { +vint32mf2x5_t test_vcreate_v_i32mf2x5(vint32mf2_t v0, vint32mf2_t v1, + vint32mf2_t v2, vint32mf2_t v3, + vint32mf2_t v4) { return __riscv_vcreate_v_i32mf2x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i32mf2x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i32mf2x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -1577,12 +2618,14 @@ vint32mf2x5_t test_vcreate_v_i32mf2x5(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_ // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vint32mf2x6_t test_vcreate_v_i32mf2x6(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_t v2, vint32mf2_t v3, vint32mf2_t v4, vint32mf2_t v5) { +vint32mf2x6_t test_vcreate_v_i32mf2x6(vint32mf2_t v0, vint32mf2_t v1, + vint32mf2_t v2, vint32mf2_t v3, + vint32mf2_t v4, vint32mf2_t v5) { return __riscv_vcreate_v_i32mf2x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i32mf2x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i32mf2x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -1593,12 +2636,15 @@ vint32mf2x6_t test_vcreate_v_i32mf2x6(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_ // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vint32mf2x7_t test_vcreate_v_i32mf2x7(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_t v2, vint32mf2_t v3, vint32mf2_t v4, vint32mf2_t v5, vint32mf2_t v6) { +vint32mf2x7_t test_vcreate_v_i32mf2x7(vint32mf2_t v0, vint32mf2_t v1, + vint32mf2_t v2, vint32mf2_t v3, + vint32mf2_t v4, vint32mf2_t v5, + vint32mf2_t v6) { return __riscv_vcreate_v_i32mf2x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i32mf2x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i32mf2x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -1610,12 +2656,15 @@ vint32mf2x7_t test_vcreate_v_i32mf2x7(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_ // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vint32mf2x8_t test_vcreate_v_i32mf2x8(vint32mf2_t v0, vint32mf2_t v1, vint32mf2_t v2, vint32mf2_t v3, vint32mf2_t v4, vint32mf2_t v5, vint32mf2_t v6, vint32mf2_t v7) { +vint32mf2x8_t test_vcreate_v_i32mf2x8(vint32mf2_t v0, vint32mf2_t v1, + vint32mf2_t v2, vint32mf2_t v3, + vint32mf2_t v4, vint32mf2_t v5, + vint32mf2_t v6, vint32mf2_t v7) { return __riscv_vcreate_v_i32mf2x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i32m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i32m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1625,20 +2674,21 @@ vint32m1x2_t test_vcreate_v_i32m1x2(vint32m1_t v0, vint32m1_t v1) { return __riscv_vcreate_v_i32m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i32m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i32m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint32m1x3_t test_vcreate_v_i32m1x3(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2) { +vint32m1x3_t test_vcreate_v_i32m1x3(vint32m1_t v0, vint32m1_t v1, + vint32m1_t v2) { return __riscv_vcreate_v_i32m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i32m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i32m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1646,12 +2696,13 @@ vint32m1x3_t test_vcreate_v_i32m1x3(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint32m1x4_t test_vcreate_v_i32m1x4(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, vint32m1_t v3) { +vint32m1x4_t test_vcreate_v_i32m1x4(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, + vint32m1_t v3) { return __riscv_vcreate_v_i32m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i32m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i32m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -1660,12 +2711,13 @@ vint32m1x4_t test_vcreate_v_i32m1x4(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vint32m1x5_t test_vcreate_v_i32m1x5(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, vint32m1_t v3, vint32m1_t v4) { +vint32m1x5_t test_vcreate_v_i32m1x5(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, + vint32m1_t v3, vint32m1_t v4) { return __riscv_vcreate_v_i32m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i32m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i32m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -1675,12 +2727,14 @@ vint32m1x5_t test_vcreate_v_i32m1x5(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vint32m1x6_t test_vcreate_v_i32m1x6(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, vint32m1_t v3, vint32m1_t v4, vint32m1_t v5) { +vint32m1x6_t test_vcreate_v_i32m1x6(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, + vint32m1_t v3, vint32m1_t v4, + vint32m1_t v5) { return __riscv_vcreate_v_i32m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i32m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i32m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -1691,12 +2745,14 @@ vint32m1x6_t test_vcreate_v_i32m1x6(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vint32m1x7_t test_vcreate_v_i32m1x7(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, vint32m1_t v3, vint32m1_t v4, vint32m1_t v5, vint32m1_t v6) { +vint32m1x7_t test_vcreate_v_i32m1x7(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, + vint32m1_t v3, vint32m1_t v4, vint32m1_t v5, + vint32m1_t v6) { return __riscv_vcreate_v_i32m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i32m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i32m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -1708,12 +2764,14 @@ vint32m1x7_t test_vcreate_v_i32m1x7(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vint32m1x8_t test_vcreate_v_i32m1x8(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, vint32m1_t v3, vint32m1_t v4, vint32m1_t v5, vint32m1_t v6, vint32m1_t v7) { +vint32m1x8_t test_vcreate_v_i32m1x8(vint32m1_t v0, vint32m1_t v1, vint32m1_t v2, + vint32m1_t v3, vint32m1_t v4, vint32m1_t v5, + vint32m1_t v6, vint32m1_t v7) { return __riscv_vcreate_v_i32m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i32m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i32m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1723,20 +2781,21 @@ vint32m2x2_t test_vcreate_v_i32m2x2(vint32m2_t v0, vint32m2_t v1) { return __riscv_vcreate_v_i32m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i32m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i32m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint32m2x3_t test_vcreate_v_i32m2x3(vint32m2_t v0, vint32m2_t v1, vint32m2_t v2) { +vint32m2x3_t test_vcreate_v_i32m2x3(vint32m2_t v0, vint32m2_t v1, + vint32m2_t v2) { return __riscv_vcreate_v_i32m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i32m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i32m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1744,12 +2803,13 @@ vint32m2x3_t test_vcreate_v_i32m2x3(vint32m2_t v0, vint32m2_t v1, vint32m2_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint32m2x4_t test_vcreate_v_i32m2x4(vint32m2_t v0, vint32m2_t v1, vint32m2_t v2, vint32m2_t v3) { +vint32m2x4_t test_vcreate_v_i32m2x4(vint32m2_t v0, vint32m2_t v1, vint32m2_t v2, + vint32m2_t v3) { return __riscv_vcreate_v_i32m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i32m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i32m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1759,8 +2819,8 @@ vint32m4x2_t test_vcreate_v_i32m4x2(vint32m4_t v0, vint32m4_t v1) { return __riscv_vcreate_v_i32m4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i64m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i64m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1770,20 +2830,21 @@ vint64m1x2_t test_vcreate_v_i64m1x2(vint64m1_t v0, vint64m1_t v1) { return __riscv_vcreate_v_i64m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i64m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i64m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint64m1x3_t test_vcreate_v_i64m1x3(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2) { +vint64m1x3_t test_vcreate_v_i64m1x3(vint64m1_t v0, vint64m1_t v1, + vint64m1_t v2) { return __riscv_vcreate_v_i64m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i64m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i64m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1791,12 +2852,13 @@ vint64m1x3_t test_vcreate_v_i64m1x3(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint64m1x4_t test_vcreate_v_i64m1x4(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, vint64m1_t v3) { +vint64m1x4_t test_vcreate_v_i64m1x4(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, + vint64m1_t v3) { return __riscv_vcreate_v_i64m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i64m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_i64m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -1805,12 +2867,13 @@ vint64m1x4_t test_vcreate_v_i64m1x4(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vint64m1x5_t test_vcreate_v_i64m1x5(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, vint64m1_t v3, vint64m1_t v4) { +vint64m1x5_t test_vcreate_v_i64m1x5(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, + vint64m1_t v3, vint64m1_t v4) { return __riscv_vcreate_v_i64m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i64m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_i64m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -1820,12 +2883,14 @@ vint64m1x5_t test_vcreate_v_i64m1x5(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vint64m1x6_t test_vcreate_v_i64m1x6(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, vint64m1_t v3, vint64m1_t v4, vint64m1_t v5) { +vint64m1x6_t test_vcreate_v_i64m1x6(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, + vint64m1_t v3, vint64m1_t v4, + vint64m1_t v5) { return __riscv_vcreate_v_i64m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i64m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_i64m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -1836,12 +2901,14 @@ vint64m1x6_t test_vcreate_v_i64m1x6(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vint64m1x7_t test_vcreate_v_i64m1x7(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, vint64m1_t v3, vint64m1_t v4, vint64m1_t v5, vint64m1_t v6) { +vint64m1x7_t test_vcreate_v_i64m1x7(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, + vint64m1_t v3, vint64m1_t v4, vint64m1_t v5, + vint64m1_t v6) { return __riscv_vcreate_v_i64m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i64m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_i64m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -1853,12 +2920,14 @@ vint64m1x7_t test_vcreate_v_i64m1x7(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vint64m1x8_t test_vcreate_v_i64m1x8(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, vint64m1_t v3, vint64m1_t v4, vint64m1_t v5, vint64m1_t v6, vint64m1_t v7) { +vint64m1x8_t test_vcreate_v_i64m1x8(vint64m1_t v0, vint64m1_t v1, vint64m1_t v2, + vint64m1_t v3, vint64m1_t v4, vint64m1_t v5, + vint64m1_t v6, vint64m1_t v7) { return __riscv_vcreate_v_i64m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i64m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i64m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1868,20 +2937,21 @@ vint64m2x2_t test_vcreate_v_i64m2x2(vint64m2_t v0, vint64m2_t v1) { return __riscv_vcreate_v_i64m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i64m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_i64m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vint64m2x3_t test_vcreate_v_i64m2x3(vint64m2_t v0, vint64m2_t v1, vint64m2_t v2) { +vint64m2x3_t test_vcreate_v_i64m2x3(vint64m2_t v0, vint64m2_t v1, + vint64m2_t v2) { return __riscv_vcreate_v_i64m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i64m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_i64m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1889,12 +2959,13 @@ vint64m2x3_t test_vcreate_v_i64m2x3(vint64m2_t v0, vint64m2_t v1, vint64m2_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vint64m2x4_t test_vcreate_v_i64m2x4(vint64m2_t v0, vint64m2_t v1, vint64m2_t v2, vint64m2_t v3) { +vint64m2x4_t test_vcreate_v_i64m2x4(vint64m2_t v0, vint64m2_t v1, vint64m2_t v2, + vint64m2_t v3) { return __riscv_vcreate_v_i64m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i64m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_i64m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1904,8 +2975,8 @@ vint64m4x2_t test_vcreate_v_i64m4x2(vint64m4_t v0, vint64m4_t v1) { return __riscv_vcreate_v_i64m4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8mf8x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8mf8x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -1915,20 +2986,21 @@ vuint8mf8x2_t test_vcreate_v_u8mf8x2(vuint8mf8_t v0, vuint8mf8_t v1) { return __riscv_vcreate_v_u8mf8x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u8mf8x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u8mf8x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint8mf8x3_t test_vcreate_v_u8mf8x3(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t v2) { +vuint8mf8x3_t test_vcreate_v_u8mf8x3(vuint8mf8_t v0, vuint8mf8_t v1, + vuint8mf8_t v2) { return __riscv_vcreate_v_u8mf8x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u8mf8x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u8mf8x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -1936,12 +3008,13 @@ vuint8mf8x3_t test_vcreate_v_u8mf8x3(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint8mf8x4_t test_vcreate_v_u8mf8x4(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t v2, vuint8mf8_t v3) { +vuint8mf8x4_t test_vcreate_v_u8mf8x4(vuint8mf8_t v0, vuint8mf8_t v1, + vuint8mf8_t v2, vuint8mf8_t v3) { return __riscv_vcreate_v_u8mf8x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u8mf8x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u8mf8x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -1950,12 +3023,14 @@ vuint8mf8x4_t test_vcreate_v_u8mf8x4(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vuint8mf8x5_t test_vcreate_v_u8mf8x5(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t v2, vuint8mf8_t v3, vuint8mf8_t v4) { +vuint8mf8x5_t test_vcreate_v_u8mf8x5(vuint8mf8_t v0, vuint8mf8_t v1, + vuint8mf8_t v2, vuint8mf8_t v3, + vuint8mf8_t v4) { return __riscv_vcreate_v_u8mf8x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u8mf8x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u8mf8x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -1965,12 +3040,14 @@ vuint8mf8x5_t test_vcreate_v_u8mf8x5(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vuint8mf8x6_t test_vcreate_v_u8mf8x6(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t v2, vuint8mf8_t v3, vuint8mf8_t v4, vuint8mf8_t v5) { +vuint8mf8x6_t test_vcreate_v_u8mf8x6(vuint8mf8_t v0, vuint8mf8_t v1, + vuint8mf8_t v2, vuint8mf8_t v3, + vuint8mf8_t v4, vuint8mf8_t v5) { return __riscv_vcreate_v_u8mf8x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u8mf8x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u8mf8x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -1981,12 +3058,15 @@ vuint8mf8x6_t test_vcreate_v_u8mf8x6(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vuint8mf8x7_t test_vcreate_v_u8mf8x7(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t v2, vuint8mf8_t v3, vuint8mf8_t v4, vuint8mf8_t v5, vuint8mf8_t v6) { +vuint8mf8x7_t test_vcreate_v_u8mf8x7(vuint8mf8_t v0, vuint8mf8_t v1, + vuint8mf8_t v2, vuint8mf8_t v3, + vuint8mf8_t v4, vuint8mf8_t v5, + vuint8mf8_t v6) { return __riscv_vcreate_v_u8mf8x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u8mf8x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u8mf8x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -1998,12 +3078,15 @@ vuint8mf8x7_t test_vcreate_v_u8mf8x7(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vuint8mf8x8_t test_vcreate_v_u8mf8x8(vuint8mf8_t v0, vuint8mf8_t v1, vuint8mf8_t v2, vuint8mf8_t v3, vuint8mf8_t v4, vuint8mf8_t v5, vuint8mf8_t v6, vuint8mf8_t v7) { +vuint8mf8x8_t test_vcreate_v_u8mf8x8(vuint8mf8_t v0, vuint8mf8_t v1, + vuint8mf8_t v2, vuint8mf8_t v3, + vuint8mf8_t v4, vuint8mf8_t v5, + vuint8mf8_t v6, vuint8mf8_t v7) { return __riscv_vcreate_v_u8mf8x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8mf4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8mf4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2013,20 +3096,21 @@ vuint8mf4x2_t test_vcreate_v_u8mf4x2(vuint8mf4_t v0, vuint8mf4_t v1) { return __riscv_vcreate_v_u8mf4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u8mf4x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u8mf4x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint8mf4x3_t test_vcreate_v_u8mf4x3(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t v2) { +vuint8mf4x3_t test_vcreate_v_u8mf4x3(vuint8mf4_t v0, vuint8mf4_t v1, + vuint8mf4_t v2) { return __riscv_vcreate_v_u8mf4x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u8mf4x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u8mf4x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2034,12 +3118,13 @@ vuint8mf4x3_t test_vcreate_v_u8mf4x3(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint8mf4x4_t test_vcreate_v_u8mf4x4(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t v2, vuint8mf4_t v3) { +vuint8mf4x4_t test_vcreate_v_u8mf4x4(vuint8mf4_t v0, vuint8mf4_t v1, + vuint8mf4_t v2, vuint8mf4_t v3) { return __riscv_vcreate_v_u8mf4x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u8mf4x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u8mf4x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -2048,12 +3133,14 @@ vuint8mf4x4_t test_vcreate_v_u8mf4x4(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vuint8mf4x5_t test_vcreate_v_u8mf4x5(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t v2, vuint8mf4_t v3, vuint8mf4_t v4) { +vuint8mf4x5_t test_vcreate_v_u8mf4x5(vuint8mf4_t v0, vuint8mf4_t v1, + vuint8mf4_t v2, vuint8mf4_t v3, + vuint8mf4_t v4) { return __riscv_vcreate_v_u8mf4x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u8mf4x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u8mf4x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -2063,12 +3150,14 @@ vuint8mf4x5_t test_vcreate_v_u8mf4x5(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vuint8mf4x6_t test_vcreate_v_u8mf4x6(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t v2, vuint8mf4_t v3, vuint8mf4_t v4, vuint8mf4_t v5) { +vuint8mf4x6_t test_vcreate_v_u8mf4x6(vuint8mf4_t v0, vuint8mf4_t v1, + vuint8mf4_t v2, vuint8mf4_t v3, + vuint8mf4_t v4, vuint8mf4_t v5) { return __riscv_vcreate_v_u8mf4x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u8mf4x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u8mf4x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -2079,12 +3168,15 @@ vuint8mf4x6_t test_vcreate_v_u8mf4x6(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vuint8mf4x7_t test_vcreate_v_u8mf4x7(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t v2, vuint8mf4_t v3, vuint8mf4_t v4, vuint8mf4_t v5, vuint8mf4_t v6) { +vuint8mf4x7_t test_vcreate_v_u8mf4x7(vuint8mf4_t v0, vuint8mf4_t v1, + vuint8mf4_t v2, vuint8mf4_t v3, + vuint8mf4_t v4, vuint8mf4_t v5, + vuint8mf4_t v6) { return __riscv_vcreate_v_u8mf4x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u8mf4x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u8mf4x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -2096,12 +3188,15 @@ vuint8mf4x7_t test_vcreate_v_u8mf4x7(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vuint8mf4x8_t test_vcreate_v_u8mf4x8(vuint8mf4_t v0, vuint8mf4_t v1, vuint8mf4_t v2, vuint8mf4_t v3, vuint8mf4_t v4, vuint8mf4_t v5, vuint8mf4_t v6, vuint8mf4_t v7) { +vuint8mf4x8_t test_vcreate_v_u8mf4x8(vuint8mf4_t v0, vuint8mf4_t v1, + vuint8mf4_t v2, vuint8mf4_t v3, + vuint8mf4_t v4, vuint8mf4_t v5, + vuint8mf4_t v6, vuint8mf4_t v7) { return __riscv_vcreate_v_u8mf4x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8mf2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8mf2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2111,20 +3206,21 @@ vuint8mf2x2_t test_vcreate_v_u8mf2x2(vuint8mf2_t v0, vuint8mf2_t v1) { return __riscv_vcreate_v_u8mf2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u8mf2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u8mf2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint8mf2x3_t test_vcreate_v_u8mf2x3(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t v2) { +vuint8mf2x3_t test_vcreate_v_u8mf2x3(vuint8mf2_t v0, vuint8mf2_t v1, + vuint8mf2_t v2) { return __riscv_vcreate_v_u8mf2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u8mf2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u8mf2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2132,12 +3228,13 @@ vuint8mf2x3_t test_vcreate_v_u8mf2x3(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint8mf2x4_t test_vcreate_v_u8mf2x4(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t v2, vuint8mf2_t v3) { +vuint8mf2x4_t test_vcreate_v_u8mf2x4(vuint8mf2_t v0, vuint8mf2_t v1, + vuint8mf2_t v2, vuint8mf2_t v3) { return __riscv_vcreate_v_u8mf2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u8mf2x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u8mf2x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -2146,12 +3243,14 @@ vuint8mf2x4_t test_vcreate_v_u8mf2x4(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vuint8mf2x5_t test_vcreate_v_u8mf2x5(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t v2, vuint8mf2_t v3, vuint8mf2_t v4) { +vuint8mf2x5_t test_vcreate_v_u8mf2x5(vuint8mf2_t v0, vuint8mf2_t v1, + vuint8mf2_t v2, vuint8mf2_t v3, + vuint8mf2_t v4) { return __riscv_vcreate_v_u8mf2x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u8mf2x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u8mf2x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -2161,12 +3260,14 @@ vuint8mf2x5_t test_vcreate_v_u8mf2x5(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vuint8mf2x6_t test_vcreate_v_u8mf2x6(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t v2, vuint8mf2_t v3, vuint8mf2_t v4, vuint8mf2_t v5) { +vuint8mf2x6_t test_vcreate_v_u8mf2x6(vuint8mf2_t v0, vuint8mf2_t v1, + vuint8mf2_t v2, vuint8mf2_t v3, + vuint8mf2_t v4, vuint8mf2_t v5) { return __riscv_vcreate_v_u8mf2x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u8mf2x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u8mf2x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -2177,12 +3278,15 @@ vuint8mf2x6_t test_vcreate_v_u8mf2x6(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vuint8mf2x7_t test_vcreate_v_u8mf2x7(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t v2, vuint8mf2_t v3, vuint8mf2_t v4, vuint8mf2_t v5, vuint8mf2_t v6) { +vuint8mf2x7_t test_vcreate_v_u8mf2x7(vuint8mf2_t v0, vuint8mf2_t v1, + vuint8mf2_t v2, vuint8mf2_t v3, + vuint8mf2_t v4, vuint8mf2_t v5, + vuint8mf2_t v6) { return __riscv_vcreate_v_u8mf2x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u8mf2x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u8mf2x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -2194,12 +3298,15 @@ vuint8mf2x7_t test_vcreate_v_u8mf2x7(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vuint8mf2x8_t test_vcreate_v_u8mf2x8(vuint8mf2_t v0, vuint8mf2_t v1, vuint8mf2_t v2, vuint8mf2_t v3, vuint8mf2_t v4, vuint8mf2_t v5, vuint8mf2_t v6, vuint8mf2_t v7) { +vuint8mf2x8_t test_vcreate_v_u8mf2x8(vuint8mf2_t v0, vuint8mf2_t v1, + vuint8mf2_t v2, vuint8mf2_t v3, + vuint8mf2_t v4, vuint8mf2_t v5, + vuint8mf2_t v6, vuint8mf2_t v7) { return __riscv_vcreate_v_u8mf2x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2209,20 +3316,21 @@ vuint8m1x2_t test_vcreate_v_u8m1x2(vuint8m1_t v0, vuint8m1_t v1) { return __riscv_vcreate_v_u8m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u8m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u8m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint8m1x3_t test_vcreate_v_u8m1x3(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2) { +vuint8m1x3_t test_vcreate_v_u8m1x3(vuint8m1_t v0, vuint8m1_t v1, + vuint8m1_t v2) { return __riscv_vcreate_v_u8m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u8m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u8m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2230,12 +3338,13 @@ vuint8m1x3_t test_vcreate_v_u8m1x3(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint8m1x4_t test_vcreate_v_u8m1x4(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, vuint8m1_t v3) { +vuint8m1x4_t test_vcreate_v_u8m1x4(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, + vuint8m1_t v3) { return __riscv_vcreate_v_u8m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u8m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u8m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -2244,12 +3353,13 @@ vuint8m1x4_t test_vcreate_v_u8m1x4(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vuint8m1x5_t test_vcreate_v_u8m1x5(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, vuint8m1_t v3, vuint8m1_t v4) { +vuint8m1x5_t test_vcreate_v_u8m1x5(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, + vuint8m1_t v3, vuint8m1_t v4) { return __riscv_vcreate_v_u8m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u8m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u8m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -2259,12 +3369,14 @@ vuint8m1x5_t test_vcreate_v_u8m1x5(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vuint8m1x6_t test_vcreate_v_u8m1x6(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, vuint8m1_t v3, vuint8m1_t v4, vuint8m1_t v5) { +vuint8m1x6_t test_vcreate_v_u8m1x6(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, + vuint8m1_t v3, vuint8m1_t v4, + vuint8m1_t v5) { return __riscv_vcreate_v_u8m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u8m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u8m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -2275,12 +3387,14 @@ vuint8m1x6_t test_vcreate_v_u8m1x6(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vuint8m1x7_t test_vcreate_v_u8m1x7(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, vuint8m1_t v3, vuint8m1_t v4, vuint8m1_t v5, vuint8m1_t v6) { +vuint8m1x7_t test_vcreate_v_u8m1x7(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, + vuint8m1_t v3, vuint8m1_t v4, vuint8m1_t v5, + vuint8m1_t v6) { return __riscv_vcreate_v_u8m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u8m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u8m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -2292,12 +3406,14 @@ vuint8m1x7_t test_vcreate_v_u8m1x7(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vuint8m1x8_t test_vcreate_v_u8m1x8(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, vuint8m1_t v3, vuint8m1_t v4, vuint8m1_t v5, vuint8m1_t v6, vuint8m1_t v7) { +vuint8m1x8_t test_vcreate_v_u8m1x8(vuint8m1_t v0, vuint8m1_t v1, vuint8m1_t v2, + vuint8m1_t v3, vuint8m1_t v4, vuint8m1_t v5, + vuint8m1_t v6, vuint8m1_t v7) { return __riscv_vcreate_v_u8m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2307,20 +3423,21 @@ vuint8m2x2_t test_vcreate_v_u8m2x2(vuint8m2_t v0, vuint8m2_t v1) { return __riscv_vcreate_v_u8m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u8m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u8m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint8m2x3_t test_vcreate_v_u8m2x3(vuint8m2_t v0, vuint8m2_t v1, vuint8m2_t v2) { +vuint8m2x3_t test_vcreate_v_u8m2x3(vuint8m2_t v0, vuint8m2_t v1, + vuint8m2_t v2) { return __riscv_vcreate_v_u8m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u8m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u8m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2328,12 +3445,13 @@ vuint8m2x3_t test_vcreate_v_u8m2x3(vuint8m2_t v0, vuint8m2_t v1, vuint8m2_t v2) // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint8m2x4_t test_vcreate_v_u8m2x4(vuint8m2_t v0, vuint8m2_t v1, vuint8m2_t v2, vuint8m2_t v3) { +vuint8m2x4_t test_vcreate_v_u8m2x4(vuint8m2_t v0, vuint8m2_t v1, vuint8m2_t v2, + vuint8m2_t v3) { return __riscv_vcreate_v_u8m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u8m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2343,8 +3461,8 @@ vuint8m4x2_t test_vcreate_v_u8m4x2(vuint8m4_t v0, vuint8m4_t v1) { return __riscv_vcreate_v_u8m4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u16mf4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u16mf4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2354,20 +3472,21 @@ vuint16mf4x2_t test_vcreate_v_u16mf4x2(vuint16mf4_t v0, vuint16mf4_t v1) { return __riscv_vcreate_v_u16mf4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u16mf4x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u16mf4x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint16mf4x3_t test_vcreate_v_u16mf4x3(vuint16mf4_t v0, vuint16mf4_t v1, vuint16mf4_t v2) { +vuint16mf4x3_t test_vcreate_v_u16mf4x3(vuint16mf4_t v0, vuint16mf4_t v1, + vuint16mf4_t v2) { return __riscv_vcreate_v_u16mf4x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u16mf4x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u16mf4x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2375,12 +3494,13 @@ vuint16mf4x3_t test_vcreate_v_u16mf4x3(vuint16mf4_t v0, vuint16mf4_t v1, vuint16 // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint16mf4x4_t test_vcreate_v_u16mf4x4(vuint16mf4_t v0, vuint16mf4_t v1, vuint16mf4_t v2, vuint16mf4_t v3) { +vuint16mf4x4_t test_vcreate_v_u16mf4x4(vuint16mf4_t v0, vuint16mf4_t v1, + vuint16mf4_t v2, vuint16mf4_t v3) { return __riscv_vcreate_v_u16mf4x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u16mf4x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u16mf4x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -2389,12 +3509,14 @@ vuint16mf4x4_t test_vcreate_v_u16mf4x4(vuint16mf4_t v0, vuint16mf4_t v1, vuint16 // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vuint16mf4x5_t test_vcreate_v_u16mf4x5(vuint16mf4_t v0, vuint16mf4_t v1, vuint16mf4_t v2, vuint16mf4_t v3, vuint16mf4_t v4) { +vuint16mf4x5_t test_vcreate_v_u16mf4x5(vuint16mf4_t v0, vuint16mf4_t v1, + vuint16mf4_t v2, vuint16mf4_t v3, + vuint16mf4_t v4) { return __riscv_vcreate_v_u16mf4x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u16mf4x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u16mf4x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -2404,12 +3526,14 @@ vuint16mf4x5_t test_vcreate_v_u16mf4x5(vuint16mf4_t v0, vuint16mf4_t v1, vuint16 // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vuint16mf4x6_t test_vcreate_v_u16mf4x6(vuint16mf4_t v0, vuint16mf4_t v1, vuint16mf4_t v2, vuint16mf4_t v3, vuint16mf4_t v4, vuint16mf4_t v5) { +vuint16mf4x6_t test_vcreate_v_u16mf4x6(vuint16mf4_t v0, vuint16mf4_t v1, + vuint16mf4_t v2, vuint16mf4_t v3, + vuint16mf4_t v4, vuint16mf4_t v5) { return __riscv_vcreate_v_u16mf4x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u16mf4x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u16mf4x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -2420,12 +3544,15 @@ vuint16mf4x6_t test_vcreate_v_u16mf4x6(vuint16mf4_t v0, vuint16mf4_t v1, vuint16 // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vuint16mf4x7_t test_vcreate_v_u16mf4x7(vuint16mf4_t v0, vuint16mf4_t v1, vuint16mf4_t v2, vuint16mf4_t v3, vuint16mf4_t v4, vuint16mf4_t v5, vuint16mf4_t v6) { +vuint16mf4x7_t test_vcreate_v_u16mf4x7(vuint16mf4_t v0, vuint16mf4_t v1, + vuint16mf4_t v2, vuint16mf4_t v3, + vuint16mf4_t v4, vuint16mf4_t v5, + vuint16mf4_t v6) { return __riscv_vcreate_v_u16mf4x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u16mf4x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u16mf4x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -2437,12 +3564,15 @@ vuint16mf4x7_t test_vcreate_v_u16mf4x7(vuint16mf4_t v0, vuint16mf4_t v1, vuint16 // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vuint16mf4x8_t test_vcreate_v_u16mf4x8(vuint16mf4_t v0, vuint16mf4_t v1, vuint16mf4_t v2, vuint16mf4_t v3, vuint16mf4_t v4, vuint16mf4_t v5, vuint16mf4_t v6, vuint16mf4_t v7) { +vuint16mf4x8_t test_vcreate_v_u16mf4x8(vuint16mf4_t v0, vuint16mf4_t v1, + vuint16mf4_t v2, vuint16mf4_t v3, + vuint16mf4_t v4, vuint16mf4_t v5, + vuint16mf4_t v6, vuint16mf4_t v7) { return __riscv_vcreate_v_u16mf4x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u16mf2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u16mf2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2452,20 +3582,21 @@ vuint16mf2x2_t test_vcreate_v_u16mf2x2(vuint16mf2_t v0, vuint16mf2_t v1) { return __riscv_vcreate_v_u16mf2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u16mf2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u16mf2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint16mf2x3_t test_vcreate_v_u16mf2x3(vuint16mf2_t v0, vuint16mf2_t v1, vuint16mf2_t v2) { +vuint16mf2x3_t test_vcreate_v_u16mf2x3(vuint16mf2_t v0, vuint16mf2_t v1, + vuint16mf2_t v2) { return __riscv_vcreate_v_u16mf2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u16mf2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u16mf2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2473,12 +3604,13 @@ vuint16mf2x3_t test_vcreate_v_u16mf2x3(vuint16mf2_t v0, vuint16mf2_t v1, vuint16 // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint16mf2x4_t test_vcreate_v_u16mf2x4(vuint16mf2_t v0, vuint16mf2_t v1, vuint16mf2_t v2, vuint16mf2_t v3) { +vuint16mf2x4_t test_vcreate_v_u16mf2x4(vuint16mf2_t v0, vuint16mf2_t v1, + vuint16mf2_t v2, vuint16mf2_t v3) { return __riscv_vcreate_v_u16mf2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u16mf2x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u16mf2x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -2487,12 +3619,14 @@ vuint16mf2x4_t test_vcreate_v_u16mf2x4(vuint16mf2_t v0, vuint16mf2_t v1, vuint16 // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vuint16mf2x5_t test_vcreate_v_u16mf2x5(vuint16mf2_t v0, vuint16mf2_t v1, vuint16mf2_t v2, vuint16mf2_t v3, vuint16mf2_t v4) { +vuint16mf2x5_t test_vcreate_v_u16mf2x5(vuint16mf2_t v0, vuint16mf2_t v1, + vuint16mf2_t v2, vuint16mf2_t v3, + vuint16mf2_t v4) { return __riscv_vcreate_v_u16mf2x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u16mf2x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u16mf2x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -2502,12 +3636,14 @@ vuint16mf2x5_t test_vcreate_v_u16mf2x5(vuint16mf2_t v0, vuint16mf2_t v1, vuint16 // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vuint16mf2x6_t test_vcreate_v_u16mf2x6(vuint16mf2_t v0, vuint16mf2_t v1, vuint16mf2_t v2, vuint16mf2_t v3, vuint16mf2_t v4, vuint16mf2_t v5) { +vuint16mf2x6_t test_vcreate_v_u16mf2x6(vuint16mf2_t v0, vuint16mf2_t v1, + vuint16mf2_t v2, vuint16mf2_t v3, + vuint16mf2_t v4, vuint16mf2_t v5) { return __riscv_vcreate_v_u16mf2x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u16mf2x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u16mf2x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -2518,12 +3654,15 @@ vuint16mf2x6_t test_vcreate_v_u16mf2x6(vuint16mf2_t v0, vuint16mf2_t v1, vuint16 // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vuint16mf2x7_t test_vcreate_v_u16mf2x7(vuint16mf2_t v0, vuint16mf2_t v1, vuint16mf2_t v2, vuint16mf2_t v3, vuint16mf2_t v4, vuint16mf2_t v5, vuint16mf2_t v6) { +vuint16mf2x7_t test_vcreate_v_u16mf2x7(vuint16mf2_t v0, vuint16mf2_t v1, + vuint16mf2_t v2, vuint16mf2_t v3, + vuint16mf2_t v4, vuint16mf2_t v5, + vuint16mf2_t v6) { return __riscv_vcreate_v_u16mf2x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u16mf2x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u16mf2x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -2535,12 +3674,15 @@ vuint16mf2x7_t test_vcreate_v_u16mf2x7(vuint16mf2_t v0, vuint16mf2_t v1, vuint16 // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vuint16mf2x8_t test_vcreate_v_u16mf2x8(vuint16mf2_t v0, vuint16mf2_t v1, vuint16mf2_t v2, vuint16mf2_t v3, vuint16mf2_t v4, vuint16mf2_t v5, vuint16mf2_t v6, vuint16mf2_t v7) { +vuint16mf2x8_t test_vcreate_v_u16mf2x8(vuint16mf2_t v0, vuint16mf2_t v1, + vuint16mf2_t v2, vuint16mf2_t v3, + vuint16mf2_t v4, vuint16mf2_t v5, + vuint16mf2_t v6, vuint16mf2_t v7) { return __riscv_vcreate_v_u16mf2x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u16m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u16m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2550,20 +3692,21 @@ vuint16m1x2_t test_vcreate_v_u16m1x2(vuint16m1_t v0, vuint16m1_t v1) { return __riscv_vcreate_v_u16m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u16m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u16m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint16m1x3_t test_vcreate_v_u16m1x3(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t v2) { +vuint16m1x3_t test_vcreate_v_u16m1x3(vuint16m1_t v0, vuint16m1_t v1, + vuint16m1_t v2) { return __riscv_vcreate_v_u16m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u16m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u16m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2571,12 +3714,13 @@ vuint16m1x3_t test_vcreate_v_u16m1x3(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint16m1x4_t test_vcreate_v_u16m1x4(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t v2, vuint16m1_t v3) { +vuint16m1x4_t test_vcreate_v_u16m1x4(vuint16m1_t v0, vuint16m1_t v1, + vuint16m1_t v2, vuint16m1_t v3) { return __riscv_vcreate_v_u16m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u16m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u16m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -2585,12 +3729,14 @@ vuint16m1x4_t test_vcreate_v_u16m1x4(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vuint16m1x5_t test_vcreate_v_u16m1x5(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t v2, vuint16m1_t v3, vuint16m1_t v4) { +vuint16m1x5_t test_vcreate_v_u16m1x5(vuint16m1_t v0, vuint16m1_t v1, + vuint16m1_t v2, vuint16m1_t v3, + vuint16m1_t v4) { return __riscv_vcreate_v_u16m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u16m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u16m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -2600,12 +3746,14 @@ vuint16m1x5_t test_vcreate_v_u16m1x5(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vuint16m1x6_t test_vcreate_v_u16m1x6(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t v2, vuint16m1_t v3, vuint16m1_t v4, vuint16m1_t v5) { +vuint16m1x6_t test_vcreate_v_u16m1x6(vuint16m1_t v0, vuint16m1_t v1, + vuint16m1_t v2, vuint16m1_t v3, + vuint16m1_t v4, vuint16m1_t v5) { return __riscv_vcreate_v_u16m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u16m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u16m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -2616,12 +3764,15 @@ vuint16m1x6_t test_vcreate_v_u16m1x6(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vuint16m1x7_t test_vcreate_v_u16m1x7(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t v2, vuint16m1_t v3, vuint16m1_t v4, vuint16m1_t v5, vuint16m1_t v6) { +vuint16m1x7_t test_vcreate_v_u16m1x7(vuint16m1_t v0, vuint16m1_t v1, + vuint16m1_t v2, vuint16m1_t v3, + vuint16m1_t v4, vuint16m1_t v5, + vuint16m1_t v6) { return __riscv_vcreate_v_u16m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u16m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u16m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -2633,12 +3784,15 @@ vuint16m1x7_t test_vcreate_v_u16m1x7(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vuint16m1x8_t test_vcreate_v_u16m1x8(vuint16m1_t v0, vuint16m1_t v1, vuint16m1_t v2, vuint16m1_t v3, vuint16m1_t v4, vuint16m1_t v5, vuint16m1_t v6, vuint16m1_t v7) { +vuint16m1x8_t test_vcreate_v_u16m1x8(vuint16m1_t v0, vuint16m1_t v1, + vuint16m1_t v2, vuint16m1_t v3, + vuint16m1_t v4, vuint16m1_t v5, + vuint16m1_t v6, vuint16m1_t v7) { return __riscv_vcreate_v_u16m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u16m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u16m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2648,20 +3802,21 @@ vuint16m2x2_t test_vcreate_v_u16m2x2(vuint16m2_t v0, vuint16m2_t v1) { return __riscv_vcreate_v_u16m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u16m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u16m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint16m2x3_t test_vcreate_v_u16m2x3(vuint16m2_t v0, vuint16m2_t v1, vuint16m2_t v2) { +vuint16m2x3_t test_vcreate_v_u16m2x3(vuint16m2_t v0, vuint16m2_t v1, + vuint16m2_t v2) { return __riscv_vcreate_v_u16m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u16m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u16m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2669,12 +3824,13 @@ vuint16m2x3_t test_vcreate_v_u16m2x3(vuint16m2_t v0, vuint16m2_t v1, vuint16m2_t // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint16m2x4_t test_vcreate_v_u16m2x4(vuint16m2_t v0, vuint16m2_t v1, vuint16m2_t v2, vuint16m2_t v3) { +vuint16m2x4_t test_vcreate_v_u16m2x4(vuint16m2_t v0, vuint16m2_t v1, + vuint16m2_t v2, vuint16m2_t v3) { return __riscv_vcreate_v_u16m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u16m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u16m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2684,8 +3840,8 @@ vuint16m4x2_t test_vcreate_v_u16m4x2(vuint16m4_t v0, vuint16m4_t v1) { return __riscv_vcreate_v_u16m4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u32mf2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u32mf2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2695,20 +3851,21 @@ vuint32mf2x2_t test_vcreate_v_u32mf2x2(vuint32mf2_t v0, vuint32mf2_t v1) { return __riscv_vcreate_v_u32mf2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u32mf2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u32mf2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint32mf2x3_t test_vcreate_v_u32mf2x3(vuint32mf2_t v0, vuint32mf2_t v1, vuint32mf2_t v2) { +vuint32mf2x3_t test_vcreate_v_u32mf2x3(vuint32mf2_t v0, vuint32mf2_t v1, + vuint32mf2_t v2) { return __riscv_vcreate_v_u32mf2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u32mf2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u32mf2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2716,12 +3873,13 @@ vuint32mf2x3_t test_vcreate_v_u32mf2x3(vuint32mf2_t v0, vuint32mf2_t v1, vuint32 // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint32mf2x4_t test_vcreate_v_u32mf2x4(vuint32mf2_t v0, vuint32mf2_t v1, vuint32mf2_t v2, vuint32mf2_t v3) { +vuint32mf2x4_t test_vcreate_v_u32mf2x4(vuint32mf2_t v0, vuint32mf2_t v1, + vuint32mf2_t v2, vuint32mf2_t v3) { return __riscv_vcreate_v_u32mf2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u32mf2x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u32mf2x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -2730,12 +3888,14 @@ vuint32mf2x4_t test_vcreate_v_u32mf2x4(vuint32mf2_t v0, vuint32mf2_t v1, vuint32 // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vuint32mf2x5_t test_vcreate_v_u32mf2x5(vuint32mf2_t v0, vuint32mf2_t v1, vuint32mf2_t v2, vuint32mf2_t v3, vuint32mf2_t v4) { +vuint32mf2x5_t test_vcreate_v_u32mf2x5(vuint32mf2_t v0, vuint32mf2_t v1, + vuint32mf2_t v2, vuint32mf2_t v3, + vuint32mf2_t v4) { return __riscv_vcreate_v_u32mf2x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u32mf2x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u32mf2x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -2745,12 +3905,14 @@ vuint32mf2x5_t test_vcreate_v_u32mf2x5(vuint32mf2_t v0, vuint32mf2_t v1, vuint32 // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vuint32mf2x6_t test_vcreate_v_u32mf2x6(vuint32mf2_t v0, vuint32mf2_t v1, vuint32mf2_t v2, vuint32mf2_t v3, vuint32mf2_t v4, vuint32mf2_t v5) { +vuint32mf2x6_t test_vcreate_v_u32mf2x6(vuint32mf2_t v0, vuint32mf2_t v1, + vuint32mf2_t v2, vuint32mf2_t v3, + vuint32mf2_t v4, vuint32mf2_t v5) { return __riscv_vcreate_v_u32mf2x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u32mf2x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u32mf2x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -2761,12 +3923,15 @@ vuint32mf2x6_t test_vcreate_v_u32mf2x6(vuint32mf2_t v0, vuint32mf2_t v1, vuint32 // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vuint32mf2x7_t test_vcreate_v_u32mf2x7(vuint32mf2_t v0, vuint32mf2_t v1, vuint32mf2_t v2, vuint32mf2_t v3, vuint32mf2_t v4, vuint32mf2_t v5, vuint32mf2_t v6) { +vuint32mf2x7_t test_vcreate_v_u32mf2x7(vuint32mf2_t v0, vuint32mf2_t v1, + vuint32mf2_t v2, vuint32mf2_t v3, + vuint32mf2_t v4, vuint32mf2_t v5, + vuint32mf2_t v6) { return __riscv_vcreate_v_u32mf2x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u32mf2x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u32mf2x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -2778,12 +3943,15 @@ vuint32mf2x7_t test_vcreate_v_u32mf2x7(vuint32mf2_t v0, vuint32mf2_t v1, vuint32 // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vuint32mf2x8_t test_vcreate_v_u32mf2x8(vuint32mf2_t v0, vuint32mf2_t v1, vuint32mf2_t v2, vuint32mf2_t v3, vuint32mf2_t v4, vuint32mf2_t v5, vuint32mf2_t v6, vuint32mf2_t v7) { +vuint32mf2x8_t test_vcreate_v_u32mf2x8(vuint32mf2_t v0, vuint32mf2_t v1, + vuint32mf2_t v2, vuint32mf2_t v3, + vuint32mf2_t v4, vuint32mf2_t v5, + vuint32mf2_t v6, vuint32mf2_t v7) { return __riscv_vcreate_v_u32mf2x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u32m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u32m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2793,20 +3961,21 @@ vuint32m1x2_t test_vcreate_v_u32m1x2(vuint32m1_t v0, vuint32m1_t v1) { return __riscv_vcreate_v_u32m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u32m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u32m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint32m1x3_t test_vcreate_v_u32m1x3(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t v2) { +vuint32m1x3_t test_vcreate_v_u32m1x3(vuint32m1_t v0, vuint32m1_t v1, + vuint32m1_t v2) { return __riscv_vcreate_v_u32m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u32m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u32m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2814,12 +3983,13 @@ vuint32m1x3_t test_vcreate_v_u32m1x3(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint32m1x4_t test_vcreate_v_u32m1x4(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t v2, vuint32m1_t v3) { +vuint32m1x4_t test_vcreate_v_u32m1x4(vuint32m1_t v0, vuint32m1_t v1, + vuint32m1_t v2, vuint32m1_t v3) { return __riscv_vcreate_v_u32m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u32m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u32m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -2828,12 +3998,14 @@ vuint32m1x4_t test_vcreate_v_u32m1x4(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vuint32m1x5_t test_vcreate_v_u32m1x5(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t v2, vuint32m1_t v3, vuint32m1_t v4) { +vuint32m1x5_t test_vcreate_v_u32m1x5(vuint32m1_t v0, vuint32m1_t v1, + vuint32m1_t v2, vuint32m1_t v3, + vuint32m1_t v4) { return __riscv_vcreate_v_u32m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u32m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u32m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -2843,12 +4015,14 @@ vuint32m1x5_t test_vcreate_v_u32m1x5(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vuint32m1x6_t test_vcreate_v_u32m1x6(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t v2, vuint32m1_t v3, vuint32m1_t v4, vuint32m1_t v5) { +vuint32m1x6_t test_vcreate_v_u32m1x6(vuint32m1_t v0, vuint32m1_t v1, + vuint32m1_t v2, vuint32m1_t v3, + vuint32m1_t v4, vuint32m1_t v5) { return __riscv_vcreate_v_u32m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u32m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u32m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -2859,12 +4033,15 @@ vuint32m1x6_t test_vcreate_v_u32m1x6(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vuint32m1x7_t test_vcreate_v_u32m1x7(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t v2, vuint32m1_t v3, vuint32m1_t v4, vuint32m1_t v5, vuint32m1_t v6) { +vuint32m1x7_t test_vcreate_v_u32m1x7(vuint32m1_t v0, vuint32m1_t v1, + vuint32m1_t v2, vuint32m1_t v3, + vuint32m1_t v4, vuint32m1_t v5, + vuint32m1_t v6) { return __riscv_vcreate_v_u32m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u32m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u32m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -2876,12 +4053,15 @@ vuint32m1x7_t test_vcreate_v_u32m1x7(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vuint32m1x8_t test_vcreate_v_u32m1x8(vuint32m1_t v0, vuint32m1_t v1, vuint32m1_t v2, vuint32m1_t v3, vuint32m1_t v4, vuint32m1_t v5, vuint32m1_t v6, vuint32m1_t v7) { +vuint32m1x8_t test_vcreate_v_u32m1x8(vuint32m1_t v0, vuint32m1_t v1, + vuint32m1_t v2, vuint32m1_t v3, + vuint32m1_t v4, vuint32m1_t v5, + vuint32m1_t v6, vuint32m1_t v7) { return __riscv_vcreate_v_u32m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u32m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u32m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2891,20 +4071,21 @@ vuint32m2x2_t test_vcreate_v_u32m2x2(vuint32m2_t v0, vuint32m2_t v1) { return __riscv_vcreate_v_u32m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u32m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u32m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint32m2x3_t test_vcreate_v_u32m2x3(vuint32m2_t v0, vuint32m2_t v1, vuint32m2_t v2) { +vuint32m2x3_t test_vcreate_v_u32m2x3(vuint32m2_t v0, vuint32m2_t v1, + vuint32m2_t v2) { return __riscv_vcreate_v_u32m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u32m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u32m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2912,12 +4093,13 @@ vuint32m2x3_t test_vcreate_v_u32m2x3(vuint32m2_t v0, vuint32m2_t v1, vuint32m2_t // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint32m2x4_t test_vcreate_v_u32m2x4(vuint32m2_t v0, vuint32m2_t v1, vuint32m2_t v2, vuint32m2_t v3) { +vuint32m2x4_t test_vcreate_v_u32m2x4(vuint32m2_t v0, vuint32m2_t v1, + vuint32m2_t v2, vuint32m2_t v3) { return __riscv_vcreate_v_u32m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u32m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u32m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2927,8 +4109,8 @@ vuint32m4x2_t test_vcreate_v_u32m4x2(vuint32m4_t v0, vuint32m4_t v1) { return __riscv_vcreate_v_u32m4x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u64m1x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u64m1x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -2938,20 +4120,21 @@ vuint64m1x2_t test_vcreate_v_u64m1x2(vuint64m1_t v0, vuint64m1_t v1) { return __riscv_vcreate_v_u64m1x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u64m1x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u64m1x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint64m1x3_t test_vcreate_v_u64m1x3(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t v2) { +vuint64m1x3_t test_vcreate_v_u64m1x3(vuint64m1_t v0, vuint64m1_t v1, + vuint64m1_t v2) { return __riscv_vcreate_v_u64m1x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u64m1x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u64m1x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -2959,12 +4142,13 @@ vuint64m1x3_t test_vcreate_v_u64m1x3(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint64m1x4_t test_vcreate_v_u64m1x4(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t v2, vuint64m1_t v3) { +vuint64m1x4_t test_vcreate_v_u64m1x4(vuint64m1_t v0, vuint64m1_t v1, + vuint64m1_t v2, vuint64m1_t v3) { return __riscv_vcreate_v_u64m1x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u64m1x5 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , } @test_vcreate_v_u64m1x5( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , } [[TMP0]], [[V1]], 1 @@ -2973,12 +4157,14 @@ vuint64m1x4_t test_vcreate_v_u64m1x4(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t // CHECK-RV64-NEXT: [[TMP4:%.*]] = insertvalue { , , , , } [[TMP3]], [[V4]], 4 // CHECK-RV64-NEXT: ret { , , , , } [[TMP4]] // -vuint64m1x5_t test_vcreate_v_u64m1x5(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t v2, vuint64m1_t v3, vuint64m1_t v4) { +vuint64m1x5_t test_vcreate_v_u64m1x5(vuint64m1_t v0, vuint64m1_t v1, + vuint64m1_t v2, vuint64m1_t v3, + vuint64m1_t v4) { return __riscv_vcreate_v_u64m1x5(v0, v1, v2, v3, v4); } -// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u64m1x6 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , } @test_vcreate_v_u64m1x6( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , } [[TMP0]], [[V1]], 1 @@ -2988,12 +4174,14 @@ vuint64m1x5_t test_vcreate_v_u64m1x5(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t // CHECK-RV64-NEXT: [[TMP5:%.*]] = insertvalue { , , , , , } [[TMP4]], [[V5]], 5 // CHECK-RV64-NEXT: ret { , , , , , } [[TMP5]] // -vuint64m1x6_t test_vcreate_v_u64m1x6(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t v2, vuint64m1_t v3, vuint64m1_t v4, vuint64m1_t v5) { +vuint64m1x6_t test_vcreate_v_u64m1x6(vuint64m1_t v0, vuint64m1_t v1, + vuint64m1_t v2, vuint64m1_t v3, + vuint64m1_t v4, vuint64m1_t v5) { return __riscv_vcreate_v_u64m1x6(v0, v1, v2, v3, v4, v5); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u64m1x7 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , } @test_vcreate_v_u64m1x7( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , } [[TMP0]], [[V1]], 1 @@ -3004,12 +4192,15 @@ vuint64m1x6_t test_vcreate_v_u64m1x6(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t // CHECK-RV64-NEXT: [[TMP6:%.*]] = insertvalue { , , , , , , } [[TMP5]], [[V6]], 6 // CHECK-RV64-NEXT: ret { , , , , , , } [[TMP6]] // -vuint64m1x7_t test_vcreate_v_u64m1x7(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t v2, vuint64m1_t v3, vuint64m1_t v4, vuint64m1_t v5, vuint64m1_t v6) { +vuint64m1x7_t test_vcreate_v_u64m1x7(vuint64m1_t v0, vuint64m1_t v1, + vuint64m1_t v2, vuint64m1_t v3, + vuint64m1_t v4, vuint64m1_t v5, + vuint64m1_t v6) { return __riscv_vcreate_v_u64m1x7(v0, v1, v2, v3, v4, v5, v6); } -// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u64m1x8 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , , , , , } @test_vcreate_v_u64m1x8( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]], [[V4:%.*]], [[V5:%.*]], [[V6:%.*]], [[V7:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , , , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , , , , , } [[TMP0]], [[V1]], 1 @@ -3021,12 +4212,15 @@ vuint64m1x7_t test_vcreate_v_u64m1x7(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t // CHECK-RV64-NEXT: [[TMP7:%.*]] = insertvalue { , , , , , , , } [[TMP6]], [[V7]], 7 // CHECK-RV64-NEXT: ret { , , , , , , , } [[TMP7]] // -vuint64m1x8_t test_vcreate_v_u64m1x8(vuint64m1_t v0, vuint64m1_t v1, vuint64m1_t v2, vuint64m1_t v3, vuint64m1_t v4, vuint64m1_t v5, vuint64m1_t v6, vuint64m1_t v7) { +vuint64m1x8_t test_vcreate_v_u64m1x8(vuint64m1_t v0, vuint64m1_t v1, + vuint64m1_t v2, vuint64m1_t v3, + vuint64m1_t v4, vuint64m1_t v5, + vuint64m1_t v6, vuint64m1_t v7) { return __riscv_vcreate_v_u64m1x8(v0, v1, v2, v3, v4, v5, v6, v7); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u64m2x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u64m2x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -3036,20 +4230,21 @@ vuint64m2x2_t test_vcreate_v_u64m2x2(vuint64m2_t v0, vuint64m2_t v1) { return __riscv_vcreate_v_u64m2x2(v0, v1); } -// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u64m2x3 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , } @test_vcreate_v_u64m2x3( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , } [[TMP0]], [[V1]], 1 // CHECK-RV64-NEXT: [[TMP2:%.*]] = insertvalue { , , } [[TMP1]], [[V2]], 2 // CHECK-RV64-NEXT: ret { , , } [[TMP2]] // -vuint64m2x3_t test_vcreate_v_u64m2x3(vuint64m2_t v0, vuint64m2_t v1, vuint64m2_t v2) { +vuint64m2x3_t test_vcreate_v_u64m2x3(vuint64m2_t v0, vuint64m2_t v1, + vuint64m2_t v2) { return __riscv_vcreate_v_u64m2x3(v0, v1, v2); } -// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u64m2x4 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , , , } @test_vcreate_v_u64m2x4( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]], [[V2:%.*]], [[V3:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , , , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , , , } [[TMP0]], [[V1]], 1 @@ -3057,12 +4252,13 @@ vuint64m2x3_t test_vcreate_v_u64m2x3(vuint64m2_t v0, vuint64m2_t v1, vuint64m2_t // CHECK-RV64-NEXT: [[TMP3:%.*]] = insertvalue { , , , } [[TMP2]], [[V3]], 3 // CHECK-RV64-NEXT: ret { , , , } [[TMP3]] // -vuint64m2x4_t test_vcreate_v_u64m2x4(vuint64m2_t v0, vuint64m2_t v1, vuint64m2_t v2, vuint64m2_t v3) { +vuint64m2x4_t test_vcreate_v_u64m2x4(vuint64m2_t v0, vuint64m2_t v1, + vuint64m2_t v2, vuint64m2_t v3) { return __riscv_vcreate_v_u64m2x4(v0, v1, v2, v3); } -// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u64m4x2 -// CHECK-RV64-SAME: ( [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { +// CHECK-RV64-LABEL: define dso_local { , } @test_vcreate_v_u64m4x2( +// CHECK-RV64-SAME: [[V0:%.*]], [[V1:%.*]]) #[[ATTR0]] { // CHECK-RV64-NEXT: entry: // CHECK-RV64-NEXT: [[TMP0:%.*]] = insertvalue { , } poison, [[V0]], 0 // CHECK-RV64-NEXT: [[TMP1:%.*]] = insertvalue { , } [[TMP0]], [[V1]], 1 @@ -3071,4 +4267,3 @@ vuint64m2x4_t test_vcreate_v_u64m2x4(vuint64m2_t v0, vuint64m2_t v1, vuint64m2_t vuint64m4x2_t test_vcreate_v_u64m4x2(vuint64m4_t v0, vuint64m4_t v1) { return __riscv_vcreate_v_u64m4x2(v0, v1); } -