// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 3 // RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64-none-linux-gnu %s -emit-llvm -o - \ // RUN: -target-feature +sve -target-feature +bf16 | FileCheck %s // RUN: %clang_cc1 -fclang-abi-compat=latest -triple aarch64-none-linux-gnu %s -emit-llvm -o - \ // RUN: -target-feature +sve -target-feature +bf16 -fclang-abi-compat=17 | FileCheck %s --check-prefix=COMPAT_17 void f(__SVInt8_t, __SVInt8_t); void f(__SVInt16_t, __SVInt16_t); void f(__SVInt16_t, __SVInt16_t); void f(__SVInt32_t, __SVInt32_t); void f(__SVInt64_t, __SVInt64_t); void f(__SVUint8_t, __SVUint8_t); void f(__SVUint16_t, __SVUint16_t); void f(__SVUint32_t, __SVUint32_t); void f(__SVUint64_t, __SVUint64_t); void f(__SVFloat16_t, __SVFloat16_t); void f(__SVFloat32_t, __SVFloat32_t); void f(__SVFloat64_t, __SVFloat64_t); void f(__SVBfloat16_t, __SVBfloat16_t); void f(__SVMfloat8_t, __SVMfloat8_t); void f(__SVBool_t, __SVBool_t); void f(__SVCount_t, __SVCount_t); void f(__clang_svint8x2_t, __clang_svint8x2_t); void f(__clang_svint8x3_t, __clang_svint8x3_t); void f(__clang_svint8x4_t, __clang_svint8x4_t); void f(__clang_svint16x2_t, __clang_svint16x2_t); void f(__clang_svint16x3_t, __clang_svint16x3_t); void f(__clang_svint16x4_t, __clang_svint16x4_t); void f(__clang_svint32x2_t, __clang_svint32x2_t); void f(__clang_svint32x3_t, __clang_svint32x3_t); void f(__clang_svint32x4_t, __clang_svint32x4_t); void f(__clang_svint64x2_t, __clang_svint64x2_t); void f(__clang_svint64x3_t, __clang_svint64x3_t); void f(__clang_svint64x4_t, __clang_svint64x4_t); void f(__clang_svuint8x2_t, __clang_svuint8x2_t); void f(__clang_svuint8x3_t, __clang_svuint8x3_t); void f(__clang_svuint8x4_t, __clang_svuint8x4_t); void f(__clang_svuint16x2_t, __clang_svuint16x2_t); void f(__clang_svuint16x3_t, __clang_svuint16x3_t); void f(__clang_svuint16x4_t, __clang_svuint16x4_t); void f(__clang_svuint32x2_t, __clang_svuint32x2_t); void f(__clang_svuint32x3_t, __clang_svuint32x3_t); void f(__clang_svuint32x4_t, __clang_svuint32x4_t); void f(__clang_svuint64x2_t, __clang_svuint64x2_t); void f(__clang_svuint64x3_t, __clang_svuint64x3_t); void f(__clang_svuint64x4_t, __clang_svuint64x4_t); void f(__clang_svfloat16x2_t, __clang_svfloat16x2_t); void f(__clang_svfloat16x3_t, __clang_svfloat16x3_t); void f(__clang_svfloat16x4_t, __clang_svfloat16x4_t); void f(__clang_svfloat32x2_t, __clang_svfloat32x2_t); void f(__clang_svfloat32x3_t, __clang_svfloat32x3_t); void f(__clang_svfloat32x4_t, __clang_svfloat32x4_t); void f(__clang_svfloat64x2_t, __clang_svfloat64x2_t); void f(__clang_svfloat64x3_t, __clang_svfloat64x3_t); void f(__clang_svfloat64x4_t, __clang_svfloat64x4_t); void f(__clang_svbfloat16x2_t, __clang_svbfloat16x2_t); void f(__clang_svbfloat16x3_t, __clang_svbfloat16x3_t); void f(__clang_svbfloat16x4_t, __clang_svbfloat16x4_t); void f(__clang_svboolx2_t, __clang_svboolx2_t); void f(__clang_svboolx4_t, __clang_svboolx4_t); void f(__clang_svmfloat8x2_t, __clang_svmfloat8x2_t); void f(__clang_svmfloat8x3_t, __clang_svmfloat8x3_t); void f(__clang_svmfloat8x4_t, __clang_svmfloat8x4_t); // CHECK-LABEL: define dso_local void @_Z3foov( // CHECK-SAME: ) #[[ATTR0:[0-9]+]] { // CHECK-NEXT: entry: // CHECK-NEXT: [[COERCE:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE1:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE2:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE3:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE4:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE5:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE6:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE7:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE8:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE9:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE10:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE11:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE12:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE13:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE14:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE15:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE16:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE17:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE18:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE19:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE20:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE21:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE22:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE23:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE24:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE25:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE26:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE27:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE28:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE29:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE30:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE31:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE32:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE33:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE34:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE35:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE36:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE37:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE38:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE39:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE40:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE41:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE42:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE43:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE44:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE45:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE46:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE47:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE48:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE49:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE50:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE51:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE52:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE53:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE54:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE55:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE56:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE57:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE58:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE59:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE60:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE61:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE62:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE63:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE64:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE65:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE66:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE67:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE68:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE69:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE70:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE71:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE72:%.*]] = alloca { , }, align 2 // CHECK-NEXT: [[COERCE73:%.*]] = alloca { , }, align 2 // CHECK-NEXT: [[COERCE74:%.*]] = alloca { , , , }, align 2 // CHECK-NEXT: [[BYVAL_TEMP:%.*]] = alloca { , , , }, align 2 // CHECK-NEXT: [[COERCE75:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE76:%.*]] = alloca { , }, align 16 // CHECK-NEXT: [[COERCE77:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE78:%.*]] = alloca { , , }, align 16 // CHECK-NEXT: [[COERCE79:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: [[COERCE80:%.*]] = alloca { , , , }, align 16 // CHECK-NEXT: call void @_Z1fu10__SVInt8_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu11__SVInt16_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu11__SVInt16_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu11__SVInt32_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu11__SVInt64_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu11__SVUint8_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu12__SVUint16_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu12__SVUint32_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu12__SVUint64_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu13__SVFloat16_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu13__SVFloat32_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu13__SVFloat64_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu13__SVMfloat8_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu14__SVBfloat16_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu10__SVBool_tS_( zeroinitializer, zeroinitializer) // CHECK-NEXT: call void @_Z1fu11__SVCount_tS_(target("aarch64.svcount") zeroinitializer, target("aarch64.svcount") zeroinitializer) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE]], align 16 // CHECK-NEXT: [[COERCE_TUPLE:%.*]] = load { , }, ptr [[COERCE]], align 16 // CHECK-NEXT: [[COERCE_EXTRACT0:%.*]] = extractvalue { , } [[COERCE_TUPLE]], 0 // CHECK-NEXT: [[COERCE_EXTRACT1:%.*]] = extractvalue { , } [[COERCE_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE1]], align 16 // CHECK-NEXT: [[COERCE1_TUPLE:%.*]] = load { , }, ptr [[COERCE1]], align 16 // CHECK-NEXT: [[COERCE1_EXTRACT0:%.*]] = extractvalue { , } [[COERCE1_TUPLE]], 0 // CHECK-NEXT: [[COERCE1_EXTRACT1:%.*]] = extractvalue { , } [[COERCE1_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f10svint8x2_tS_( [[COERCE_EXTRACT0]], [[COERCE_EXTRACT1]], [[COERCE1_EXTRACT0]], [[COERCE1_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE2]], align 16 // CHECK-NEXT: [[COERCE2_TUPLE:%.*]] = load { , , }, ptr [[COERCE2]], align 16 // CHECK-NEXT: [[COERCE2_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE2_TUPLE]], 0 // CHECK-NEXT: [[COERCE2_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE2_TUPLE]], 1 // CHECK-NEXT: [[COERCE2_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE2_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE3]], align 16 // CHECK-NEXT: [[COERCE3_TUPLE:%.*]] = load { , , }, ptr [[COERCE3]], align 16 // CHECK-NEXT: [[COERCE3_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE3_TUPLE]], 0 // CHECK-NEXT: [[COERCE3_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE3_TUPLE]], 1 // CHECK-NEXT: [[COERCE3_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE3_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f10svint8x3_tS_( [[COERCE2_EXTRACT0]], [[COERCE2_EXTRACT1]], [[COERCE2_EXTRACT2]], [[COERCE3_EXTRACT0]], [[COERCE3_EXTRACT1]], [[COERCE3_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE4]], align 16 // CHECK-NEXT: [[COERCE4_TUPLE:%.*]] = load { , , , }, ptr [[COERCE4]], align 16 // CHECK-NEXT: [[COERCE4_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE4_TUPLE]], 0 // CHECK-NEXT: [[COERCE4_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE4_TUPLE]], 1 // CHECK-NEXT: [[COERCE4_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE4_TUPLE]], 2 // CHECK-NEXT: [[COERCE4_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE4_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE5]], align 16 // CHECK-NEXT: [[COERCE5_TUPLE:%.*]] = load { , , , }, ptr [[COERCE5]], align 16 // CHECK-NEXT: [[COERCE5_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE5_TUPLE]], 0 // CHECK-NEXT: [[COERCE5_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE5_TUPLE]], 1 // CHECK-NEXT: [[COERCE5_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE5_TUPLE]], 2 // CHECK-NEXT: [[COERCE5_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE5_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f10svint8x4_tS_( [[COERCE4_EXTRACT0]], [[COERCE4_EXTRACT1]], [[COERCE4_EXTRACT2]], [[COERCE4_EXTRACT3]], [[COERCE5_EXTRACT0]], [[COERCE5_EXTRACT1]], [[COERCE5_EXTRACT2]], [[COERCE5_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE6]], align 16 // CHECK-NEXT: [[COERCE6_TUPLE:%.*]] = load { , }, ptr [[COERCE6]], align 16 // CHECK-NEXT: [[COERCE6_EXTRACT0:%.*]] = extractvalue { , } [[COERCE6_TUPLE]], 0 // CHECK-NEXT: [[COERCE6_EXTRACT1:%.*]] = extractvalue { , } [[COERCE6_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE7]], align 16 // CHECK-NEXT: [[COERCE7_TUPLE:%.*]] = load { , }, ptr [[COERCE7]], align 16 // CHECK-NEXT: [[COERCE7_EXTRACT0:%.*]] = extractvalue { , } [[COERCE7_TUPLE]], 0 // CHECK-NEXT: [[COERCE7_EXTRACT1:%.*]] = extractvalue { , } [[COERCE7_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f11svint16x2_tS_( [[COERCE6_EXTRACT0]], [[COERCE6_EXTRACT1]], [[COERCE7_EXTRACT0]], [[COERCE7_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE8]], align 16 // CHECK-NEXT: [[COERCE8_TUPLE:%.*]] = load { , , }, ptr [[COERCE8]], align 16 // CHECK-NEXT: [[COERCE8_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE8_TUPLE]], 0 // CHECK-NEXT: [[COERCE8_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE8_TUPLE]], 1 // CHECK-NEXT: [[COERCE8_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE8_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE9]], align 16 // CHECK-NEXT: [[COERCE9_TUPLE:%.*]] = load { , , }, ptr [[COERCE9]], align 16 // CHECK-NEXT: [[COERCE9_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE9_TUPLE]], 0 // CHECK-NEXT: [[COERCE9_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE9_TUPLE]], 1 // CHECK-NEXT: [[COERCE9_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE9_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f11svint16x3_tS_( [[COERCE8_EXTRACT0]], [[COERCE8_EXTRACT1]], [[COERCE8_EXTRACT2]], [[COERCE9_EXTRACT0]], [[COERCE9_EXTRACT1]], [[COERCE9_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE10]], align 16 // CHECK-NEXT: [[COERCE10_TUPLE:%.*]] = load { , , , }, ptr [[COERCE10]], align 16 // CHECK-NEXT: [[COERCE10_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE10_TUPLE]], 0 // CHECK-NEXT: [[COERCE10_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE10_TUPLE]], 1 // CHECK-NEXT: [[COERCE10_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE10_TUPLE]], 2 // CHECK-NEXT: [[COERCE10_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE10_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE11]], align 16 // CHECK-NEXT: [[COERCE11_TUPLE:%.*]] = load { , , , }, ptr [[COERCE11]], align 16 // CHECK-NEXT: [[COERCE11_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE11_TUPLE]], 0 // CHECK-NEXT: [[COERCE11_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE11_TUPLE]], 1 // CHECK-NEXT: [[COERCE11_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE11_TUPLE]], 2 // CHECK-NEXT: [[COERCE11_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE11_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f11svint16x4_tS_( [[COERCE10_EXTRACT0]], [[COERCE10_EXTRACT1]], [[COERCE10_EXTRACT2]], [[COERCE10_EXTRACT3]], [[COERCE11_EXTRACT0]], [[COERCE11_EXTRACT1]], [[COERCE11_EXTRACT2]], [[COERCE11_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE12]], align 16 // CHECK-NEXT: [[COERCE12_TUPLE:%.*]] = load { , }, ptr [[COERCE12]], align 16 // CHECK-NEXT: [[COERCE12_EXTRACT0:%.*]] = extractvalue { , } [[COERCE12_TUPLE]], 0 // CHECK-NEXT: [[COERCE12_EXTRACT1:%.*]] = extractvalue { , } [[COERCE12_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE13]], align 16 // CHECK-NEXT: [[COERCE13_TUPLE:%.*]] = load { , }, ptr [[COERCE13]], align 16 // CHECK-NEXT: [[COERCE13_EXTRACT0:%.*]] = extractvalue { , } [[COERCE13_TUPLE]], 0 // CHECK-NEXT: [[COERCE13_EXTRACT1:%.*]] = extractvalue { , } [[COERCE13_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f11svint32x2_tS_( [[COERCE12_EXTRACT0]], [[COERCE12_EXTRACT1]], [[COERCE13_EXTRACT0]], [[COERCE13_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE14]], align 16 // CHECK-NEXT: [[COERCE14_TUPLE:%.*]] = load { , , }, ptr [[COERCE14]], align 16 // CHECK-NEXT: [[COERCE14_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE14_TUPLE]], 0 // CHECK-NEXT: [[COERCE14_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE14_TUPLE]], 1 // CHECK-NEXT: [[COERCE14_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE14_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE15]], align 16 // CHECK-NEXT: [[COERCE15_TUPLE:%.*]] = load { , , }, ptr [[COERCE15]], align 16 // CHECK-NEXT: [[COERCE15_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE15_TUPLE]], 0 // CHECK-NEXT: [[COERCE15_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE15_TUPLE]], 1 // CHECK-NEXT: [[COERCE15_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE15_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f11svint32x3_tS_( [[COERCE14_EXTRACT0]], [[COERCE14_EXTRACT1]], [[COERCE14_EXTRACT2]], [[COERCE15_EXTRACT0]], [[COERCE15_EXTRACT1]], [[COERCE15_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE16]], align 16 // CHECK-NEXT: [[COERCE16_TUPLE:%.*]] = load { , , , }, ptr [[COERCE16]], align 16 // CHECK-NEXT: [[COERCE16_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE16_TUPLE]], 0 // CHECK-NEXT: [[COERCE16_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE16_TUPLE]], 1 // CHECK-NEXT: [[COERCE16_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE16_TUPLE]], 2 // CHECK-NEXT: [[COERCE16_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE16_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE17]], align 16 // CHECK-NEXT: [[COERCE17_TUPLE:%.*]] = load { , , , }, ptr [[COERCE17]], align 16 // CHECK-NEXT: [[COERCE17_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE17_TUPLE]], 0 // CHECK-NEXT: [[COERCE17_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE17_TUPLE]], 1 // CHECK-NEXT: [[COERCE17_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE17_TUPLE]], 2 // CHECK-NEXT: [[COERCE17_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE17_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f11svint32x4_tS_( [[COERCE16_EXTRACT0]], [[COERCE16_EXTRACT1]], [[COERCE16_EXTRACT2]], [[COERCE16_EXTRACT3]], [[COERCE17_EXTRACT0]], [[COERCE17_EXTRACT1]], [[COERCE17_EXTRACT2]], [[COERCE17_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE18]], align 16 // CHECK-NEXT: [[COERCE18_TUPLE:%.*]] = load { , }, ptr [[COERCE18]], align 16 // CHECK-NEXT: [[COERCE18_EXTRACT0:%.*]] = extractvalue { , } [[COERCE18_TUPLE]], 0 // CHECK-NEXT: [[COERCE18_EXTRACT1:%.*]] = extractvalue { , } [[COERCE18_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE19]], align 16 // CHECK-NEXT: [[COERCE19_TUPLE:%.*]] = load { , }, ptr [[COERCE19]], align 16 // CHECK-NEXT: [[COERCE19_EXTRACT0:%.*]] = extractvalue { , } [[COERCE19_TUPLE]], 0 // CHECK-NEXT: [[COERCE19_EXTRACT1:%.*]] = extractvalue { , } [[COERCE19_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f11svint64x2_tS_( [[COERCE18_EXTRACT0]], [[COERCE18_EXTRACT1]], [[COERCE19_EXTRACT0]], [[COERCE19_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE20]], align 16 // CHECK-NEXT: [[COERCE20_TUPLE:%.*]] = load { , , }, ptr [[COERCE20]], align 16 // CHECK-NEXT: [[COERCE20_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE20_TUPLE]], 0 // CHECK-NEXT: [[COERCE20_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE20_TUPLE]], 1 // CHECK-NEXT: [[COERCE20_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE20_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE21]], align 16 // CHECK-NEXT: [[COERCE21_TUPLE:%.*]] = load { , , }, ptr [[COERCE21]], align 16 // CHECK-NEXT: [[COERCE21_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE21_TUPLE]], 0 // CHECK-NEXT: [[COERCE21_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE21_TUPLE]], 1 // CHECK-NEXT: [[COERCE21_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE21_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f11svint64x3_tS_( [[COERCE20_EXTRACT0]], [[COERCE20_EXTRACT1]], [[COERCE20_EXTRACT2]], [[COERCE21_EXTRACT0]], [[COERCE21_EXTRACT1]], [[COERCE21_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE22]], align 16 // CHECK-NEXT: [[COERCE22_TUPLE:%.*]] = load { , , , }, ptr [[COERCE22]], align 16 // CHECK-NEXT: [[COERCE22_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE22_TUPLE]], 0 // CHECK-NEXT: [[COERCE22_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE22_TUPLE]], 1 // CHECK-NEXT: [[COERCE22_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE22_TUPLE]], 2 // CHECK-NEXT: [[COERCE22_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE22_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE23]], align 16 // CHECK-NEXT: [[COERCE23_TUPLE:%.*]] = load { , , , }, ptr [[COERCE23]], align 16 // CHECK-NEXT: [[COERCE23_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE23_TUPLE]], 0 // CHECK-NEXT: [[COERCE23_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE23_TUPLE]], 1 // CHECK-NEXT: [[COERCE23_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE23_TUPLE]], 2 // CHECK-NEXT: [[COERCE23_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE23_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f11svint64x4_tS_( [[COERCE22_EXTRACT0]], [[COERCE22_EXTRACT1]], [[COERCE22_EXTRACT2]], [[COERCE22_EXTRACT3]], [[COERCE23_EXTRACT0]], [[COERCE23_EXTRACT1]], [[COERCE23_EXTRACT2]], [[COERCE23_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE24]], align 16 // CHECK-NEXT: [[COERCE24_TUPLE:%.*]] = load { , }, ptr [[COERCE24]], align 16 // CHECK-NEXT: [[COERCE24_EXTRACT0:%.*]] = extractvalue { , } [[COERCE24_TUPLE]], 0 // CHECK-NEXT: [[COERCE24_EXTRACT1:%.*]] = extractvalue { , } [[COERCE24_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE25]], align 16 // CHECK-NEXT: [[COERCE25_TUPLE:%.*]] = load { , }, ptr [[COERCE25]], align 16 // CHECK-NEXT: [[COERCE25_EXTRACT0:%.*]] = extractvalue { , } [[COERCE25_TUPLE]], 0 // CHECK-NEXT: [[COERCE25_EXTRACT1:%.*]] = extractvalue { , } [[COERCE25_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f11svuint8x2_tS_( [[COERCE24_EXTRACT0]], [[COERCE24_EXTRACT1]], [[COERCE25_EXTRACT0]], [[COERCE25_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE26]], align 16 // CHECK-NEXT: [[COERCE26_TUPLE:%.*]] = load { , , }, ptr [[COERCE26]], align 16 // CHECK-NEXT: [[COERCE26_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE26_TUPLE]], 0 // CHECK-NEXT: [[COERCE26_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE26_TUPLE]], 1 // CHECK-NEXT: [[COERCE26_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE26_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE27]], align 16 // CHECK-NEXT: [[COERCE27_TUPLE:%.*]] = load { , , }, ptr [[COERCE27]], align 16 // CHECK-NEXT: [[COERCE27_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE27_TUPLE]], 0 // CHECK-NEXT: [[COERCE27_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE27_TUPLE]], 1 // CHECK-NEXT: [[COERCE27_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE27_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f11svuint8x3_tS_( [[COERCE26_EXTRACT0]], [[COERCE26_EXTRACT1]], [[COERCE26_EXTRACT2]], [[COERCE27_EXTRACT0]], [[COERCE27_EXTRACT1]], [[COERCE27_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE28]], align 16 // CHECK-NEXT: [[COERCE28_TUPLE:%.*]] = load { , , , }, ptr [[COERCE28]], align 16 // CHECK-NEXT: [[COERCE28_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE28_TUPLE]], 0 // CHECK-NEXT: [[COERCE28_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE28_TUPLE]], 1 // CHECK-NEXT: [[COERCE28_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE28_TUPLE]], 2 // CHECK-NEXT: [[COERCE28_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE28_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE29]], align 16 // CHECK-NEXT: [[COERCE29_TUPLE:%.*]] = load { , , , }, ptr [[COERCE29]], align 16 // CHECK-NEXT: [[COERCE29_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE29_TUPLE]], 0 // CHECK-NEXT: [[COERCE29_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE29_TUPLE]], 1 // CHECK-NEXT: [[COERCE29_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE29_TUPLE]], 2 // CHECK-NEXT: [[COERCE29_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE29_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f11svuint8x4_tS_( [[COERCE28_EXTRACT0]], [[COERCE28_EXTRACT1]], [[COERCE28_EXTRACT2]], [[COERCE28_EXTRACT3]], [[COERCE29_EXTRACT0]], [[COERCE29_EXTRACT1]], [[COERCE29_EXTRACT2]], [[COERCE29_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE30]], align 16 // CHECK-NEXT: [[COERCE30_TUPLE:%.*]] = load { , }, ptr [[COERCE30]], align 16 // CHECK-NEXT: [[COERCE30_EXTRACT0:%.*]] = extractvalue { , } [[COERCE30_TUPLE]], 0 // CHECK-NEXT: [[COERCE30_EXTRACT1:%.*]] = extractvalue { , } [[COERCE30_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE31]], align 16 // CHECK-NEXT: [[COERCE31_TUPLE:%.*]] = load { , }, ptr [[COERCE31]], align 16 // CHECK-NEXT: [[COERCE31_EXTRACT0:%.*]] = extractvalue { , } [[COERCE31_TUPLE]], 0 // CHECK-NEXT: [[COERCE31_EXTRACT1:%.*]] = extractvalue { , } [[COERCE31_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f12svuint16x2_tS_( [[COERCE30_EXTRACT0]], [[COERCE30_EXTRACT1]], [[COERCE31_EXTRACT0]], [[COERCE31_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE32]], align 16 // CHECK-NEXT: [[COERCE32_TUPLE:%.*]] = load { , , }, ptr [[COERCE32]], align 16 // CHECK-NEXT: [[COERCE32_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE32_TUPLE]], 0 // CHECK-NEXT: [[COERCE32_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE32_TUPLE]], 1 // CHECK-NEXT: [[COERCE32_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE32_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE33]], align 16 // CHECK-NEXT: [[COERCE33_TUPLE:%.*]] = load { , , }, ptr [[COERCE33]], align 16 // CHECK-NEXT: [[COERCE33_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE33_TUPLE]], 0 // CHECK-NEXT: [[COERCE33_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE33_TUPLE]], 1 // CHECK-NEXT: [[COERCE33_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE33_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f12svuint16x3_tS_( [[COERCE32_EXTRACT0]], [[COERCE32_EXTRACT1]], [[COERCE32_EXTRACT2]], [[COERCE33_EXTRACT0]], [[COERCE33_EXTRACT1]], [[COERCE33_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE34]], align 16 // CHECK-NEXT: [[COERCE34_TUPLE:%.*]] = load { , , , }, ptr [[COERCE34]], align 16 // CHECK-NEXT: [[COERCE34_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE34_TUPLE]], 0 // CHECK-NEXT: [[COERCE34_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE34_TUPLE]], 1 // CHECK-NEXT: [[COERCE34_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE34_TUPLE]], 2 // CHECK-NEXT: [[COERCE34_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE34_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE35]], align 16 // CHECK-NEXT: [[COERCE35_TUPLE:%.*]] = load { , , , }, ptr [[COERCE35]], align 16 // CHECK-NEXT: [[COERCE35_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE35_TUPLE]], 0 // CHECK-NEXT: [[COERCE35_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE35_TUPLE]], 1 // CHECK-NEXT: [[COERCE35_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE35_TUPLE]], 2 // CHECK-NEXT: [[COERCE35_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE35_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f12svuint16x4_tS_( [[COERCE34_EXTRACT0]], [[COERCE34_EXTRACT1]], [[COERCE34_EXTRACT2]], [[COERCE34_EXTRACT3]], [[COERCE35_EXTRACT0]], [[COERCE35_EXTRACT1]], [[COERCE35_EXTRACT2]], [[COERCE35_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE36]], align 16 // CHECK-NEXT: [[COERCE36_TUPLE:%.*]] = load { , }, ptr [[COERCE36]], align 16 // CHECK-NEXT: [[COERCE36_EXTRACT0:%.*]] = extractvalue { , } [[COERCE36_TUPLE]], 0 // CHECK-NEXT: [[COERCE36_EXTRACT1:%.*]] = extractvalue { , } [[COERCE36_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE37]], align 16 // CHECK-NEXT: [[COERCE37_TUPLE:%.*]] = load { , }, ptr [[COERCE37]], align 16 // CHECK-NEXT: [[COERCE37_EXTRACT0:%.*]] = extractvalue { , } [[COERCE37_TUPLE]], 0 // CHECK-NEXT: [[COERCE37_EXTRACT1:%.*]] = extractvalue { , } [[COERCE37_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f12svuint32x2_tS_( [[COERCE36_EXTRACT0]], [[COERCE36_EXTRACT1]], [[COERCE37_EXTRACT0]], [[COERCE37_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE38]], align 16 // CHECK-NEXT: [[COERCE38_TUPLE:%.*]] = load { , , }, ptr [[COERCE38]], align 16 // CHECK-NEXT: [[COERCE38_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE38_TUPLE]], 0 // CHECK-NEXT: [[COERCE38_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE38_TUPLE]], 1 // CHECK-NEXT: [[COERCE38_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE38_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE39]], align 16 // CHECK-NEXT: [[COERCE39_TUPLE:%.*]] = load { , , }, ptr [[COERCE39]], align 16 // CHECK-NEXT: [[COERCE39_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE39_TUPLE]], 0 // CHECK-NEXT: [[COERCE39_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE39_TUPLE]], 1 // CHECK-NEXT: [[COERCE39_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE39_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f12svuint32x3_tS_( [[COERCE38_EXTRACT0]], [[COERCE38_EXTRACT1]], [[COERCE38_EXTRACT2]], [[COERCE39_EXTRACT0]], [[COERCE39_EXTRACT1]], [[COERCE39_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE40]], align 16 // CHECK-NEXT: [[COERCE40_TUPLE:%.*]] = load { , , , }, ptr [[COERCE40]], align 16 // CHECK-NEXT: [[COERCE40_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE40_TUPLE]], 0 // CHECK-NEXT: [[COERCE40_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE40_TUPLE]], 1 // CHECK-NEXT: [[COERCE40_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE40_TUPLE]], 2 // CHECK-NEXT: [[COERCE40_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE40_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE41]], align 16 // CHECK-NEXT: [[COERCE41_TUPLE:%.*]] = load { , , , }, ptr [[COERCE41]], align 16 // CHECK-NEXT: [[COERCE41_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE41_TUPLE]], 0 // CHECK-NEXT: [[COERCE41_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE41_TUPLE]], 1 // CHECK-NEXT: [[COERCE41_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE41_TUPLE]], 2 // CHECK-NEXT: [[COERCE41_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE41_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f12svuint32x4_tS_( [[COERCE40_EXTRACT0]], [[COERCE40_EXTRACT1]], [[COERCE40_EXTRACT2]], [[COERCE40_EXTRACT3]], [[COERCE41_EXTRACT0]], [[COERCE41_EXTRACT1]], [[COERCE41_EXTRACT2]], [[COERCE41_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE42]], align 16 // CHECK-NEXT: [[COERCE42_TUPLE:%.*]] = load { , }, ptr [[COERCE42]], align 16 // CHECK-NEXT: [[COERCE42_EXTRACT0:%.*]] = extractvalue { , } [[COERCE42_TUPLE]], 0 // CHECK-NEXT: [[COERCE42_EXTRACT1:%.*]] = extractvalue { , } [[COERCE42_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE43]], align 16 // CHECK-NEXT: [[COERCE43_TUPLE:%.*]] = load { , }, ptr [[COERCE43]], align 16 // CHECK-NEXT: [[COERCE43_EXTRACT0:%.*]] = extractvalue { , } [[COERCE43_TUPLE]], 0 // CHECK-NEXT: [[COERCE43_EXTRACT1:%.*]] = extractvalue { , } [[COERCE43_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f12svuint64x2_tS_( [[COERCE42_EXTRACT0]], [[COERCE42_EXTRACT1]], [[COERCE43_EXTRACT0]], [[COERCE43_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE44]], align 16 // CHECK-NEXT: [[COERCE44_TUPLE:%.*]] = load { , , }, ptr [[COERCE44]], align 16 // CHECK-NEXT: [[COERCE44_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE44_TUPLE]], 0 // CHECK-NEXT: [[COERCE44_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE44_TUPLE]], 1 // CHECK-NEXT: [[COERCE44_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE44_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE45]], align 16 // CHECK-NEXT: [[COERCE45_TUPLE:%.*]] = load { , , }, ptr [[COERCE45]], align 16 // CHECK-NEXT: [[COERCE45_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE45_TUPLE]], 0 // CHECK-NEXT: [[COERCE45_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE45_TUPLE]], 1 // CHECK-NEXT: [[COERCE45_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE45_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f12svuint64x3_tS_( [[COERCE44_EXTRACT0]], [[COERCE44_EXTRACT1]], [[COERCE44_EXTRACT2]], [[COERCE45_EXTRACT0]], [[COERCE45_EXTRACT1]], [[COERCE45_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE46]], align 16 // CHECK-NEXT: [[COERCE46_TUPLE:%.*]] = load { , , , }, ptr [[COERCE46]], align 16 // CHECK-NEXT: [[COERCE46_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE46_TUPLE]], 0 // CHECK-NEXT: [[COERCE46_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE46_TUPLE]], 1 // CHECK-NEXT: [[COERCE46_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE46_TUPLE]], 2 // CHECK-NEXT: [[COERCE46_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE46_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE47]], align 16 // CHECK-NEXT: [[COERCE47_TUPLE:%.*]] = load { , , , }, ptr [[COERCE47]], align 16 // CHECK-NEXT: [[COERCE47_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE47_TUPLE]], 0 // CHECK-NEXT: [[COERCE47_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE47_TUPLE]], 1 // CHECK-NEXT: [[COERCE47_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE47_TUPLE]], 2 // CHECK-NEXT: [[COERCE47_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE47_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f12svuint64x4_tS_( [[COERCE46_EXTRACT0]], [[COERCE46_EXTRACT1]], [[COERCE46_EXTRACT2]], [[COERCE46_EXTRACT3]], [[COERCE47_EXTRACT0]], [[COERCE47_EXTRACT1]], [[COERCE47_EXTRACT2]], [[COERCE47_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE48]], align 16 // CHECK-NEXT: [[COERCE48_TUPLE:%.*]] = load { , }, ptr [[COERCE48]], align 16 // CHECK-NEXT: [[COERCE48_EXTRACT0:%.*]] = extractvalue { , } [[COERCE48_TUPLE]], 0 // CHECK-NEXT: [[COERCE48_EXTRACT1:%.*]] = extractvalue { , } [[COERCE48_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE49]], align 16 // CHECK-NEXT: [[COERCE49_TUPLE:%.*]] = load { , }, ptr [[COERCE49]], align 16 // CHECK-NEXT: [[COERCE49_EXTRACT0:%.*]] = extractvalue { , } [[COERCE49_TUPLE]], 0 // CHECK-NEXT: [[COERCE49_EXTRACT1:%.*]] = extractvalue { , } [[COERCE49_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f13svfloat16x2_tS_( [[COERCE48_EXTRACT0]], [[COERCE48_EXTRACT1]], [[COERCE49_EXTRACT0]], [[COERCE49_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE50]], align 16 // CHECK-NEXT: [[COERCE50_TUPLE:%.*]] = load { , , }, ptr [[COERCE50]], align 16 // CHECK-NEXT: [[COERCE50_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE50_TUPLE]], 0 // CHECK-NEXT: [[COERCE50_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE50_TUPLE]], 1 // CHECK-NEXT: [[COERCE50_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE50_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE51]], align 16 // CHECK-NEXT: [[COERCE51_TUPLE:%.*]] = load { , , }, ptr [[COERCE51]], align 16 // CHECK-NEXT: [[COERCE51_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE51_TUPLE]], 0 // CHECK-NEXT: [[COERCE51_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE51_TUPLE]], 1 // CHECK-NEXT: [[COERCE51_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE51_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f13svfloat16x3_tS_( [[COERCE50_EXTRACT0]], [[COERCE50_EXTRACT1]], [[COERCE50_EXTRACT2]], [[COERCE51_EXTRACT0]], [[COERCE51_EXTRACT1]], [[COERCE51_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE52]], align 16 // CHECK-NEXT: [[COERCE52_TUPLE:%.*]] = load { , , , }, ptr [[COERCE52]], align 16 // CHECK-NEXT: [[COERCE52_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE52_TUPLE]], 0 // CHECK-NEXT: [[COERCE52_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE52_TUPLE]], 1 // CHECK-NEXT: [[COERCE52_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE52_TUPLE]], 2 // CHECK-NEXT: [[COERCE52_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE52_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE53]], align 16 // CHECK-NEXT: [[COERCE53_TUPLE:%.*]] = load { , , , }, ptr [[COERCE53]], align 16 // CHECK-NEXT: [[COERCE53_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE53_TUPLE]], 0 // CHECK-NEXT: [[COERCE53_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE53_TUPLE]], 1 // CHECK-NEXT: [[COERCE53_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE53_TUPLE]], 2 // CHECK-NEXT: [[COERCE53_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE53_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f13svfloat16x4_tS_( [[COERCE52_EXTRACT0]], [[COERCE52_EXTRACT1]], [[COERCE52_EXTRACT2]], [[COERCE52_EXTRACT3]], [[COERCE53_EXTRACT0]], [[COERCE53_EXTRACT1]], [[COERCE53_EXTRACT2]], [[COERCE53_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE54]], align 16 // CHECK-NEXT: [[COERCE54_TUPLE:%.*]] = load { , }, ptr [[COERCE54]], align 16 // CHECK-NEXT: [[COERCE54_EXTRACT0:%.*]] = extractvalue { , } [[COERCE54_TUPLE]], 0 // CHECK-NEXT: [[COERCE54_EXTRACT1:%.*]] = extractvalue { , } [[COERCE54_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE55]], align 16 // CHECK-NEXT: [[COERCE55_TUPLE:%.*]] = load { , }, ptr [[COERCE55]], align 16 // CHECK-NEXT: [[COERCE55_EXTRACT0:%.*]] = extractvalue { , } [[COERCE55_TUPLE]], 0 // CHECK-NEXT: [[COERCE55_EXTRACT1:%.*]] = extractvalue { , } [[COERCE55_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f13svfloat32x2_tS_( [[COERCE54_EXTRACT0]], [[COERCE54_EXTRACT1]], [[COERCE55_EXTRACT0]], [[COERCE55_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE56]], align 16 // CHECK-NEXT: [[COERCE56_TUPLE:%.*]] = load { , , }, ptr [[COERCE56]], align 16 // CHECK-NEXT: [[COERCE56_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE56_TUPLE]], 0 // CHECK-NEXT: [[COERCE56_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE56_TUPLE]], 1 // CHECK-NEXT: [[COERCE56_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE56_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE57]], align 16 // CHECK-NEXT: [[COERCE57_TUPLE:%.*]] = load { , , }, ptr [[COERCE57]], align 16 // CHECK-NEXT: [[COERCE57_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE57_TUPLE]], 0 // CHECK-NEXT: [[COERCE57_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE57_TUPLE]], 1 // CHECK-NEXT: [[COERCE57_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE57_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f13svfloat32x3_tS_( [[COERCE56_EXTRACT0]], [[COERCE56_EXTRACT1]], [[COERCE56_EXTRACT2]], [[COERCE57_EXTRACT0]], [[COERCE57_EXTRACT1]], [[COERCE57_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE58]], align 16 // CHECK-NEXT: [[COERCE58_TUPLE:%.*]] = load { , , , }, ptr [[COERCE58]], align 16 // CHECK-NEXT: [[COERCE58_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE58_TUPLE]], 0 // CHECK-NEXT: [[COERCE58_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE58_TUPLE]], 1 // CHECK-NEXT: [[COERCE58_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE58_TUPLE]], 2 // CHECK-NEXT: [[COERCE58_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE58_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE59]], align 16 // CHECK-NEXT: [[COERCE59_TUPLE:%.*]] = load { , , , }, ptr [[COERCE59]], align 16 // CHECK-NEXT: [[COERCE59_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE59_TUPLE]], 0 // CHECK-NEXT: [[COERCE59_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE59_TUPLE]], 1 // CHECK-NEXT: [[COERCE59_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE59_TUPLE]], 2 // CHECK-NEXT: [[COERCE59_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE59_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f13svfloat32x4_tS_( [[COERCE58_EXTRACT0]], [[COERCE58_EXTRACT1]], [[COERCE58_EXTRACT2]], [[COERCE58_EXTRACT3]], [[COERCE59_EXTRACT0]], [[COERCE59_EXTRACT1]], [[COERCE59_EXTRACT2]], [[COERCE59_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE60]], align 16 // CHECK-NEXT: [[COERCE60_TUPLE:%.*]] = load { , }, ptr [[COERCE60]], align 16 // CHECK-NEXT: [[COERCE60_EXTRACT0:%.*]] = extractvalue { , } [[COERCE60_TUPLE]], 0 // CHECK-NEXT: [[COERCE60_EXTRACT1:%.*]] = extractvalue { , } [[COERCE60_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE61]], align 16 // CHECK-NEXT: [[COERCE61_TUPLE:%.*]] = load { , }, ptr [[COERCE61]], align 16 // CHECK-NEXT: [[COERCE61_EXTRACT0:%.*]] = extractvalue { , } [[COERCE61_TUPLE]], 0 // CHECK-NEXT: [[COERCE61_EXTRACT1:%.*]] = extractvalue { , } [[COERCE61_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f13svfloat64x2_tS_( [[COERCE60_EXTRACT0]], [[COERCE60_EXTRACT1]], [[COERCE61_EXTRACT0]], [[COERCE61_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE62]], align 16 // CHECK-NEXT: [[COERCE62_TUPLE:%.*]] = load { , , }, ptr [[COERCE62]], align 16 // CHECK-NEXT: [[COERCE62_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE62_TUPLE]], 0 // CHECK-NEXT: [[COERCE62_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE62_TUPLE]], 1 // CHECK-NEXT: [[COERCE62_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE62_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE63]], align 16 // CHECK-NEXT: [[COERCE63_TUPLE:%.*]] = load { , , }, ptr [[COERCE63]], align 16 // CHECK-NEXT: [[COERCE63_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE63_TUPLE]], 0 // CHECK-NEXT: [[COERCE63_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE63_TUPLE]], 1 // CHECK-NEXT: [[COERCE63_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE63_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f13svfloat64x3_tS_( [[COERCE62_EXTRACT0]], [[COERCE62_EXTRACT1]], [[COERCE62_EXTRACT2]], [[COERCE63_EXTRACT0]], [[COERCE63_EXTRACT1]], [[COERCE63_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE64]], align 16 // CHECK-NEXT: [[COERCE64_TUPLE:%.*]] = load { , , , }, ptr [[COERCE64]], align 16 // CHECK-NEXT: [[COERCE64_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE64_TUPLE]], 0 // CHECK-NEXT: [[COERCE64_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE64_TUPLE]], 1 // CHECK-NEXT: [[COERCE64_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE64_TUPLE]], 2 // CHECK-NEXT: [[COERCE64_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE64_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE65]], align 16 // CHECK-NEXT: [[COERCE65_TUPLE:%.*]] = load { , , , }, ptr [[COERCE65]], align 16 // CHECK-NEXT: [[COERCE65_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE65_TUPLE]], 0 // CHECK-NEXT: [[COERCE65_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE65_TUPLE]], 1 // CHECK-NEXT: [[COERCE65_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE65_TUPLE]], 2 // CHECK-NEXT: [[COERCE65_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE65_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f13svfloat64x4_tS_( [[COERCE64_EXTRACT0]], [[COERCE64_EXTRACT1]], [[COERCE64_EXTRACT2]], [[COERCE64_EXTRACT3]], [[COERCE65_EXTRACT0]], [[COERCE65_EXTRACT1]], [[COERCE65_EXTRACT2]], [[COERCE65_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE66]], align 16 // CHECK-NEXT: [[COERCE66_TUPLE:%.*]] = load { , }, ptr [[COERCE66]], align 16 // CHECK-NEXT: [[COERCE66_EXTRACT0:%.*]] = extractvalue { , } [[COERCE66_TUPLE]], 0 // CHECK-NEXT: [[COERCE66_EXTRACT1:%.*]] = extractvalue { , } [[COERCE66_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE67]], align 16 // CHECK-NEXT: [[COERCE67_TUPLE:%.*]] = load { , }, ptr [[COERCE67]], align 16 // CHECK-NEXT: [[COERCE67_EXTRACT0:%.*]] = extractvalue { , } [[COERCE67_TUPLE]], 0 // CHECK-NEXT: [[COERCE67_EXTRACT1:%.*]] = extractvalue { , } [[COERCE67_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f14svbfloat16x2_tS_( [[COERCE66_EXTRACT0]], [[COERCE66_EXTRACT1]], [[COERCE67_EXTRACT0]], [[COERCE67_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE68]], align 16 // CHECK-NEXT: [[COERCE68_TUPLE:%.*]] = load { , , }, ptr [[COERCE68]], align 16 // CHECK-NEXT: [[COERCE68_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE68_TUPLE]], 0 // CHECK-NEXT: [[COERCE68_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE68_TUPLE]], 1 // CHECK-NEXT: [[COERCE68_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE68_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE69]], align 16 // CHECK-NEXT: [[COERCE69_TUPLE:%.*]] = load { , , }, ptr [[COERCE69]], align 16 // CHECK-NEXT: [[COERCE69_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE69_TUPLE]], 0 // CHECK-NEXT: [[COERCE69_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE69_TUPLE]], 1 // CHECK-NEXT: [[COERCE69_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE69_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f14svbfloat16x3_tS_( [[COERCE68_EXTRACT0]], [[COERCE68_EXTRACT1]], [[COERCE68_EXTRACT2]], [[COERCE69_EXTRACT0]], [[COERCE69_EXTRACT1]], [[COERCE69_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE70]], align 16 // CHECK-NEXT: [[COERCE70_TUPLE:%.*]] = load { , , , }, ptr [[COERCE70]], align 16 // CHECK-NEXT: [[COERCE70_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE70_TUPLE]], 0 // CHECK-NEXT: [[COERCE70_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE70_TUPLE]], 1 // CHECK-NEXT: [[COERCE70_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE70_TUPLE]], 2 // CHECK-NEXT: [[COERCE70_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE70_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE71]], align 16 // CHECK-NEXT: [[COERCE71_TUPLE:%.*]] = load { , , , }, ptr [[COERCE71]], align 16 // CHECK-NEXT: [[COERCE71_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE71_TUPLE]], 0 // CHECK-NEXT: [[COERCE71_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE71_TUPLE]], 1 // CHECK-NEXT: [[COERCE71_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE71_TUPLE]], 2 // CHECK-NEXT: [[COERCE71_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE71_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f14svbfloat16x4_tS_( [[COERCE70_EXTRACT0]], [[COERCE70_EXTRACT1]], [[COERCE70_EXTRACT2]], [[COERCE70_EXTRACT3]], [[COERCE71_EXTRACT0]], [[COERCE71_EXTRACT1]], [[COERCE71_EXTRACT2]], [[COERCE71_EXTRACT3]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE72]], align 2 // CHECK-NEXT: [[COERCE72_TUPLE:%.*]] = load { , }, ptr [[COERCE72]], align 2 // CHECK-NEXT: [[COERCE72_EXTRACT0:%.*]] = extractvalue { , } [[COERCE72_TUPLE]], 0 // CHECK-NEXT: [[COERCE72_EXTRACT1:%.*]] = extractvalue { , } [[COERCE72_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE73]], align 2 // CHECK-NEXT: [[COERCE73_TUPLE:%.*]] = load { , }, ptr [[COERCE73]], align 2 // CHECK-NEXT: [[COERCE73_EXTRACT0:%.*]] = extractvalue { , } [[COERCE73_TUPLE]], 0 // CHECK-NEXT: [[COERCE73_EXTRACT1:%.*]] = extractvalue { , } [[COERCE73_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f10svboolx2_tS_( [[COERCE72_EXTRACT0]], [[COERCE72_EXTRACT1]], [[COERCE73_EXTRACT0]], [[COERCE73_EXTRACT1]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE74]], align 2 // CHECK-NEXT: [[COERCE74_TUPLE:%.*]] = load { , , , }, ptr [[COERCE74]], align 2 // CHECK-NEXT: [[COERCE74_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE74_TUPLE]], 0 // CHECK-NEXT: [[COERCE74_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE74_TUPLE]], 1 // CHECK-NEXT: [[COERCE74_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE74_TUPLE]], 2 // CHECK-NEXT: [[COERCE74_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE74_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[BYVAL_TEMP]], align 2 // CHECK-NEXT: call void @_Z1f10svboolx4_tS_( [[COERCE74_EXTRACT0]], [[COERCE74_EXTRACT1]], [[COERCE74_EXTRACT2]], [[COERCE74_EXTRACT3]], ptr dead_on_return noundef [[BYVAL_TEMP]]) // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE75]], align 16 // CHECK-NEXT: [[COERCE75_TUPLE:%.*]] = load { , }, ptr [[COERCE75]], align 16 // CHECK-NEXT: [[COERCE75_EXTRACT0:%.*]] = extractvalue { , } [[COERCE75_TUPLE]], 0 // CHECK-NEXT: [[COERCE75_EXTRACT1:%.*]] = extractvalue { , } [[COERCE75_TUPLE]], 1 // CHECK-NEXT: store { , } zeroinitializer, ptr [[COERCE76]], align 16 // CHECK-NEXT: [[COERCE76_TUPLE:%.*]] = load { , }, ptr [[COERCE76]], align 16 // CHECK-NEXT: [[COERCE76_EXTRACT0:%.*]] = extractvalue { , } [[COERCE76_TUPLE]], 0 // CHECK-NEXT: [[COERCE76_EXTRACT1:%.*]] = extractvalue { , } [[COERCE76_TUPLE]], 1 // CHECK-NEXT: call void @_Z1f13svmfloat8x2_tS_( [[COERCE75_EXTRACT0]], [[COERCE75_EXTRACT1]], [[COERCE76_EXTRACT0]], [[COERCE76_EXTRACT1]]) // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE77]], align 16 // CHECK-NEXT: [[COERCE77_TUPLE:%.*]] = load { , , }, ptr [[COERCE77]], align 16 // CHECK-NEXT: [[COERCE77_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE77_TUPLE]], 0 // CHECK-NEXT: [[COERCE77_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE77_TUPLE]], 1 // CHECK-NEXT: [[COERCE77_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE77_TUPLE]], 2 // CHECK-NEXT: store { , , } zeroinitializer, ptr [[COERCE78]], align 16 // CHECK-NEXT: [[COERCE78_TUPLE:%.*]] = load { , , }, ptr [[COERCE78]], align 16 // CHECK-NEXT: [[COERCE78_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE78_TUPLE]], 0 // CHECK-NEXT: [[COERCE78_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE78_TUPLE]], 1 // CHECK-NEXT: [[COERCE78_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE78_TUPLE]], 2 // CHECK-NEXT: call void @_Z1f13svmfloat8x3_tS_( [[COERCE77_EXTRACT0]], [[COERCE77_EXTRACT1]], [[COERCE77_EXTRACT2]], [[COERCE78_EXTRACT0]], [[COERCE78_EXTRACT1]], [[COERCE78_EXTRACT2]]) // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE79]], align 16 // CHECK-NEXT: [[COERCE79_TUPLE:%.*]] = load { , , , }, ptr [[COERCE79]], align 16 // CHECK-NEXT: [[COERCE79_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE79_TUPLE]], 0 // CHECK-NEXT: [[COERCE79_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE79_TUPLE]], 1 // CHECK-NEXT: [[COERCE79_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE79_TUPLE]], 2 // CHECK-NEXT: [[COERCE79_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE79_TUPLE]], 3 // CHECK-NEXT: store { , , , } zeroinitializer, ptr [[COERCE80]], align 16 // CHECK-NEXT: [[COERCE80_TUPLE:%.*]] = load { , , , }, ptr [[COERCE80]], align 16 // CHECK-NEXT: [[COERCE80_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE80_TUPLE]], 0 // CHECK-NEXT: [[COERCE80_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE80_TUPLE]], 1 // CHECK-NEXT: [[COERCE80_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE80_TUPLE]], 2 // CHECK-NEXT: [[COERCE80_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE80_TUPLE]], 3 // CHECK-NEXT: call void @_Z1f13svmfloat8x4_tS_( [[COERCE79_EXTRACT0]], [[COERCE79_EXTRACT1]], [[COERCE79_EXTRACT2]], [[COERCE79_EXTRACT3]], [[COERCE80_EXTRACT0]], [[COERCE80_EXTRACT1]], [[COERCE80_EXTRACT2]], [[COERCE80_EXTRACT3]]) // CHECK-NEXT: ret void // // COMPAT_17-LABEL: define dso_local void @_Z3foov( // COMPAT_17-SAME: ) #[[ATTR0:[0-9]+]] { // COMPAT_17-NEXT: entry: // COMPAT_17-NEXT: [[COERCE:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE1:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE2:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE3:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE4:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE5:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE6:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE7:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE8:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE9:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE10:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE11:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE12:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE13:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE14:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE15:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE16:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE17:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE18:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE19:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE20:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE21:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE22:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE23:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE24:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE25:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE26:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE27:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE28:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE29:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE30:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE31:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE32:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE33:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE34:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE35:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE36:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE37:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE38:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE39:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE40:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE41:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE42:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE43:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE44:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE45:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE46:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE47:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE48:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE49:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE50:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE51:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE52:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE53:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE54:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE55:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE56:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE57:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE58:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE59:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE60:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE61:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE62:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE63:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE64:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE65:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE66:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE67:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE68:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE69:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE70:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE71:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE72:%.*]] = alloca { , }, align 2 // COMPAT_17-NEXT: [[COERCE73:%.*]] = alloca { , }, align 2 // COMPAT_17-NEXT: [[COERCE74:%.*]] = alloca { , , , }, align 2 // COMPAT_17-NEXT: [[BYVAL_TEMP:%.*]] = alloca { , , , }, align 2 // COMPAT_17-NEXT: [[COERCE75:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE76:%.*]] = alloca { , }, align 16 // COMPAT_17-NEXT: [[COERCE77:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE78:%.*]] = alloca { , , }, align 16 // COMPAT_17-NEXT: [[COERCE79:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: [[COERCE80:%.*]] = alloca { , , , }, align 16 // COMPAT_17-NEXT: call void @_Z1fu10__SVInt8_tu10__SVInt8_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu11__SVInt16_tu11__SVInt16_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu11__SVInt16_tu11__SVInt16_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu11__SVInt32_tu11__SVInt32_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu11__SVInt64_tu11__SVInt64_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu11__SVUint8_tu11__SVUint8_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu12__SVUint16_tu12__SVUint16_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu12__SVUint32_tu12__SVUint32_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu12__SVUint64_tu12__SVUint64_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu13__SVFloat16_tu13__SVFloat16_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu13__SVFloat32_tu13__SVFloat32_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu13__SVFloat64_tu13__SVFloat64_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu13__SVMfloat8_tu13__SVMfloat8_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu14__SVBFloat16_tu14__SVBFloat16_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu10__SVBool_tu10__SVBool_t( zeroinitializer, zeroinitializer) // COMPAT_17-NEXT: call void @_Z1fu11__SVCount_tu11__SVCount_t(target("aarch64.svcount") zeroinitializer, target("aarch64.svcount") zeroinitializer) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE]], align 16 // COMPAT_17-NEXT: [[COERCE_TUPLE:%.*]] = load { , }, ptr [[COERCE]], align 16 // COMPAT_17-NEXT: [[COERCE_EXTRACT0:%.*]] = extractvalue { , } [[COERCE_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE_EXTRACT1:%.*]] = extractvalue { , } [[COERCE_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE1]], align 16 // COMPAT_17-NEXT: [[COERCE1_TUPLE:%.*]] = load { , }, ptr [[COERCE1]], align 16 // COMPAT_17-NEXT: [[COERCE1_EXTRACT0:%.*]] = extractvalue { , } [[COERCE1_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE1_EXTRACT1:%.*]] = extractvalue { , } [[COERCE1_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f10svint8x2_t10svint8x2_t( [[COERCE_EXTRACT0]], [[COERCE_EXTRACT1]], [[COERCE1_EXTRACT0]], [[COERCE1_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE2]], align 16 // COMPAT_17-NEXT: [[COERCE2_TUPLE:%.*]] = load { , , }, ptr [[COERCE2]], align 16 // COMPAT_17-NEXT: [[COERCE2_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE2_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE2_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE2_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE2_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE2_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE3]], align 16 // COMPAT_17-NEXT: [[COERCE3_TUPLE:%.*]] = load { , , }, ptr [[COERCE3]], align 16 // COMPAT_17-NEXT: [[COERCE3_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE3_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE3_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE3_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE3_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE3_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f10svint8x3_t10svint8x3_t( [[COERCE2_EXTRACT0]], [[COERCE2_EXTRACT1]], [[COERCE2_EXTRACT2]], [[COERCE3_EXTRACT0]], [[COERCE3_EXTRACT1]], [[COERCE3_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE4]], align 16 // COMPAT_17-NEXT: [[COERCE4_TUPLE:%.*]] = load { , , , }, ptr [[COERCE4]], align 16 // COMPAT_17-NEXT: [[COERCE4_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE4_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE4_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE4_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE4_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE4_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE4_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE4_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE5]], align 16 // COMPAT_17-NEXT: [[COERCE5_TUPLE:%.*]] = load { , , , }, ptr [[COERCE5]], align 16 // COMPAT_17-NEXT: [[COERCE5_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE5_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE5_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE5_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE5_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE5_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE5_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE5_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f10svint8x4_t10svint8x4_t( [[COERCE4_EXTRACT0]], [[COERCE4_EXTRACT1]], [[COERCE4_EXTRACT2]], [[COERCE4_EXTRACT3]], [[COERCE5_EXTRACT0]], [[COERCE5_EXTRACT1]], [[COERCE5_EXTRACT2]], [[COERCE5_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE6]], align 16 // COMPAT_17-NEXT: [[COERCE6_TUPLE:%.*]] = load { , }, ptr [[COERCE6]], align 16 // COMPAT_17-NEXT: [[COERCE6_EXTRACT0:%.*]] = extractvalue { , } [[COERCE6_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE6_EXTRACT1:%.*]] = extractvalue { , } [[COERCE6_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE7]], align 16 // COMPAT_17-NEXT: [[COERCE7_TUPLE:%.*]] = load { , }, ptr [[COERCE7]], align 16 // COMPAT_17-NEXT: [[COERCE7_EXTRACT0:%.*]] = extractvalue { , } [[COERCE7_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE7_EXTRACT1:%.*]] = extractvalue { , } [[COERCE7_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f11svint16x2_t11svint16x2_t( [[COERCE6_EXTRACT0]], [[COERCE6_EXTRACT1]], [[COERCE7_EXTRACT0]], [[COERCE7_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE8]], align 16 // COMPAT_17-NEXT: [[COERCE8_TUPLE:%.*]] = load { , , }, ptr [[COERCE8]], align 16 // COMPAT_17-NEXT: [[COERCE8_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE8_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE8_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE8_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE8_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE8_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE9]], align 16 // COMPAT_17-NEXT: [[COERCE9_TUPLE:%.*]] = load { , , }, ptr [[COERCE9]], align 16 // COMPAT_17-NEXT: [[COERCE9_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE9_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE9_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE9_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE9_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE9_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f11svint16x3_t11svint16x3_t( [[COERCE8_EXTRACT0]], [[COERCE8_EXTRACT1]], [[COERCE8_EXTRACT2]], [[COERCE9_EXTRACT0]], [[COERCE9_EXTRACT1]], [[COERCE9_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE10]], align 16 // COMPAT_17-NEXT: [[COERCE10_TUPLE:%.*]] = load { , , , }, ptr [[COERCE10]], align 16 // COMPAT_17-NEXT: [[COERCE10_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE10_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE10_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE10_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE10_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE10_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE10_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE10_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE11]], align 16 // COMPAT_17-NEXT: [[COERCE11_TUPLE:%.*]] = load { , , , }, ptr [[COERCE11]], align 16 // COMPAT_17-NEXT: [[COERCE11_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE11_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE11_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE11_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE11_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE11_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE11_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE11_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f11svint16x4_t11svint16x4_t( [[COERCE10_EXTRACT0]], [[COERCE10_EXTRACT1]], [[COERCE10_EXTRACT2]], [[COERCE10_EXTRACT3]], [[COERCE11_EXTRACT0]], [[COERCE11_EXTRACT1]], [[COERCE11_EXTRACT2]], [[COERCE11_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE12]], align 16 // COMPAT_17-NEXT: [[COERCE12_TUPLE:%.*]] = load { , }, ptr [[COERCE12]], align 16 // COMPAT_17-NEXT: [[COERCE12_EXTRACT0:%.*]] = extractvalue { , } [[COERCE12_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE12_EXTRACT1:%.*]] = extractvalue { , } [[COERCE12_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE13]], align 16 // COMPAT_17-NEXT: [[COERCE13_TUPLE:%.*]] = load { , }, ptr [[COERCE13]], align 16 // COMPAT_17-NEXT: [[COERCE13_EXTRACT0:%.*]] = extractvalue { , } [[COERCE13_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE13_EXTRACT1:%.*]] = extractvalue { , } [[COERCE13_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f11svint32x2_t11svint32x2_t( [[COERCE12_EXTRACT0]], [[COERCE12_EXTRACT1]], [[COERCE13_EXTRACT0]], [[COERCE13_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE14]], align 16 // COMPAT_17-NEXT: [[COERCE14_TUPLE:%.*]] = load { , , }, ptr [[COERCE14]], align 16 // COMPAT_17-NEXT: [[COERCE14_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE14_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE14_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE14_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE14_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE14_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE15]], align 16 // COMPAT_17-NEXT: [[COERCE15_TUPLE:%.*]] = load { , , }, ptr [[COERCE15]], align 16 // COMPAT_17-NEXT: [[COERCE15_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE15_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE15_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE15_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE15_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE15_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f11svint32x3_t11svint32x3_t( [[COERCE14_EXTRACT0]], [[COERCE14_EXTRACT1]], [[COERCE14_EXTRACT2]], [[COERCE15_EXTRACT0]], [[COERCE15_EXTRACT1]], [[COERCE15_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE16]], align 16 // COMPAT_17-NEXT: [[COERCE16_TUPLE:%.*]] = load { , , , }, ptr [[COERCE16]], align 16 // COMPAT_17-NEXT: [[COERCE16_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE16_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE16_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE16_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE16_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE16_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE16_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE16_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE17]], align 16 // COMPAT_17-NEXT: [[COERCE17_TUPLE:%.*]] = load { , , , }, ptr [[COERCE17]], align 16 // COMPAT_17-NEXT: [[COERCE17_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE17_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE17_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE17_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE17_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE17_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE17_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE17_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f11svint32x4_t11svint32x4_t( [[COERCE16_EXTRACT0]], [[COERCE16_EXTRACT1]], [[COERCE16_EXTRACT2]], [[COERCE16_EXTRACT3]], [[COERCE17_EXTRACT0]], [[COERCE17_EXTRACT1]], [[COERCE17_EXTRACT2]], [[COERCE17_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE18]], align 16 // COMPAT_17-NEXT: [[COERCE18_TUPLE:%.*]] = load { , }, ptr [[COERCE18]], align 16 // COMPAT_17-NEXT: [[COERCE18_EXTRACT0:%.*]] = extractvalue { , } [[COERCE18_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE18_EXTRACT1:%.*]] = extractvalue { , } [[COERCE18_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE19]], align 16 // COMPAT_17-NEXT: [[COERCE19_TUPLE:%.*]] = load { , }, ptr [[COERCE19]], align 16 // COMPAT_17-NEXT: [[COERCE19_EXTRACT0:%.*]] = extractvalue { , } [[COERCE19_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE19_EXTRACT1:%.*]] = extractvalue { , } [[COERCE19_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f11svint64x2_t11svint64x2_t( [[COERCE18_EXTRACT0]], [[COERCE18_EXTRACT1]], [[COERCE19_EXTRACT0]], [[COERCE19_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE20]], align 16 // COMPAT_17-NEXT: [[COERCE20_TUPLE:%.*]] = load { , , }, ptr [[COERCE20]], align 16 // COMPAT_17-NEXT: [[COERCE20_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE20_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE20_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE20_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE20_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE20_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE21]], align 16 // COMPAT_17-NEXT: [[COERCE21_TUPLE:%.*]] = load { , , }, ptr [[COERCE21]], align 16 // COMPAT_17-NEXT: [[COERCE21_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE21_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE21_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE21_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE21_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE21_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f11svint64x3_t11svint64x3_t( [[COERCE20_EXTRACT0]], [[COERCE20_EXTRACT1]], [[COERCE20_EXTRACT2]], [[COERCE21_EXTRACT0]], [[COERCE21_EXTRACT1]], [[COERCE21_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE22]], align 16 // COMPAT_17-NEXT: [[COERCE22_TUPLE:%.*]] = load { , , , }, ptr [[COERCE22]], align 16 // COMPAT_17-NEXT: [[COERCE22_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE22_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE22_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE22_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE22_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE22_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE22_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE22_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE23]], align 16 // COMPAT_17-NEXT: [[COERCE23_TUPLE:%.*]] = load { , , , }, ptr [[COERCE23]], align 16 // COMPAT_17-NEXT: [[COERCE23_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE23_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE23_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE23_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE23_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE23_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE23_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE23_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f11svint64x4_t11svint64x4_t( [[COERCE22_EXTRACT0]], [[COERCE22_EXTRACT1]], [[COERCE22_EXTRACT2]], [[COERCE22_EXTRACT3]], [[COERCE23_EXTRACT0]], [[COERCE23_EXTRACT1]], [[COERCE23_EXTRACT2]], [[COERCE23_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE24]], align 16 // COMPAT_17-NEXT: [[COERCE24_TUPLE:%.*]] = load { , }, ptr [[COERCE24]], align 16 // COMPAT_17-NEXT: [[COERCE24_EXTRACT0:%.*]] = extractvalue { , } [[COERCE24_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE24_EXTRACT1:%.*]] = extractvalue { , } [[COERCE24_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE25]], align 16 // COMPAT_17-NEXT: [[COERCE25_TUPLE:%.*]] = load { , }, ptr [[COERCE25]], align 16 // COMPAT_17-NEXT: [[COERCE25_EXTRACT0:%.*]] = extractvalue { , } [[COERCE25_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE25_EXTRACT1:%.*]] = extractvalue { , } [[COERCE25_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f11svuint8x2_t11svuint8x2_t( [[COERCE24_EXTRACT0]], [[COERCE24_EXTRACT1]], [[COERCE25_EXTRACT0]], [[COERCE25_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE26]], align 16 // COMPAT_17-NEXT: [[COERCE26_TUPLE:%.*]] = load { , , }, ptr [[COERCE26]], align 16 // COMPAT_17-NEXT: [[COERCE26_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE26_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE26_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE26_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE26_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE26_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE27]], align 16 // COMPAT_17-NEXT: [[COERCE27_TUPLE:%.*]] = load { , , }, ptr [[COERCE27]], align 16 // COMPAT_17-NEXT: [[COERCE27_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE27_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE27_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE27_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE27_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE27_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f11svuint8x3_t11svuint8x3_t( [[COERCE26_EXTRACT0]], [[COERCE26_EXTRACT1]], [[COERCE26_EXTRACT2]], [[COERCE27_EXTRACT0]], [[COERCE27_EXTRACT1]], [[COERCE27_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE28]], align 16 // COMPAT_17-NEXT: [[COERCE28_TUPLE:%.*]] = load { , , , }, ptr [[COERCE28]], align 16 // COMPAT_17-NEXT: [[COERCE28_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE28_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE28_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE28_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE28_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE28_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE28_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE28_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE29]], align 16 // COMPAT_17-NEXT: [[COERCE29_TUPLE:%.*]] = load { , , , }, ptr [[COERCE29]], align 16 // COMPAT_17-NEXT: [[COERCE29_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE29_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE29_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE29_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE29_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE29_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE29_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE29_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f11svuint8x4_t11svuint8x4_t( [[COERCE28_EXTRACT0]], [[COERCE28_EXTRACT1]], [[COERCE28_EXTRACT2]], [[COERCE28_EXTRACT3]], [[COERCE29_EXTRACT0]], [[COERCE29_EXTRACT1]], [[COERCE29_EXTRACT2]], [[COERCE29_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE30]], align 16 // COMPAT_17-NEXT: [[COERCE30_TUPLE:%.*]] = load { , }, ptr [[COERCE30]], align 16 // COMPAT_17-NEXT: [[COERCE30_EXTRACT0:%.*]] = extractvalue { , } [[COERCE30_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE30_EXTRACT1:%.*]] = extractvalue { , } [[COERCE30_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE31]], align 16 // COMPAT_17-NEXT: [[COERCE31_TUPLE:%.*]] = load { , }, ptr [[COERCE31]], align 16 // COMPAT_17-NEXT: [[COERCE31_EXTRACT0:%.*]] = extractvalue { , } [[COERCE31_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE31_EXTRACT1:%.*]] = extractvalue { , } [[COERCE31_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f12svuint16x2_t12svuint16x2_t( [[COERCE30_EXTRACT0]], [[COERCE30_EXTRACT1]], [[COERCE31_EXTRACT0]], [[COERCE31_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE32]], align 16 // COMPAT_17-NEXT: [[COERCE32_TUPLE:%.*]] = load { , , }, ptr [[COERCE32]], align 16 // COMPAT_17-NEXT: [[COERCE32_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE32_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE32_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE32_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE32_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE32_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE33]], align 16 // COMPAT_17-NEXT: [[COERCE33_TUPLE:%.*]] = load { , , }, ptr [[COERCE33]], align 16 // COMPAT_17-NEXT: [[COERCE33_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE33_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE33_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE33_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE33_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE33_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f12svuint16x3_t12svuint16x3_t( [[COERCE32_EXTRACT0]], [[COERCE32_EXTRACT1]], [[COERCE32_EXTRACT2]], [[COERCE33_EXTRACT0]], [[COERCE33_EXTRACT1]], [[COERCE33_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE34]], align 16 // COMPAT_17-NEXT: [[COERCE34_TUPLE:%.*]] = load { , , , }, ptr [[COERCE34]], align 16 // COMPAT_17-NEXT: [[COERCE34_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE34_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE34_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE34_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE34_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE34_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE34_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE34_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE35]], align 16 // COMPAT_17-NEXT: [[COERCE35_TUPLE:%.*]] = load { , , , }, ptr [[COERCE35]], align 16 // COMPAT_17-NEXT: [[COERCE35_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE35_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE35_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE35_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE35_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE35_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE35_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE35_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f12svuint16x4_t12svuint16x4_t( [[COERCE34_EXTRACT0]], [[COERCE34_EXTRACT1]], [[COERCE34_EXTRACT2]], [[COERCE34_EXTRACT3]], [[COERCE35_EXTRACT0]], [[COERCE35_EXTRACT1]], [[COERCE35_EXTRACT2]], [[COERCE35_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE36]], align 16 // COMPAT_17-NEXT: [[COERCE36_TUPLE:%.*]] = load { , }, ptr [[COERCE36]], align 16 // COMPAT_17-NEXT: [[COERCE36_EXTRACT0:%.*]] = extractvalue { , } [[COERCE36_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE36_EXTRACT1:%.*]] = extractvalue { , } [[COERCE36_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE37]], align 16 // COMPAT_17-NEXT: [[COERCE37_TUPLE:%.*]] = load { , }, ptr [[COERCE37]], align 16 // COMPAT_17-NEXT: [[COERCE37_EXTRACT0:%.*]] = extractvalue { , } [[COERCE37_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE37_EXTRACT1:%.*]] = extractvalue { , } [[COERCE37_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f12svuint32x2_t12svuint32x2_t( [[COERCE36_EXTRACT0]], [[COERCE36_EXTRACT1]], [[COERCE37_EXTRACT0]], [[COERCE37_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE38]], align 16 // COMPAT_17-NEXT: [[COERCE38_TUPLE:%.*]] = load { , , }, ptr [[COERCE38]], align 16 // COMPAT_17-NEXT: [[COERCE38_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE38_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE38_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE38_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE38_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE38_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE39]], align 16 // COMPAT_17-NEXT: [[COERCE39_TUPLE:%.*]] = load { , , }, ptr [[COERCE39]], align 16 // COMPAT_17-NEXT: [[COERCE39_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE39_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE39_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE39_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE39_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE39_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f12svuint32x3_t12svuint32x3_t( [[COERCE38_EXTRACT0]], [[COERCE38_EXTRACT1]], [[COERCE38_EXTRACT2]], [[COERCE39_EXTRACT0]], [[COERCE39_EXTRACT1]], [[COERCE39_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE40]], align 16 // COMPAT_17-NEXT: [[COERCE40_TUPLE:%.*]] = load { , , , }, ptr [[COERCE40]], align 16 // COMPAT_17-NEXT: [[COERCE40_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE40_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE40_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE40_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE40_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE40_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE40_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE40_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE41]], align 16 // COMPAT_17-NEXT: [[COERCE41_TUPLE:%.*]] = load { , , , }, ptr [[COERCE41]], align 16 // COMPAT_17-NEXT: [[COERCE41_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE41_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE41_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE41_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE41_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE41_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE41_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE41_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f12svuint32x4_t12svuint32x4_t( [[COERCE40_EXTRACT0]], [[COERCE40_EXTRACT1]], [[COERCE40_EXTRACT2]], [[COERCE40_EXTRACT3]], [[COERCE41_EXTRACT0]], [[COERCE41_EXTRACT1]], [[COERCE41_EXTRACT2]], [[COERCE41_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE42]], align 16 // COMPAT_17-NEXT: [[COERCE42_TUPLE:%.*]] = load { , }, ptr [[COERCE42]], align 16 // COMPAT_17-NEXT: [[COERCE42_EXTRACT0:%.*]] = extractvalue { , } [[COERCE42_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE42_EXTRACT1:%.*]] = extractvalue { , } [[COERCE42_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE43]], align 16 // COMPAT_17-NEXT: [[COERCE43_TUPLE:%.*]] = load { , }, ptr [[COERCE43]], align 16 // COMPAT_17-NEXT: [[COERCE43_EXTRACT0:%.*]] = extractvalue { , } [[COERCE43_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE43_EXTRACT1:%.*]] = extractvalue { , } [[COERCE43_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f12svuint64x2_t12svuint64x2_t( [[COERCE42_EXTRACT0]], [[COERCE42_EXTRACT1]], [[COERCE43_EXTRACT0]], [[COERCE43_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE44]], align 16 // COMPAT_17-NEXT: [[COERCE44_TUPLE:%.*]] = load { , , }, ptr [[COERCE44]], align 16 // COMPAT_17-NEXT: [[COERCE44_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE44_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE44_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE44_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE44_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE44_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE45]], align 16 // COMPAT_17-NEXT: [[COERCE45_TUPLE:%.*]] = load { , , }, ptr [[COERCE45]], align 16 // COMPAT_17-NEXT: [[COERCE45_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE45_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE45_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE45_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE45_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE45_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f12svuint64x3_t12svuint64x3_t( [[COERCE44_EXTRACT0]], [[COERCE44_EXTRACT1]], [[COERCE44_EXTRACT2]], [[COERCE45_EXTRACT0]], [[COERCE45_EXTRACT1]], [[COERCE45_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE46]], align 16 // COMPAT_17-NEXT: [[COERCE46_TUPLE:%.*]] = load { , , , }, ptr [[COERCE46]], align 16 // COMPAT_17-NEXT: [[COERCE46_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE46_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE46_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE46_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE46_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE46_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE46_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE46_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE47]], align 16 // COMPAT_17-NEXT: [[COERCE47_TUPLE:%.*]] = load { , , , }, ptr [[COERCE47]], align 16 // COMPAT_17-NEXT: [[COERCE47_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE47_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE47_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE47_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE47_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE47_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE47_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE47_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f12svuint64x4_t12svuint64x4_t( [[COERCE46_EXTRACT0]], [[COERCE46_EXTRACT1]], [[COERCE46_EXTRACT2]], [[COERCE46_EXTRACT3]], [[COERCE47_EXTRACT0]], [[COERCE47_EXTRACT1]], [[COERCE47_EXTRACT2]], [[COERCE47_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE48]], align 16 // COMPAT_17-NEXT: [[COERCE48_TUPLE:%.*]] = load { , }, ptr [[COERCE48]], align 16 // COMPAT_17-NEXT: [[COERCE48_EXTRACT0:%.*]] = extractvalue { , } [[COERCE48_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE48_EXTRACT1:%.*]] = extractvalue { , } [[COERCE48_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE49]], align 16 // COMPAT_17-NEXT: [[COERCE49_TUPLE:%.*]] = load { , }, ptr [[COERCE49]], align 16 // COMPAT_17-NEXT: [[COERCE49_EXTRACT0:%.*]] = extractvalue { , } [[COERCE49_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE49_EXTRACT1:%.*]] = extractvalue { , } [[COERCE49_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f13svfloat16x2_t13svfloat16x2_t( [[COERCE48_EXTRACT0]], [[COERCE48_EXTRACT1]], [[COERCE49_EXTRACT0]], [[COERCE49_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE50]], align 16 // COMPAT_17-NEXT: [[COERCE50_TUPLE:%.*]] = load { , , }, ptr [[COERCE50]], align 16 // COMPAT_17-NEXT: [[COERCE50_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE50_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE50_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE50_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE50_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE50_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE51]], align 16 // COMPAT_17-NEXT: [[COERCE51_TUPLE:%.*]] = load { , , }, ptr [[COERCE51]], align 16 // COMPAT_17-NEXT: [[COERCE51_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE51_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE51_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE51_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE51_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE51_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f13svfloat16x3_t13svfloat16x3_t( [[COERCE50_EXTRACT0]], [[COERCE50_EXTRACT1]], [[COERCE50_EXTRACT2]], [[COERCE51_EXTRACT0]], [[COERCE51_EXTRACT1]], [[COERCE51_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE52]], align 16 // COMPAT_17-NEXT: [[COERCE52_TUPLE:%.*]] = load { , , , }, ptr [[COERCE52]], align 16 // COMPAT_17-NEXT: [[COERCE52_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE52_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE52_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE52_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE52_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE52_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE52_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE52_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE53]], align 16 // COMPAT_17-NEXT: [[COERCE53_TUPLE:%.*]] = load { , , , }, ptr [[COERCE53]], align 16 // COMPAT_17-NEXT: [[COERCE53_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE53_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE53_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE53_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE53_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE53_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE53_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE53_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f13svfloat16x4_t13svfloat16x4_t( [[COERCE52_EXTRACT0]], [[COERCE52_EXTRACT1]], [[COERCE52_EXTRACT2]], [[COERCE52_EXTRACT3]], [[COERCE53_EXTRACT0]], [[COERCE53_EXTRACT1]], [[COERCE53_EXTRACT2]], [[COERCE53_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE54]], align 16 // COMPAT_17-NEXT: [[COERCE54_TUPLE:%.*]] = load { , }, ptr [[COERCE54]], align 16 // COMPAT_17-NEXT: [[COERCE54_EXTRACT0:%.*]] = extractvalue { , } [[COERCE54_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE54_EXTRACT1:%.*]] = extractvalue { , } [[COERCE54_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE55]], align 16 // COMPAT_17-NEXT: [[COERCE55_TUPLE:%.*]] = load { , }, ptr [[COERCE55]], align 16 // COMPAT_17-NEXT: [[COERCE55_EXTRACT0:%.*]] = extractvalue { , } [[COERCE55_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE55_EXTRACT1:%.*]] = extractvalue { , } [[COERCE55_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f13svfloat32x2_t13svfloat32x2_t( [[COERCE54_EXTRACT0]], [[COERCE54_EXTRACT1]], [[COERCE55_EXTRACT0]], [[COERCE55_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE56]], align 16 // COMPAT_17-NEXT: [[COERCE56_TUPLE:%.*]] = load { , , }, ptr [[COERCE56]], align 16 // COMPAT_17-NEXT: [[COERCE56_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE56_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE56_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE56_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE56_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE56_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE57]], align 16 // COMPAT_17-NEXT: [[COERCE57_TUPLE:%.*]] = load { , , }, ptr [[COERCE57]], align 16 // COMPAT_17-NEXT: [[COERCE57_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE57_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE57_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE57_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE57_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE57_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f13svfloat32x3_t13svfloat32x3_t( [[COERCE56_EXTRACT0]], [[COERCE56_EXTRACT1]], [[COERCE56_EXTRACT2]], [[COERCE57_EXTRACT0]], [[COERCE57_EXTRACT1]], [[COERCE57_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE58]], align 16 // COMPAT_17-NEXT: [[COERCE58_TUPLE:%.*]] = load { , , , }, ptr [[COERCE58]], align 16 // COMPAT_17-NEXT: [[COERCE58_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE58_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE58_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE58_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE58_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE58_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE58_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE58_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE59]], align 16 // COMPAT_17-NEXT: [[COERCE59_TUPLE:%.*]] = load { , , , }, ptr [[COERCE59]], align 16 // COMPAT_17-NEXT: [[COERCE59_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE59_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE59_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE59_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE59_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE59_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE59_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE59_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f13svfloat32x4_t13svfloat32x4_t( [[COERCE58_EXTRACT0]], [[COERCE58_EXTRACT1]], [[COERCE58_EXTRACT2]], [[COERCE58_EXTRACT3]], [[COERCE59_EXTRACT0]], [[COERCE59_EXTRACT1]], [[COERCE59_EXTRACT2]], [[COERCE59_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE60]], align 16 // COMPAT_17-NEXT: [[COERCE60_TUPLE:%.*]] = load { , }, ptr [[COERCE60]], align 16 // COMPAT_17-NEXT: [[COERCE60_EXTRACT0:%.*]] = extractvalue { , } [[COERCE60_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE60_EXTRACT1:%.*]] = extractvalue { , } [[COERCE60_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE61]], align 16 // COMPAT_17-NEXT: [[COERCE61_TUPLE:%.*]] = load { , }, ptr [[COERCE61]], align 16 // COMPAT_17-NEXT: [[COERCE61_EXTRACT0:%.*]] = extractvalue { , } [[COERCE61_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE61_EXTRACT1:%.*]] = extractvalue { , } [[COERCE61_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f13svfloat64x2_t13svfloat64x2_t( [[COERCE60_EXTRACT0]], [[COERCE60_EXTRACT1]], [[COERCE61_EXTRACT0]], [[COERCE61_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE62]], align 16 // COMPAT_17-NEXT: [[COERCE62_TUPLE:%.*]] = load { , , }, ptr [[COERCE62]], align 16 // COMPAT_17-NEXT: [[COERCE62_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE62_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE62_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE62_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE62_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE62_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE63]], align 16 // COMPAT_17-NEXT: [[COERCE63_TUPLE:%.*]] = load { , , }, ptr [[COERCE63]], align 16 // COMPAT_17-NEXT: [[COERCE63_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE63_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE63_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE63_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE63_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE63_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f13svfloat64x3_t13svfloat64x3_t( [[COERCE62_EXTRACT0]], [[COERCE62_EXTRACT1]], [[COERCE62_EXTRACT2]], [[COERCE63_EXTRACT0]], [[COERCE63_EXTRACT1]], [[COERCE63_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE64]], align 16 // COMPAT_17-NEXT: [[COERCE64_TUPLE:%.*]] = load { , , , }, ptr [[COERCE64]], align 16 // COMPAT_17-NEXT: [[COERCE64_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE64_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE64_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE64_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE64_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE64_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE64_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE64_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE65]], align 16 // COMPAT_17-NEXT: [[COERCE65_TUPLE:%.*]] = load { , , , }, ptr [[COERCE65]], align 16 // COMPAT_17-NEXT: [[COERCE65_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE65_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE65_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE65_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE65_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE65_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE65_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE65_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f13svfloat64x4_t13svfloat64x4_t( [[COERCE64_EXTRACT0]], [[COERCE64_EXTRACT1]], [[COERCE64_EXTRACT2]], [[COERCE64_EXTRACT3]], [[COERCE65_EXTRACT0]], [[COERCE65_EXTRACT1]], [[COERCE65_EXTRACT2]], [[COERCE65_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE66]], align 16 // COMPAT_17-NEXT: [[COERCE66_TUPLE:%.*]] = load { , }, ptr [[COERCE66]], align 16 // COMPAT_17-NEXT: [[COERCE66_EXTRACT0:%.*]] = extractvalue { , } [[COERCE66_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE66_EXTRACT1:%.*]] = extractvalue { , } [[COERCE66_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE67]], align 16 // COMPAT_17-NEXT: [[COERCE67_TUPLE:%.*]] = load { , }, ptr [[COERCE67]], align 16 // COMPAT_17-NEXT: [[COERCE67_EXTRACT0:%.*]] = extractvalue { , } [[COERCE67_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE67_EXTRACT1:%.*]] = extractvalue { , } [[COERCE67_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f14svbfloat16x2_t14svbfloat16x2_t( [[COERCE66_EXTRACT0]], [[COERCE66_EXTRACT1]], [[COERCE67_EXTRACT0]], [[COERCE67_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE68]], align 16 // COMPAT_17-NEXT: [[COERCE68_TUPLE:%.*]] = load { , , }, ptr [[COERCE68]], align 16 // COMPAT_17-NEXT: [[COERCE68_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE68_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE68_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE68_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE68_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE68_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE69]], align 16 // COMPAT_17-NEXT: [[COERCE69_TUPLE:%.*]] = load { , , }, ptr [[COERCE69]], align 16 // COMPAT_17-NEXT: [[COERCE69_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE69_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE69_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE69_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE69_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE69_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f14svbfloat16x3_t14svbfloat16x3_t( [[COERCE68_EXTRACT0]], [[COERCE68_EXTRACT1]], [[COERCE68_EXTRACT2]], [[COERCE69_EXTRACT0]], [[COERCE69_EXTRACT1]], [[COERCE69_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE70]], align 16 // COMPAT_17-NEXT: [[COERCE70_TUPLE:%.*]] = load { , , , }, ptr [[COERCE70]], align 16 // COMPAT_17-NEXT: [[COERCE70_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE70_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE70_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE70_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE70_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE70_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE70_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE70_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE71]], align 16 // COMPAT_17-NEXT: [[COERCE71_TUPLE:%.*]] = load { , , , }, ptr [[COERCE71]], align 16 // COMPAT_17-NEXT: [[COERCE71_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE71_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE71_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE71_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE71_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE71_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE71_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE71_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f14svbfloat16x4_t14svbfloat16x4_t( [[COERCE70_EXTRACT0]], [[COERCE70_EXTRACT1]], [[COERCE70_EXTRACT2]], [[COERCE70_EXTRACT3]], [[COERCE71_EXTRACT0]], [[COERCE71_EXTRACT1]], [[COERCE71_EXTRACT2]], [[COERCE71_EXTRACT3]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE72]], align 2 // COMPAT_17-NEXT: [[COERCE72_TUPLE:%.*]] = load { , }, ptr [[COERCE72]], align 2 // COMPAT_17-NEXT: [[COERCE72_EXTRACT0:%.*]] = extractvalue { , } [[COERCE72_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE72_EXTRACT1:%.*]] = extractvalue { , } [[COERCE72_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE73]], align 2 // COMPAT_17-NEXT: [[COERCE73_TUPLE:%.*]] = load { , }, ptr [[COERCE73]], align 2 // COMPAT_17-NEXT: [[COERCE73_EXTRACT0:%.*]] = extractvalue { , } [[COERCE73_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE73_EXTRACT1:%.*]] = extractvalue { , } [[COERCE73_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f10svboolx2_t10svboolx2_t( [[COERCE72_EXTRACT0]], [[COERCE72_EXTRACT1]], [[COERCE73_EXTRACT0]], [[COERCE73_EXTRACT1]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE74]], align 2 // COMPAT_17-NEXT: [[COERCE74_TUPLE:%.*]] = load { , , , }, ptr [[COERCE74]], align 2 // COMPAT_17-NEXT: [[COERCE74_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE74_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE74_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE74_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE74_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE74_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE74_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE74_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[BYVAL_TEMP]], align 2 // COMPAT_17-NEXT: call void @_Z1f10svboolx4_t10svboolx4_t( [[COERCE74_EXTRACT0]], [[COERCE74_EXTRACT1]], [[COERCE74_EXTRACT2]], [[COERCE74_EXTRACT3]], ptr dead_on_return noundef [[BYVAL_TEMP]]) // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE75]], align 16 // COMPAT_17-NEXT: [[COERCE75_TUPLE:%.*]] = load { , }, ptr [[COERCE75]], align 16 // COMPAT_17-NEXT: [[COERCE75_EXTRACT0:%.*]] = extractvalue { , } [[COERCE75_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE75_EXTRACT1:%.*]] = extractvalue { , } [[COERCE75_TUPLE]], 1 // COMPAT_17-NEXT: store { , } zeroinitializer, ptr [[COERCE76]], align 16 // COMPAT_17-NEXT: [[COERCE76_TUPLE:%.*]] = load { , }, ptr [[COERCE76]], align 16 // COMPAT_17-NEXT: [[COERCE76_EXTRACT0:%.*]] = extractvalue { , } [[COERCE76_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE76_EXTRACT1:%.*]] = extractvalue { , } [[COERCE76_TUPLE]], 1 // COMPAT_17-NEXT: call void @_Z1f13svmfloat8x2_t13svmfloat8x2_t( [[COERCE75_EXTRACT0]], [[COERCE75_EXTRACT1]], [[COERCE76_EXTRACT0]], [[COERCE76_EXTRACT1]]) // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE77]], align 16 // COMPAT_17-NEXT: [[COERCE77_TUPLE:%.*]] = load { , , }, ptr [[COERCE77]], align 16 // COMPAT_17-NEXT: [[COERCE77_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE77_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE77_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE77_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE77_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE77_TUPLE]], 2 // COMPAT_17-NEXT: store { , , } zeroinitializer, ptr [[COERCE78]], align 16 // COMPAT_17-NEXT: [[COERCE78_TUPLE:%.*]] = load { , , }, ptr [[COERCE78]], align 16 // COMPAT_17-NEXT: [[COERCE78_EXTRACT0:%.*]] = extractvalue { , , } [[COERCE78_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE78_EXTRACT1:%.*]] = extractvalue { , , } [[COERCE78_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE78_EXTRACT2:%.*]] = extractvalue { , , } [[COERCE78_TUPLE]], 2 // COMPAT_17-NEXT: call void @_Z1f13svmfloat8x3_t13svmfloat8x3_t( [[COERCE77_EXTRACT0]], [[COERCE77_EXTRACT1]], [[COERCE77_EXTRACT2]], [[COERCE78_EXTRACT0]], [[COERCE78_EXTRACT1]], [[COERCE78_EXTRACT2]]) // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE79]], align 16 // COMPAT_17-NEXT: [[COERCE79_TUPLE:%.*]] = load { , , , }, ptr [[COERCE79]], align 16 // COMPAT_17-NEXT: [[COERCE79_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE79_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE79_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE79_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE79_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE79_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE79_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE79_TUPLE]], 3 // COMPAT_17-NEXT: store { , , , } zeroinitializer, ptr [[COERCE80]], align 16 // COMPAT_17-NEXT: [[COERCE80_TUPLE:%.*]] = load { , , , }, ptr [[COERCE80]], align 16 // COMPAT_17-NEXT: [[COERCE80_EXTRACT0:%.*]] = extractvalue { , , , } [[COERCE80_TUPLE]], 0 // COMPAT_17-NEXT: [[COERCE80_EXTRACT1:%.*]] = extractvalue { , , , } [[COERCE80_TUPLE]], 1 // COMPAT_17-NEXT: [[COERCE80_EXTRACT2:%.*]] = extractvalue { , , , } [[COERCE80_TUPLE]], 2 // COMPAT_17-NEXT: [[COERCE80_EXTRACT3:%.*]] = extractvalue { , , , } [[COERCE80_TUPLE]], 3 // COMPAT_17-NEXT: call void @_Z1f13svmfloat8x4_t13svmfloat8x4_t( [[COERCE79_EXTRACT0]], [[COERCE79_EXTRACT1]], [[COERCE79_EXTRACT2]], [[COERCE79_EXTRACT3]], [[COERCE80_EXTRACT0]], [[COERCE80_EXTRACT1]], [[COERCE80_EXTRACT2]], [[COERCE80_EXTRACT3]]) // COMPAT_17-NEXT: ret void // void foo() { f(__SVInt8_t(), __SVInt8_t()); f(__SVInt16_t(), __SVInt16_t()); f(__SVInt16_t(), __SVInt16_t()); f(__SVInt32_t(), __SVInt32_t()); f(__SVInt64_t(), __SVInt64_t()); f(__SVUint8_t(), __SVUint8_t()); f(__SVUint16_t(), __SVUint16_t()); f(__SVUint32_t(), __SVUint32_t()); f(__SVUint64_t(), __SVUint64_t()); f(__SVFloat16_t(), __SVFloat16_t()); f(__SVFloat32_t(), __SVFloat32_t()); f(__SVFloat64_t(), __SVFloat64_t()); f(__SVMfloat8_t(), __SVMfloat8_t()); f(__SVBfloat16_t(), __SVBfloat16_t()); f(__SVBool_t(), __SVBool_t()); f(__SVCount_t(), __SVCount_t()); f(__clang_svint8x2_t(), __clang_svint8x2_t()); f(__clang_svint8x3_t(), __clang_svint8x3_t()); f(__clang_svint8x4_t(), __clang_svint8x4_t()); f(__clang_svint16x2_t(), __clang_svint16x2_t()); f(__clang_svint16x3_t(), __clang_svint16x3_t()); f(__clang_svint16x4_t(), __clang_svint16x4_t()); f(__clang_svint32x2_t(), __clang_svint32x2_t()); f(__clang_svint32x3_t(), __clang_svint32x3_t()); f(__clang_svint32x4_t(), __clang_svint32x4_t()); f(__clang_svint64x2_t(), __clang_svint64x2_t()); f(__clang_svint64x3_t(), __clang_svint64x3_t()); f(__clang_svint64x4_t(), __clang_svint64x4_t()); f(__clang_svuint8x2_t(), __clang_svuint8x2_t()); f(__clang_svuint8x3_t(), __clang_svuint8x3_t()); f(__clang_svuint8x4_t(), __clang_svuint8x4_t()); f(__clang_svuint16x2_t(), __clang_svuint16x2_t()); f(__clang_svuint16x3_t(), __clang_svuint16x3_t()); f(__clang_svuint16x4_t(), __clang_svuint16x4_t()); f(__clang_svuint32x2_t(), __clang_svuint32x2_t()); f(__clang_svuint32x3_t(), __clang_svuint32x3_t()); f(__clang_svuint32x4_t(), __clang_svuint32x4_t()); f(__clang_svuint64x2_t(), __clang_svuint64x2_t()); f(__clang_svuint64x3_t(), __clang_svuint64x3_t()); f(__clang_svuint64x4_t(), __clang_svuint64x4_t()); f(__clang_svfloat16x2_t(), __clang_svfloat16x2_t()); f(__clang_svfloat16x3_t(), __clang_svfloat16x3_t()); f(__clang_svfloat16x4_t(), __clang_svfloat16x4_t()); f(__clang_svfloat32x2_t(), __clang_svfloat32x2_t()); f(__clang_svfloat32x3_t(), __clang_svfloat32x3_t()); f(__clang_svfloat32x4_t(), __clang_svfloat32x4_t()); f(__clang_svfloat64x2_t(), __clang_svfloat64x2_t()); f(__clang_svfloat64x3_t(), __clang_svfloat64x3_t()); f(__clang_svfloat64x4_t(), __clang_svfloat64x4_t()); f(__clang_svbfloat16x2_t(), __clang_svbfloat16x2_t()); f(__clang_svbfloat16x3_t(), __clang_svbfloat16x3_t()); f(__clang_svbfloat16x4_t(), __clang_svbfloat16x4_t()); f(__clang_svboolx2_t(), __clang_svboolx2_t()); f(__clang_svboolx4_t(), __clang_svboolx4_t()); f(__clang_svmfloat8x2_t(), __clang_svmfloat8x2_t()); f(__clang_svmfloat8x3_t(), __clang_svmfloat8x3_t()); f(__clang_svmfloat8x4_t(), __clang_svmfloat8x4_t()); }