From 9245ec39849952618dfe4e10fc0df34ce50a776e Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Fri, 10 Nov 2023 09:22:50 +0000 Subject: [PATCH] Sve: Early versions of Intrinsics/Arm/Sve and hwintrinsiclistarm64sve These files correspond to the latest vesion of the un-reviewed SVE API. They have all been auto generated. hwintrinsiclistarm64sve.h cannot be fully autogenerated and will require manual edits --- src/coreclr/jit/hwintrinsiclistarm64sve.h | 684 + .../Arm/Sve.PlatformNotSupported.cs | 14058 ++++++++++++++++ .../src/System/Runtime/Intrinsics/Arm/Sve.cs | 14058 ++++++++++++++++ .../Arm/Sve2.PlatformNotSupported.cs | 7720 +++++++++ .../src/System/Runtime/Intrinsics/Arm/Sve2.cs | 7720 +++++++++ .../Arm/SveAes.PlatformNotSupported.cs | 80 + .../System/Runtime/Intrinsics/Arm/SveAes.cs | 80 + .../Arm/SveBf16.PlatformNotSupported.cs | 484 + .../System/Runtime/Intrinsics/Arm/SveBf16.cs | 484 + .../Arm/SveBitperm.PlatformNotSupported.cs | 105 + .../Runtime/Intrinsics/Arm/SveBitperm.cs | 105 + .../Arm/SveF32mm.PlatformNotSupported.cs | 34 + .../System/Runtime/Intrinsics/Arm/SveF32mm.cs | 34 + .../Arm/SveF64mm.PlatformNotSupported.cs | 583 + .../System/Runtime/Intrinsics/Arm/SveF64mm.cs | 583 + .../Arm/SveFp16.PlatformNotSupported.cs | 1497 ++ .../System/Runtime/Intrinsics/Arm/SveFp16.cs | 1497 ++ .../Arm/SveI8mm.PlatformNotSupported.cs | 85 + .../System/Runtime/Intrinsics/Arm/SveI8mm.cs | 85 + .../Arm/SveSha3.PlatformNotSupported.cs | 39 + .../System/Runtime/Intrinsics/Arm/SveSha3.cs | 39 + .../Arm/SveSm4.PlatformNotSupported.cs | 42 + .../System/Runtime/Intrinsics/Arm/SveSm4.cs | 42 + 23 files changed, 50138 insertions(+) create mode 100644 src/coreclr/jit/hwintrinsiclistarm64sve.h create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveAes.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveAes.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBf16.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBf16.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBitperm.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBitperm.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF32mm.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF32mm.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF64mm.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF64mm.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveFp16.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveFp16.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveI8mm.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveI8mm.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSha3.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSha3.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSm4.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSm4.cs diff --git a/src/coreclr/jit/hwintrinsiclistarm64sve.h b/src/coreclr/jit/hwintrinsiclistarm64sve.h new file mode 100644 index 0000000000000..c23aa1aa14ca4 --- /dev/null +++ b/src/coreclr/jit/hwintrinsiclistarm64sve.h @@ -0,0 +1,684 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +/*****************************************************************************/ +#ifndef HARDWARE_INTRINSIC +#error Define HARDWARE_INTRINSIC before including this file +#endif +/*****************************************************************************/ + +// clang-format off + +#ifdef FEATURE_HW_INTRINSICS + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// Sve +HARDWARE_INTRINSIC(Sve, Abs, -1, 1, true, {INS_SVE_ABS, INS_invalid, INS_SVE_ABS, INS_invalid, INS_SVE_ABS, INS_invalid, INS_SVE_ABS, INS_invalid, INS_SVE_FABS, INS_SVE_FABS} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AbsoluteCompareGreaterThan, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FACGT, INS_SVE_FACGT} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AbsoluteCompareGreaterThanOrEqual, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FACGE, INS_SVE_FACGE} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AbsoluteCompareLessThan, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FACGT, INS_SVE_FACGT} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AbsoluteCompareLessThanOrEqual, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FACGE, INS_SVE_FACGE} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AbsoluteDifference, -1, 2, true, {INS_SVE_SABD, INS_SVE_UABD, INS_SVE_SABD, INS_SVE_UABD, INS_SVE_SABD, INS_SVE_UABD, INS_SVE_SABD, INS_SVE_UABD, INS_SVE_FABD, INS_SVE_FABD} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Add, -1, 2, true, {INS_SVE_ADD, INS_SVE_ADD, INS_SVE_ADD, INS_SVE_ADD, INS_SVE_ADD, INS_SVE_ADD, INS_SVE_ADD, INS_SVE_ADD, INS_SVE_FADD, INS_SVE_FADD} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AddAcross, -1, 1, true, {INS_SVE_SADDV, INS_SVE_UADDV, INS_SVE_SADDV, INS_SVE_UADDV, INS_SVE_SADDV, INS_SVE_UADDV, INS_SVE_UADDV, INS_SVE_UADDV, INS_SVE_FADDV, INS_SVE_FADDV} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AddRotateComplex, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCADD, INS_SVE_FCADD} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AddSaturate, -1, 2, true, {INS_SVE_SQADD, INS_SVE_UQADD, INS_SVE_SQADD, INS_SVE_UQADD, INS_SVE_SQADD, INS_SVE_UQADD, INS_SVE_SQADD, INS_SVE_UQADD, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AddSequentialAcross, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FADDA, INS_SVE_FADDA} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, And, -1, 2, true, {INS_SVE_AND, INS_SVE_AND, INS_SVE_AND, INS_SVE_AND, INS_SVE_AND, INS_SVE_AND, INS_SVE_AND, INS_SVE_AND, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AndAcross, -1, 1, true, {INS_SVE_ANDV, INS_SVE_ANDV, INS_SVE_ANDV, INS_SVE_ANDV, INS_SVE_ANDV, INS_SVE_ANDV, INS_SVE_ANDV, INS_SVE_ANDV, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, AndNot, -1, 2, true, {INS_SVE_NAND, INS_SVE_NAND, INS_SVE_NAND, INS_SVE_NAND, INS_SVE_NAND, INS_SVE_NAND, INS_SVE_NAND, INS_SVE_NAND, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, BitwiseClear, -1, 2, true, {INS_SVE_BIC, INS_SVE_BIC, INS_SVE_BIC, INS_SVE_BIC, INS_SVE_BIC, INS_SVE_BIC, INS_SVE_BIC, INS_SVE_BIC, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Cnot, -1, 1, true, {INS_SVE_CNOT, INS_SVE_CNOT, INS_SVE_CNOT, INS_SVE_CNOT, INS_SVE_CNOT, INS_SVE_CNOT, INS_SVE_CNOT, INS_SVE_CNOT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Compact, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_COMPACT, INS_SVE_COMPACT, INS_SVE_COMPACT, INS_SVE_COMPACT, INS_SVE_COMPACT, INS_SVE_COMPACT} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, CompareEqual, -1, 2, true, {INS_SVE_CMPEQ, INS_SVE_CMPEQ, INS_SVE_CMPEQ, INS_SVE_CMPEQ, INS_SVE_CMPEQ, INS_SVE_CMPEQ, INS_SVE_CMPEQ, INS_SVE_CMPEQ, INS_SVE_FCMEQ, INS_SVE_FCMEQ} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, CompareGreaterThan, -1, 2, true, {INS_SVE_CMPGT, INS_SVE_CMPHI, INS_SVE_CMPGT, INS_SVE_CMPHI, INS_SVE_CMPGT, INS_SVE_CMPHI, INS_SVE_CMPGT, INS_SVE_CMPHI, INS_SVE_FCMGT, INS_SVE_FCMGT} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, CompareGreaterThanOrEqual, -1, 2, true, {INS_SVE_CMPGE, INS_SVE_CMPHS, INS_SVE_CMPGE, INS_SVE_CMPHS, INS_SVE_CMPGE, INS_SVE_CMPHS, INS_SVE_CMPGE, INS_SVE_CMPHS, INS_SVE_FCMGE, INS_SVE_FCMGE} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, CompareLessThan, -1, 2, true, {INS_SVE_CMPGT/INS_SVE_CMPLT,INS_SVE_CMPHI/INS_SVE_CMPLO,INS_SVE_CMPGT/INS_SVE_CMPLT,INS_SVE_CMPHI/INS_SVE_CMPLO,INS_SVE_CMPGT/INS_SVE_CMPLT,INS_SVE_CMPHI/INS_SVE_CMPLO,INS_SVE_CMPGT, INS_SVE_CMPHI, INS_SVE_FCMGT, INS_SVE_FCMGT} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, CompareLessThanOrEqual, -1, 2, true, {INS_SVE_CMPGE/INS_SVE_CMPLE,INS_SVE_CMPHS/INS_SVE_CMPLS,INS_SVE_CMPGE/INS_SVE_CMPLE,INS_SVE_CMPHS/INS_SVE_CMPLS,INS_SVE_CMPGE/INS_SVE_CMPLE,INS_SVE_CMPHS/INS_SVE_CMPLS,INS_SVE_CMPGE, INS_SVE_CMPHS, INS_SVE_FCMGE, INS_SVE_FCMGE} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, CompareNotEqualTo, -1, 2, true, {INS_SVE_CMPNE, INS_SVE_CMPNE, INS_SVE_CMPNE, INS_SVE_CMPNE, INS_SVE_CMPNE, INS_SVE_CMPNE, INS_SVE_CMPNE, INS_SVE_CMPNE, INS_SVE_FCMNE, INS_SVE_FCMNE} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, CompareUnordered, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCMUO, INS_SVE_FCMUO} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ComputeByteAddresses, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ADR, INS_invalid, INS_SVE_ADR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ComputeInt16Addresses, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ADR, INS_invalid, INS_SVE_ADR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ComputeInt32Addresses, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ADR, INS_invalid, INS_SVE_ADR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ComputeInt64Addresses, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ADR, INS_invalid, INS_SVE_ADR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ConditionalExtractAfterLastActiveElement, -1, 3, true, {INS_SVE_CLASTA, INS_SVE_CLASTA, INS_SVE_CLASTA, INS_SVE_CLASTA, INS_SVE_CLASTA, INS_SVE_CLASTA, INS_SVE_CLASTA, INS_SVE_CLASTA, INS_SVE_CLASTA, INS_SVE_CLASTA} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ConditionalExtractLastActiveElement, -1, 3, true, {INS_SVE_CLASTB, INS_SVE_CLASTB, INS_SVE_CLASTB, INS_SVE_CLASTB, INS_SVE_CLASTB, INS_SVE_CLASTB, INS_SVE_CLASTB, INS_SVE_CLASTB, INS_SVE_CLASTB, INS_SVE_CLASTB} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ConditionalSelect, -1, 3, true, {INS_SVE_SEL, INS_SVE_SEL, INS_SVE_SEL, INS_SVE_SEL, INS_SVE_SEL, INS_SVE_SEL, INS_SVE_SEL, INS_SVE_SEL, INS_SVE_SEL, INS_SVE_SEL} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ConvertToDouble, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVT/INS_SVE_SCVTF/INS_SVE_UCVTF}HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ConvertToInt32, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTZS, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ConvertToInt64, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTZS, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ConvertToSingle, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVT/INS_SVE_SCVTF/INS_SVE_UCVTF,INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ConvertToUInt32, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTZU, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ConvertToUInt64, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTZU, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, Count16BitElements, -1, 0, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Count32BitElements, -1, 0, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Count64BitElements, -1, 0, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Count8BitElements, -1, 0, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, CreateBreakAfterMask, -1, 2, true, {INS_SVE_BRKA, INS_SVE_BRKA, INS_SVE_BRKA, INS_SVE_BRKA, INS_SVE_BRKA, INS_SVE_BRKA, INS_SVE_BRKA, INS_SVE_BRKA, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, CreateBreakAfterPropagateMask, -1, 3, true, {INS_SVE_BRKPA, INS_SVE_BRKPA, INS_SVE_BRKPA, INS_SVE_BRKPA, INS_SVE_BRKPA, INS_SVE_BRKPA, INS_SVE_BRKPA, INS_SVE_BRKPA, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, CreateBreakBeforeMask, -1, 2, true, {INS_SVE_BRKB, INS_SVE_BRKB, INS_SVE_BRKB, INS_SVE_BRKB, INS_SVE_BRKB, INS_SVE_BRKB, INS_SVE_BRKB, INS_SVE_BRKB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, CreateBreakBeforePropagateMask, -1, 3, true, {INS_SVE_BRKPB, INS_SVE_BRKPB, INS_SVE_BRKPB, INS_SVE_BRKPB, INS_SVE_BRKPB, INS_SVE_BRKPB, INS_SVE_BRKPB, INS_SVE_BRKPB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, CreateSeries, -1, 2, true, {INS_SVE_INDEX, INS_SVE_INDEX, INS_SVE_INDEX, INS_SVE_INDEX, INS_SVE_INDEX, INS_SVE_INDEX, INS_SVE_INDEX, INS_SVE_INDEX, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, CreateWhileLessThanMask, -1, 2, true, {INS_invalid, INS_SVE_WHILELT/INS_SVE_WHILELO,INS_invalid, INS_SVE_WHILELT/INS_SVE_WHILELO,INS_invalid, INS_SVE_WHILELT/INS_SVE_WHILELO,INS_invalid, INS_SVE_WHILELT/INS_SVE_WHILELO,INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, CreateWhileLessThanOrEqualMask, -1, 2, true, {INS_invalid, INS_SVE_WHILELE/INS_SVE_WHILELS,INS_invalid, INS_SVE_WHILELE/INS_SVE_WHILELS,INS_invalid, INS_SVE_WHILELE/INS_SVE_WHILELS,INS_invalid, INS_SVE_WHILELE/INS_SVE_WHILELS,INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, Divide, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SDIV, INS_SVE_UDIV, INS_SVE_SDIV, INS_SVE_UDIV, INS_SVE_FDIV, INS_SVE_FDIV} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, DotProduct, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SDOT, INS_SVE_UDOT, INS_SVE_SDOT, INS_SVE_UDOT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, DuplicateSelectedScalarToVector, -1, 1, true, {INS_SVE_DUP/INS_SVE_FDUP/INS_SVE_DUPM/INS_SVE_TBL,INS_SVE_DUP/INS_SVE_FDUP/INS_SVE_DUPM/INS_SVE_TBL,INS_SVE_DUP/INS_SVE_FDUP/INS_SVE_DUPM/INS_SVE_TBL,INS_SVE_DUP/INS_SVE_FDUP/INS_SVE_DUPM/INS_SVE_TBL,INS_SVE_DUP/INS_SVE_FDUP/INS_SVE_DUPM/INS_SVE_TBL,INS_SVE_DUP/INS_SVE_FDUP/INS_SVE_DUPM/INS_SVE_TBL,INS_SVE_DUP/INS_SVE_FDUP/INS_SVE_DUPM/INS_SVE_TBL,INS_SVE_DUP/INS_SVE_FDUP/INS_SVE_DUPM/INS_SVE_TBL,INS_SVE_DUP/INS_SVE_FDUP/INS_SVE_TBL,INS_SVE_DUP/INS_SVE_FDUP/INS_SVE_TBL}HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ExtractAfterLast, -1, 1, true, {INS_SVE_LASTA, INS_SVE_LASTA, INS_SVE_LASTA, INS_SVE_LASTA, INS_SVE_LASTA, INS_SVE_LASTA, INS_SVE_LASTA, INS_SVE_LASTA, INS_SVE_LASTA, INS_SVE_LASTA} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ExtractLast, -1, 1, true, {INS_SVE_LASTB, INS_SVE_LASTB, INS_SVE_LASTB, INS_SVE_LASTB, INS_SVE_LASTB, INS_SVE_LASTB, INS_SVE_LASTB, INS_SVE_LASTB, INS_SVE_LASTB, INS_SVE_LASTB} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ExtractVector, -1, 3, true, {INS_SVE_EXT, INS_SVE_EXT, INS_SVE_EXT, INS_SVE_EXT, INS_SVE_EXT, INS_SVE_EXT, INS_SVE_EXT, INS_SVE_EXT, INS_SVE_EXT, INS_SVE_EXT} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, FalseMask, -1, 0, false, {INS_invalid, INS_SVE_PFALSE, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, FloatingPointExponentialAccelerator, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FEXPA, INS_SVE_FEXPA} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, FusedMultiplyAdd, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMLA, INS_SVE_FMLA} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, FusedMultiplyAddNegate, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FNMLA, INS_SVE_FNMLA} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, FusedMultiplySubtract, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMLS, INS_SVE_FMLS} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, FusedMultiplySubtractNegate, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FNMLS, INS_SVE_FNMLS} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, GatherPrefetchBytes, -1, 3, false, {INS_invalid, INS_SVE_PRFB, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherPrefetchInt16, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_PRFH/INS_SVE_PRFB,INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherPrefetchInt32, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_PRFW/INS_SVE_PRFB,INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherPrefetchInt64, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_PRFD/INS_SVE_PRFB,INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVector, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1W, INS_SVE_LD1W, INS_SVE_LD1D, INS_SVE_LD1D, INS_SVE_LD1W, INS_SVE_LD1D} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorByteSignExtend, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SB, INS_SVE_LD1SB, INS_SVE_LD1SB, INS_SVE_LD1SB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorByteSignExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1SB, INS_SVE_LDFF1SB, INS_SVE_LDFF1SB, INS_SVE_LDFF1SB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorByteZeroExtend, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1B, INS_SVE_LD1B, INS_SVE_LD1B, INS_SVE_LD1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorByteZeroExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1B, INS_SVE_LDFF1B, INS_SVE_LDFF1B, INS_SVE_LDFF1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1W, INS_SVE_LDFF1W, INS_SVE_LDFF1D, INS_SVE_LDFF1D, INS_SVE_LDFF1W, INS_SVE_LDFF1D} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorInt16SignExtend, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SH, INS_SVE_LD1SH, INS_SVE_LD1SH, INS_SVE_LD1SH, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorInt16SignExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1SH, INS_SVE_LDFF1SH, INS_SVE_LDFF1SH, INS_SVE_LDFF1SH, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorInt16ZeroExtend, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1H, INS_SVE_LD1H, INS_SVE_LD1H, INS_SVE_LD1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorInt16ZeroExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1H, INS_SVE_LDFF1H, INS_SVE_LDFF1H, INS_SVE_LDFF1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorInt32SignExtend, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SW, INS_SVE_LD1SW, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorInt32SignExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1SW, INS_SVE_LDFF1SW, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorInt32ZeroExtend, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1W, INS_SVE_LD1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GatherVectorInt32ZeroExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1W, INS_SVE_LDFF1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, GetActiveElementCount, -1, 2, true, {INS_invalid, INS_SVE_CNTP, INS_invalid, INS_SVE_CNTP, INS_invalid, INS_SVE_CNTP, INS_invalid, INS_SVE_CNTP, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, GetFFR, -1, 0, true, {INS_SVE_RDFFR, INS_SVE_RDFFR, INS_SVE_RDFFR, INS_SVE_RDFFR, INS_SVE_RDFFR, INS_SVE_RDFFR, INS_SVE_RDFFR, INS_SVE_RDFFR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, InsertIntoShiftedVector, -1, 2, true, {INS_SVE_INSR, INS_SVE_INSR, INS_SVE_INSR, INS_SVE_INSR, INS_SVE_INSR, INS_SVE_INSR, INS_SVE_INSR, INS_SVE_INSR, INS_SVE_INSR, INS_SVE_INSR} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LeadingSignCount, -1, 1, true, {INS_invalid, INS_SVE_CLS, INS_invalid, INS_SVE_CLS, INS_invalid, INS_SVE_CLS, INS_invalid, INS_SVE_CLS, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, LeadingZeroCount, -1, 1, true, {INS_invalid, INS_SVE_CLZ, INS_invalid, INS_SVE_CLZ, INS_invalid, INS_SVE_CLZ, INS_invalid, INS_SVE_CLZ, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, LoadVector, -1, 2, true, {INS_SVE_LD1B, INS_SVE_LD1B, INS_SVE_LD1H, INS_SVE_LD1H, INS_SVE_LD1W, INS_SVE_LD1W, INS_SVE_LD1D, INS_SVE_LD1D, INS_SVE_LD1W, INS_SVE_LD1D} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVector128AndReplicateToVector, -1, 2, true, {INS_SVE_LD1RQB, INS_SVE_LD1RQB, INS_SVE_LD1RQH, INS_SVE_LD1RQH, INS_SVE_LD1RQW, INS_SVE_LD1RQW, INS_SVE_LD1RQD, INS_SVE_LD1RQD, INS_SVE_LD1RQW, INS_SVE_LD1RQD} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_LDFF1SB, INS_SVE_LDFF1SB, INS_SVE_LDFF1SB, INS_SVE_LDFF1SB, INS_SVE_LDFF1SB, INS_SVE_LDFF1SB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendNonFaultingToInt16, -1, 2, false, {INS_invalid, INS_invalid, INS_SVE_LDNF1SB, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendNonFaultingToInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SB, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendNonFaultingToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SB, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendNonFaultingToUInt16, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SB, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendNonFaultingToUInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendNonFaultingToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendToInt16, -1, 2, false, {INS_invalid, INS_invalid, INS_SVE_LD1SB, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendToInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SB, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SB, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendToUInt16, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SB, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendToUInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteSignExtendToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_LDFF1B, INS_SVE_LDFF1B, INS_SVE_LDFF1B, INS_SVE_LDFF1B, INS_SVE_LDFF1B, INS_SVE_LDFF1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendNonFaultingToInt16, -1, 2, false, {INS_invalid, INS_invalid, INS_SVE_LDNF1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendNonFaultingToInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendNonFaultingToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1B, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendNonFaultingToUInt16, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendNonFaultingToUInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendNonFaultingToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendToInt16, -1, 2, false, {INS_invalid, INS_invalid, INS_SVE_LD1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendToInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1B, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendToUInt16, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendToUInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorByteZeroExtendToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorFirstFaulting, -1, 2, true, {INS_SVE_LDFF1B, INS_SVE_LDFF1B, INS_SVE_LDFF1H, INS_SVE_LDFF1H, INS_SVE_LDFF1W, INS_SVE_LDFF1W, INS_SVE_LDFF1D, INS_SVE_LDFF1D, INS_SVE_LDFF1W, INS_SVE_LDFF1D} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16SignExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1SH, INS_SVE_LDFF1SH, INS_SVE_LDFF1SH, INS_SVE_LDFF1SH, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16SignExtendNonFaultingToInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SH, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16SignExtendNonFaultingToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SH, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16SignExtendNonFaultingToUInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SH, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16SignExtendNonFaultingToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SH, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16SignExtendToInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SH, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16SignExtendToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SH, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16SignExtendToUInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SH, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16SignExtendToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SH, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16ZeroExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1H, INS_SVE_LDFF1H, INS_SVE_LDFF1H, INS_SVE_LDFF1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16ZeroExtendNonFaultingToInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1H, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16ZeroExtendNonFaultingToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1H, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16ZeroExtendNonFaultingToUInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1H, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16ZeroExtendNonFaultingToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16ZeroExtendToInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1H, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16ZeroExtendToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1H, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16ZeroExtendToUInt32, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1H, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt16ZeroExtendToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt32SignExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1SW, INS_SVE_LDFF1SW, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt32SignExtendNonFaultingToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SW, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt32SignExtendNonFaultingToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1SW, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt32SignExtendToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SW, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt32SignExtendToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1SW, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt32ZeroExtendFirstFaulting, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDFF1W, INS_SVE_LDFF1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt32ZeroExtendNonFaultingToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1W, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt32ZeroExtendNonFaultingToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNF1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt32ZeroExtendToInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1W, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorInt32ZeroExtendToUInt64, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LD1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorNonFaulting, -1, 2, true, {INS_SVE_LDNF1B, INS_SVE_LDNF1B, INS_SVE_LDNF1H, INS_SVE_LDNF1H, INS_SVE_LDNF1W, INS_SVE_LDNF1W, INS_SVE_LDNF1D, INS_SVE_LDNF1D, INS_SVE_LDNF1W, INS_SVE_LDNF1D} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorNonTemporal, -1, 2, true, {INS_SVE_LDNT1B, INS_SVE_LDNT1B, INS_SVE_LDNT1H, INS_SVE_LDNT1H, INS_SVE_LDNT1W, INS_SVE_LDNT1W, INS_SVE_LDNT1D, INS_SVE_LDNT1D, INS_SVE_LDNT1W, INS_SVE_LDNT1D} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, LoadVectorx2, -1, 2, true, {INS_SVE_LD2B, INS_SVE_LD2B, INS_SVE_LD2H, INS_SVE_LD2H, INS_SVE_LD2W, INS_SVE_LD2W, INS_SVE_LD2D, INS_SVE_LD2D, INS_SVE_LD2W, INS_SVE_LD2D} HW_Category_SIMD, HW_Flag_MultiReg) +HARDWARE_INTRINSIC(Sve, LoadVectorx3, -1, 2, true, {INS_SVE_LD3B, INS_SVE_LD3B, INS_SVE_LD3H, INS_SVE_LD3H, INS_SVE_LD3W, INS_SVE_LD3W, INS_SVE_LD3D, INS_SVE_LD3D, INS_SVE_LD3W, INS_SVE_LD3D} HW_Category_SIMD, HW_Flag_MultiReg) +HARDWARE_INTRINSIC(Sve, LoadVectorx4, -1, 2, true, {INS_SVE_LD4B, INS_SVE_LD4B, INS_SVE_LD4H, INS_SVE_LD4H, INS_SVE_LD4W, INS_SVE_LD4W, INS_SVE_LD4D, INS_SVE_LD4D, INS_SVE_LD4W, INS_SVE_LD4D} HW_Category_SIMD, HW_Flag_MultiReg) +HARDWARE_INTRINSIC(Sve, MaskGetFirstSet, -1, 2, true, {INS_invalid, INS_SVE_PNEXT, INS_invalid, INS_SVE_PNEXT, INS_invalid, INS_SVE_PNEXT, INS_invalid, INS_SVE_PNEXT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MaskSetFirst, -1, 2, true, {INS_SVE_PFIRST, INS_SVE_PFIRST, INS_SVE_PFIRST, INS_SVE_PFIRST, INS_SVE_PFIRST, INS_SVE_PFIRST, INS_SVE_PFIRST, INS_SVE_PFIRST, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MaskTestAnyTrue, -1, 2, true, {INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MaskTestFirstTrue, -1, 2, true, {INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MaskTestLastTrue, -1, 2, true, {INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_SVE_PTEST, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Max, -1, 2, true, {INS_SVE_SMAX, INS_SVE_UMAX, INS_SVE_SMAX, INS_SVE_UMAX, INS_SVE_SMAX, INS_SVE_UMAX, INS_SVE_SMAX, INS_SVE_UMAX, INS_SVE_FMAX, INS_SVE_FMAX} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MaxAcross, -1, 1, true, {INS_SVE_SMAXV, INS_SVE_UMAXV, INS_SVE_SMAXV, INS_SVE_UMAXV, INS_SVE_SMAXV, INS_SVE_UMAXV, INS_SVE_SMAXV, INS_SVE_UMAXV, INS_SVE_FMAXV, INS_SVE_FMAXV} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MaxNumber, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMAXNM, INS_SVE_FMAXNM} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MaxNumberAcross, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMAXNMV, INS_SVE_FMAXNMV} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Min, -1, 2, true, {INS_SVE_SMIN, INS_SVE_UMIN, INS_SVE_SMIN, INS_SVE_UMIN, INS_SVE_SMIN, INS_SVE_UMIN, INS_SVE_SMIN, INS_SVE_UMIN, INS_SVE_FMIN, INS_SVE_FMIN} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MinAcross, -1, 1, true, {INS_SVE_SMINV, INS_SVE_UMINV, INS_SVE_SMINV, INS_SVE_UMINV, INS_SVE_SMINV, INS_SVE_UMINV, INS_SVE_SMINV, INS_SVE_UMINV, INS_SVE_FMINV, INS_SVE_FMINV} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MinNumber, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMINNM, INS_SVE_FMINNM} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MinNumberAcross, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMINNMV, INS_SVE_FMINNMV} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Multiply, -1, 2, true, {INS_SVE_MUL, INS_SVE_MUL, INS_SVE_MUL, INS_SVE_MUL, INS_SVE_MUL, INS_SVE_MUL, INS_SVE_MUL, INS_SVE_MUL, INS_SVE_FMUL, INS_SVE_FMUL} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, MultiplyAdd, -1, 3, true, {INS_SVE_MLA, INS_SVE_MLA, INS_SVE_MLA, INS_SVE_MLA, INS_SVE_MLA, INS_SVE_MLA, INS_SVE_MLA, INS_SVE_MLA, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MultiplyAddRotateComplex, -1, 4, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCMLA, INS_SVE_FCMLA} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, MultiplyExtended, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMULX, INS_SVE_FMULX} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MultiplyReturningHighHalf, -1, 2, true, {INS_SVE_SMULH, INS_SVE_UMULH, INS_SVE_SMULH, INS_SVE_UMULH, INS_SVE_SMULH, INS_SVE_UMULH, INS_SVE_SMULH, INS_SVE_UMULH, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, MultiplySubtract, -1, 3, true, {INS_SVE_MLS, INS_SVE_MLS, INS_SVE_MLS, INS_SVE_MLS, INS_SVE_MLS, INS_SVE_MLS, INS_SVE_MLS, INS_SVE_MLS, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Negate, -1, 1, true, {INS_SVE_NEG, INS_invalid, INS_SVE_NEG, INS_invalid, INS_SVE_NEG, INS_invalid, INS_SVE_NEG, INS_invalid, INS_SVE_FNEG, INS_SVE_FNEG} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Not, -1, 1, true, {INS_SVE_NOT, INS_SVE_NOT, INS_SVE_NOT, INS_SVE_NOT, INS_SVE_NOT, INS_SVE_NOT, INS_SVE_NOT, INS_SVE_NOT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Or, -1, 2, true, {INS_SVE_ORR, INS_SVE_ORR, INS_SVE_ORR, INS_SVE_ORR, INS_SVE_ORR, INS_SVE_ORR, INS_SVE_ORR, INS_SVE_ORR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, OrAcross, -1, 1, true, {INS_SVE_ORV, INS_SVE_ORV, INS_SVE_ORV, INS_SVE_ORV, INS_SVE_ORV, INS_SVE_ORV, INS_SVE_ORV, INS_SVE_ORV, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, OrNot, -1, 2, true, {INS_SVE_NOR, INS_SVE_NOR, INS_SVE_NOR, INS_SVE_NOR, INS_SVE_NOR, INS_SVE_NOR, INS_SVE_NOR, INS_SVE_NOR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, PopCount, -1, 1, true, {INS_invalid, INS_SVE_CNT, INS_invalid, INS_SVE_CNT, INS_invalid, INS_SVE_CNT, INS_invalid, INS_SVE_CNT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, PrefetchBytes, -1, 3, false, {INS_invalid, INS_SVE_PRFB, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, PrefetchInt16, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_PRFH, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, PrefetchInt32, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_PRFW, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, PrefetchInt64, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_PRFD, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, PropagateBreak, -1, 2, true, {INS_SVE_BRKN, INS_SVE_BRKN, INS_SVE_BRKN, INS_SVE_BRKN, INS_SVE_BRKN, INS_SVE_BRKN, INS_SVE_BRKN, INS_SVE_BRKN, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ReciprocalEstimate, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FRECPE, INS_SVE_FRECPE} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ReciprocalExponent, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FRECPX, INS_SVE_FRECPX} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ReciprocalSqrtEstimate, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FRSQRTE, INS_SVE_FRSQRTE} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ReciprocalSqrtStep, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FRSQRTS, INS_SVE_FRSQRTS} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ReciprocalStep, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FRECPS, INS_SVE_FRECPS} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ReverseBits, -1, 1, true, {INS_SVE_RBIT, INS_SVE_RBIT, INS_SVE_RBIT, INS_SVE_RBIT, INS_SVE_RBIT, INS_SVE_RBIT, INS_SVE_RBIT, INS_SVE_RBIT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ReverseBytesWithinElements, -1, 1, true, {INS_invalid, INS_invalid, INS_SVE_REVB, INS_SVE_REVB, INS_SVE_REVB, INS_SVE_REVB, INS_SVE_REVB, INS_SVE_REVB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ReverseElement, -1, 1, true, {INS_SVE_REV, INS_SVE_REV, INS_SVE_REV, INS_SVE_REV, INS_SVE_REV, INS_SVE_REV, INS_SVE_REV, INS_SVE_REV, INS_SVE_REV, INS_SVE_REV} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ReverseInt16WithinElements, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_REVH, INS_SVE_REVH, INS_SVE_REVH, INS_SVE_REVH, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ReverseInt32WithinElements, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_REVW, INS_SVE_REVW, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, RoundAwayFromZero, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FRINTA, INS_SVE_FRINTA} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, RoundToNearest, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FRINTN, INS_SVE_FRINTN} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, RoundToNegativeInfinity, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FRINTM, INS_SVE_FRINTM} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, RoundToPositiveInfinity, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FRINTP, INS_SVE_FRINTP} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, RoundToZero, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FRINTZ, INS_SVE_FRINTZ} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, SaturatingDecrementByActiveElementCount, -1, 2, true, {INS_invalid, INS_SVE_SQDECP/INS_SVE_UQDECP,INS_SVE_SQDECP, INS_SVE_SQDECP/INS_SVE_UQDECP,INS_SVE_SQDECP, INS_SVE_SQDECP/INS_SVE_UQDECP,INS_SVE_SQDECP, INS_SVE_SQDECP/INS_SVE_UQDECP,INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, SaturatingDecrementByteElementCount, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, SaturatingDecrementInt16ElementCount, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SQDECH, INS_SVE_UQDECH, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, SaturatingDecrementInt32ElementCount, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SQDECW, INS_SVE_UQDECW, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, SaturatingDecrementInt64ElementCount, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SQDECD, INS_SVE_UQDECD, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, SaturatingIncrementByActiveElementCount, -1, 2, true, {INS_invalid, INS_SVE_SQINCP/INS_SVE_UQINCP,INS_SVE_SQINCP, INS_SVE_SQINCP/INS_SVE_UQINCP,INS_SVE_SQINCP, INS_SVE_SQINCP/INS_SVE_UQINCP,INS_SVE_SQINCP, INS_SVE_SQINCP/INS_SVE_UQINCP,INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, SaturatingIncrementByteElementCount, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, SaturatingIncrementInt16ElementCount, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SQINCH, INS_SVE_UQINCH, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, SaturatingIncrementInt32ElementCount, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SQINCW, INS_SVE_UQINCW, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, SaturatingIncrementInt64ElementCount, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SQINCD, INS_SVE_UQINCD, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, Scale, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FSCALE, INS_SVE_FSCALE} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, Scatter, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1W, INS_SVE_ST1W, INS_SVE_ST1D, INS_SVE_ST1D, INS_SVE_ST1W, INS_SVE_ST1D} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterInt32NarrowToInt16, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1H, INS_SVE_ST1H, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterInt32NarrowToSByte, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1B, INS_SVE_ST1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterInt64NarrowToInt16, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1H, INS_SVE_ST1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterInt64NarrowToInt32, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1W, INS_SVE_ST1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterInt64NarrowToSByte, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1B, INS_SVE_ST1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterTruncate16UInt16, -1, 4, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1H, INS_SVE_ST1H, INS_SVE_ST1H, INS_SVE_ST1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterTruncate32UInt32, -1, 4, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1W, INS_SVE_ST1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterTruncate8Byte, -1, 4, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1B, INS_SVE_ST1B, INS_SVE_ST1B, INS_SVE_ST1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, ScatterUInt32NarrowToByte, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1B, INS_SVE_ST1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterUInt32NarrowToUInt16, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1H, INS_SVE_ST1H, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterUInt64NarrowToByte, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1B, INS_SVE_ST1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterUInt64NarrowToUInt16, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1H, INS_SVE_ST1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ScatterUInt64NarrowToUInt32, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1W, INS_SVE_ST1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, SetFFR, -1, 0, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ShiftLeftLogical, -1, 2, true, {INS_SVE_LSL, INS_SVE_LSL, INS_SVE_LSL, INS_SVE_LSL, INS_SVE_LSL, INS_SVE_LSL, INS_SVE_LSL, INS_SVE_LSL, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ShiftRightArithmetic, -1, 2, true, {INS_SVE_ASR, INS_invalid, INS_SVE_ASR, INS_invalid, INS_SVE_ASR, INS_invalid, INS_SVE_ASR, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, ShiftRightArithmeticDivide, -1, 2, true, {INS_SVE_ASRD, INS_invalid, INS_SVE_ASRD, INS_invalid, INS_SVE_ASRD, INS_invalid, INS_SVE_ASRD, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ShiftRightLogical, -1, 2, true, {INS_invalid, INS_SVE_LSR, INS_invalid, INS_SVE_LSR, INS_invalid, INS_SVE_LSR, INS_invalid, INS_SVE_LSR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, SignExtend16, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SXTH, INS_invalid, INS_SVE_SXTH, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, SignExtend32, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SXTW, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, SignExtend8, -1, 1, true, {INS_invalid, INS_invalid, INS_SVE_SXTB, INS_invalid, INS_SVE_SXTB, INS_invalid, INS_SVE_SXTB, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, SignExtendWideningLower, -1, 1, true, {INS_invalid, INS_invalid, INS_SVE_SUNPKLO, INS_invalid, INS_SVE_SUNPKLO, INS_invalid, INS_SVE_SUNPKLO, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, SignExtendWideningUpper, -1, 1, true, {INS_invalid, INS_invalid, INS_SVE_SUNPKHI, INS_invalid, INS_SVE_SUNPKHI, INS_invalid, INS_SVE_SUNPKHI, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, Splice, -1, 3, true, {INS_SVE_SPLICE, INS_SVE_SPLICE, INS_SVE_SPLICE, INS_SVE_SPLICE, INS_SVE_SPLICE, INS_SVE_SPLICE, INS_SVE_SPLICE, INS_SVE_SPLICE, INS_SVE_SPLICE, INS_SVE_SPLICE} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Sqrt, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FSQRT, INS_SVE_FSQRT} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Store, -1, 3, true, {INS_SVE_ST1B, INS_SVE_ST1B, INS_SVE_ST1H, INS_SVE_ST1H, INS_SVE_ST1W, INS_SVE_ST1W, INS_SVE_ST1D, INS_SVE_ST1D, INS_SVE_ST1W, INS_SVE_ST1D} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreInt16NarrowToSByte, -1, 3, false, {INS_invalid, INS_invalid, INS_SVE_ST1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreInt32NarrowToInt16, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1H, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreInt32NarrowToSByte, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreInt64NarrowToInt16, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1H, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreInt64NarrowToInt32, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1W, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreInt64NarrowToSByte, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1B, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreNonTemporal, -1, 3, true, {INS_SVE_STNT1B, INS_SVE_STNT1B, INS_SVE_STNT1H, INS_SVE_STNT1H, INS_SVE_STNT1W, INS_SVE_STNT1W, INS_SVE_STNT1D, INS_SVE_STNT1D, INS_SVE_STNT1W, INS_SVE_STNT1D} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreUInt16NarrowToByte, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreUInt32NarrowToByte, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreUInt32NarrowToUInt16, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1H, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreUInt64NarrowToByte, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreUInt64NarrowToUInt16, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, StoreUInt64NarrowToUInt32, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ST1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Storex2, -1, 3, true, {INS_SVE_ST2B, INS_SVE_ST2B, INS_SVE_ST2H, INS_SVE_ST2H, INS_SVE_ST2W, INS_SVE_ST2W, INS_SVE_ST2D, INS_SVE_ST2D, INS_SVE_ST2W, INS_SVE_ST2D} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Storex3, -1, 3, true, {INS_SVE_ST3B, INS_SVE_ST3B, INS_SVE_ST3H, INS_SVE_ST3H, INS_SVE_ST3W, INS_SVE_ST3W, INS_SVE_ST3D, INS_SVE_ST3D, INS_SVE_ST3W, INS_SVE_ST3D} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Storex4, -1, 3, true, {INS_SVE_ST4B, INS_SVE_ST4B, INS_SVE_ST4H, INS_SVE_ST4H, INS_SVE_ST4W, INS_SVE_ST4W, INS_SVE_ST4D, INS_SVE_ST4D, INS_SVE_ST4W, INS_SVE_ST4D} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Subtract, -1, 2, true, {INS_SVE_SUB, INS_SVE_SUB, INS_SVE_SUB, INS_SVE_SUB, INS_SVE_SUB, INS_SVE_SUB, INS_SVE_SUB, INS_SVE_SUB, INS_SVE_FSUB, INS_SVE_FSUB} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, SubtractReversed, -1, 2, true, {INS_SVE_SUBR, INS_SVE_SUBR, INS_SVE_SUBR, INS_SVE_SUBR, INS_SVE_SUBR, INS_SVE_SUBR, INS_SVE_SUBR, INS_SVE_SUBR, INS_SVE_FSUBR, INS_SVE_FSUBR} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, SubtractSaturate, -1, 2, true, {INS_SVE_SQSUB, INS_SVE_UQSUB, INS_SVE_SQSUB, INS_SVE_UQSUB, INS_SVE_SQSUB, INS_SVE_UQSUB, INS_SVE_SQSUB, INS_SVE_UQSUB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, TransposeEven, -1, 2, true, {INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, TransposeOdd, -1, 2, true, {INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, TrigonometricMultiplyAddCoefficient, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FTMAD, INS_SVE_FTMAD} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, TrigonometricSelectCoefficient, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FTSSEL, INS_SVE_FTSSEL} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, TrigonometricStartingValue, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FTSMUL, INS_SVE_FTSMUL} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, TrueMask, -1, 0, false, {INS_invalid, INS_SVE_PTRUE, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve, UnzipEven, -1, 2, true, {INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, UnzipOdd, -1, 2, true, {INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, VectorTableLookup, -1, 2, true, {INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, WriteFFR, -1, 1, true, {INS_SVE_WRFFR, INS_SVE_WRFFR, INS_SVE_WRFFR, INS_SVE_WRFFR, INS_SVE_WRFFR, INS_SVE_WRFFR, INS_SVE_WRFFR, INS_SVE_WRFFR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, Xor, -1, 2, true, {INS_SVE_EOR, INS_SVE_EOR, INS_SVE_EOR, INS_SVE_EOR, INS_SVE_EOR, INS_SVE_EOR, INS_SVE_EOR, INS_SVE_EOR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, XorAcross, -1, 1, true, {INS_SVE_EORV, INS_SVE_EORV, INS_SVE_EORV, INS_SVE_EORV, INS_SVE_EORV, INS_SVE_EORV, INS_SVE_EORV, INS_SVE_EORV, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ZeroExtend16, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_UXTH, INS_invalid, INS_SVE_UXTH, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ZeroExtend32, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_UXTW, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ZeroExtend8, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_UXTB, INS_invalid, INS_SVE_UXTB, INS_invalid, INS_SVE_UXTB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ZeroExtendWideningLower, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_UUNPKLO, INS_invalid, INS_SVE_UUNPKLO, INS_invalid, INS_SVE_UUNPKLO, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, ZeroExtendWideningUpper, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_UUNPKHI, INS_invalid, INS_SVE_UUNPKHI, INS_invalid, INS_SVE_UUNPKHI, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve, ZipHigh, -1, 2, true, {INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve, ZipLow, -1, 2, true, {INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1} HW_Category_SIMD, HW_Flag_NoFlag) + + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// Sve2 +HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceAdd, -1, 3, true, {INS_SVE_SABA, INS_SVE_UABA, INS_SVE_SABA, INS_SVE_UABA, INS_SVE_SABA, INS_SVE_UABA, INS_SVE_SABA, INS_SVE_UABA, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceAddWideningLower, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SABALB, INS_SVE_UABALB, INS_SVE_SABALB, INS_SVE_UABALB, INS_SVE_SABALB, INS_SVE_UABALB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceAddWideningUpper, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SABALT, INS_SVE_UABALT, INS_SVE_SABALT, INS_SVE_UABALT, INS_SVE_SABALT, INS_SVE_UABALT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceWideningLower, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SABDLB, INS_SVE_UABDLB, INS_SVE_SABDLB, INS_SVE_UABDLB, INS_SVE_SABDLB, INS_SVE_UABDLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceWideningUpper, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SABDLT, INS_SVE_UABDLT, INS_SVE_SABDLT, INS_SVE_UABDLT, INS_SVE_SABDLT, INS_SVE_UABDLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AddCarryWideningLower, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ADCLB, INS_invalid, INS_SVE_ADCLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, AddCarryWideningUpper, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_ADCLT, INS_invalid, INS_SVE_ADCLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, AddHighNarowingLower, -1, 2, true, {INS_SVE_ADDHNB, INS_SVE_ADDHNB, INS_SVE_ADDHNB, INS_SVE_ADDHNB, INS_SVE_ADDHNB, INS_SVE_ADDHNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AddHighNarowingUpper, -1, 3, true, {INS_SVE_ADDHNT, INS_SVE_ADDHNT, INS_SVE_ADDHNT, INS_SVE_ADDHNT, INS_SVE_ADDHNT, INS_SVE_ADDHNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AddPairwise, -1, 2, true, {INS_SVE_ADDP, INS_SVE_ADDP, INS_SVE_ADDP, INS_SVE_ADDP, INS_SVE_ADDP, INS_SVE_ADDP, INS_SVE_ADDP, INS_SVE_ADDP, INS_SVE_FADDP, INS_SVE_FADDP} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, AddPairwiseWidening, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SADALP, INS_SVE_UADALP, INS_SVE_SADALP, INS_SVE_UADALP, INS_SVE_SADALP, INS_SVE_UADALP, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AddRotateComplex, -1, 3, true, {INS_SVE_CADD, INS_SVE_CADD, INS_SVE_CADD, INS_SVE_CADD, INS_SVE_CADD, INS_SVE_CADD, INS_SVE_CADD, INS_SVE_CADD, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, AddSaturate, -1, 2, true, {INS_SVE_SQADD, INS_SVE_UQADD, INS_SVE_SQADD, INS_SVE_UQADD, INS_SVE_SQADD, INS_SVE_UQADD, INS_SVE_SQADD, INS_SVE_UQADD, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, AddSaturateWithSignedAddend, -1, 2, true, {INS_invalid, INS_SVE_USQADD, INS_invalid, INS_SVE_USQADD, INS_invalid, INS_SVE_USQADD, INS_invalid, INS_SVE_USQADD, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AddSaturateWithUnsignedAddend, -1, 2, true, {INS_SVE_SUQADD, INS_invalid, INS_SVE_SUQADD, INS_invalid, INS_SVE_SUQADD, INS_invalid, INS_SVE_SUQADD, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AddWideLower, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SADDWB, INS_SVE_UADDWB, INS_SVE_SADDWB, INS_SVE_UADDWB, INS_SVE_SADDWB, INS_SVE_UADDWB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AddWideUpper, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SADDWT, INS_SVE_UADDWT, INS_SVE_SADDWT, INS_SVE_UADDWT, INS_SVE_SADDWT, INS_SVE_UADDWT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AddWideningLower, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SADDLB, INS_SVE_UADDLB, INS_SVE_SADDLB, INS_SVE_UADDLB, INS_SVE_SADDLB, INS_SVE_UADDLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AddWideningLowerUpper, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SADDLBT, INS_invalid, INS_SVE_SADDLBT, INS_invalid, INS_SVE_SADDLBT, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, AddWideningUpper, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SADDLT, INS_SVE_UADDLT, INS_SVE_SADDLT, INS_SVE_UADDLT, INS_SVE_SADDLT, INS_SVE_UADDLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, BitwiseClearXor, -1, 3, true, {INS_SVE_BCAX, INS_SVE_BCAX, INS_SVE_BCAX, INS_SVE_BCAX, INS_SVE_BCAX, INS_SVE_BCAX, INS_SVE_BCAX, INS_SVE_BCAX, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, BitwiseSelect, -1, 3, true, {INS_SVE_BSL, INS_SVE_BSL, INS_SVE_BSL, INS_SVE_BSL, INS_SVE_BSL, INS_SVE_BSL, INS_SVE_BSL, INS_SVE_BSL, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, BitwiseSelectFirstInverted, -1, 3, true, {INS_SVE_BSL1N, INS_SVE_BSL1N, INS_SVE_BSL1N, INS_SVE_BSL1N, INS_SVE_BSL1N, INS_SVE_BSL1N, INS_SVE_BSL1N, INS_SVE_BSL1N, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, BitwiseSelectInverted, -1, 3, true, {INS_SVE_NBSL, INS_SVE_NBSL, INS_SVE_NBSL, INS_SVE_NBSL, INS_SVE_NBSL, INS_SVE_NBSL, INS_SVE_NBSL, INS_SVE_NBSL, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, BitwiseSelectSecondInverted, -1, 3, true, {INS_SVE_BSL2N, INS_SVE_BSL2N, INS_SVE_BSL2N, INS_SVE_BSL2N, INS_SVE_BSL2N, INS_SVE_BSL2N, INS_SVE_BSL2N, INS_SVE_BSL2N, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, CountMatchingElements, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_HISTCNT, INS_invalid, INS_SVE_HISTCNT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, CountMatchingElementsIn128BitSegments, -1, 2, false, {INS_invalid, INS_SVE_HISTSEG, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, CreateWhileGreaterThanMask, -1, 2, true, {INS_invalid, INS_SVE_WHILEGT/INS_SVE_WHILEHI,INS_invalid, INS_SVE_WHILEGT/INS_SVE_WHILEHI,INS_invalid, INS_SVE_WHILEGT/INS_SVE_WHILEHI,INS_invalid, INS_SVE_WHILEGT/INS_SVE_WHILEHI,INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, CreateWhileGreaterThanOrEqualMask, -1, 2, true, {INS_invalid, INS_SVE_WHILEGE/INS_SVE_WHILEHS,INS_invalid, INS_SVE_WHILEGE/INS_SVE_WHILEHS,INS_invalid, INS_SVE_WHILEGE/INS_SVE_WHILEHS,INS_invalid, INS_SVE_WHILEGE/INS_SVE_WHILEHS,INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, CreateWhileReadAfterWriteMask, -1, 2, true, {INS_SVE_WHILERW, INS_SVE_WHILERW, INS_SVE_WHILERW, INS_SVE_WHILERW, INS_SVE_WHILERW, INS_SVE_WHILERW, INS_SVE_WHILERW, INS_SVE_WHILERW, INS_SVE_WHILERW, INS_SVE_WHILERW} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, CreateWhileWriteAfterReadMask, -1, 2, true, {INS_SVE_WHILEWR, INS_SVE_WHILEWR, INS_SVE_WHILEWR, INS_SVE_WHILEWR, INS_SVE_WHILEWR, INS_SVE_WHILEWR, INS_SVE_WHILEWR, INS_SVE_WHILEWR, INS_SVE_WHILEWR, INS_SVE_WHILEWR} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, DotProductComplex, -1, 4, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_CDOT, INS_invalid, INS_SVE_CDOT, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, DownConvertNarrowingUpper, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTNT, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, DownConvertRoundingOdd, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTX, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, DownConvertRoundingOddUpper, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTXNT, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, GatherVectorByteSignExtendNonTemporal, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNT1SB, INS_SVE_LDNT1SB, INS_SVE_LDNT1SB, INS_SVE_LDNT1SB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, GatherVectorByteZeroExtendNonTemporal, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNT1B, INS_SVE_LDNT1B, INS_SVE_LDNT1B, INS_SVE_LDNT1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, GatherVectorInt16SignExtendNonTemporal, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNT1SH, INS_SVE_LDNT1SH, INS_SVE_LDNT1SH, INS_SVE_LDNT1SH, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, GatherVectorInt16ZeroExtendNonTemporal, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNT1H, INS_SVE_LDNT1H, INS_SVE_LDNT1H, INS_SVE_LDNT1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, GatherVectorInt32SignExtendNonTemporal, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNT1SW, INS_SVE_LDNT1SW, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, GatherVectorInt32ZeroExtendNonTemporal, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNT1W, INS_SVE_LDNT1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, GatherVectorNonTemporal, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_LDNT1W, INS_SVE_LDNT1W, INS_SVE_LDNT1D, INS_SVE_LDNT1D, INS_SVE_LDNT1W, INS_SVE_LDNT1D} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, HalvingAdd, -1, 2, true, {INS_SVE_SHADD, INS_SVE_UHADD, INS_SVE_SHADD, INS_SVE_UHADD, INS_SVE_SHADD, INS_SVE_UHADD, INS_SVE_SHADD, INS_SVE_UHADD, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, HalvingSubtract, -1, 2, true, {INS_SVE_SHSUB, INS_SVE_UHSUB, INS_SVE_SHSUB, INS_SVE_UHSUB, INS_SVE_SHSUB, INS_SVE_UHSUB, INS_SVE_SHSUB, INS_SVE_UHSUB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, HalvingSubtractReversed, -1, 2, true, {INS_SVE_SHSUBR, INS_SVE_UHSUBR, INS_SVE_SHSUBR, INS_SVE_UHSUBR, INS_SVE_SHSUBR, INS_SVE_UHSUBR, INS_SVE_SHSUBR, INS_SVE_UHSUBR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, InterleavingXorLowerUpper, -1, 3, true, {INS_SVE_EORBT, INS_SVE_EORBT, INS_SVE_EORBT, INS_SVE_EORBT, INS_SVE_EORBT, INS_SVE_EORBT, INS_SVE_EORBT, INS_SVE_EORBT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, InterleavingXorUpperLower, -1, 3, true, {INS_SVE_EORTB, INS_SVE_EORTB, INS_SVE_EORTB, INS_SVE_EORTB, INS_SVE_EORTB, INS_SVE_EORTB, INS_SVE_EORTB, INS_SVE_EORTB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, Log2, -1, 1, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FLOGB, INS_invalid, INS_SVE_FLOGB, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, Match, -1, 3, true, {INS_SVE_MATCH, INS_SVE_MATCH, INS_SVE_MATCH, INS_SVE_MATCH, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, MaxNumberPairwise, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMAXNMP, INS_SVE_FMAXNMP} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, MaxPairwise, -1, 2, true, {INS_SVE_SMAXP, INS_SVE_UMAXP, INS_SVE_SMAXP, INS_SVE_UMAXP, INS_SVE_SMAXP, INS_SVE_UMAXP, INS_SVE_SMAXP, INS_SVE_UMAXP, INS_SVE_FMAXP, INS_SVE_FMAXP} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, MinNumberPairwise, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMINNMP, INS_SVE_FMINNMP} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, MinPairwise, -1, 2, true, {INS_SVE_SMINP, INS_SVE_UMINP, INS_SVE_SMINP, INS_SVE_UMINP, INS_SVE_SMINP, INS_SVE_UMINP, INS_SVE_SMINP, INS_SVE_UMINP, INS_SVE_FMINP, INS_SVE_FMINP} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, MoveWideningLower, -1, 1, true, {INS_invalid, INS_invalid, INS_SVE_SSHLLB, INS_SVE_USHLLB, INS_SVE_SSHLLB, INS_SVE_USHLLB, INS_SVE_SSHLLB, INS_SVE_USHLLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, MoveWideningUpper, -1, 1, true, {INS_invalid, INS_invalid, INS_SVE_SSHLLT, INS_SVE_USHLLT, INS_SVE_SSHLLT, INS_SVE_USHLLT, INS_SVE_SSHLLT, INS_SVE_USHLLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, Multiply, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_MUL, INS_SVE_MUL, INS_SVE_MUL, INS_SVE_MUL, INS_SVE_MUL, INS_SVE_MUL, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, MultiplyAdd, -1, 4, true, {INS_invalid, INS_invalid, INS_SVE_MLA, INS_SVE_MLA, INS_SVE_MLA, INS_SVE_MLA, INS_SVE_MLA, INS_SVE_MLA, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, MultiplyAddRotateComplex, -1, 4, true, {INS_SVE_CMLA, INS_SVE_CMLA, INS_SVE_CMLA, INS_SVE_CMLA, INS_SVE_CMLA, INS_SVE_CMLA, INS_SVE_CMLA, INS_SVE_CMLA, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, MultiplyAddWideningLower, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SMLALB, INS_SVE_UMLALB, INS_SVE_SMLALB, INS_SVE_UMLALB, INS_SVE_SMLALB, INS_SVE_UMLALB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, MultiplyAddWideningUpper, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SMLALT, INS_SVE_UMLALT, INS_SVE_SMLALT, INS_SVE_UMLALT, INS_SVE_SMLALT, INS_SVE_UMLALT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, MultiplySubtract, -1, 4, true, {INS_invalid, INS_invalid, INS_SVE_MLS, INS_SVE_MLS, INS_SVE_MLS, INS_SVE_MLS, INS_SVE_MLS, INS_SVE_MLS, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, MultiplySubtractWideningLower, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SMLSLB, INS_SVE_UMLSLB, INS_SVE_SMLSLB, INS_SVE_UMLSLB, INS_SVE_SMLSLB, INS_SVE_UMLSLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, MultiplySubtractWideningUpper, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SMLSLT, INS_SVE_UMLSLT, INS_SVE_SMLSLT, INS_SVE_UMLSLT, INS_SVE_SMLSLT, INS_SVE_UMLSLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, MultiplyWideningLower, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SMULLB, INS_SVE_UMULLB, INS_SVE_SMULLB, INS_SVE_UMULLB, INS_SVE_SMULLB, INS_SVE_UMULLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, MultiplyWideningUpper, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SMULLT, INS_SVE_UMULLT, INS_SVE_SMULLT, INS_SVE_UMULLT, INS_SVE_SMULLT, INS_SVE_UMULLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, NoMatch, -1, 3, true, {INS_SVE_NMATCH, INS_SVE_NMATCH, INS_SVE_NMATCH, INS_SVE_NMATCH, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, PolynomialMultiply, -1, 2, false, {INS_invalid, INS_SVE_PMUL, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, PolynomialMultiplyWideningLower, -1, 2, true, {INS_invalid, INS_SVE_PMULLB, INS_invalid, INS_SVE_PMULLB, INS_invalid, INS_SVE_PMULLB, INS_invalid, INS_SVE_PMULLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, PolynomialMultiplyWideningUpper, -1, 2, true, {INS_invalid, INS_SVE_PMULLT, INS_invalid, INS_SVE_PMULLT, INS_invalid, INS_SVE_PMULLT, INS_invalid, INS_SVE_PMULLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, ReciprocalEstimate, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_URECPE, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, ReciprocalSqrtEstimate, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_URSQRTE, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, RoundingAddHighNarowingLower, -1, 2, true, {INS_SVE_RADDHNB, INS_SVE_RADDHNB, INS_SVE_RADDHNB, INS_SVE_RADDHNB, INS_SVE_RADDHNB, INS_SVE_RADDHNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, RoundingAddHighNarowingUpper, -1, 3, true, {INS_SVE_RADDHNT, INS_SVE_RADDHNT, INS_SVE_RADDHNT, INS_SVE_RADDHNT, INS_SVE_RADDHNT, INS_SVE_RADDHNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, RoundingHalvingAdd, -1, 2, true, {INS_SVE_SRHADD, INS_SVE_URHADD, INS_SVE_SRHADD, INS_SVE_URHADD, INS_SVE_SRHADD, INS_SVE_URHADD, INS_SVE_SRHADD, INS_SVE_URHADD, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, RoundingShiftLeft, -1, 2, true, {INS_SVE_SRSHL, INS_SVE_URSHL, INS_SVE_SRSHL, INS_SVE_URSHL, INS_SVE_SRSHL, INS_SVE_URSHL, INS_SVE_SRSHL, INS_SVE_URSHL, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, RoundingShiftRight, -1, 2, true, {INS_SVE_SRSHR, INS_SVE_URSHR, INS_SVE_SRSHR, INS_SVE_URSHR, INS_SVE_SRSHR, INS_SVE_URSHR, INS_SVE_SRSHR, INS_SVE_URSHR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, RoundingShiftRightAndAccumulate, -1, 3, true, {INS_SVE_SRSRA, INS_SVE_URSRA, INS_SVE_SRSRA, INS_SVE_URSRA, INS_SVE_SRSRA, INS_SVE_URSRA, INS_SVE_SRSRA, INS_SVE_URSRA, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, RoundingShiftRightNarrowingLower, -1, 2, true, {INS_SVE_RSHRNB, INS_SVE_RSHRNB, INS_SVE_RSHRNB, INS_SVE_RSHRNB, INS_SVE_RSHRNB, INS_SVE_RSHRNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, RoundingShiftRightNarrowingUpper, -1, 3, true, {INS_SVE_RSHRNT, INS_SVE_RSHRNT, INS_SVE_RSHRNT, INS_SVE_RSHRNT, INS_SVE_RSHRNT, INS_SVE_RSHRNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, RoundingSubtractHighNarowingLower, -1, 2, true, {INS_SVE_RSUBHNB, INS_SVE_RSUBHNB, INS_SVE_RSUBHNB, INS_SVE_RSUBHNB, INS_SVE_RSUBHNB, INS_SVE_RSUBHNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, RoundingSubtractHighNarowingUpper, -1, 3, true, {INS_SVE_RSUBHNT, INS_SVE_RSUBHNT, INS_SVE_RSUBHNT, INS_SVE_RSUBHNT, INS_SVE_RSUBHNT, INS_SVE_RSUBHNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingAbs, -1, 1, true, {INS_SVE_SQABS, INS_invalid, INS_SVE_SQABS, INS_invalid, INS_SVE_SQABS, INS_invalid, INS_SVE_SQABS, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, SaturatingComplexAddRotate, -1, 3, true, {INS_SVE_SQCADD, INS_invalid, INS_SVE_SQCADD, INS_invalid, INS_SVE_SQCADD, INS_invalid, INS_SVE_SQCADD, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, SaturatingDoublingMultiplyAddWideningLower, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SQDMLALB, INS_invalid, INS_SVE_SQDMLALB, INS_invalid, INS_SVE_SQDMLALB, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingDoublingMultiplyAddWideningLowerUpper, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SQDMLALBT, INS_invalid, INS_SVE_SQDMLALBT, INS_invalid, INS_SVE_SQDMLALBT, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingDoublingMultiplyAddWideningUpper, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SQDMLALT, INS_invalid, INS_SVE_SQDMLALT, INS_invalid, INS_SVE_SQDMLALT, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingDoublingMultiplyHigh, -1, 2, true, {INS_SVE_SQDMULH, INS_invalid, INS_SVE_SQDMULH, INS_invalid, INS_SVE_SQDMULH, INS_invalid, INS_SVE_SQDMULH, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingDoublingMultiplySubtractWideningLower, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SQDMLSLB, INS_invalid, INS_SVE_SQDMLSLB, INS_invalid, INS_SVE_SQDMLSLB, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingDoublingMultiplySubtractWideningLowerUpper, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SQDMLSLBT, INS_invalid, INS_SVE_SQDMLSLBT, INS_invalid, INS_SVE_SQDMLSLBT, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingDoublingMultiplySubtractWideningUpper, -1, 3, true, {INS_invalid, INS_invalid, INS_SVE_SQDMLSLT, INS_invalid, INS_SVE_SQDMLSLT, INS_invalid, INS_SVE_SQDMLSLT, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingDoublingMultiplyWideningLower, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SQDMULLB, INS_invalid, INS_SVE_SQDMULLB, INS_invalid, INS_SVE_SQDMULLB, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingDoublingMultiplyWideningUpper, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SQDMULLT, INS_invalid, INS_SVE_SQDMULLT, INS_invalid, INS_SVE_SQDMULLT, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingExtractNarrowingLower, -1, 1, true, {INS_SVE_SQXTNB, INS_SVE_UQXTNB, INS_SVE_SQXTNB, INS_SVE_UQXTNB, INS_SVE_SQXTNB, INS_SVE_UQXTNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingExtractNarrowingUpper, -1, 2, true, {INS_SVE_SQXTNT, INS_SVE_UQXTNT, INS_SVE_SQXTNT, INS_SVE_UQXTNT, INS_SVE_SQXTNT, INS_SVE_UQXTNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingExtractUnsignedNarrowingLower, -1, 1, true, {INS_invalid, INS_SVE_SQXTUNB, INS_invalid, INS_SVE_SQXTUNB, INS_invalid, INS_SVE_SQXTUNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingExtractUnsignedNarrowingUpper, -1, 2, true, {INS_invalid, INS_SVE_SQXTUNT, INS_invalid, INS_SVE_SQXTUNT, INS_invalid, INS_SVE_SQXTUNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingNegate, -1, 1, true, {INS_SVE_SQNEG, INS_invalid, INS_SVE_SQNEG, INS_invalid, INS_SVE_SQNEG, INS_invalid, INS_SVE_SQNEG, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, SaturatingRoundingDoublingComplexMultiplyAddHighRotate, -1, 4, true, {INS_SVE_SQRDCMLAH, INS_invalid, INS_SVE_SQRDCMLAH, INS_invalid, INS_SVE_SQRDCMLAH, INS_invalid, INS_SVE_SQRDCMLAH, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingRoundingDoublingMultiplyAddHigh, -1, 3, true, {INS_SVE_SQRDMLAH, INS_invalid, INS_SVE_SQRDMLAH, INS_invalid, INS_SVE_SQRDMLAH, INS_invalid, INS_SVE_SQRDMLAH, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingRoundingDoublingMultiplyHigh, -1, 2, true, {INS_SVE_SQRDMULH, INS_invalid, INS_SVE_SQRDMULH, INS_invalid, INS_SVE_SQRDMULH, INS_invalid, INS_SVE_SQRDMULH, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingRoundingDoublingMultiplySubtractHigh, -1, 3, true, {INS_SVE_SQRDMLSH, INS_invalid, INS_SVE_SQRDMLSH, INS_invalid, INS_SVE_SQRDMLSH, INS_invalid, INS_SVE_SQRDMLSH, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, SaturatingRoundingShiftLeft, -1, 2, true, {INS_SVE_SQRSHL, INS_SVE_UQRSHL, INS_SVE_SQRSHL, INS_SVE_UQRSHL, INS_SVE_SQRSHL, INS_SVE_UQRSHL, INS_SVE_SQRSHL, INS_SVE_UQRSHL, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingRoundingShiftRightNarrowingLower, -1, 2, true, {INS_SVE_SQRSHRNB, INS_SVE_UQRSHRNB, INS_SVE_SQRSHRNB, INS_SVE_UQRSHRNB, INS_SVE_SQRSHRNB, INS_SVE_UQRSHRNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingRoundingShiftRightNarrowingUpper, -1, 3, true, {INS_SVE_SQRSHRNT, INS_SVE_UQRSHRNT, INS_SVE_SQRSHRNT, INS_SVE_UQRSHRNT, INS_SVE_SQRSHRNT, INS_SVE_UQRSHRNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingRoundingShiftRightUnsignedNarrowingLower, -1, 2, true, {INS_invalid, INS_SVE_SQRSHRUNB, INS_invalid, INS_SVE_SQRSHRUNB, INS_invalid, INS_SVE_SQRSHRUNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingRoundingShiftRightUnsignedNarrowingUpper, -1, 3, true, {INS_invalid, INS_SVE_SQRSHRUNT, INS_invalid, INS_SVE_SQRSHRUNT, INS_invalid, INS_SVE_SQRSHRUNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingShiftLeft, -1, 2, true, {INS_SVE_SQSHL, INS_SVE_UQSHL, INS_SVE_SQSHL, INS_SVE_UQSHL, INS_SVE_SQSHL, INS_SVE_UQSHL, INS_SVE_SQSHL, INS_SVE_UQSHL, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingShiftLeftUnsigned, -1, 2, true, {INS_invalid, INS_SVE_SQSHLU, INS_invalid, INS_SVE_SQSHLU, INS_invalid, INS_SVE_SQSHLU, INS_invalid, INS_SVE_SQSHLU, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingShiftRightNarrowingLower, -1, 2, true, {INS_SVE_SQSHRNB, INS_SVE_UQSHRNB, INS_SVE_SQSHRNB, INS_SVE_UQSHRNB, INS_SVE_SQSHRNB, INS_SVE_UQSHRNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingShiftRightNarrowingUpper, -1, 3, true, {INS_SVE_SQSHRNT, INS_SVE_UQSHRNT, INS_SVE_SQSHRNT, INS_SVE_UQSHRNT, INS_SVE_SQSHRNT, INS_SVE_UQSHRNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingShiftRightUnsignedNarrowingLower, -1, 2, true, {INS_invalid, INS_SVE_SQSHRUNB, INS_invalid, INS_SVE_SQSHRUNB, INS_invalid, INS_SVE_SQSHRUNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SaturatingShiftRightUnsignedNarrowingUpper, -1, 3, true, {INS_invalid, INS_SVE_SQSHRUNT, INS_invalid, INS_SVE_SQSHRUNT, INS_invalid, INS_SVE_SQSHRUNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, ScatterInt32NarrowToInt16, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1H, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, ScatterInt32NarrowToSByte, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, ScatterInt64NarrowToInt16, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1H, INS_SVE_STNT1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ScatterInt64NarrowToInt32, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1W, INS_SVE_STNT1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ScatterInt64NarrowToSByte, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1B, INS_SVE_STNT1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ScatterNonTemporal, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1W, INS_SVE_STNT1W, INS_SVE_STNT1D, INS_SVE_STNT1D, INS_SVE_STNT1W, INS_SVE_STNT1D} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ScatterTruncate16NonTemporalUInt16, -1, 4, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1H, INS_SVE_STNT1H, INS_SVE_STNT1H, INS_SVE_STNT1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ScatterTruncate32NonTemporalUInt32, -1, 4, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1W, INS_SVE_STNT1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ScatterTruncate8NonTemporalByte, -1, 4, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1B, INS_SVE_STNT1B, INS_SVE_STNT1B, INS_SVE_STNT1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, ScatterUInt32NarrowToByte, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1B, INS_SVE_STNT1B, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ScatterUInt32NarrowToUInt16, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1H, INS_SVE_STNT1H, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ScatterUInt64NarrowToByte, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1B, INS_SVE_STNT1B, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ScatterUInt64NarrowToUInt16, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1H, INS_SVE_STNT1H, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ScatterUInt64NarrowToUInt32, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_STNT1W, INS_SVE_STNT1W, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, ShiftLeftAndInsert, -1, 3, true, {INS_SVE_SLI, INS_SVE_SLI, INS_SVE_SLI, INS_SVE_SLI, INS_SVE_SLI, INS_SVE_SLI, INS_SVE_SLI, INS_SVE_SLI, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, ShiftLeftWideningLower, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SSHLLB, INS_SVE_USHLLB, INS_SVE_SSHLLB, INS_SVE_USHLLB, INS_SVE_SSHLLB, INS_SVE_USHLLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, ShiftLeftWideningUpper, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SSHLLT, INS_SVE_USHLLT, INS_SVE_SSHLLT, INS_SVE_USHLLT, INS_SVE_SSHLLT, INS_SVE_USHLLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, ShiftRightAndAccumulate, -1, 3, true, {INS_SVE_SSRA, INS_SVE_USRA, INS_SVE_SSRA, INS_SVE_USRA, INS_SVE_SSRA, INS_SVE_USRA, INS_SVE_SSRA, INS_SVE_USRA, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, ShiftRightAndInsert, -1, 3, true, {INS_SVE_SRI, INS_SVE_SRI, INS_SVE_SRI, INS_SVE_SRI, INS_SVE_SRI, INS_SVE_SRI, INS_SVE_SRI, INS_SVE_SRI, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, ShiftRightNarrowingLower, -1, 2, true, {INS_SVE_SHRNB, INS_SVE_SHRNB, INS_SVE_SHRNB, INS_SVE_SHRNB, INS_SVE_SHRNB, INS_SVE_SHRNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, ShiftRightNarrowingUpper, -1, 3, true, {INS_SVE_SHRNT, INS_SVE_SHRNT, INS_SVE_SHRNT, INS_SVE_SHRNT, INS_SVE_SHRNT, INS_SVE_SHRNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SubtractHighNarowingLower, -1, 2, true, {INS_SVE_SUBHNB, INS_SVE_SUBHNB, INS_SVE_SUBHNB, INS_SVE_SUBHNB, INS_SVE_SUBHNB, INS_SVE_SUBHNB, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SubtractHighNarowingUpper, -1, 3, true, {INS_SVE_SUBHNT, INS_SVE_SUBHNT, INS_SVE_SUBHNT, INS_SVE_SUBHNT, INS_SVE_SUBHNT, INS_SVE_SUBHNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SubtractSaturate, -1, 2, true, {INS_SVE_SQSUB, INS_SVE_UQSUB, INS_SVE_SQSUB, INS_SVE_UQSUB, INS_SVE_SQSUB, INS_SVE_UQSUB, INS_SVE_SQSUB, INS_SVE_UQSUB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, SubtractSaturateReversed, -1, 2, true, {INS_SVE_SQSUBR, INS_SVE_UQSUBR, INS_SVE_SQSUBR, INS_SVE_UQSUBR, INS_SVE_SQSUBR, INS_SVE_UQSUBR, INS_SVE_SQSUBR, INS_SVE_UQSUBR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, SubtractWideLower, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SSUBWB, INS_SVE_USUBWB, INS_SVE_SSUBWB, INS_SVE_USUBWB, INS_SVE_SSUBWB, INS_SVE_USUBWB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SubtractWideUpper, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SSUBWT, INS_SVE_USUBWT, INS_SVE_SSUBWT, INS_SVE_USUBWT, INS_SVE_SSUBWT, INS_SVE_USUBWT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SubtractWideningLower, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SSUBLB, INS_SVE_USUBLB, INS_SVE_SSUBLB, INS_SVE_USUBLB, INS_SVE_SSUBLB, INS_SVE_USUBLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SubtractWideningLowerUpper, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SSUBLBT, INS_invalid, INS_SVE_SSUBLBT, INS_invalid, INS_SVE_SSUBLBT, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SubtractWideningUpper, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SSUBLT, INS_SVE_USUBLT, INS_SVE_SSUBLT, INS_SVE_USUBLT, INS_SVE_SSUBLT, INS_SVE_USUBLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SubtractWideningUpperLower, -1, 2, true, {INS_invalid, INS_invalid, INS_SVE_SSUBLTB, INS_invalid, INS_SVE_SSUBLTB, INS_invalid, INS_SVE_SSUBLTB, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, SubtractWithBorrowWideningLower, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SBCLB, INS_invalid, INS_SVE_SBCLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, SubtractWithBorrowWideningUpper, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SBCLT, INS_invalid, INS_SVE_SBCLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, UpConvertWideningUpper, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTLT} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, VectorTableLookup, -1, 2, true, {INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL, INS_SVE_TBL} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, VectorTableLookupExtension, -1, 3, true, {INS_SVE_TBX, INS_SVE_TBX, INS_SVE_TBX, INS_SVE_TBX, INS_SVE_TBX, INS_SVE_TBX, INS_SVE_TBX, INS_SVE_TBX, INS_SVE_TBX, INS_SVE_TBX} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(Sve2, Xor, -1, 3, true, {INS_SVE_EOR3, INS_SVE_EOR3, INS_SVE_EOR3, INS_SVE_EOR3, INS_SVE_EOR3, INS_SVE_EOR3, INS_SVE_EOR3, INS_SVE_EOR3, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(Sve2, XorRotateRight, -1, 3, true, {INS_SVE_XAR, INS_SVE_XAR, INS_SVE_XAR, INS_SVE_XAR, INS_SVE_XAR, INS_SVE_XAR, INS_SVE_XAR, INS_SVE_XAR, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) + + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// SveBf16 +HARDWARE_INTRINSIC(SveBf16, Bfloat16DotProduct, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_BFDOT, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveBf16, Bfloat16MatrixMultiplyAccumulate, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_BFMMLA, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveBf16, Bfloat16MultiplyAddWideningToSinglePrecisionLower, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_BFMLALB, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveBf16, Bfloat16MultiplyAddWideningToSinglePrecisionUpper, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_BFMLALT, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveBf16, ConditionalExtractAfterLastActiveElement, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, ConditionalExtractLastActiveElement, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, ConditionalSelect, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, ConvertToBFloat16, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveBf16, CreateWhileReadAfterWriteMask, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, CreateWhileWriteAfterReadMask, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, DownConvertNarrowingUpper, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveBf16, DuplicateSelectedScalarToVector, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveBf16, ExtractAfterLast, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, ExtractLast, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, ExtractVector, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, InsertIntoShiftedVector, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, LoadVector, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, LoadVector128AndReplicateToVector, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, LoadVectorFirstFaulting, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, LoadVectorNonFaulting, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, LoadVectorNonTemporal, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, LoadVectorx2, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_MultiReg) +HARDWARE_INTRINSIC(SveBf16, LoadVectorx3, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_MultiReg) +HARDWARE_INTRINSIC(SveBf16, LoadVectorx4, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_MultiReg) +HARDWARE_INTRINSIC(SveBf16, PopCount, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_CNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveBf16, ReverseElement, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, Splice, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, Store, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, StoreNonTemporal, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, Storex2, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, Storex3, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, Storex4, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, TransposeEven, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, TransposeOdd, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, UnzipEven, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, UnzipOdd, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, VectorTableLookup, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveBf16, VectorTableLookupExtension, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveBf16, ZipHigh, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBf16, ZipLow, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) + + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// SveF32mm +HARDWARE_INTRINSIC(SveF32mm, MatrixMultiplyAccumulate, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMMLA, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) + + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// SveF64mm +HARDWARE_INTRINSIC(SveF64mm, ConcatenateEvenInt128FromTwoInputs, -1, 2, true, {INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1, INS_SVE_UZP1} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveF64mm, ConcatenateOddInt128FromTwoInputs, -1, 2, true, {INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2, INS_SVE_UZP2} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveF64mm, InterleaveEvenInt128FromTwoInputs, -1, 2, true, {INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1, INS_SVE_TRN1} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveF64mm, InterleaveInt128FromHighHalvesOfTwoInputs, -1, 2, true, {INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2, INS_SVE_ZIP2} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveF64mm, InterleaveInt128FromLowHalvesOfTwoInputs, -1, 2, true, {INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1, INS_SVE_ZIP1} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveF64mm, InterleaveOddInt128FromTwoInputs, -1, 2, true, {INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2, INS_SVE_TRN2} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveF64mm, LoadVector256AndReplicateToVector, -1, 2, true, {INS_SVE_LD1ROB, INS_SVE_LD1ROB, INS_SVE_LD1ROH, INS_SVE_LD1ROH, INS_SVE_LD1ROW, INS_SVE_LD1ROW, INS_SVE_LD1ROD, INS_SVE_LD1ROD, INS_SVE_LD1ROW, INS_SVE_LD1ROD} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveF64mm, MatrixMultiplyAccumulate, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMMLA} HW_Category_SIMD, HW_Flag_NoFlag) + + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// SveFp16 +HARDWARE_INTRINSIC(SveFp16, Abs, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, AbsoluteCompareGreaterThan, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, AbsoluteCompareGreaterThanOrEqual, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, AbsoluteCompareLessThan, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, AbsoluteCompareLessThanOrEqual, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, AbsoluteDifference, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Add, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, AddAcross, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, AddPairwise, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, AddRotateComplex, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, AddSequentialAcross, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, CompareEqual, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, CompareGreaterThan, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, CompareGreaterThanOrEqual, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, CompareLessThan, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, CompareLessThanOrEqual, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, CompareNotEqualTo, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, CompareUnordered, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ConditionalExtractAfterLastActiveElement, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ConditionalExtractLastActiveElement, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ConditionalSelect, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ConvertToDouble, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVT} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, ConvertToHalf, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, ConvertToInt16, -1, 1, false, {INS_invalid, INS_invalid, INS_SVE_FCVTZS, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, ConvertToInt32, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTZS, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, ConvertToInt64, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTZS, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, ConvertToSingle, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVT, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, ConvertToUInt16, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTZU, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, ConvertToUInt32, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTZU, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, ConvertToUInt64, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTZU, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, CreateWhileReadAfterWriteMask, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, CreateWhileWriteAfterReadMask, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Divide, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, DownConvertNarrowingUpper, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, DuplicateSelectedScalarToVector, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, ExtractAfterLast, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ExtractLast, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ExtractVector, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, FloatingPointExponentialAccelerator, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, FusedMultiplyAdd, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, FusedMultiplyAddNegate, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, FusedMultiplySubtract, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, FusedMultiplySubtractNegate, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, InsertIntoShiftedVector, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, LoadVector, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, LoadVector128AndReplicateToVector, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, LoadVectorFirstFaulting, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, LoadVectorNonFaulting, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, LoadVectorNonTemporal, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, LoadVectorx2, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_MultiReg) +HARDWARE_INTRINSIC(SveFp16, LoadVectorx3, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_MultiReg) +HARDWARE_INTRINSIC(SveFp16, LoadVectorx4, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_MultiReg) +HARDWARE_INTRINSIC(SveFp16, Log2, -1, 1, false, {INS_invalid, INS_invalid, INS_SVE_FLOGB, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, Max, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MaxAcross, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MaxNumber, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MaxNumberAcross, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MaxNumberPairwise, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MaxPairwise, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Min, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MinAcross, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MinNumber, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MinNumberAcross, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MinNumberPairwise, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MinPairwise, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Multiply, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, MultiplyAddRotateComplex, -1, 4, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, MultiplyAddWideningLower, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMLALB, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, MultiplyAddWideningUpper, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMLALT, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, MultiplyExtended, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, MultiplySubtractWideningLower, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMLSLB, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, MultiplySubtractWideningUpper, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FMLSLT, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, Negate, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, PopCount, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_SVE_CNT, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, ReciprocalEstimate, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ReciprocalExponent, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ReciprocalSqrtEstimate, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ReciprocalSqrtStep, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ReciprocalStep, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ReverseElement, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, RoundAwayFromZero, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, RoundToNearest, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, RoundToNegativeInfinity, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, RoundToPositiveInfinity, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, RoundToZero, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Scale, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, Splice, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Sqrt, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Store, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, StoreNonTemporal, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Storex2, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Storex3, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Storex4, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, Subtract, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, SubtractReversed, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, TransposeEven, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, TransposeOdd, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, TrigonometricMultiplyAddCoefficient, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, TrigonometricSelectCoefficient, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, TrigonometricStartingValue, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, UnzipEven, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, UnzipOdd, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, UpConvertWideningUpper, -1, 1, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_FCVTLT, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, VectorTableLookup, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveFp16, VectorTableLookupExtension, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveFp16, ZipHigh, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveFp16, ZipLow, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) + + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// SveI8mm +HARDWARE_INTRINSIC(SveI8mm, DotProductSignedUnsigned, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_USDOT/INS_SVE_SUDOT,INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveI8mm, DotProductUnsignedSigned, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_USDOT, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(SveI8mm, MatrixMultiplyAccumulate, -1, 3, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SMMLA, INS_SVE_UMMLA, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) +HARDWARE_INTRINSIC(SveI8mm, MatrixMultiplyAccumulateUnsignedSigned, -1, 3, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_USMMLA, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_BaseTypeFromFirstArg) + + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// SveAes +HARDWARE_INTRINSIC(SveAes, AesInverseMixColumns, -1, 1, false, {INS_invalid, INS_SVE_AESIMC, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveAes, AesMixColumns, -1, 1, false, {INS_invalid, INS_SVE_AESMC, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveAes, AesSingleRoundDecryption, -1, 2, false, {INS_invalid, INS_SVE_AESD, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveAes, AesSingleRoundEncryption, -1, 2, false, {INS_invalid, INS_SVE_AESE, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveAes, PolynomialMultiplyWideningLower, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_PMULLB, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveAes, PolynomialMultiplyWideningUpper, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_PMULLT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) + + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// SveBitperm +HARDWARE_INTRINSIC(SveBitperm, GatherLowerBitsFromPositionsSelectedByBitmask, -1, 2, true, {INS_invalid, INS_SVE_BEXT, INS_invalid, INS_SVE_BEXT, INS_invalid, INS_SVE_BEXT, INS_invalid, INS_SVE_BEXT, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBitperm, GroupBitsToRightOrLeftAsSelectedByBitmask, -1, 2, true, {INS_invalid, INS_SVE_BGRP, INS_invalid, INS_SVE_BGRP, INS_invalid, INS_SVE_BGRP, INS_invalid, INS_SVE_BGRP, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveBitperm, ScatterLowerBitsIntoPositionsSelectedByBitmask, -1, 2, true, {INS_invalid, INS_SVE_BDEP, INS_invalid, INS_SVE_BDEP, INS_invalid, INS_SVE_BDEP, INS_invalid, INS_SVE_BDEP, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) + + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// SveSha3 +HARDWARE_INTRINSIC(SveSha3, BitwiseRotateLeftBy1AndXor, -1, 2, true, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_RAX1, INS_SVE_RAX1, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) + + +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// SveSm4 +HARDWARE_INTRINSIC(SveSm4, Sm4EncryptionAndDecryption, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SM4E, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) +HARDWARE_INTRINSIC(SveSm4, Sm4KeyUpdates, -1, 2, false, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_SVE_SM4EKEY, INS_invalid, INS_invalid, INS_invalid, INS_invalid} HW_Category_SIMD, HW_Flag_NoFlag) + + +#endif // FEATURE_HW_INTRINSIC + +#undef HARDWARE_INTRINSIC + +// clang-format on + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs new file mode 100644 index 0000000000000..38ac8d3c79109 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs @@ -0,0 +1,14058 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class Sve : AdvSimd + { + internal Sve() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// Abs : Absolute value + + /// + /// svint8_t svabs[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// ABS Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; ABS Zresult.B, Pg/M, Zop.B + /// svint8_t svabs[_s8]_x(svbool_t pg, svint8_t op) + /// ABS Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; ABS Zresult.B, Pg/M, Zop.B + /// svint8_t svabs[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; ABS Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector Abs(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svabs[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// ABS Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; ABS Zresult.H, Pg/M, Zop.H + /// svint16_t svabs[_s16]_x(svbool_t pg, svint16_t op) + /// ABS Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; ABS Zresult.H, Pg/M, Zop.H + /// svint16_t svabs[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; ABS Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Abs(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svabs[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// ABS Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; ABS Zresult.S, Pg/M, Zop.S + /// svint32_t svabs[_s32]_x(svbool_t pg, svint32_t op) + /// ABS Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; ABS Zresult.S, Pg/M, Zop.S + /// svint32_t svabs[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; ABS Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Abs(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svabs[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// ABS Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; ABS Zresult.D, Pg/M, Zop.D + /// svint64_t svabs[_s64]_x(svbool_t pg, svint64_t op) + /// ABS Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; ABS Zresult.D, Pg/M, Zop.D + /// svint64_t svabs[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; ABS Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Abs(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svabs[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FABS Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FABS Zresult.S, Pg/M, Zop.S + /// svfloat32_t svabs[_f32]_x(svbool_t pg, svfloat32_t op) + /// FABS Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FABS Zresult.S, Pg/M, Zop.S + /// svfloat32_t svabs[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FABS Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Abs(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svabs[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FABS Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FABS Zresult.D, Pg/M, Zop.D + /// svfloat64_t svabs[_f64]_x(svbool_t pg, svfloat64_t op) + /// FABS Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FABS Zresult.D, Pg/M, Zop.D + /// svfloat64_t svabs[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FABS Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Abs(Vector value) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteCompareGreaterThan : Absolute compare greater than + + /// + /// svbool_t svacgt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FACGT Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteCompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svacgt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FACGT Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector AbsoluteCompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteCompareGreaterThanOrEqual : Absolute compare greater than or equal to + + /// + /// svbool_t svacge[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FACGE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteCompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svacge[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FACGE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector AbsoluteCompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteCompareLessThan : Absolute compare less than + + /// + /// svbool_t svaclt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FACGT Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector AbsoluteCompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svaclt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FACGT Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector AbsoluteCompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteCompareLessThanOrEqual : Absolute compare less than or equal to + + /// + /// svbool_t svacle[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FACGE Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector AbsoluteCompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svacle[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FACGE Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector AbsoluteCompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteDifference : Absolute difference + + /// + /// svint8_t svabd[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SABD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svabd[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SABD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SABD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svabd[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SABD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svabd[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svabd[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SABD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svabd[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SABD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svabd[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svabd[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SABD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svabd[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SABD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svabd[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svabd[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SABD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svabd[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SABD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svabd[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UABD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svabd[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UABD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UABD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svabd[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UABD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svabd[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svabd[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UABD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svabd[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UABD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svabd[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svabd[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UABD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svabd[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UABD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svabd[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svabd[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UABD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svabd[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UABD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svabd[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svabd[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FABD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svabd[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FABD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svabd[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svabd[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FABD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svabd[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FABD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Add : Add + + /// + /// svint8_t svadd[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// ADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svadd[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// ADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// ADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// ADD Zresult.B, Zop1.B, Zop2.B + /// svint8_t svadd[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; ADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svadd[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// ADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svadd[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// ADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// ADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// ADD Zresult.H, Zop1.H, Zop2.H + /// svint16_t svadd[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; ADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svadd[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// ADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svadd[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// ADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// ADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// ADD Zresult.S, Zop1.S, Zop2.S + /// svint32_t svadd[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; ADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svadd[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// ADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svadd[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// ADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// ADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// ADD Zresult.D, Zop1.D, Zop2.D + /// svint64_t svadd[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; ADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svadd[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svadd[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// ADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// ADD Zresult.B, Zop1.B, Zop2.B + /// svuint8_t svadd[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; ADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svadd[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svadd[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// ADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// ADD Zresult.H, Zop1.H, Zop2.H + /// svuint16_t svadd[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; ADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svadd[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svadd[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// ADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// ADD Zresult.S, Zop1.S, Zop2.S + /// svuint32_t svadd[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; ADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadd[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svadd[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// ADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// ADD Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svadd[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; ADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svadd[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svadd[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// FADD Zresult.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svadd[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svadd[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svadd[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// FADD Zresult.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svadd[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddAcross : Add reduction + + /// + /// int64_t svaddv[_s8](svbool_t pg, svint8_t op) + /// SADDV Dresult, Pg, Zop.B + /// + public static unsafe long AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svaddv[_s16](svbool_t pg, svint16_t op) + /// SADDV Dresult, Pg, Zop.H + /// + public static unsafe long AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svaddv[_s32](svbool_t pg, svint32_t op) + /// SADDV Dresult, Pg, Zop.S + /// + public static unsafe long AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svaddv[_s64](svbool_t pg, svint64_t op) + /// UADDV Dresult, Pg, Zop.D + /// + public static unsafe long AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svaddv[_u8](svbool_t pg, svuint8_t op) + /// UADDV Dresult, Pg, Zop.B + /// + public static unsafe ulong AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svaddv[_u16](svbool_t pg, svuint16_t op) + /// UADDV Dresult, Pg, Zop.H + /// + public static unsafe ulong AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svaddv[_u32](svbool_t pg, svuint32_t op) + /// UADDV Dresult, Pg, Zop.S + /// + public static unsafe ulong AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svaddv[_u64](svbool_t pg, svuint64_t op) + /// UADDV Dresult, Pg, Zop.D + /// + public static unsafe ulong AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float32_t svaddv[_f32](svbool_t pg, svfloat32_t op) + /// FADDV Sresult, Pg, Zop.S + /// + public static unsafe float AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float64_t svaddv[_f64](svbool_t pg, svfloat64_t op) + /// FADDV Dresult, Pg, Zop.D + /// + public static unsafe double AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// AddRotateComplex : Complex add with rotate + + /// + /// svfloat32_t svcadd[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.S, Pg/M, Zresult.S, Zop2.S, #imm_rotation + /// svfloat32_t svcadd[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.S, Pg/M, Zresult.S, Zop2.S, #imm_rotation + /// svfloat32_t svcadd[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, uint64_t imm_rotation) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FCADD Zresult.S, Pg/M, Zresult.S, Zop2.S, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svcadd[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.D, Pg/M, Zresult.D, Zop2.D, #imm_rotation + /// svfloat64_t svcadd[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.D, Pg/M, Zresult.D, Zop2.D, #imm_rotation + /// svfloat64_t svcadd[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, uint64_t imm_rotation) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FCADD Zresult.D, Pg/M, Zresult.D, Zop2.D, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + + /// AddSaturate : Saturating add + + /// + /// svint8_t svqadd[_s8](svint8_t op1, svint8_t op2) + /// SQADD Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqadd[_s16](svint16_t op1, svint16_t op2) + /// SQADD Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqadd[_s32](svint32_t op1, svint32_t op2) + /// SQADD Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqadd[_s64](svint64_t op1, svint64_t op2) + /// SQADD Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqadd[_u8](svuint8_t op1, svuint8_t op2) + /// UQADD Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqadd[_u16](svuint16_t op1, svuint16_t op2) + /// UQADD Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqadd[_u32](svuint32_t op1, svuint32_t op2) + /// UQADD Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqadd[_u64](svuint64_t op1, svuint64_t op2) + /// UQADD Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddSequentialAcross : Add reduction (strictly-ordered) + + /// + /// float32_t svadda[_f32](svbool_t pg, float32_t initial, svfloat32_t op) + /// FADDA Stied, Pg, Stied, Zop.S + /// + public static unsafe float AddSequentialAcross(float initial, Vector op) { throw new PlatformNotSupportedException(); } + + /// + /// float64_t svadda[_f64](svbool_t pg, float64_t initial, svfloat64_t op) + /// FADDA Dtied, Pg, Dtied, Zop.D + /// + public static unsafe double AddSequentialAcross(double initial, Vector op) { throw new PlatformNotSupportedException(); } + + + /// And : Bitwise AND + + /// + /// svint8_t svand[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// AND Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; AND Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svand[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// AND Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// AND Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// AND Zresult.D, Zop1.D, Zop2.D + /// svint8_t svand[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; AND Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; AND Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svand[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// AND Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; AND Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svand[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// AND Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// AND Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// AND Zresult.D, Zop1.D, Zop2.D + /// svint16_t svand[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; AND Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; AND Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svand[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// AND Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; AND Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svand[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// AND Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// AND Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// AND Zresult.D, Zop1.D, Zop2.D + /// svint32_t svand[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; AND Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; AND Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svand[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// AND Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; AND Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svand[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// AND Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// AND Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// AND Zresult.D, Zop1.D, Zop2.D + /// svint64_t svand[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; AND Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; AND Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svand[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// AND Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; AND Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svand[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// AND Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// AND Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// AND Zresult.D, Zop1.D, Zop2.D + /// svuint8_t svand[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; AND Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; AND Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svand[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// AND Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; AND Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svand[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// AND Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// AND Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// AND Zresult.D, Zop1.D, Zop2.D + /// svuint16_t svand[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; AND Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; AND Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svand[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// AND Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; AND Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svand[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// AND Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// AND Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// AND Zresult.D, Zop1.D, Zop2.D + /// svuint32_t svand[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; AND Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; AND Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svand[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// AND Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; AND Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svand[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// AND Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// AND Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// AND Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svand[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; AND Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; AND Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AndAcross : Bitwise AND reduction to scalar + + /// + /// int8_t svandv[_s8](svbool_t pg, svint8_t op) + /// ANDV Bresult, Pg, Zop.B + /// + public static unsafe sbyte AndAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int16_t svandv[_s16](svbool_t pg, svint16_t op) + /// ANDV Hresult, Pg, Zop.H + /// + public static unsafe short AndAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svandv[_s32](svbool_t pg, svint32_t op) + /// ANDV Sresult, Pg, Zop.S + /// + public static unsafe int AndAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svandv[_s64](svbool_t pg, svint64_t op) + /// ANDV Dresult, Pg, Zop.D + /// + public static unsafe long AndAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint8_t svandv[_u8](svbool_t pg, svuint8_t op) + /// ANDV Bresult, Pg, Zop.B + /// + public static unsafe byte AndAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint16_t svandv[_u16](svbool_t pg, svuint16_t op) + /// ANDV Hresult, Pg, Zop.H + /// + public static unsafe ushort AndAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svandv[_u32](svbool_t pg, svuint32_t op) + /// ANDV Sresult, Pg, Zop.S + /// + public static unsafe uint AndAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svandv[_u64](svbool_t pg, svuint64_t op) + /// ANDV Dresult, Pg, Zop.D + /// + public static unsafe ulong AndAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// AndNot : Bitwise NAND + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// BitwiseClear : Bitwise clear + + /// + /// svint8_t svbic[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// BIC Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; BIC Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svbic[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// BIC Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svint8_t svbic[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; BIC Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svbic[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// BIC Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; BIC Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svbic[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// BIC Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svint16_t svbic[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; BIC Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svbic[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// BIC Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; BIC Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svbic[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// BIC Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svint32_t svbic[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; BIC Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svbic[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// BIC Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; BIC Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svbic[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// BIC Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svint64_t svbic[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; BIC Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svbic[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// BIC Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; BIC Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svbic[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// BIC Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svuint8_t svbic[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; BIC Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbic[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// BIC Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; BIC Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svbic[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// BIC Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svuint16_t svbic[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; BIC Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbic[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// BIC Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; BIC Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svbic[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// BIC Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svuint32_t svbic[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; BIC Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbic[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// BIC Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; BIC Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svbic[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// BIC Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svbic[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; BIC Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Cnot : Logically invert boolean condition + + /// + /// svint8_t svcnot[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// CNOT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.B, Pg/M, Zop.B + /// svint8_t svcnot[_s8]_x(svbool_t pg, svint8_t op) + /// CNOT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CNOT Zresult.B, Pg/M, Zop.B + /// svint8_t svcnot[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CNOT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector Cnot(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svcnot[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// CNOT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.H, Pg/M, Zop.H + /// svint16_t svcnot[_s16]_x(svbool_t pg, svint16_t op) + /// CNOT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNOT Zresult.H, Pg/M, Zop.H + /// svint16_t svcnot[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNOT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Cnot(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svcnot[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// CNOT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.S, Pg/M, Zop.S + /// svint32_t svcnot[_s32]_x(svbool_t pg, svint32_t op) + /// CNOT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CNOT Zresult.S, Pg/M, Zop.S + /// svint32_t svcnot[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CNOT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Cnot(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svcnot[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// CNOT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.D, Pg/M, Zop.D + /// svint64_t svcnot[_s64]_x(svbool_t pg, svint64_t op) + /// CNOT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CNOT Zresult.D, Pg/M, Zop.D + /// svint64_t svcnot[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CNOT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Cnot(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svcnot[_u8]_m(svuint8_t inactive, svbool_t pg, svuint8_t op) + /// CNOT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnot[_u8]_x(svbool_t pg, svuint8_t op) + /// CNOT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CNOT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnot[_u8]_z(svbool_t pg, svuint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CNOT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector Cnot(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svcnot[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// CNOT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnot[_u16]_x(svbool_t pg, svuint16_t op) + /// CNOT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNOT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnot[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNOT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Cnot(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svcnot[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// CNOT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnot[_u32]_x(svbool_t pg, svuint32_t op) + /// CNOT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CNOT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnot[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CNOT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Cnot(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svcnot[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// CNOT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnot[_u64]_x(svbool_t pg, svuint64_t op) + /// CNOT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CNOT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnot[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CNOT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Cnot(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Compact : Shuffle active elements of vector to the right and fill with zero + + /// + /// svint32_t svcompact[_s32](svbool_t pg, svint32_t op) + /// COMPACT Zresult.S, Pg, Zop.S + /// + public static unsafe Vector Compact(Vector mask, Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svcompact[_s64](svbool_t pg, svint64_t op) + /// COMPACT Zresult.D, Pg, Zop.D + /// + public static unsafe Vector Compact(Vector mask, Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svcompact[_u32](svbool_t pg, svuint32_t op) + /// COMPACT Zresult.S, Pg, Zop.S + /// + public static unsafe Vector Compact(Vector mask, Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svcompact[_u64](svbool_t pg, svuint64_t op) + /// COMPACT Zresult.D, Pg, Zop.D + /// + public static unsafe Vector Compact(Vector mask, Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svcompact[_f32](svbool_t pg, svfloat32_t op) + /// COMPACT Zresult.S, Pg, Zop.S + /// + public static unsafe Vector Compact(Vector mask, Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svcompact[_f64](svbool_t pg, svfloat64_t op) + /// COMPACT Zresult.D, Pg, Zop.D + /// + public static unsafe Vector Compact(Vector mask, Vector value) { throw new PlatformNotSupportedException(); } + + + /// CompareEqual : Compare equal to + + /// + /// svbool_t svcmpeq[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPEQ Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPEQ Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMEQ Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpeq[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMEQ Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareGreaterThan : Compare greater than + + /// + /// svbool_t svcmpgt[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPGT Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPGT Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPGT Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPGT Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPGT Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPGT Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPGT Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPHI Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) + /// CMPHI Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPHI Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) + /// CMPHI Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPHI Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) + /// CMPHI Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPHI Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMGT Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpgt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMGT Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareGreaterThanOrEqual : Compare greater than or equal to + + /// + /// svbool_t svcmpge[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPGE Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPGE Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPGE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPGE Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPGE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPGE Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPGE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPHS Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) + /// CMPHS Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPHS Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) + /// CMPHS Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPHS Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) + /// CMPHS Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPHS Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMGE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpge[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMGE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareLessThan : Compare less than + + /// + /// svbool_t svcmplt[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPGT Presult.B, Pg/Z, Zop2.B, Zop1.B + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPLT Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPGT Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPLT Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPGT Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPLT Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPGT Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPHI Presult.B, Pg/Z, Zop2.B, Zop1.B + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) + /// CMPLO Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPHI Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) + /// CMPLO Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPHI Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) + /// CMPLO Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPHI Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMGT Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmplt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMGT Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareLessThanOrEqual : Compare less than or equal to + + /// + /// svbool_t svcmple[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPGE Presult.B, Pg/Z, Zop2.B, Zop1.B + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPLE Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPGE Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPLE Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPGE Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPLE Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPGE Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPHS Presult.B, Pg/Z, Zop2.B, Zop1.B + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) + /// CMPLS Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPHS Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) + /// CMPLS Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPHS Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) + /// CMPLS Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPHS Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMGE Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmple[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMGE Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareNotEqualTo : Compare not equal to + + /// + /// svbool_t svcmpne[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPNE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPNE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMNE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpne[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMNE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareUnordered : Compare unordered with + + /// + /// svbool_t svcmpuo[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMUO Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareUnordered(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svcmpuo[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMUO Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareUnordered(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ComputeByteAddresses : Compute vector addresses for 8-bit data + + /// + /// svuint32_t svadrb[_u32base]_[s32]offset(svuint32_t bases, svint32_t offsets) + /// ADR Zresult.S, [Zbases.S, Zoffsets.S] + /// + public static unsafe Vector ComputeByteAddresses(Vector bases, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svadrb[_u32base]_[u32]offset(svuint32_t bases, svuint32_t offsets) + /// ADR Zresult.S, [Zbases.S, Zoffsets.S] + /// + public static unsafe Vector ComputeByteAddresses(Vector bases, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadrb[_u64base]_[s64]offset(svuint64_t bases, svint64_t offsets) + /// ADR Zresult.D, [Zbases.D, Zoffsets.D] + /// + public static unsafe Vector ComputeByteAddresses(Vector bases, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadrb[_u64base]_[u64]offset(svuint64_t bases, svuint64_t offsets) + /// ADR Zresult.D, [Zbases.D, Zoffsets.D] + /// + public static unsafe Vector ComputeByteAddresses(Vector bases, Vector offsets) { throw new PlatformNotSupportedException(); } + + + /// ComputeInt16Addresses : Compute vector addresses for 16-bit data + + /// + /// svuint32_t svadrh[_u32base]_[s32]index(svuint32_t bases, svint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #1] + /// + public static unsafe Vector ComputeInt16Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svadrh[_u32base]_[u32]index(svuint32_t bases, svuint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #1] + /// + public static unsafe Vector ComputeInt16Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadrh[_u64base]_[s64]index(svuint64_t bases, svint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #1] + /// + public static unsafe Vector ComputeInt16Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadrh[_u64base]_[u64]index(svuint64_t bases, svuint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #1] + /// + public static unsafe Vector ComputeInt16Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + + /// ComputeInt32Addresses : Compute vector addresses for 32-bit data + + /// + /// svuint32_t svadrw[_u32base]_[s32]index(svuint32_t bases, svint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #2] + /// + public static unsafe Vector ComputeInt32Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svadrw[_u32base]_[u32]index(svuint32_t bases, svuint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #2] + /// + public static unsafe Vector ComputeInt32Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadrw[_u64base]_[s64]index(svuint64_t bases, svint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #2] + /// + public static unsafe Vector ComputeInt32Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadrw[_u64base]_[u64]index(svuint64_t bases, svuint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #2] + /// + public static unsafe Vector ComputeInt32Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + + /// ComputeInt64Addresses : Compute vector addresses for 64-bit data + + /// + /// svuint32_t svadrd[_u32base]_[s32]index(svuint32_t bases, svint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #3] + /// + public static unsafe Vector ComputeInt64Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svadrd[_u32base]_[u32]index(svuint32_t bases, svuint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #3] + /// + public static unsafe Vector ComputeInt64Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadrd[_u64base]_[s64]index(svuint64_t bases, svint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #3] + /// + public static unsafe Vector ComputeInt64Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadrd[_u64base]_[u64]index(svuint64_t bases, svuint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #3] + /// + public static unsafe Vector ComputeInt64Addresses(Vector bases, Vector indices) { throw new PlatformNotSupportedException(); } + + + /// ConditionalExtractAfterLastActiveElement : Conditionally extract element after last + + /// + /// svint8_t svclasta[_s8](svbool_t pg, svint8_t fallback, svint8_t data) + /// CLASTA Ztied.B, Pg, Ztied.B, Zdata.B + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.B, Pg, Zresult.B, Zdata.B + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svclasta[_s16](svbool_t pg, svint16_t fallback, svint16_t data) + /// CLASTA Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svclasta[_s32](svbool_t pg, svint32_t fallback, svint32_t data) + /// CLASTA Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svclasta[_s64](svbool_t pg, svint64_t fallback, svint64_t data) + /// CLASTA Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svclasta[_u8](svbool_t pg, svuint8_t fallback, svuint8_t data) + /// CLASTA Ztied.B, Pg, Ztied.B, Zdata.B + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.B, Pg, Zresult.B, Zdata.B + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svclasta[_u16](svbool_t pg, svuint16_t fallback, svuint16_t data) + /// CLASTA Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svclasta[_u32](svbool_t pg, svuint32_t fallback, svuint32_t data) + /// CLASTA Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svclasta[_u64](svbool_t pg, svuint64_t fallback, svuint64_t data) + /// CLASTA Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svclasta[_f32](svbool_t pg, svfloat32_t fallback, svfloat32_t data) + /// CLASTA Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svclasta[_f64](svbool_t pg, svfloat64_t fallback, svfloat64_t data) + /// CLASTA Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ConditionalExtractLastActiveElement : Conditionally extract last element + + /// + /// svint8_t svclastb[_s8](svbool_t pg, svint8_t fallback, svint8_t data) + /// CLASTB Ztied.B, Pg, Ztied.B, Zdata.B + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.B, Pg, Zresult.B, Zdata.B + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svclastb[_s16](svbool_t pg, svint16_t fallback, svint16_t data) + /// CLASTB Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svclastb[_s32](svbool_t pg, svint32_t fallback, svint32_t data) + /// CLASTB Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svclastb[_s64](svbool_t pg, svint64_t fallback, svint64_t data) + /// CLASTB Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svclastb[_u8](svbool_t pg, svuint8_t fallback, svuint8_t data) + /// CLASTB Ztied.B, Pg, Ztied.B, Zdata.B + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.B, Pg, Zresult.B, Zdata.B + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svclastb[_u16](svbool_t pg, svuint16_t fallback, svuint16_t data) + /// CLASTB Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svclastb[_u32](svbool_t pg, svuint32_t fallback, svuint32_t data) + /// CLASTB Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svclastb[_u64](svbool_t pg, svuint64_t fallback, svuint64_t data) + /// CLASTB Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svclastb[_f32](svbool_t pg, svfloat32_t fallback, svfloat32_t data) + /// CLASTB Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svclastb[_f64](svbool_t pg, svfloat64_t fallback, svfloat64_t data) + /// CLASTB Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ConditionalSelect : Conditionally select elements + + /// + /// svint8_t svsel[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// SEL Zresult.B, Pg, Zop1.B, Zop2.B + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svsel[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// SEL Zresult.H, Pg, Zop1.H, Zop2.H + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsel[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// SEL Zresult.S, Pg, Zop1.S, Zop2.S + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsel[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// SEL Zresult.D, Pg, Zop1.D, Zop2.D + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svsel[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SEL Zresult.B, Pg, Zop1.B, Zop2.B + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsel[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SEL Zresult.H, Pg, Zop1.H, Zop2.H + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsel[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SEL Zresult.S, Pg, Zop1.S, Zop2.S + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsel[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SEL Zresult.D, Pg, Zop1.D, Zop2.D + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svsel[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// SEL Zresult.S, Pg, Zop1.S, Zop2.S + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svsel[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// SEL Zresult.D, Pg, Zop1.D, Zop2.D + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ConvertToDouble : Floating-point convert + + /// + /// svfloat64_t svcvt_f64[_s32]_m(svfloat64_t inactive, svbool_t pg, svint32_t op) + /// SCVTF Ztied.D, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_s32]_x(svbool_t pg, svint32_t op) + /// SCVTF Ztied.D, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SCVTF Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SCVTF Zresult.D, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToDouble(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svcvt_f64[_s64]_m(svfloat64_t inactive, svbool_t pg, svint64_t op) + /// SCVTF Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.D, Pg/M, Zop.D + /// svfloat64_t svcvt_f64[_s64]_x(svbool_t pg, svint64_t op) + /// SCVTF Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SCVTF Zresult.D, Pg/M, Zop.D + /// svfloat64_t svcvt_f64[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SCVTF Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToDouble(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svcvt_f64[_u32]_m(svfloat64_t inactive, svbool_t pg, svuint32_t op) + /// UCVTF Ztied.D, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_u32]_x(svbool_t pg, svuint32_t op) + /// UCVTF Ztied.D, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; UCVTF Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UCVTF Zresult.D, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToDouble(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svcvt_f64[_u64]_m(svfloat64_t inactive, svbool_t pg, svuint64_t op) + /// UCVTF Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.D, Pg/M, Zop.D + /// svfloat64_t svcvt_f64[_u64]_x(svbool_t pg, svuint64_t op) + /// UCVTF Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; UCVTF Zresult.D, Pg/M, Zop.D + /// svfloat64_t svcvt_f64[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UCVTF Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToDouble(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svcvt_f64[_f32]_m(svfloat64_t inactive, svbool_t pg, svfloat32_t op) + /// FCVT Ztied.D, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVT Ztied.D, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVT Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVT Zresult.D, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToDouble(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToInt32 : Floating-point convert + + /// + /// svint32_t svcvt_s32[_f32]_m(svint32_t inactive, svbool_t pg, svfloat32_t op) + /// FCVTZS Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.S, Pg/M, Zop.S + /// svint32_t svcvt_s32[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVTZS Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.S, Pg/M, Zop.S + /// svint32_t svcvt_s32[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVTZS Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToInt32(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svcvt_s32[_f64]_m(svint32_t inactive, svbool_t pg, svfloat64_t op) + /// FCVTZS Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.S, Pg/M, Zop.D + /// svint32_t svcvt_s32[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVTZS Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.S, Pg/M, Zop.D + /// svint32_t svcvt_s32[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZS Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToInt32(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToInt64 : Floating-point convert + + /// + /// svint64_t svcvt_s64[_f32]_m(svint64_t inactive, svbool_t pg, svfloat32_t op) + /// FCVTZS Ztied.D, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.D, Pg/M, Zop.S + /// svint64_t svcvt_s64[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVTZS Ztied.D, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.D, Pg/M, Zop.S + /// svint64_t svcvt_s64[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZS Zresult.D, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToInt64(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svcvt_s64[_f64]_m(svint64_t inactive, svbool_t pg, svfloat64_t op) + /// FCVTZS Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.D, Pg/M, Zop.D + /// svint64_t svcvt_s64[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVTZS Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.D, Pg/M, Zop.D + /// svint64_t svcvt_s64[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZS Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToInt64(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToSingle : Floating-point convert + + /// + /// svfloat32_t svcvt_f32[_s32]_m(svfloat32_t inactive, svbool_t pg, svint32_t op) + /// SCVTF Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.S, Pg/M, Zop.S + /// svfloat32_t svcvt_f32[_s32]_x(svbool_t pg, svint32_t op) + /// SCVTF Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SCVTF Zresult.S, Pg/M, Zop.S + /// svfloat32_t svcvt_f32[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SCVTF Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToSingle(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svcvt_f32[_s64]_m(svfloat32_t inactive, svbool_t pg, svint64_t op) + /// SCVTF Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_s64]_x(svbool_t pg, svint64_t op) + /// SCVTF Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SCVTF Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SCVTF Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToSingle(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svcvt_f32[_u32]_m(svfloat32_t inactive, svbool_t pg, svuint32_t op) + /// UCVTF Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.S, Pg/M, Zop.S + /// svfloat32_t svcvt_f32[_u32]_x(svbool_t pg, svuint32_t op) + /// UCVTF Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; UCVTF Zresult.S, Pg/M, Zop.S + /// svfloat32_t svcvt_f32[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; UCVTF Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToSingle(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svcvt_f32[_u64]_m(svfloat32_t inactive, svbool_t pg, svuint64_t op) + /// UCVTF Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_u64]_x(svbool_t pg, svuint64_t op) + /// UCVTF Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; UCVTF Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UCVTF Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToSingle(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svcvt_f32[_f64]_m(svfloat32_t inactive, svbool_t pg, svfloat64_t op) + /// FCVT Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVT Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVT Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVT Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToSingle(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToUInt32 : Floating-point convert + + /// + /// svuint32_t svcvt_u32[_f32]_m(svuint32_t inactive, svbool_t pg, svfloat32_t op) + /// FCVTZU Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.S, Pg/M, Zop.S + /// svuint32_t svcvt_u32[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVTZU Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.S, Pg/M, Zop.S + /// svuint32_t svcvt_u32[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVTZU Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToUInt32(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svcvt_u32[_f64]_m(svuint32_t inactive, svbool_t pg, svfloat64_t op) + /// FCVTZU Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.S, Pg/M, Zop.D + /// svuint32_t svcvt_u32[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVTZU Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.S, Pg/M, Zop.D + /// svuint32_t svcvt_u32[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZU Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToUInt32(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToUInt64 : Floating-point convert + + /// + /// svuint64_t svcvt_u64[_f32]_m(svuint64_t inactive, svbool_t pg, svfloat32_t op) + /// FCVTZU Ztied.D, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.D, Pg/M, Zop.S + /// svuint64_t svcvt_u64[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVTZU Ztied.D, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.D, Pg/M, Zop.S + /// svuint64_t svcvt_u64[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZU Zresult.D, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToUInt64(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svcvt_u64[_f64]_m(svuint64_t inactive, svbool_t pg, svfloat64_t op) + /// FCVTZU Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.D, Pg/M, Zop.D + /// svuint64_t svcvt_u64[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVTZU Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.D, Pg/M, Zop.D + /// svuint64_t svcvt_u64[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZU Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToUInt64(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Count16BitElements : Count the number of 16-bit elements in a vector + + /// + /// uint64_t svcnth() + /// CNTH Xresult, ALL + /// + public static unsafe ulong Count16BitElements() { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svcnth_pat(enum svpattern pattern) + /// CNTH Xresult, pattern + /// + public static unsafe ulong Count16BitElements(enum SveMaskPattern pattern) { throw new PlatformNotSupportedException(); } + + + /// Count32BitElements : Count the number of 32-bit elements in a vector + + /// + /// uint64_t svcntw() + /// CNTW Xresult, ALL + /// + public static unsafe ulong Count32BitElements() { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svcntw_pat(enum svpattern pattern) + /// CNTW Xresult, pattern + /// + public static unsafe ulong Count32BitElements(enum SveMaskPattern pattern) { throw new PlatformNotSupportedException(); } + + + /// Count64BitElements : Count the number of 64-bit elements in a vector + + /// + /// uint64_t svcntd() + /// CNTD Xresult, ALL + /// + public static unsafe ulong Count64BitElements() { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svcntd_pat(enum svpattern pattern) + /// CNTD Xresult, pattern + /// + public static unsafe ulong Count64BitElements(enum SveMaskPattern pattern) { throw new PlatformNotSupportedException(); } + + + /// Count8BitElements : Count the number of 8-bit elements in a vector + + /// + /// uint64_t svcntb() + /// CNTB Xresult, ALL + /// + public static unsafe ulong Count8BitElements() { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svcntb_pat(enum svpattern pattern) + /// CNTB Xresult, pattern + /// + public static unsafe ulong Count8BitElements(enum SveMaskPattern pattern) { throw new PlatformNotSupportedException(); } + + + + /// CreateBreakAfterMask : Break after first true condition + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + + /// CreateBreakAfterPropagateMask : Break after first true condition, propagating from previous partition + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CreateBreakBeforeMask : Break before first true condition + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + + /// CreateBreakBeforePropagateMask : Break before first true condition, propagating from previous partition + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CreateSeries : Create linear series + + /// + /// svint8_t svindex_s8(int8_t base, int8_t step) + /// INDEX Zresult.B, #base, #step + /// INDEX Zresult.B, #base, Wstep + /// INDEX Zresult.B, Wbase, #step + /// INDEX Zresult.B, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(sbyte base, sbyte step) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svindex_s16(int16_t base, int16_t step) + /// INDEX Zresult.H, #base, #step + /// INDEX Zresult.H, #base, Wstep + /// INDEX Zresult.H, Wbase, #step + /// INDEX Zresult.H, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(short base, short step) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svindex_s32(int32_t base, int32_t step) + /// INDEX Zresult.S, #base, #step + /// INDEX Zresult.S, #base, Wstep + /// INDEX Zresult.S, Wbase, #step + /// INDEX Zresult.S, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(int base, int step) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svindex_s64(int64_t base, int64_t step) + /// INDEX Zresult.D, #base, #step + /// INDEX Zresult.D, #base, Xstep + /// INDEX Zresult.D, Xbase, #step + /// INDEX Zresult.D, Xbase, Xstep + /// + public static unsafe Vector CreateSeries(long base, long step) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svindex_u8(uint8_t base, uint8_t step) + /// INDEX Zresult.B, #base, #step + /// INDEX Zresult.B, #base, Wstep + /// INDEX Zresult.B, Wbase, #step + /// INDEX Zresult.B, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(byte base, byte step) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svindex_u16(uint16_t base, uint16_t step) + /// INDEX Zresult.H, #base, #step + /// INDEX Zresult.H, #base, Wstep + /// INDEX Zresult.H, Wbase, #step + /// INDEX Zresult.H, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(ushort base, ushort step) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svindex_u32(uint32_t base, uint32_t step) + /// INDEX Zresult.S, #base, #step + /// INDEX Zresult.S, #base, Wstep + /// INDEX Zresult.S, Wbase, #step + /// INDEX Zresult.S, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(uint base, uint step) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svindex_u64(uint64_t base, uint64_t step) + /// INDEX Zresult.D, #base, #step + /// INDEX Zresult.D, #base, Xstep + /// INDEX Zresult.D, Xbase, #step + /// INDEX Zresult.D, Xbase, Xstep + /// + public static unsafe Vector CreateSeries(ulong base, ulong step) { throw new PlatformNotSupportedException(); } + + + /// CreateWhileLessThanMask : While incrementing scalar is less than + + /// + /// svbool_t svwhilelt_b8[_s32](int32_t op1, int32_t op2) + /// WHILELT Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b8[_s64](int64_t op1, int64_t op2) + /// WHILELT Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b8[_u32](uint32_t op1, uint32_t op2) + /// WHILELO Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b8[_u64](uint64_t op1, uint64_t op2) + /// WHILELO Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b16[_s32](int32_t op1, int32_t op2) + /// WHILELT Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b16[_s64](int64_t op1, int64_t op2) + /// WHILELT Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b16[_u32](uint32_t op1, uint32_t op2) + /// WHILELO Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b16[_u64](uint64_t op1, uint64_t op2) + /// WHILELO Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b32[_s32](int32_t op1, int32_t op2) + /// WHILELT Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b32[_s64](int64_t op1, int64_t op2) + /// WHILELT Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b32[_u32](uint32_t op1, uint32_t op2) + /// WHILELO Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b32[_u64](uint64_t op1, uint64_t op2) + /// WHILELO Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b64[_s32](int32_t op1, int32_t op2) + /// WHILELT Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b64[_s64](int64_t op1, int64_t op2) + /// WHILELT Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b64[_u32](uint32_t op1, uint32_t op2) + /// WHILELO Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilelt_b64[_u64](uint64_t op1, uint64_t op2) + /// WHILELO Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + + /// CreateWhileLessThanOrEqualMask : While incrementing scalar is less than or equal to + + /// + /// svbool_t svwhilele_b8[_s32](int32_t op1, int32_t op2) + /// WHILELE Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b8[_s64](int64_t op1, int64_t op2) + /// WHILELE Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b8[_u32](uint32_t op1, uint32_t op2) + /// WHILELS Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b8[_u64](uint64_t op1, uint64_t op2) + /// WHILELS Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b16[_s32](int32_t op1, int32_t op2) + /// WHILELE Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b16[_s64](int64_t op1, int64_t op2) + /// WHILELE Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b16[_u32](uint32_t op1, uint32_t op2) + /// WHILELS Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b16[_u64](uint64_t op1, uint64_t op2) + /// WHILELS Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b32[_s32](int32_t op1, int32_t op2) + /// WHILELE Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b32[_s64](int64_t op1, int64_t op2) + /// WHILELE Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b32[_u32](uint32_t op1, uint32_t op2) + /// WHILELS Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b32[_u64](uint64_t op1, uint64_t op2) + /// WHILELS Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b64[_s32](int32_t op1, int32_t op2) + /// WHILELE Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b64[_s64](int64_t op1, int64_t op2) + /// WHILELE Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b64[_u32](uint32_t op1, uint32_t op2) + /// WHILELS Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilele_b64[_u64](uint64_t op1, uint64_t op2) + /// WHILELS Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + + /// Divide : Divide + + /// + /// svint32_t svdiv[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svdiv[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SDIVR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svdiv[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SDIVR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Divide(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svdiv[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svdiv[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SDIVR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svdiv[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SDIVR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Divide(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svdiv[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svdiv[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UDIVR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svdiv[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UDIVR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Divide(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svdiv[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svdiv[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UDIVR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svdiv[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UDIVR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Divide(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svdiv[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svdiv[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FDIVR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svdiv[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FDIVR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Divide(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svdiv[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svdiv[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FDIVR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svdiv[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FDIVR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Divide(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + + /// DotProduct : Dot product + + /// + /// svint32_t svdot[_s32](svint32_t op1, svint8_t op2, svint8_t op3) + /// SDOT Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SDOT Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svdot_lane[_s32](svint32_t op1, svint8_t op2, svint8_t op3, uint64_t imm_index) + /// SDOT Ztied1.S, Zop2.B, Zop3.B[imm_index] + /// MOVPRFX Zresult, Zop1; SDOT Zresult.S, Zop2.B, Zop3.B[imm_index] + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svdot[_s64](svint64_t op1, svint16_t op2, svint16_t op3) + /// SDOT Ztied1.D, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SDOT Zresult.D, Zop2.H, Zop3.H + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svdot_lane[_s64](svint64_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SDOT Ztied1.D, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SDOT Zresult.D, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svdot[_u32](svuint32_t op1, svuint8_t op2, svuint8_t op3) + /// UDOT Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UDOT Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svdot_lane[_u32](svuint32_t op1, svuint8_t op2, svuint8_t op3, uint64_t imm_index) + /// UDOT Ztied1.S, Zop2.B, Zop3.B[imm_index] + /// MOVPRFX Zresult, Zop1; UDOT Zresult.S, Zop2.B, Zop3.B[imm_index] + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svdot[_u64](svuint64_t op1, svuint16_t op2, svuint16_t op3) + /// UDOT Ztied1.D, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UDOT Zresult.D, Zop2.H, Zop3.H + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svdot_lane[_u64](svuint64_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// UDOT Ztied1.D, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; UDOT Zresult.D, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// DuplicateSelectedScalarToVector : Broadcast a scalar value + + /// + /// svint8_t svdup[_n]_s8(int8_t op) + /// DUP Zresult.B, #op + /// FDUP Zresult.B, #op + /// DUPM Zresult.B, #op + /// DUP Zresult.B, Wop + /// DUP Zresult.B, Zop.B[0] + /// svint8_t svdup[_n]_s8_m(svint8_t inactive, svbool_t pg, int8_t op) + /// CPY Ztied.B, Pg/M, #op + /// FCPY Ztied.B, Pg/M, #op + /// CPY Ztied.B, Pg/M, Wop + /// CPY Ztied.B, Pg/M, Bop + /// svint8_t svdup[_n]_s8_x(svbool_t pg, int8_t op) + /// CPY Zresult.B, Pg/Z, #op + /// DUP Zresult.B, #op + /// FCPY Zresult.B, Pg/M, #op + /// FDUP Zresult.B, #op + /// DUPM Zresult.B, #op + /// DUP Zresult.B, Wop + /// DUP Zresult.B, Zop.B[0] + /// svint8_t svdup[_n]_s8_z(svbool_t pg, int8_t op) + /// CPY Zresult.B, Pg/Z, #op + /// DUP Zresult.B, #0; FCPY Zresult.B, Pg/M, #op + /// DUP Zresult.B, #0; CPY Zresult.B, Pg/M, Wop + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CPY Zresult.B, Pg/M, Bop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(sbyte value) { throw new PlatformNotSupportedException(); } + + /// + /// svint8_t svdup_lane[_s8](svint8_t data, uint8_t index) + /// DUP Zresult.B, Zdata.B[index] + /// TBL Zresult.B, Zdata.B, Zindex.B + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, byte index) { throw new PlatformNotSupportedException(); } + + /// + /// svint8_t svdupq_lane[_s8](svint8_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svdup[_n]_s16(int16_t op) + /// DUP Zresult.H, #op + /// FDUP Zresult.H, #op + /// DUPM Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svint16_t svdup[_n]_s16_m(svint16_t inactive, svbool_t pg, int16_t op) + /// CPY Ztied.H, Pg/M, #op + /// FCPY Ztied.H, Pg/M, #op + /// CPY Ztied.H, Pg/M, Wop + /// CPY Ztied.H, Pg/M, Hop + /// svint16_t svdup[_n]_s16_x(svbool_t pg, int16_t op) + /// CPY Zresult.H, Pg/Z, #op + /// DUP Zresult.H, #op + /// FCPY Zresult.H, Pg/M, #op + /// FDUP Zresult.H, #op + /// DUPM Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svint16_t svdup[_n]_s16_z(svbool_t pg, int16_t op) + /// CPY Zresult.H, Pg/Z, #op + /// DUP Zresult.H, #0; FCPY Zresult.H, Pg/M, #op + /// DUP Zresult.H, #0; CPY Zresult.H, Pg/M, Wop + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CPY Zresult.H, Pg/M, Hop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(short value) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svdup_lane[_s16](svint16_t data, uint16_t index) + /// DUP Zresult.H, Zdata.H[index] + /// TBL Zresult.H, Zdata.H, Zindex.H + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ushort index) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svdupq_lane[_s16](svint16_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svdup[_n]_s32(int32_t op) + /// DUP Zresult.S, #op + /// FDUP Zresult.S, #op + /// DUPM Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svint32_t svdup[_n]_s32_m(svint32_t inactive, svbool_t pg, int32_t op) + /// CPY Ztied.S, Pg/M, #op + /// FCPY Ztied.S, Pg/M, #op + /// CPY Ztied.S, Pg/M, Wop + /// CPY Ztied.S, Pg/M, Sop + /// svint32_t svdup[_n]_s32_x(svbool_t pg, int32_t op) + /// CPY Zresult.S, Pg/Z, #op + /// DUP Zresult.S, #op + /// FCPY Zresult.S, Pg/M, #op + /// FDUP Zresult.S, #op + /// DUPM Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svint32_t svdup[_n]_s32_z(svbool_t pg, int32_t op) + /// CPY Zresult.S, Pg/Z, #op + /// DUP Zresult.S, #0; FCPY Zresult.S, Pg/M, #op + /// DUP Zresult.S, #0; CPY Zresult.S, Pg/M, Wop + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CPY Zresult.S, Pg/M, Sop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(int value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svdup_lane[_s32](svint32_t data, uint32_t index) + /// DUP Zresult.S, Zdata.S[index] + /// TBL Zresult.S, Zdata.S, Zindex.S + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, uint index) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svdupq_lane[_s32](svint32_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svdup[_n]_s64(int64_t op) + /// DUP Zresult.D, #op + /// FDUP Zresult.D, #op + /// DUPM Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svint64_t svdup[_n]_s64_m(svint64_t inactive, svbool_t pg, int64_t op) + /// CPY Ztied.D, Pg/M, #op + /// FCPY Ztied.D, Pg/M, #op + /// CPY Ztied.D, Pg/M, Xop + /// CPY Ztied.D, Pg/M, Dop + /// svint64_t svdup[_n]_s64_x(svbool_t pg, int64_t op) + /// CPY Zresult.D, Pg/Z, #op + /// DUP Zresult.D, #op + /// FCPY Zresult.D, Pg/M, #op + /// FDUP Zresult.D, #op + /// DUPM Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svint64_t svdup[_n]_s64_z(svbool_t pg, int64_t op) + /// CPY Zresult.D, Pg/Z, #op + /// DUP Zresult.D, #0; FCPY Zresult.D, Pg/M, #op + /// DUP Zresult.D, #0; CPY Zresult.D, Pg/M, Xop + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CPY Zresult.D, Pg/M, Dop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(long value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svdup_lane[_s64](svint64_t data, uint64_t index) + /// DUP Zresult.D, Zdata.D[index] + /// TBL Zresult.D, Zdata.D, Zindex.D + /// svint64_t svdupq_lane[_s64](svint64_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svdup[_n]_u8(uint8_t op) + /// DUP Zresult.B, #op + /// FDUP Zresult.B, #op + /// DUPM Zresult.B, #op + /// DUP Zresult.B, Wop + /// DUP Zresult.B, Zop.B[0] + /// svuint8_t svdup[_n]_u8_m(svuint8_t inactive, svbool_t pg, uint8_t op) + /// CPY Ztied.B, Pg/M, #(int8_t)op + /// FCPY Ztied.B, Pg/M, #op + /// CPY Ztied.B, Pg/M, Wop + /// CPY Ztied.B, Pg/M, Bop + /// svuint8_t svdup[_n]_u8_x(svbool_t pg, uint8_t op) + /// CPY Zresult.B, Pg/Z, #(int8_t)op + /// DUP Zresult.B, #op + /// FCPY Zresult.B, Pg/M, #op + /// FDUP Zresult.B, #op + /// DUPM Zresult.B, #op + /// DUP Zresult.B, Wop + /// DUP Zresult.B, Zop.B[0] + /// svuint8_t svdup[_n]_u8_z(svbool_t pg, uint8_t op) + /// CPY Zresult.B, Pg/Z, #(int8_t)op + /// DUP Zresult.B, #0; FCPY Zresult.B, Pg/M, #op + /// DUP Zresult.B, #0; CPY Zresult.B, Pg/M, Wop + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CPY Zresult.B, Pg/M, Bop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(byte value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svdup_lane[_u8](svuint8_t data, uint8_t index) + /// DUP Zresult.B, Zdata.B[index] + /// TBL Zresult.B, Zdata.B, Zindex.B + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, byte index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svdupq_lane[_u8](svuint8_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svdup[_n]_u16(uint16_t op) + /// DUP Zresult.H, #op + /// FDUP Zresult.H, #op + /// DUPM Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svuint16_t svdup[_n]_u16_m(svuint16_t inactive, svbool_t pg, uint16_t op) + /// CPY Ztied.H, Pg/M, #(int16_t)op + /// FCPY Ztied.H, Pg/M, #op + /// CPY Ztied.H, Pg/M, Wop + /// CPY Ztied.H, Pg/M, Hop + /// svuint16_t svdup[_n]_u16_x(svbool_t pg, uint16_t op) + /// CPY Zresult.H, Pg/Z, #(int16_t)op + /// DUP Zresult.H, #op + /// FCPY Zresult.H, Pg/M, #op + /// FDUP Zresult.H, #op + /// DUPM Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svuint16_t svdup[_n]_u16_z(svbool_t pg, uint16_t op) + /// CPY Zresult.H, Pg/Z, #(int16_t)op + /// DUP Zresult.H, #0; FCPY Zresult.H, Pg/M, #op + /// DUP Zresult.H, #0; CPY Zresult.H, Pg/M, Wop + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CPY Zresult.H, Pg/M, Hop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(ushort value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svdup_lane[_u16](svuint16_t data, uint16_t index) + /// DUP Zresult.H, Zdata.H[index] + /// TBL Zresult.H, Zdata.H, Zindex.H + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ushort index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svdupq_lane[_u16](svuint16_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svdup[_n]_u32(uint32_t op) + /// DUP Zresult.S, #op + /// FDUP Zresult.S, #op + /// DUPM Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svuint32_t svdup[_n]_u32_m(svuint32_t inactive, svbool_t pg, uint32_t op) + /// CPY Ztied.S, Pg/M, #(int32_t)op + /// FCPY Ztied.S, Pg/M, #op + /// CPY Ztied.S, Pg/M, Wop + /// CPY Ztied.S, Pg/M, Sop + /// svuint32_t svdup[_n]_u32_x(svbool_t pg, uint32_t op) + /// CPY Zresult.S, Pg/Z, #(int32_t)op + /// DUP Zresult.S, #op + /// FCPY Zresult.S, Pg/M, #op + /// FDUP Zresult.S, #op + /// DUPM Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svuint32_t svdup[_n]_u32_z(svbool_t pg, uint32_t op) + /// CPY Zresult.S, Pg/Z, #(int32_t)op + /// DUP Zresult.S, #0; FCPY Zresult.S, Pg/M, #op + /// DUP Zresult.S, #0; CPY Zresult.S, Pg/M, Wop + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CPY Zresult.S, Pg/M, Sop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(uint value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svdup_lane[_u32](svuint32_t data, uint32_t index) + /// DUP Zresult.S, Zdata.S[index] + /// TBL Zresult.S, Zdata.S, Zindex.S + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, uint index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svdupq_lane[_u32](svuint32_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svdup[_n]_u64(uint64_t op) + /// DUP Zresult.D, #op + /// FDUP Zresult.D, #op + /// DUPM Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svuint64_t svdup[_n]_u64_m(svuint64_t inactive, svbool_t pg, uint64_t op) + /// CPY Ztied.D, Pg/M, #(int64_t)op + /// FCPY Ztied.D, Pg/M, #op + /// CPY Ztied.D, Pg/M, Xop + /// CPY Ztied.D, Pg/M, Dop + /// svuint64_t svdup[_n]_u64_x(svbool_t pg, uint64_t op) + /// CPY Zresult.D, Pg/Z, #(int64_t)op + /// DUP Zresult.D, #op + /// FCPY Zresult.D, Pg/M, #op + /// FDUP Zresult.D, #op + /// DUPM Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svuint64_t svdup[_n]_u64_z(svbool_t pg, uint64_t op) + /// CPY Zresult.D, Pg/Z, #(int64_t)op + /// DUP Zresult.D, #0; FCPY Zresult.D, Pg/M, #op + /// DUP Zresult.D, #0; CPY Zresult.D, Pg/M, Xop + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CPY Zresult.D, Pg/M, Dop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(ulong value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svdup_lane[_u64](svuint64_t data, uint64_t index) + /// DUP Zresult.D, Zdata.D[index] + /// TBL Zresult.D, Zdata.D, Zindex.D + /// svuint64_t svdupq_lane[_u64](svuint64_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svdup[_n]_f32(float32_t op) + /// DUP Zresult.S, #op + /// FDUP Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svfloat32_t svdup[_n]_f32_m(svfloat32_t inactive, svbool_t pg, float32_t op) + /// CPY Ztied.S, Pg/M, #bitcast(op) + /// FCPY Ztied.S, Pg/M, #op + /// CPY Ztied.S, Pg/M, Wop + /// CPY Ztied.S, Pg/M, Sop + /// svfloat32_t svdup[_n]_f32_x(svbool_t pg, float32_t op) + /// CPY Zresult.S, Pg/Z, #bitcast(op) + /// DUP Zresult.S, #op + /// FCPY Zresult.S, Pg/M, #op + /// FDUP Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svfloat32_t svdup[_n]_f32_z(svbool_t pg, float32_t op) + /// CPY Zresult.S, Pg/Z, #bitcast(op) + /// DUP Zresult.S, #0; FCPY Zresult.S, Pg/M, #op + /// DUP Zresult.S, #0; CPY Zresult.S, Pg/M, Wop + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CPY Zresult.S, Pg/M, Sop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(float value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svdup_lane[_f32](svfloat32_t data, uint32_t index) + /// DUP Zresult.S, Zdata.S[index] + /// TBL Zresult.S, Zdata.S, Zindex.S + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, uint index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svdupq_lane[_f32](svfloat32_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svdup[_n]_f64(float64_t op) + /// DUP Zresult.D, #op + /// FDUP Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svfloat64_t svdup[_n]_f64_m(svfloat64_t inactive, svbool_t pg, float64_t op) + /// CPY Ztied.D, Pg/M, #bitcast(op) + /// FCPY Ztied.D, Pg/M, #op + /// CPY Ztied.D, Pg/M, Xop + /// CPY Ztied.D, Pg/M, Dop + /// svfloat64_t svdup[_n]_f64_x(svbool_t pg, float64_t op) + /// CPY Zresult.D, Pg/Z, #bitcast(op) + /// DUP Zresult.D, #op + /// FCPY Zresult.D, Pg/M, #op + /// FDUP Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svfloat64_t svdup[_n]_f64_z(svbool_t pg, float64_t op) + /// CPY Zresult.D, Pg/Z, #bitcast(op) + /// DUP Zresult.D, #0; FCPY Zresult.D, Pg/M, #op + /// DUP Zresult.D, #0; CPY Zresult.D, Pg/M, Xop + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CPY Zresult.D, Pg/M, Dop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(double value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svdup_lane[_f64](svfloat64_t data, uint64_t index) + /// DUP Zresult.D, Zdata.D[index] + /// TBL Zresult.D, Zdata.D, Zindex.D + /// svfloat64_t svdupq_lane[_f64](svfloat64_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + + /// ExtractAfterLast : Extract element after last + + /// + /// int8_t svlasta[_s8](svbool_t pg, svint8_t op) + /// LASTA Wresult, Pg, Zop.B + /// LASTA Bresult, Pg, Zop.B + /// + public static unsafe sbyte ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int16_t svlasta[_s16](svbool_t pg, svint16_t op) + /// LASTA Wresult, Pg, Zop.H + /// LASTA Hresult, Pg, Zop.H + /// + public static unsafe short ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svlasta[_s32](svbool_t pg, svint32_t op) + /// LASTA Wresult, Pg, Zop.S + /// LASTA Sresult, Pg, Zop.S + /// + public static unsafe int ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svlasta[_s64](svbool_t pg, svint64_t op) + /// LASTA Xresult, Pg, Zop.D + /// LASTA Dresult, Pg, Zop.D + /// + public static unsafe long ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint8_t svlasta[_u8](svbool_t pg, svuint8_t op) + /// LASTA Wresult, Pg, Zop.B + /// LASTA Bresult, Pg, Zop.B + /// + public static unsafe byte ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint16_t svlasta[_u16](svbool_t pg, svuint16_t op) + /// LASTA Wresult, Pg, Zop.H + /// LASTA Hresult, Pg, Zop.H + /// + public static unsafe ushort ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svlasta[_u32](svbool_t pg, svuint32_t op) + /// LASTA Wresult, Pg, Zop.S + /// LASTA Sresult, Pg, Zop.S + /// + public static unsafe uint ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svlasta[_u64](svbool_t pg, svuint64_t op) + /// LASTA Xresult, Pg, Zop.D + /// LASTA Dresult, Pg, Zop.D + /// + public static unsafe ulong ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float32_t svlasta[_f32](svbool_t pg, svfloat32_t op) + /// LASTA Wresult, Pg, Zop.S + /// LASTA Sresult, Pg, Zop.S + /// + public static unsafe float ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float64_t svlasta[_f64](svbool_t pg, svfloat64_t op) + /// LASTA Xresult, Pg, Zop.D + /// LASTA Dresult, Pg, Zop.D + /// + public static unsafe double ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ExtractLast : Extract last element + + /// + /// int8_t svlastb[_s8](svbool_t pg, svint8_t op) + /// LASTB Wresult, Pg, Zop.B + /// LASTB Bresult, Pg, Zop.B + /// + public static unsafe sbyte ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int16_t svlastb[_s16](svbool_t pg, svint16_t op) + /// LASTB Wresult, Pg, Zop.H + /// LASTB Hresult, Pg, Zop.H + /// + public static unsafe short ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svlastb[_s32](svbool_t pg, svint32_t op) + /// LASTB Wresult, Pg, Zop.S + /// LASTB Sresult, Pg, Zop.S + /// + public static unsafe int ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svlastb[_s64](svbool_t pg, svint64_t op) + /// LASTB Xresult, Pg, Zop.D + /// LASTB Dresult, Pg, Zop.D + /// + public static unsafe long ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint8_t svlastb[_u8](svbool_t pg, svuint8_t op) + /// LASTB Wresult, Pg, Zop.B + /// LASTB Bresult, Pg, Zop.B + /// + public static unsafe byte ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint16_t svlastb[_u16](svbool_t pg, svuint16_t op) + /// LASTB Wresult, Pg, Zop.H + /// LASTB Hresult, Pg, Zop.H + /// + public static unsafe ushort ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svlastb[_u32](svbool_t pg, svuint32_t op) + /// LASTB Wresult, Pg, Zop.S + /// LASTB Sresult, Pg, Zop.S + /// + public static unsafe uint ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svlastb[_u64](svbool_t pg, svuint64_t op) + /// LASTB Xresult, Pg, Zop.D + /// LASTB Dresult, Pg, Zop.D + /// + public static unsafe ulong ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float32_t svlastb[_f32](svbool_t pg, svfloat32_t op) + /// LASTB Wresult, Pg, Zop.S + /// LASTB Sresult, Pg, Zop.S + /// + public static unsafe float ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float64_t svlastb[_f64](svbool_t pg, svfloat64_t op) + /// LASTB Xresult, Pg, Zop.D + /// LASTB Dresult, Pg, Zop.D + /// + public static unsafe double ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ExtractVector : Extract vector from pair of vectors + + /// + /// svint8_t svext[_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svext[_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svext[_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svext[_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svext[_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svext[_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svext[_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svext[_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svext[_f32](svfloat32_t op1, svfloat32_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svext[_f64](svfloat64_t op1, svfloat64_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + + /// FalseMask : Set all predicate elements to false + + /// + /// svbool_t svpfalse[_b]() + /// PFALSE Presult.B + /// + public static unsafe Vector FalseMask() { throw new PlatformNotSupportedException(); } + + + /// FloatingPointExponentialAccelerator : Floating-point exponential accelerator + + /// + /// svfloat32_t svexpa[_f32](svuint32_t op) + /// FEXPA Zresult.S, Zop.S + /// + public static unsafe Vector FloatingPointExponentialAccelerator(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svexpa[_f64](svuint64_t op) + /// FEXPA Zresult.D, Zop.D + /// + public static unsafe Vector FloatingPointExponentialAccelerator(Vector value) { throw new PlatformNotSupportedException(); } + + + /// FusedMultiplyAdd : Multiply-add, addend first + + /// + /// svfloat32_t svmla[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; FMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svmla[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// FMAD Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// FMAD Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svmla[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMAD Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; FMAD Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmla_lane[_f32](svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_index) + /// FMLA Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; FMLA Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmla[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; FMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svmla[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// FMAD Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// FMAD Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svmla[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMAD Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; FMAD Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmla_lane[_f64](svfloat64_t op1, svfloat64_t op2, svfloat64_t op3, uint64_t imm_index) + /// FMLA Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; FMLA Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// FusedMultiplyAddNegate : Negated multiply-add, addend first + + /// + /// svfloat32_t svnmla[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FNMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svnmla[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FNMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// FNMAD Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// FNMAD Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svnmla[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FNMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FNMAD Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; FNMAD Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector FusedMultiplyAddNegate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svnmla[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FNMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svnmla[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FNMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// FNMAD Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// FNMAD Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svnmla[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FNMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FNMAD Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; FNMAD Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector FusedMultiplyAddNegate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// FusedMultiplySubtract : Multiply-subtract, minuend first + + /// + /// svfloat32_t svmls[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FMLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; FMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svmls[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FMLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// FMSB Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// FMSB Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svmls[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMSB Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; FMSB Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmls_lane[_f32](svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_index) + /// FMLS Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; FMLS Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmls[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FMLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; FMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svmls[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FMLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// FMSB Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// FMSB Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svmls[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMSB Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; FMSB Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmls_lane[_f64](svfloat64_t op1, svfloat64_t op2, svfloat64_t op3, uint64_t imm_index) + /// FMLS Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; FMLS Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// FusedMultiplySubtractNegate : Negated multiply-subtract, minuend first + + /// + /// svfloat32_t svnmls[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FNMLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svnmls[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FNMLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// FNMSB Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// FNMSB Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svnmls[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FNMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FNMSB Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; FNMSB Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector FusedMultiplySubtractNegate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svnmls[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FNMLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svnmls[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FNMLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// FNMSB Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// FNMSB Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svnmls[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FNMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FNMSB Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; FNMSB Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector FusedMultiplySubtractNegate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// GatherPrefetchBytes : Prefetch bytes + + /// + /// void svprfb_gather_[s32]offset(svbool_t pg, const void *base, svint32_t offsets, enum svprfop op) + /// PRFB op, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, const void *base, Vector offsets, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfb_gather_[s64]offset(svbool_t pg, const void *base, svint64_t offsets, enum svprfop op) + /// PRFB op, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, const void *base, Vector offsets, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfb_gather[_u32base](svbool_t pg, svuint32_t bases, enum svprfop op) + /// PRFB op, Pg, [Zbases.S, #0] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, Vector bases, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfb_gather_[u32]offset(svbool_t pg, const void *base, svuint32_t offsets, enum svprfop op) + /// PRFB op, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, const void *base, Vector offsets, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfb_gather[_u32base]_offset(svbool_t pg, svuint32_t bases, int64_t offset, enum svprfop op) + /// PRFB op, Pg, [Zbases.S, #offset] + /// PRFB op, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, Vector bases, long offset, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfb_gather[_u64base](svbool_t pg, svuint64_t bases, enum svprfop op) + /// PRFB op, Pg, [Zbases.D, #0] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, Vector bases, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfb_gather_[u64]offset(svbool_t pg, const void *base, svuint64_t offsets, enum svprfop op) + /// PRFB op, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, const void *base, Vector offsets, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfb_gather[_u64base]_offset(svbool_t pg, svuint64_t bases, int64_t offset, enum svprfop op) + /// PRFB op, Pg, [Zbases.D, #offset] + /// PRFB op, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, Vector bases, long offset, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + + /// GatherPrefetchInt16 : Prefetch halfwords + + /// + /// void svprfh_gather_[s32]index(svbool_t pg, const void *base, svint32_t indices, enum svprfop op) + /// PRFH op, Pg, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfh_gather_[s64]index(svbool_t pg, const void *base, svint64_t indices, enum svprfop op) + /// PRFH op, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfh_gather[_u32base](svbool_t pg, svuint32_t bases, enum svprfop op) + /// PRFH op, Pg, [Zbases.S, #0] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, Vector bases, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfh_gather_[u32]index(svbool_t pg, const void *base, svuint32_t indices, enum svprfop op) + /// PRFH op, Pg, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfh_gather[_u32base]_index(svbool_t pg, svuint32_t bases, int64_t index, enum svprfop op) + /// PRFH op, Pg, [Zbases.S, #index * 2] + /// PRFB op, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, Vector bases, long index, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfh_gather[_u64base](svbool_t pg, svuint64_t bases, enum svprfop op) + /// PRFH op, Pg, [Zbases.D, #0] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, Vector bases, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfh_gather_[u64]index(svbool_t pg, const void *base, svuint64_t indices, enum svprfop op) + /// PRFH op, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfh_gather[_u64base]_index(svbool_t pg, svuint64_t bases, int64_t index, enum svprfop op) + /// PRFH op, Pg, [Zbases.D, #index * 2] + /// PRFB op, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, Vector bases, long index, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + + /// GatherPrefetchInt32 : Prefetch words + + /// + /// void svprfw_gather[_u32base](svbool_t pg, svuint32_t bases, enum svprfop op) + /// PRFW op, Pg, [Zbases.S, #0] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, Vector bases, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfw_gather_[s32]index(svbool_t pg, const void *base, svint32_t indices, enum svprfop op) + /// PRFW op, Pg, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfw_gather_[s64]index(svbool_t pg, const void *base, svint64_t indices, enum svprfop op) + /// PRFW op, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfw_gather[_u64base](svbool_t pg, svuint64_t bases, enum svprfop op) + /// PRFW op, Pg, [Zbases.D, #0] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, Vector bases, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfw_gather_[u32]index(svbool_t pg, const void *base, svuint32_t indices, enum svprfop op) + /// PRFW op, Pg, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfw_gather_[u64]index(svbool_t pg, const void *base, svuint64_t indices, enum svprfop op) + /// PRFW op, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfw_gather[_u32base]_index(svbool_t pg, svuint32_t bases, int64_t index, enum svprfop op) + /// PRFW op, Pg, [Zbases.S, #index * 4] + /// PRFB op, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, Vector bases, long index, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfw_gather[_u64base]_index(svbool_t pg, svuint64_t bases, int64_t index, enum svprfop op) + /// PRFW op, Pg, [Zbases.D, #index * 4] + /// PRFB op, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, Vector bases, long index, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + + /// GatherPrefetchInt64 : Prefetch doublewords + + /// + /// void svprfd_gather[_u32base](svbool_t pg, svuint32_t bases, enum svprfop op) + /// PRFD op, Pg, [Zbases.S, #0] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, Vector bases, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfd_gather[_u64base](svbool_t pg, svuint64_t bases, enum svprfop op) + /// PRFD op, Pg, [Zbases.D, #0] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, Vector bases, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfd_gather_[s32]index(svbool_t pg, const void *base, svint32_t indices, enum svprfop op) + /// PRFD op, Pg, [Xbase, Zindices.S, SXTW #3] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfd_gather_[s64]index(svbool_t pg, const void *base, svint64_t indices, enum svprfop op) + /// PRFD op, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfd_gather_[u32]index(svbool_t pg, const void *base, svuint32_t indices, enum svprfop op) + /// PRFD op, Pg, [Xbase, Zindices.S, UXTW #3] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfd_gather_[u64]index(svbool_t pg, const void *base, svuint64_t indices, enum svprfop op) + /// PRFD op, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfd_gather[_u32base]_index(svbool_t pg, svuint32_t bases, int64_t index, enum svprfop op) + /// PRFD op, Pg, [Zbases.S, #index * 8] + /// PRFB op, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, Vector bases, long index, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + /// + /// void svprfd_gather[_u64base]_index(svbool_t pg, svuint64_t bases, int64_t index, enum svprfop op) + /// PRFD op, Pg, [Zbases.D, #index * 8] + /// PRFB op, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, Vector bases, long index, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + + /// GatherVector : Unextended load + + /// + /// svint32_t svld1_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1_gather_[s32]offset[_s32](svbool_t pg, const int32_t *base, svint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1_gather_[u32]offset[_s32](svbool_t pg, const int32_t *base, svuint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1_gather_[s32]index[_s32](svbool_t pg, const int32_t *base, svint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1_gather_[u32]index[_s32](svbool_t pg, const int32_t *base, svuint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1_gather_[s64]offset[_s64](svbool_t pg, const int64_t *base, svint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const long *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1_gather_[u64]offset[_s64](svbool_t pg, const int64_t *base, svuint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const long *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1_gather_[s64]index[_s64](svbool_t pg, const int64_t *base, svint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const long *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1_gather_[u64]index[_s64](svbool_t pg, const int64_t *base, svuint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const long *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1_gather_[s32]offset[_u32](svbool_t pg, const uint32_t *base, svint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1_gather_[u32]offset[_u32](svbool_t pg, const uint32_t *base, svuint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1_gather_[s32]index[_u32](svbool_t pg, const uint32_t *base, svint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1_gather_[u32]index[_u32](svbool_t pg, const uint32_t *base, svuint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1_gather_[s64]offset[_u64](svbool_t pg, const uint64_t *base, svint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const ulong *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1_gather_[u64]offset[_u64](svbool_t pg, const uint64_t *base, svuint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const ulong *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1_gather_[s64]index[_u64](svbool_t pg, const uint64_t *base, svint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const ulong *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1_gather_[u64]index[_u64](svbool_t pg, const uint64_t *base, svuint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const ulong *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svld1_gather_[s32]offset[_f32](svbool_t pg, const float32_t *base, svint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const float *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svld1_gather_[s32]index[_f32](svbool_t pg, const float32_t *base, svint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const float *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svld1_gather[_u32base]_f32(svbool_t pg, svuint32_t bases) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svld1_gather_[u32]offset[_f32](svbool_t pg, const float32_t *base, svuint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const float *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svld1_gather_[u32]index[_f32](svbool_t pg, const float32_t *base, svuint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const float *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svld1_gather[_u32base]_offset_f32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svld1_gather[_u32base]_index_f32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svld1_gather_[s64]offset[_f64](svbool_t pg, const float64_t *base, svint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const double *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svld1_gather_[s64]index[_f64](svbool_t pg, const float64_t *base, svint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const double *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svld1_gather[_u64base]_f64(svbool_t pg, svuint64_t bases) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svld1_gather_[u64]offset[_f64](svbool_t pg, const float64_t *base, svuint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const double *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svld1_gather_[u64]index[_f64](svbool_t pg, const float64_t *base, svuint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const double *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svld1_gather[_u64base]_offset_f64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svld1_gather[_u64base]_index_f64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorByteSignExtend : Load 8-bit data and sign-extend + + /// + /// svint32_t svld1sb_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LD1SB Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1sb_gather_[s32]offset_s32(svbool_t pg, const int8_t *base, svint32_t offsets) + /// LD1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1sb_gather_[u32]offset_s32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LD1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1sb_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1SB Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1SB Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sb_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1SB Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sb_gather_[s64]offset_s64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LD1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sb_gather_[u64]offset_s64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LD1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sb_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SB Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SB Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sb_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LD1SB Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sb_gather_[s32]offset_u32(svbool_t pg, const int8_t *base, svint32_t offsets) + /// LD1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sb_gather_[u32]offset_u32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LD1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sb_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1SB Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1SB Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sb_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1SB Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sb_gather_[s64]offset_u64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LD1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sb_gather_[u64]offset_u64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LD1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sb_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SB Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SB Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorByteSignExtendFirstFaulting : Load 8-bit data and sign-extend, first-faulting + + /// + /// svint32_t svldff1sb_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDFF1SB Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1sb_gather_[s32]offset_s32(svbool_t pg, const int8_t *base, svint32_t offsets) + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1sb_gather_[u32]offset_s32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1sb_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1SB Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1SB Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sb_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1SB Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sb_gather_[s64]offset_s64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sb_gather_[u64]offset_s64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sb_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SB Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SB Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sb_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDFF1SB Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sb_gather_[s32]offset_u32(svbool_t pg, const int8_t *base, svint32_t offsets) + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sb_gather_[u32]offset_u32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sb_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1SB Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1SB Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sb_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1SB Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sb_gather_[s64]offset_u64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sb_gather_[u64]offset_u64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sb_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SB Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SB Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorByteZeroExtend : Load 8-bit data and zero-extend + + /// + /// svint32_t svld1ub_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LD1B Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1ub_gather_[s32]offset_s32(svbool_t pg, const uint8_t *base, svint32_t offsets) + /// LD1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1ub_gather_[u32]offset_s32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LD1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1ub_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1B Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1B Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1ub_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1B Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1ub_gather_[s64]offset_s64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LD1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1ub_gather_[u64]offset_s64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LD1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1ub_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1B Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1B Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1ub_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LD1B Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1ub_gather_[s32]offset_u32(svbool_t pg, const uint8_t *base, svint32_t offsets) + /// LD1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1ub_gather_[u32]offset_u32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LD1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1ub_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1B Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1B Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1ub_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1B Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1ub_gather_[s64]offset_u64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LD1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1ub_gather_[u64]offset_u64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LD1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1ub_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1B Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1B Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorByteZeroExtendFirstFaulting : Load 8-bit data and zero-extend, first-faulting + + /// + /// svint32_t svldff1ub_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDFF1B Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1ub_gather_[s32]offset_s32(svbool_t pg, const uint8_t *base, svint32_t offsets) + /// LDFF1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1ub_gather_[u32]offset_s32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LDFF1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1ub_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1B Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1B Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1ub_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1B Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1ub_gather_[s64]offset_s64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LDFF1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1ub_gather_[u64]offset_s64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LDFF1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1ub_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1B Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1B Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1ub_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDFF1B Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1ub_gather_[s32]offset_u32(svbool_t pg, const uint8_t *base, svint32_t offsets) + /// LDFF1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1ub_gather_[u32]offset_u32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LDFF1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1ub_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1B Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1B Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1ub_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1B Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1ub_gather_[s64]offset_u64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LDFF1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1ub_gather_[u64]offset_u64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LDFF1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1ub_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1B Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1B Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorFirstFaulting : Unextended load, first-faulting + + /// + /// svint32_t svldff1_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1_gather_[s32]offset[_s32](svbool_t pg, const int32_t *base, svint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1_gather_[u32]offset[_s32](svbool_t pg, const int32_t *base, svuint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1_gather_[s32]index[_s32](svbool_t pg, const int32_t *base, svint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1_gather_[u32]index[_s32](svbool_t pg, const int32_t *base, svuint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1_gather_[s64]offset[_s64](svbool_t pg, const int64_t *base, svint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const long *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1_gather_[u64]offset[_s64](svbool_t pg, const int64_t *base, svuint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const long *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1_gather_[s64]index[_s64](svbool_t pg, const int64_t *base, svint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const long *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1_gather_[u64]index[_s64](svbool_t pg, const int64_t *base, svuint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const long *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1_gather_[s32]offset[_u32](svbool_t pg, const uint32_t *base, svint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1_gather_[u32]offset[_u32](svbool_t pg, const uint32_t *base, svuint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1_gather_[s32]index[_u32](svbool_t pg, const uint32_t *base, svint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1_gather_[u32]index[_u32](svbool_t pg, const uint32_t *base, svuint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1_gather_[s64]offset[_u64](svbool_t pg, const uint64_t *base, svint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const ulong *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1_gather_[u64]offset[_u64](svbool_t pg, const uint64_t *base, svuint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const ulong *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1_gather_[s64]index[_u64](svbool_t pg, const uint64_t *base, svint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const ulong *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1_gather_[u64]index[_u64](svbool_t pg, const uint64_t *base, svuint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const ulong *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldff1_gather_[s32]offset[_f32](svbool_t pg, const float32_t *base, svint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const float *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldff1_gather_[s32]index[_f32](svbool_t pg, const float32_t *base, svint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const float *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldff1_gather[_u32base]_f32(svbool_t pg, svuint32_t bases) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldff1_gather_[u32]offset[_f32](svbool_t pg, const float32_t *base, svuint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const float *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldff1_gather_[u32]index[_f32](svbool_t pg, const float32_t *base, svuint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const float *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldff1_gather[_u32base]_offset_f32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldff1_gather[_u32base]_index_f32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldff1_gather_[s64]offset[_f64](svbool_t pg, const float64_t *base, svint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const double *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldff1_gather_[s64]index[_f64](svbool_t pg, const float64_t *base, svint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const double *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldff1_gather[_u64base]_f64(svbool_t pg, svuint64_t bases) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldff1_gather_[u64]offset[_f64](svbool_t pg, const float64_t *base, svuint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const double *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldff1_gather_[u64]index[_f64](svbool_t pg, const float64_t *base, svuint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const double *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldff1_gather[_u64base]_offset_f64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldff1_gather[_u64base]_index_f64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt16SignExtend : Load 16-bit data and sign-extend + + /// + /// svint32_t svld1sh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1sh_gather_[s32]offset_s32(svbool_t pg, const int16_t *base, svint32_t offsets) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1sh_gather_[u32]offset_s32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1sh_gather_[s32]index_s32(svbool_t pg, const int16_t *base, svint32_t indices) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1sh_gather_[u32]index_s32(svbool_t pg, const int16_t *base, svuint32_t indices) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1sh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1sh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LD1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sh_gather_[s64]offset_s64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sh_gather_[u64]offset_s64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sh_gather_[s64]index_s64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sh_gather_[u64]index_s64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LD1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sh_gather_[s32]offset_u32(svbool_t pg, const int16_t *base, svint32_t offsets) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sh_gather_[u32]offset_u32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sh_gather_[s32]index_u32(svbool_t pg, const int16_t *base, svint32_t indices) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sh_gather_[u32]index_u32(svbool_t pg, const int16_t *base, svuint32_t indices) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1sh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LD1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sh_gather_[s64]offset_u64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sh_gather_[u64]offset_u64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sh_gather_[s64]index_u64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sh_gather_[u64]index_u64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LD1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt16SignExtendFirstFaulting : Load 16-bit data and sign-extend, first-faulting + + /// + /// svint32_t svldff1sh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1sh_gather_[s32]offset_s32(svbool_t pg, const int16_t *base, svint32_t offsets) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1sh_gather_[u32]offset_s32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1sh_gather_[s32]index_s32(svbool_t pg, const int16_t *base, svint32_t indices) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1sh_gather_[u32]index_s32(svbool_t pg, const int16_t *base, svuint32_t indices) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1sh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1sh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LDFF1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sh_gather_[s64]offset_s64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sh_gather_[u64]offset_s64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sh_gather_[s64]index_s64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sh_gather_[u64]index_s64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LDFF1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sh_gather_[s32]offset_u32(svbool_t pg, const int16_t *base, svint32_t offsets) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sh_gather_[u32]offset_u32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sh_gather_[s32]index_u32(svbool_t pg, const int16_t *base, svint32_t indices) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sh_gather_[u32]index_u32(svbool_t pg, const int16_t *base, svuint32_t indices) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LDFF1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sh_gather_[s64]offset_u64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sh_gather_[u64]offset_u64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sh_gather_[s64]index_u64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sh_gather_[u64]index_u64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LDFF1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt16ZeroExtend : Load 16-bit data and zero-extend + + /// + /// svint32_t svld1uh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1uh_gather_[s32]offset_s32(svbool_t pg, const uint16_t *base, svint32_t offsets) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1uh_gather_[u32]offset_s32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1uh_gather_[s32]index_s32(svbool_t pg, const uint16_t *base, svint32_t indices) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1uh_gather_[u32]index_s32(svbool_t pg, const uint16_t *base, svuint32_t indices) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1uh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1uh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LD1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uh_gather_[s64]offset_s64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uh_gather_[u64]offset_s64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uh_gather_[s64]index_s64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uh_gather_[u64]index_s64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LD1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1uh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1uh_gather_[s32]offset_u32(svbool_t pg, const uint16_t *base, svint32_t offsets) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1uh_gather_[u32]offset_u32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1uh_gather_[s32]index_u32(svbool_t pg, const uint16_t *base, svint32_t indices) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1uh_gather_[u32]index_u32(svbool_t pg, const uint16_t *base, svuint32_t indices) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1uh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1uh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LD1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uh_gather_[s64]offset_u64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uh_gather_[u64]offset_u64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uh_gather_[s64]index_u64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uh_gather_[u64]index_u64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LD1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt16ZeroExtendFirstFaulting : Load 16-bit data and zero-extend, first-faulting + + /// + /// svint32_t svldff1uh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1uh_gather_[s32]offset_s32(svbool_t pg, const uint16_t *base, svint32_t offsets) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1uh_gather_[u32]offset_s32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1uh_gather_[s32]index_s32(svbool_t pg, const uint16_t *base, svint32_t indices) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1uh_gather_[u32]index_s32(svbool_t pg, const uint16_t *base, svuint32_t indices) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1uh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1uh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LDFF1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uh_gather_[s64]offset_s64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uh_gather_[u64]offset_s64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uh_gather_[s64]index_s64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uh_gather_[u64]index_s64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LDFF1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1uh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1uh_gather_[s32]offset_u32(svbool_t pg, const uint16_t *base, svint32_t offsets) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1uh_gather_[u32]offset_u32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1uh_gather_[s32]index_u32(svbool_t pg, const uint16_t *base, svint32_t indices) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1uh_gather_[u32]index_u32(svbool_t pg, const uint16_t *base, svuint32_t indices) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1uh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1uh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LDFF1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uh_gather_[s64]offset_u64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uh_gather_[u64]offset_u64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uh_gather_[s64]index_u64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uh_gather_[u64]index_u64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LDFF1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt32SignExtend : Load 32-bit data and sign-extend + + /// + /// svint64_t svld1sw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sw_gather_[s64]offset_s64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sw_gather_[u64]offset_s64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sw_gather_[s64]index_s64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sw_gather_[u64]index_s64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1sw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LD1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sw_gather_[s64]offset_u64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sw_gather_[u64]offset_u64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sw_gather_[s64]index_u64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sw_gather_[u64]index_u64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1sw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LD1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt32SignExtendFirstFaulting : Load 32-bit data and sign-extend, first-faulting + + /// + /// svint64_t svldff1sw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sw_gather_[s64]offset_s64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sw_gather_[u64]offset_s64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sw_gather_[s64]index_s64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sw_gather_[u64]index_s64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LDFF1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sw_gather_[s64]offset_u64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sw_gather_[u64]offset_u64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sw_gather_[s64]index_u64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sw_gather_[u64]index_u64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LDFF1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt32ZeroExtend : Load 32-bit data and zero-extend + + /// + /// svint64_t svld1uw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uw_gather_[s64]offset_s64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uw_gather_[u64]offset_s64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uw_gather_[s64]index_s64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uw_gather_[u64]index_s64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1uw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LD1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uw_gather_[s64]offset_u64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uw_gather_[u64]offset_u64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uw_gather_[s64]index_u64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uw_gather_[u64]index_u64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1uw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LD1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt32ZeroExtendFirstFaulting : Load 32-bit data and zero-extend, first-faulting + + /// + /// svint64_t svldff1uw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uw_gather_[s64]offset_s64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uw_gather_[u64]offset_s64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uw_gather_[s64]index_s64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uw_gather_[u64]index_s64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LDFF1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uw_gather_[s64]offset_u64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uw_gather_[u64]offset_u64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uw_gather_[s64]index_u64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uw_gather_[u64]index_u64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LDFF1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GetActiveElementCount : Count set predicate bits + + /// + /// uint64_t svcntp_b8(svbool_t pg, svbool_t op) + /// CNTP Xresult, Pg, Pop.B + /// + public static unsafe ulong GetActiveElementCount(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svcntp_b16(svbool_t pg, svbool_t op) + /// CNTP Xresult, Pg, Pop.H + /// + public static unsafe ulong GetActiveElementCount(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svcntp_b32(svbool_t pg, svbool_t op) + /// CNTP Xresult, Pg, Pop.S + /// + public static unsafe ulong GetActiveElementCount(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svcntp_b64(svbool_t pg, svbool_t op) + /// CNTP Xresult, Pg, Pop.D + /// + public static unsafe ulong GetActiveElementCount(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + + /// GetFFR : Read FFR, returning predicate of succesfully loaded elements + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() { throw new PlatformNotSupportedException(); } + + + /// InsertIntoShiftedVector : Insert scalar into shifted vector + + /// + /// svint8_t svinsr[_n_s8](svint8_t op1, int8_t op2) + /// INSR Ztied1.B, Wop2 + /// INSR Ztied1.B, Bop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, sbyte right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svinsr[_n_s16](svint16_t op1, int16_t op2) + /// INSR Ztied1.H, Wop2 + /// INSR Ztied1.H, Hop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, short right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svinsr[_n_s32](svint32_t op1, int32_t op2) + /// INSR Ztied1.S, Wop2 + /// INSR Ztied1.S, Sop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svinsr[_n_s64](svint64_t op1, int64_t op2) + /// INSR Ztied1.D, Xop2 + /// INSR Ztied1.D, Dop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svinsr[_n_u8](svuint8_t op1, uint8_t op2) + /// INSR Ztied1.B, Wop2 + /// INSR Ztied1.B, Bop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, byte right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svinsr[_n_u16](svuint16_t op1, uint16_t op2) + /// INSR Ztied1.H, Wop2 + /// INSR Ztied1.H, Hop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, ushort right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svinsr[_n_u32](svuint32_t op1, uint32_t op2) + /// INSR Ztied1.S, Wop2 + /// INSR Ztied1.S, Sop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svinsr[_n_u64](svuint64_t op1, uint64_t op2) + /// INSR Ztied1.D, Xop2 + /// INSR Ztied1.D, Dop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svinsr[_n_f32](svfloat32_t op1, float32_t op2) + /// INSR Ztied1.S, Wop2 + /// INSR Ztied1.S, Sop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, float right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svinsr[_n_f64](svfloat64_t op1, float64_t op2) + /// INSR Ztied1.D, Xop2 + /// INSR Ztied1.D, Dop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, double right) { throw new PlatformNotSupportedException(); } + + + /// LeadingSignCount : Count leading sign bits + + /// + /// svuint8_t svcls[_s8]_m(svuint8_t inactive, svbool_t pg, svint8_t op) + /// CLS Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CLS Zresult.B, Pg/M, Zop.B + /// svuint8_t svcls[_s8]_x(svbool_t pg, svint8_t op) + /// CLS Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CLS Zresult.B, Pg/M, Zop.B + /// svuint8_t svcls[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CLS Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector LeadingSignCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svcls[_s16]_m(svuint16_t inactive, svbool_t pg, svint16_t op) + /// CLS Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CLS Zresult.H, Pg/M, Zop.H + /// svuint16_t svcls[_s16]_x(svbool_t pg, svint16_t op) + /// CLS Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CLS Zresult.H, Pg/M, Zop.H + /// svuint16_t svcls[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CLS Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector LeadingSignCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svcls[_s32]_m(svuint32_t inactive, svbool_t pg, svint32_t op) + /// CLS Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CLS Zresult.S, Pg/M, Zop.S + /// svuint32_t svcls[_s32]_x(svbool_t pg, svint32_t op) + /// CLS Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CLS Zresult.S, Pg/M, Zop.S + /// svuint32_t svcls[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CLS Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector LeadingSignCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svcls[_s64]_m(svuint64_t inactive, svbool_t pg, svint64_t op) + /// CLS Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CLS Zresult.D, Pg/M, Zop.D + /// svuint64_t svcls[_s64]_x(svbool_t pg, svint64_t op) + /// CLS Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CLS Zresult.D, Pg/M, Zop.D + /// svuint64_t svcls[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CLS Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector LeadingSignCount(Vector value) { throw new PlatformNotSupportedException(); } + + + /// LeadingZeroCount : Count leading zero bits + + /// + /// svuint8_t svclz[_s8]_m(svuint8_t inactive, svbool_t pg, svint8_t op) + /// CLZ Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.B, Pg/M, Zop.B + /// svuint8_t svclz[_s8]_x(svbool_t pg, svint8_t op) + /// CLZ Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CLZ Zresult.B, Pg/M, Zop.B + /// svuint8_t svclz[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CLZ Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector LeadingZeroCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svclz[_u8]_m(svuint8_t inactive, svbool_t pg, svuint8_t op) + /// CLZ Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.B, Pg/M, Zop.B + /// svuint8_t svclz[_u8]_x(svbool_t pg, svuint8_t op) + /// CLZ Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CLZ Zresult.B, Pg/M, Zop.B + /// svuint8_t svclz[_u8]_z(svbool_t pg, svuint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CLZ Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector LeadingZeroCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svclz[_s16]_m(svuint16_t inactive, svbool_t pg, svint16_t op) + /// CLZ Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.H, Pg/M, Zop.H + /// svuint16_t svclz[_s16]_x(svbool_t pg, svint16_t op) + /// CLZ Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CLZ Zresult.H, Pg/M, Zop.H + /// svuint16_t svclz[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CLZ Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector LeadingZeroCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svclz[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// CLZ Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.H, Pg/M, Zop.H + /// svuint16_t svclz[_u16]_x(svbool_t pg, svuint16_t op) + /// CLZ Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CLZ Zresult.H, Pg/M, Zop.H + /// svuint16_t svclz[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CLZ Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector LeadingZeroCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svclz[_s32]_m(svuint32_t inactive, svbool_t pg, svint32_t op) + /// CLZ Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.S, Pg/M, Zop.S + /// svuint32_t svclz[_s32]_x(svbool_t pg, svint32_t op) + /// CLZ Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CLZ Zresult.S, Pg/M, Zop.S + /// svuint32_t svclz[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CLZ Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector LeadingZeroCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svclz[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// CLZ Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.S, Pg/M, Zop.S + /// svuint32_t svclz[_u32]_x(svbool_t pg, svuint32_t op) + /// CLZ Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CLZ Zresult.S, Pg/M, Zop.S + /// svuint32_t svclz[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CLZ Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector LeadingZeroCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svclz[_s64]_m(svuint64_t inactive, svbool_t pg, svint64_t op) + /// CLZ Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.D, Pg/M, Zop.D + /// svuint64_t svclz[_s64]_x(svbool_t pg, svint64_t op) + /// CLZ Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CLZ Zresult.D, Pg/M, Zop.D + /// svuint64_t svclz[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CLZ Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector LeadingZeroCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svclz[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// CLZ Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.D, Pg/M, Zop.D + /// svuint64_t svclz[_u64]_x(svbool_t pg, svuint64_t op) + /// CLZ Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CLZ Zresult.D, Pg/M, Zop.D + /// svuint64_t svclz[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CLZ Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector LeadingZeroCount(Vector value) { throw new PlatformNotSupportedException(); } + + + /// LoadVector : Unextended load + + /// + /// svint8_t svld1[_s8](svbool_t pg, const int8_t *base) + /// LD1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svld1[_s16](svbool_t pg, const int16_t *base) + /// LD1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1[_s32](svbool_t pg, const int32_t *base) + /// LD1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1[_s64](svbool_t pg, const int64_t *base) + /// LD1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const long *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svld1[_u8](svbool_t pg, const uint8_t *base) + /// LD1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svld1[_u16](svbool_t pg, const uint16_t *base) + /// LD1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1[_u32](svbool_t pg, const uint32_t *base) + /// LD1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1[_u64](svbool_t pg, const uint64_t *base) + /// LD1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const ulong *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svld1[_f32](svbool_t pg, const float32_t *base) + /// LD1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const float *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svld1[_f64](svbool_t pg, const float64_t *base) + /// LD1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const double *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVector128AndReplicateToVector : Load and replicate 128 bits of data + + /// + /// svint8_t svld1rq[_s8](svbool_t pg, const int8_t *base) + /// LD1RQB Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1RQB Zresult.B, Pg/Z, [Xarray, #index] + /// LD1RQB Zresult.B, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svld1rq[_s16](svbool_t pg, const int16_t *base) + /// LD1RQH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1RQH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1RQH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1rq[_s32](svbool_t pg, const int32_t *base) + /// LD1RQW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1RQW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1RQW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1rq[_s64](svbool_t pg, const int64_t *base) + /// LD1RQD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1RQD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1RQD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const long *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svld1rq[_u8](svbool_t pg, const uint8_t *base) + /// LD1RQB Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1RQB Zresult.B, Pg/Z, [Xarray, #index] + /// LD1RQB Zresult.B, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svld1rq[_u16](svbool_t pg, const uint16_t *base) + /// LD1RQH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1RQH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1RQH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1rq[_u32](svbool_t pg, const uint32_t *base) + /// LD1RQW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1RQW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1RQW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1rq[_u64](svbool_t pg, const uint64_t *base) + /// LD1RQD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1RQD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1RQD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const ulong *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svld1rq[_f32](svbool_t pg, const float32_t *base) + /// LD1RQW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1RQW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1RQW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const float *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svld1rq[_f64](svbool_t pg, const float64_t *base) + /// LD1RQD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1RQD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1RQD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const double *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendFirstFaulting : Load 8-bit data and sign-extend, first-faulting + + /// + /// svint16_t svldff1sb_s16(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.H, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.H, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1sb_s32(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.S, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sb_s64(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.D, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svldff1sb_u16(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.H, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.H, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sb_u32(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.S, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sb_u64(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.D, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendNonFaultingToInt16 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svint16_t svldnf1sb_s16(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToInt16(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendNonFaultingToInt32 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svint32_t svldnf1sb_s32(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToInt32(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendNonFaultingToInt64 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svint64_t svldnf1sb_s64(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToInt64(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendNonFaultingToUInt16 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svuint16_t svldnf1sb_u16(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToUInt16(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendNonFaultingToUInt32 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svuint32_t svldnf1sb_u32(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToUInt32(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendNonFaultingToUInt64 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svuint64_t svldnf1sb_u64(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToUInt64(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendToInt16 : Load 8-bit data and sign-extend + + /// + /// svint16_t svld1sb_s16(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.H, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToInt16(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendToInt32 : Load 8-bit data and sign-extend + + /// + /// svint32_t svld1sb_s32(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.S, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToInt32(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendToInt64 : Load 8-bit data and sign-extend + + /// + /// svint64_t svld1sb_s64(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.D, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToInt64(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendToUInt16 : Load 8-bit data and sign-extend + + /// + /// svuint16_t svld1sb_u16(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.H, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToUInt16(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendToUInt32 : Load 8-bit data and sign-extend + + /// + /// svuint32_t svld1sb_u32(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.S, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToUInt32(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteSignExtendToUInt64 : Load 8-bit data and sign-extend + + /// + /// svuint64_t svld1sb_u64(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.D, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToUInt64(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendFirstFaulting : Load 8-bit data and zero-extend, first-faulting + + /// + /// svint16_t svldff1ub_s16(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.H, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.H, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1ub_s32(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.S, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.S, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1ub_s64(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.D, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.D, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svldff1ub_u16(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.H, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.H, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1ub_u32(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.S, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.S, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1ub_u64(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.D, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.D, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendNonFaultingToInt16 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svint16_t svldnf1ub_s16(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToInt16(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendNonFaultingToInt32 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svint32_t svldnf1ub_s32(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToInt32(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendNonFaultingToInt64 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svint64_t svldnf1ub_s64(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToInt64(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendNonFaultingToUInt16 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svuint16_t svldnf1ub_u16(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToUInt16(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendNonFaultingToUInt32 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svuint32_t svldnf1ub_u32(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToUInt32(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendNonFaultingToUInt64 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svuint64_t svldnf1ub_u64(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToUInt64(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendToInt16 : Load 8-bit data and zero-extend + + /// + /// svint16_t svld1ub_s16(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.H, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToInt16(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendToInt32 : Load 8-bit data and zero-extend + + /// + /// svint32_t svld1ub_s32(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.S, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToInt32(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendToInt64 : Load 8-bit data and zero-extend + + /// + /// svint64_t svld1ub_s64(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.D, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToInt64(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendToUInt16 : Load 8-bit data and zero-extend + + /// + /// svuint16_t svld1ub_u16(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.H, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToUInt16(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendToUInt32 : Load 8-bit data and zero-extend + + /// + /// svuint32_t svld1ub_u32(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.S, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToUInt32(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorByteZeroExtendToUInt64 : Load 8-bit data and zero-extend + + /// + /// svuint64_t svld1ub_u64(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.D, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToUInt64(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorFirstFaulting : Unextended load, first-faulting + + /// + /// svint8_t svldff1[_s8](svbool_t pg, const int8_t *base) + /// LDFF1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.B, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svldff1[_s16](svbool_t pg, const int16_t *base) + /// LDFF1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.H, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldff1[_s32](svbool_t pg, const int32_t *base) + /// LDFF1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1W Zresult.S, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1[_s64](svbool_t pg, const int64_t *base) + /// LDFF1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDFF1D Zresult.D, Pg/Z, [Xbase, XZR, LSL #3] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const long *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svldff1[_u8](svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.B, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svldff1[_u16](svbool_t pg, const uint16_t *base) + /// LDFF1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.H, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1[_u32](svbool_t pg, const uint32_t *base) + /// LDFF1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1W Zresult.S, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1[_u64](svbool_t pg, const uint64_t *base) + /// LDFF1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDFF1D Zresult.D, Pg/Z, [Xbase, XZR, LSL #3] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const ulong *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldff1[_f32](svbool_t pg, const float32_t *base) + /// LDFF1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1W Zresult.S, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const float *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldff1[_f64](svbool_t pg, const float64_t *base) + /// LDFF1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDFF1D Zresult.D, Pg/Z, [Xbase, XZR, LSL #3] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const double *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16SignExtendFirstFaulting : Load 16-bit data and sign-extend, first-faulting + + /// + /// svint32_t svldff1sh_s32(svbool_t pg, const int16_t *base) + /// LDFF1SH Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16SignExtendFirstFaulting(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1sh_s64(svbool_t pg, const int16_t *base) + /// LDFF1SH Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16SignExtendFirstFaulting(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1sh_u32(svbool_t pg, const int16_t *base) + /// LDFF1SH Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16SignExtendFirstFaulting(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sh_u64(svbool_t pg, const int16_t *base) + /// LDFF1SH Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16SignExtendFirstFaulting(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16SignExtendNonFaultingToInt32 : Load 16-bit data and sign-extend, non-faulting + + /// + /// svint32_t svldnf1sh_s32(svbool_t pg, const int16_t *base) + /// LDNF1SH Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendNonFaultingToInt32(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16SignExtendNonFaultingToInt64 : Load 16-bit data and sign-extend, non-faulting + + /// + /// svint64_t svldnf1sh_s64(svbool_t pg, const int16_t *base) + /// LDNF1SH Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendNonFaultingToInt64(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16SignExtendNonFaultingToUInt32 : Load 16-bit data and sign-extend, non-faulting + + /// + /// svuint32_t svldnf1sh_u32(svbool_t pg, const int16_t *base) + /// LDNF1SH Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendNonFaultingToUInt32(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16SignExtendNonFaultingToUInt64 : Load 16-bit data and sign-extend, non-faulting + + /// + /// svuint64_t svldnf1sh_u64(svbool_t pg, const int16_t *base) + /// LDNF1SH Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendNonFaultingToUInt64(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16SignExtendToInt32 : Load 16-bit data and sign-extend + + /// + /// svint32_t svld1sh_s32(svbool_t pg, const int16_t *base) + /// LD1SH Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1SH Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendToInt32(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16SignExtendToInt64 : Load 16-bit data and sign-extend + + /// + /// svint64_t svld1sh_s64(svbool_t pg, const int16_t *base) + /// LD1SH Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1SH Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendToInt64(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16SignExtendToUInt32 : Load 16-bit data and sign-extend + + /// + /// svuint32_t svld1sh_u32(svbool_t pg, const int16_t *base) + /// LD1SH Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1SH Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendToUInt32(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16SignExtendToUInt64 : Load 16-bit data and sign-extend + + /// + /// svuint64_t svld1sh_u64(svbool_t pg, const int16_t *base) + /// LD1SH Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1SH Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendToUInt64(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16ZeroExtendFirstFaulting : Load 16-bit data and zero-extend, first-faulting + + /// + /// svint32_t svldff1uh_s32(svbool_t pg, const uint16_t *base) + /// LDFF1H Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.S, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldff1uh_s64(svbool_t pg, const uint16_t *base) + /// LDFF1H Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.D, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldff1uh_u32(svbool_t pg, const uint16_t *base) + /// LDFF1H Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.S, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uh_u64(svbool_t pg, const uint16_t *base) + /// LDFF1H Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.D, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16ZeroExtendNonFaultingToInt32 : Load 16-bit data and zero-extend, non-faulting + + /// + /// svint32_t svldnf1uh_s32(svbool_t pg, const uint16_t *base) + /// LDNF1H Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendNonFaultingToInt32(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16ZeroExtendNonFaultingToInt64 : Load 16-bit data and zero-extend, non-faulting + + /// + /// svint64_t svldnf1uh_s64(svbool_t pg, const uint16_t *base) + /// LDNF1H Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendNonFaultingToInt64(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16ZeroExtendNonFaultingToUInt32 : Load 16-bit data and zero-extend, non-faulting + + /// + /// svuint32_t svldnf1uh_u32(svbool_t pg, const uint16_t *base) + /// LDNF1H Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendNonFaultingToUInt32(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16ZeroExtendNonFaultingToUInt64 : Load 16-bit data and zero-extend, non-faulting + + /// + /// svuint64_t svldnf1uh_u64(svbool_t pg, const uint16_t *base) + /// LDNF1H Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendNonFaultingToUInt64(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16ZeroExtendToInt32 : Load 16-bit data and zero-extend + + /// + /// svint32_t svld1uh_s32(svbool_t pg, const uint16_t *base) + /// LD1H Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendToInt32(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16ZeroExtendToInt64 : Load 16-bit data and zero-extend + + /// + /// svint64_t svld1uh_s64(svbool_t pg, const uint16_t *base) + /// LD1H Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendToInt64(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16ZeroExtendToUInt32 : Load 16-bit data and zero-extend + + /// + /// svuint32_t svld1uh_u32(svbool_t pg, const uint16_t *base) + /// LD1H Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendToUInt32(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt16ZeroExtendToUInt64 : Load 16-bit data and zero-extend + + /// + /// svuint64_t svld1uh_u64(svbool_t pg, const uint16_t *base) + /// LD1H Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendToUInt64(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt32SignExtendFirstFaulting : Load 32-bit data and sign-extend, first-faulting + + /// + /// svint64_t svldff1sw_s64(svbool_t pg, const int32_t *base) + /// LDFF1SW Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorInt32SignExtendFirstFaulting(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1sw_u64(svbool_t pg, const int32_t *base) + /// LDFF1SW Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorInt32SignExtendFirstFaulting(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt32SignExtendNonFaultingToInt64 : Load 32-bit data and sign-extend, non-faulting + + /// + /// svint64_t svldnf1sw_s64(svbool_t pg, const int32_t *base) + /// LDNF1SW Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32SignExtendNonFaultingToInt64(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt32SignExtendNonFaultingToUInt64 : Load 32-bit data and sign-extend, non-faulting + + /// + /// svuint64_t svldnf1sw_u64(svbool_t pg, const int32_t *base) + /// LDNF1SW Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32SignExtendNonFaultingToUInt64(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt32SignExtendToInt64 : Load 32-bit data and sign-extend + + /// + /// svint64_t svld1sw_s64(svbool_t pg, const int32_t *base) + /// LD1SW Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1SW Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32SignExtendToInt64(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt32SignExtendToUInt64 : Load 32-bit data and sign-extend + + /// + /// svuint64_t svld1sw_u64(svbool_t pg, const int32_t *base) + /// LD1SW Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1SW Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32SignExtendToUInt64(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt32ZeroExtendFirstFaulting : Load 32-bit data and zero-extend, first-faulting + + /// + /// svint64_t svldff1uw_s64(svbool_t pg, const uint32_t *base) + /// LDFF1W Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1W Zresult.D, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldff1uw_u64(svbool_t pg, const uint32_t *base) + /// LDFF1W Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1W Zresult.D, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt32ZeroExtendNonFaultingToInt64 : Load 32-bit data and zero-extend, non-faulting + + /// + /// svint64_t svldnf1uw_s64(svbool_t pg, const uint32_t *base) + /// LDNF1W Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendNonFaultingToInt64(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt32ZeroExtendNonFaultingToUInt64 : Load 32-bit data and zero-extend, non-faulting + + /// + /// svuint64_t svldnf1uw_u64(svbool_t pg, const uint32_t *base) + /// LDNF1W Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendNonFaultingToUInt64(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt32ZeroExtendToInt64 : Load 32-bit data and zero-extend + + /// + /// svint64_t svld1uw_s64(svbool_t pg, const uint32_t *base) + /// LD1W Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1W Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendToInt64(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorInt32ZeroExtendToUInt64 : Load 32-bit data and zero-extend + + /// + /// svuint64_t svld1uw_u64(svbool_t pg, const uint32_t *base) + /// LD1W Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1W Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendToUInt64(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorNonFaulting : Unextended load, non-faulting + + /// + /// svint8_t svldnf1[_s8](svbool_t pg, const int8_t *base) + /// LDNF1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svldnf1[_s16](svbool_t pg, const int16_t *base) + /// LDNF1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnf1[_s32](svbool_t pg, const int32_t *base) + /// LDNF1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnf1[_s64](svbool_t pg, const int64_t *base) + /// LDNF1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const long *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svldnf1[_u8](svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svldnf1[_u16](svbool_t pg, const uint16_t *base) + /// LDNF1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnf1[_u32](svbool_t pg, const uint32_t *base) + /// LDNF1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnf1[_u64](svbool_t pg, const uint64_t *base) + /// LDNF1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const ulong *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldnf1[_f32](svbool_t pg, const float32_t *base) + /// LDNF1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const float *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldnf1[_f64](svbool_t pg, const float64_t *base) + /// LDNF1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const double *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorNonTemporal : Unextended load, non-temporal + + /// + /// svint8_t svldnt1[_s8](svbool_t pg, const int8_t *base) + /// LDNT1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LDNT1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svldnt1[_s16](svbool_t pg, const int16_t *base) + /// LDNT1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDNT1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1[_s32](svbool_t pg, const int32_t *base) + /// LDNT1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDNT1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1[_s64](svbool_t pg, const int64_t *base) + /// LDNT1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDNT1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const long *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svldnt1[_u8](svbool_t pg, const uint8_t *base) + /// LDNT1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LDNT1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svldnt1[_u16](svbool_t pg, const uint16_t *base) + /// LDNT1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDNT1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1[_u32](svbool_t pg, const uint32_t *base) + /// LDNT1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDNT1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1[_u64](svbool_t pg, const uint64_t *base) + /// LDNT1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDNT1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const ulong *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldnt1[_f32](svbool_t pg, const float32_t *base) + /// LDNT1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDNT1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const float *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldnt1[_f64](svbool_t pg, const float64_t *base) + /// LDNT1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDNT1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const double *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorx2 : Load two-element tuples into two vectors + + /// + /// svint8x2_t svld2[_s8](svbool_t pg, const int8_t *base) + /// LD2B {Zresult0.B, Zresult1.B}, Pg/Z, [Xarray, Xindex] + /// LD2B {Zresult0.B, Zresult1.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint16x2_t svld2[_s16](svbool_t pg, const int16_t *base) + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32x2_t svld2[_s32](svbool_t pg, const int32_t *base) + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64x2_t svld2[_s64](svbool_t pg, const int64_t *base) + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const long *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8x2_t svld2[_u8](svbool_t pg, const uint8_t *base) + /// LD2B {Zresult0.B, Zresult1.B}, Pg/Z, [Xarray, Xindex] + /// LD2B {Zresult0.B, Zresult1.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16x2_t svld2[_u16](svbool_t pg, const uint16_t *base) + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32x2_t svld2[_u32](svbool_t pg, const uint32_t *base) + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64x2_t svld2[_u64](svbool_t pg, const uint64_t *base) + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const ulong *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32x2_t svld2[_f32](svbool_t pg, const float32_t *base) + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const float *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64x2_t svld2[_f64](svbool_t pg, const float64_t *base) + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const double *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorx3 : Load three-element tuples into three vectors + + /// + /// svint8x3_t svld3[_s8](svbool_t pg, const int8_t *base) + /// LD3B {Zresult0.B - Zresult2.B}, Pg/Z, [Xarray, Xindex] + /// LD3B {Zresult0.B - Zresult2.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint16x3_t svld3[_s16](svbool_t pg, const int16_t *base) + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32x3_t svld3[_s32](svbool_t pg, const int32_t *base) + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64x3_t svld3[_s64](svbool_t pg, const int64_t *base) + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const long *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8x3_t svld3[_u8](svbool_t pg, const uint8_t *base) + /// LD3B {Zresult0.B - Zresult2.B}, Pg/Z, [Xarray, Xindex] + /// LD3B {Zresult0.B - Zresult2.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16x3_t svld3[_u16](svbool_t pg, const uint16_t *base) + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32x3_t svld3[_u32](svbool_t pg, const uint32_t *base) + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64x3_t svld3[_u64](svbool_t pg, const uint64_t *base) + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const ulong *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32x3_t svld3[_f32](svbool_t pg, const float32_t *base) + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const float *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64x3_t svld3[_f64](svbool_t pg, const float64_t *base) + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const double *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorx4 : Load four-element tuples into four vectors + + /// + /// svint8x4_t svld4[_s8](svbool_t pg, const int8_t *base) + /// LD4B {Zresult0.B - Zresult3.B}, Pg/Z, [Xarray, Xindex] + /// LD4B {Zresult0.B - Zresult3.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint16x4_t svld4[_s16](svbool_t pg, const int16_t *base) + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32x4_t svld4[_s32](svbool_t pg, const int32_t *base) + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64x4_t svld4[_s64](svbool_t pg, const int64_t *base) + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const long *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8x4_t svld4[_u8](svbool_t pg, const uint8_t *base) + /// LD4B {Zresult0.B - Zresult3.B}, Pg/Z, [Xarray, Xindex] + /// LD4B {Zresult0.B - Zresult3.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16x4_t svld4[_u16](svbool_t pg, const uint16_t *base) + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32x4_t svld4[_u32](svbool_t pg, const uint32_t *base) + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64x4_t svld4[_u64](svbool_t pg, const uint64_t *base) + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const ulong *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32x4_t svld4[_f32](svbool_t pg, const float32_t *base) + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const float *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64x4_t svld4[_f64](svbool_t pg, const float64_t *base) + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const double *base) { throw new PlatformNotSupportedException(); } + + + /// MaskGetFirstSet : Find next active predicate + + /// + /// svbool_t svpnext_b8(svbool_t pg, svbool_t op) + /// PNEXT Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskGetFirstSet(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svpnext_b16(svbool_t pg, svbool_t op) + /// PNEXT Ptied.H, Pg, Ptied.H + /// + public static unsafe Vector MaskGetFirstSet(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svpnext_b32(svbool_t pg, svbool_t op) + /// PNEXT Ptied.S, Pg, Ptied.S + /// + public static unsafe Vector MaskGetFirstSet(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svpnext_b64(svbool_t pg, svbool_t op) + /// PNEXT Ptied.D, Pg, Ptied.D + /// + public static unsafe Vector MaskGetFirstSet(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + + /// MaskSetFirst : Set the first active predicate element to true + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + + /// MaskTestAnyTrue : Test whether any active element is true + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + + /// MaskTestFirstTrue : Test whether the first active element is true + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + + /// MaskTestLastTrue : Test whether the last active element is true + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) { throw new PlatformNotSupportedException(); } + + + /// Max : Maximum + + /// + /// svint8_t svmax[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMAX Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmax[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMAX Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SMAX Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmax[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SMAX Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svmax[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmax[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SMAX Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmax[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SMAX Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmax[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmax[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SMAX Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmax[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SMAX Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmax[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmax[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SMAX Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmax[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SMAX Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svmax[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMAX Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmax[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMAX Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UMAX Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmax[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UMAX Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmax[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmax[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UMAX Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmax[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UMAX Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmax[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmax[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UMAX Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmax[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UMAX Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmax[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmax[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UMAX Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmax[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UMAX Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmax[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmax[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMAX Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmax[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMAX Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmax[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmax[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMAX Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmax[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMAX Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MaxAcross : Maximum reduction to scalar + + /// + /// int8_t svmaxv[_s8](svbool_t pg, svint8_t op) + /// SMAXV Bresult, Pg, Zop.B + /// + public static unsafe sbyte MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int16_t svmaxv[_s16](svbool_t pg, svint16_t op) + /// SMAXV Hresult, Pg, Zop.H + /// + public static unsafe short MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svmaxv[_s32](svbool_t pg, svint32_t op) + /// SMAXV Sresult, Pg, Zop.S + /// + public static unsafe int MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svmaxv[_s64](svbool_t pg, svint64_t op) + /// SMAXV Dresult, Pg, Zop.D + /// + public static unsafe long MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint8_t svmaxv[_u8](svbool_t pg, svuint8_t op) + /// UMAXV Bresult, Pg, Zop.B + /// + public static unsafe byte MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint16_t svmaxv[_u16](svbool_t pg, svuint16_t op) + /// UMAXV Hresult, Pg, Zop.H + /// + public static unsafe ushort MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svmaxv[_u32](svbool_t pg, svuint32_t op) + /// UMAXV Sresult, Pg, Zop.S + /// + public static unsafe uint MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svmaxv[_u64](svbool_t pg, svuint64_t op) + /// UMAXV Dresult, Pg, Zop.D + /// + public static unsafe ulong MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float32_t svmaxv[_f32](svbool_t pg, svfloat32_t op) + /// FMAXV Sresult, Pg, Zop.S + /// + public static unsafe float MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float64_t svmaxv[_f64](svbool_t pg, svfloat64_t op) + /// FMAXV Dresult, Pg, Zop.D + /// + public static unsafe double MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// MaxNumber : Maximum number + + /// + /// svfloat32_t svmaxnm[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXNM Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmaxnm[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXNM Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMAXNM Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmaxnm[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMAXNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMAXNM Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector MaxNumber(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmaxnm[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXNM Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmaxnm[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXNM Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMAXNM Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmaxnm[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMAXNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMAXNM Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector MaxNumber(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MaxNumberAcross : Maximum number reduction to scalar + + /// + /// float32_t svmaxnmv[_f32](svbool_t pg, svfloat32_t op) + /// FMAXNMV Sresult, Pg, Zop.S + /// + public static unsafe float MaxNumberAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float64_t svmaxnmv[_f64](svbool_t pg, svfloat64_t op) + /// FMAXNMV Dresult, Pg, Zop.D + /// + public static unsafe double MaxNumberAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Min : Minimum + + /// + /// svint8_t svmin[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMIN Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmin[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMIN Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SMIN Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmin[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SMIN Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svmin[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmin[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SMIN Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmin[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SMIN Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmin[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmin[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SMIN Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmin[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SMIN Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmin[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmin[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SMIN Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmin[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SMIN Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svmin[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMIN Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmin[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMIN Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UMIN Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmin[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UMIN Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmin[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmin[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UMIN Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmin[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UMIN Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmin[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmin[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UMIN Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmin[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UMIN Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmin[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmin[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UMIN Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmin[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UMIN Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmin[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmin[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMIN Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmin[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMIN Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmin[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmin[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMIN Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmin[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMIN Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MinAcross : Minimum reduction to scalar + + /// + /// int8_t svminv[_s8](svbool_t pg, svint8_t op) + /// SMINV Bresult, Pg, Zop.B + /// + public static unsafe sbyte MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int16_t svminv[_s16](svbool_t pg, svint16_t op) + /// SMINV Hresult, Pg, Zop.H + /// + public static unsafe short MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svminv[_s32](svbool_t pg, svint32_t op) + /// SMINV Sresult, Pg, Zop.S + /// + public static unsafe int MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svminv[_s64](svbool_t pg, svint64_t op) + /// SMINV Dresult, Pg, Zop.D + /// + public static unsafe long MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint8_t svminv[_u8](svbool_t pg, svuint8_t op) + /// UMINV Bresult, Pg, Zop.B + /// + public static unsafe byte MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint16_t svminv[_u16](svbool_t pg, svuint16_t op) + /// UMINV Hresult, Pg, Zop.H + /// + public static unsafe ushort MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svminv[_u32](svbool_t pg, svuint32_t op) + /// UMINV Sresult, Pg, Zop.S + /// + public static unsafe uint MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svminv[_u64](svbool_t pg, svuint64_t op) + /// UMINV Dresult, Pg, Zop.D + /// + public static unsafe ulong MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float32_t svminv[_f32](svbool_t pg, svfloat32_t op) + /// FMINV Sresult, Pg, Zop.S + /// + public static unsafe float MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float64_t svminv[_f64](svbool_t pg, svfloat64_t op) + /// FMINV Dresult, Pg, Zop.D + /// + public static unsafe double MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// MinNumber : Minimum number + + /// + /// svfloat32_t svminnm[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINNM Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svminnm[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINNM Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMINNM Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svminnm[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMINNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMINNM Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector MinNumber(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svminnm[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINNM Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svminnm[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINNM Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMINNM Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svminnm[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMINNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMINNM Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector MinNumber(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MinNumberAcross : Minimum number reduction to scalar + + /// + /// float32_t svminnmv[_f32](svbool_t pg, svfloat32_t op) + /// FMINNMV Sresult, Pg, Zop.S + /// + public static unsafe float MinNumberAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// float64_t svminnmv[_f64](svbool_t pg, svfloat64_t op) + /// FMINNMV Dresult, Pg, Zop.D + /// + public static unsafe double MinNumberAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + + /// Multiply : Multiply + + /// + /// svint8_t svmul[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// MUL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmul[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// MUL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MUL Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmul[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MUL Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svmul[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// MUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmul[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// MUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MUL Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmul[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MUL Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmul[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// MUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmul[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// MUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MUL Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmul[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MUL Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmul[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// MUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmul[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// MUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MUL Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmul[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MUL Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svmul[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MUL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmul[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MUL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MUL Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmul[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MUL Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmul[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmul[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MUL Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmul[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MUL Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmul[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmul[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MUL Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmul[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MUL Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmul[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmul[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MUL Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmul[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MUL Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmul[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmul[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMUL Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// FMUL Zresult.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmul[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMUL Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmul_lane[_f32](svfloat32_t op1, svfloat32_t op2, uint64_t imm_index) + /// FMUL Zresult.S, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmul[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmul[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMUL Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// FMUL Zresult.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmul[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMUL Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmul_lane[_f64](svfloat64_t op1, svfloat64_t op2, uint64_t imm_index) + /// FMUL Zresult.D, Zop1.D, Zop2.D[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) { throw new PlatformNotSupportedException(); } + + + /// MultiplyAdd : Multiply-add, addend first + + /// + /// svint8_t svmla[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MLA Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svint8_t svmla[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MLA Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MAD Ztied2.B, Pg/M, Zop3.B, Zop1.B + /// MAD Ztied3.B, Pg/M, Zop2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svint8_t svmla[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MAD Zresult.B, Pg/M, Zop3.B, Zop1.B + /// MOVPRFX Zresult.B, Pg/Z, Zop3.B; MAD Zresult.B, Pg/M, Zop2.B, Zop1.B + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svmla[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svint16_t svmla[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MAD Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// MAD Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svint16_t svmla[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MAD Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; MAD Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmla[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svint32_t svmla[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MAD Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// MAD Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svint32_t svmla[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MAD Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; MAD Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmla[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svint64_t svmla[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MAD Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// MAD Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svint64_t svmla[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MAD Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; MAD Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svmla[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MLA Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svuint8_t svmla[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MLA Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MAD Ztied2.B, Pg/M, Zop3.B, Zop1.B + /// MAD Ztied3.B, Pg/M, Zop2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svuint8_t svmla[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MAD Zresult.B, Pg/M, Zop3.B, Zop1.B + /// MOVPRFX Zresult.B, Pg/Z, Zop3.B; MAD Zresult.B, Pg/M, Zop2.B, Zop1.B + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmla[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svuint16_t svmla[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MAD Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// MAD Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svuint16_t svmla[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MAD Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; MAD Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmla[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svuint32_t svmla[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MAD Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// MAD Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svuint32_t svmla[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MAD Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; MAD Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmla[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svuint64_t svmla[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MAD Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// MAD Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svuint64_t svmla[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MAD Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; MAD Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + + + /// MultiplyAddRotateComplex : Complex multiply-add with rotate + + /// + /// svfloat32_t svcmla[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.S, Pg/M, Zop2.S, Zop3.S, #imm_rotation + /// svfloat32_t svcmla[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.S, Pg/M, Zop2.S, Zop3.S, #imm_rotation + /// svfloat32_t svcmla[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_rotation) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FCMLA Zresult.S, Pg/M, Zop2.S, Zop3.S, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svcmla_lane[_f32](svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// FCMLA Ztied1.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svcmla[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.D, Pg/M, Zop2.D, Zop3.D, #imm_rotation + /// svfloat64_t svcmla[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.D, Pg/M, Zop2.D, Zop3.D, #imm_rotation + /// svfloat64_t svcmla[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3, uint64_t imm_rotation) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FCMLA Zresult.D, Pg/M, Zop2.D, Zop3.D, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + + /// MultiplyExtended : Multiply extended (∞×0=2) + + /// + /// svfloat32_t svmulx[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMULX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMULX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmulx[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMULX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMULX Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMULX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmulx[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMULX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMULX Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector MultiplyExtended(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmulx[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMULX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMULX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmulx[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMULX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMULX Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMULX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmulx[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMULX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMULX Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector MultiplyExtended(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MultiplyReturningHighHalf : Multiply, returning high half + + /// + /// svint8_t svmulh[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMULH Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmulh[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMULH Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SMULH Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmulh[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SMULH Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svmulh[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMULH Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmulh[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMULH Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SMULH Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmulh[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SMULH Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmulh[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMULH Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmulh[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMULH Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SMULH Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmulh[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SMULH Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmulh[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMULH Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmulh[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMULH Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SMULH Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmulh[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SMULH Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svmulh[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMULH Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmulh[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMULH Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UMULH Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmulh[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UMULH Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmulh[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMULH Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmulh[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMULH Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UMULH Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmulh[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UMULH Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmulh[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMULH Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmulh[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMULH Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UMULH Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmulh[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UMULH Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmulh[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMULH Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmulh[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMULH Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UMULH Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmulh[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UMULH Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MultiplySubtract : Multiply-subtract, minuend first + + /// + /// svint8_t svmls[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MLS Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svint8_t svmls[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MLS Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MSB Ztied2.B, Pg/M, Zop3.B, Zop1.B + /// MSB Ztied3.B, Pg/M, Zop2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svint8_t svmls[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MSB Zresult.B, Pg/M, Zop3.B, Zop1.B + /// MOVPRFX Zresult.B, Pg/Z, Zop3.B; MSB Zresult.B, Pg/M, Zop2.B, Zop1.B + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svmls[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svint16_t svmls[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MSB Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// MSB Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svint16_t svmls[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MSB Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; MSB Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmls[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svint32_t svmls[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MSB Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// MSB Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svint32_t svmls[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MSB Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; MSB Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmls[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svint64_t svmls[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MSB Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// MSB Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svint64_t svmls[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MSB Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; MSB Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svmls[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MLS Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svuint8_t svmls[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MLS Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MSB Ztied2.B, Pg/M, Zop3.B, Zop1.B + /// MSB Ztied3.B, Pg/M, Zop2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svuint8_t svmls[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MSB Zresult.B, Pg/M, Zop3.B, Zop1.B + /// MOVPRFX Zresult.B, Pg/Z, Zop3.B; MSB Zresult.B, Pg/M, Zop2.B, Zop1.B + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmls[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svuint16_t svmls[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MSB Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// MSB Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svuint16_t svmls[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MSB Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; MSB Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmls[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svuint32_t svmls[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MSB Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// MSB Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svuint32_t svmls[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MSB Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; MSB Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmls[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svuint64_t svmls[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MSB Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// MSB Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svuint64_t svmls[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MSB Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; MSB Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + + + /// Negate : Negate + + /// + /// svint8_t svneg[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// NEG Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; NEG Zresult.B, Pg/M, Zop.B + /// svint8_t svneg[_s8]_x(svbool_t pg, svint8_t op) + /// NEG Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; NEG Zresult.B, Pg/M, Zop.B + /// svint8_t svneg[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; NEG Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector Negate(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svneg[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// NEG Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; NEG Zresult.H, Pg/M, Zop.H + /// svint16_t svneg[_s16]_x(svbool_t pg, svint16_t op) + /// NEG Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; NEG Zresult.H, Pg/M, Zop.H + /// svint16_t svneg[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; NEG Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Negate(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svneg[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// NEG Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; NEG Zresult.S, Pg/M, Zop.S + /// svint32_t svneg[_s32]_x(svbool_t pg, svint32_t op) + /// NEG Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; NEG Zresult.S, Pg/M, Zop.S + /// svint32_t svneg[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; NEG Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Negate(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svneg[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// NEG Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; NEG Zresult.D, Pg/M, Zop.D + /// svint64_t svneg[_s64]_x(svbool_t pg, svint64_t op) + /// NEG Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; NEG Zresult.D, Pg/M, Zop.D + /// svint64_t svneg[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; NEG Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Negate(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svneg[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FNEG Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FNEG Zresult.S, Pg/M, Zop.S + /// svfloat32_t svneg[_f32]_x(svbool_t pg, svfloat32_t op) + /// FNEG Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FNEG Zresult.S, Pg/M, Zop.S + /// svfloat32_t svneg[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FNEG Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Negate(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svneg[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FNEG Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FNEG Zresult.D, Pg/M, Zop.D + /// svfloat64_t svneg[_f64]_x(svbool_t pg, svfloat64_t op) + /// FNEG Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FNEG Zresult.D, Pg/M, Zop.D + /// svfloat64_t svneg[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FNEG Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Negate(Vector value) { throw new PlatformNotSupportedException(); } + + + + + /// Not : Bitwise invert + + /// + /// svint8_t svnot[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// NOT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; NOT Zresult.B, Pg/M, Zop.B + /// svint8_t svnot[_s8]_x(svbool_t pg, svint8_t op) + /// NOT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; NOT Zresult.B, Pg/M, Zop.B + /// svint8_t svnot[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; NOT Zresult.B, Pg/M, Zop.B + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svnot[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// NOT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; NOT Zresult.H, Pg/M, Zop.H + /// svint16_t svnot[_s16]_x(svbool_t pg, svint16_t op) + /// NOT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; NOT Zresult.H, Pg/M, Zop.H + /// svint16_t svnot[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; NOT Zresult.H, Pg/M, Zop.H + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svnot[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// NOT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; NOT Zresult.S, Pg/M, Zop.S + /// svint32_t svnot[_s32]_x(svbool_t pg, svint32_t op) + /// NOT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; NOT Zresult.S, Pg/M, Zop.S + /// svint32_t svnot[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; NOT Zresult.S, Pg/M, Zop.S + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svnot[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// NOT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; NOT Zresult.D, Pg/M, Zop.D + /// svint64_t svnot[_s64]_x(svbool_t pg, svint64_t op) + /// NOT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; NOT Zresult.D, Pg/M, Zop.D + /// svint64_t svnot[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; NOT Zresult.D, Pg/M, Zop.D + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svnot[_u8]_m(svuint8_t inactive, svbool_t pg, svuint8_t op) + /// NOT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; NOT Zresult.B, Pg/M, Zop.B + /// svuint8_t svnot[_u8]_x(svbool_t pg, svuint8_t op) + /// NOT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; NOT Zresult.B, Pg/M, Zop.B + /// svuint8_t svnot[_u8]_z(svbool_t pg, svuint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; NOT Zresult.B, Pg/M, Zop.B + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svnot[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// NOT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; NOT Zresult.H, Pg/M, Zop.H + /// svuint16_t svnot[_u16]_x(svbool_t pg, svuint16_t op) + /// NOT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; NOT Zresult.H, Pg/M, Zop.H + /// svuint16_t svnot[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; NOT Zresult.H, Pg/M, Zop.H + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svnot[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// NOT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; NOT Zresult.S, Pg/M, Zop.S + /// svuint32_t svnot[_u32]_x(svbool_t pg, svuint32_t op) + /// NOT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; NOT Zresult.S, Pg/M, Zop.S + /// svuint32_t svnot[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; NOT Zresult.S, Pg/M, Zop.S + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svnot[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// NOT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; NOT Zresult.D, Pg/M, Zop.D + /// svuint64_t svnot[_u64]_x(svbool_t pg, svuint64_t op) + /// NOT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; NOT Zresult.D, Pg/M, Zop.D + /// svuint64_t svnot[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; NOT Zresult.D, Pg/M, Zop.D + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Or : Bitwise inclusive OR + + /// + /// svint8_t svorr[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// ORR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ORR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svorr[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// ORR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// ORR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svint8_t svorr[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ORR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; ORR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svorr[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// ORR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ORR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svorr[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// ORR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// ORR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svint16_t svorr[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ORR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; ORR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svorr[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// ORR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ORR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svorr[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// ORR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// ORR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svint32_t svorr[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ORR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; ORR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svorr[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// ORR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ORR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svorr[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// ORR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// ORR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svint64_t svorr[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ORR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; ORR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svorr[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ORR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ORR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svorr[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ORR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// ORR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svuint8_t svorr[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ORR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; ORR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svorr[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ORR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ORR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svorr[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ORR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// ORR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svuint16_t svorr[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ORR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; ORR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svorr[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ORR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ORR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svorr[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ORR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// ORR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svuint32_t svorr[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ORR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; ORR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svorr[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ORR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ORR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svorr[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ORR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// ORR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svorr[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ORR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; ORR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// OrAcross : Bitwise inclusive OR reduction to scalar + + /// + /// int8_t svorv[_s8](svbool_t pg, svint8_t op) + /// ORV Bresult, Pg, Zop.B + /// + public static unsafe sbyte OrAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int16_t svorv[_s16](svbool_t pg, svint16_t op) + /// ORV Hresult, Pg, Zop.H + /// + public static unsafe short OrAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svorv[_s32](svbool_t pg, svint32_t op) + /// ORV Sresult, Pg, Zop.S + /// + public static unsafe int OrAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svorv[_s64](svbool_t pg, svint64_t op) + /// ORV Dresult, Pg, Zop.D + /// + public static unsafe long OrAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint8_t svorv[_u8](svbool_t pg, svuint8_t op) + /// ORV Bresult, Pg, Zop.B + /// + public static unsafe byte OrAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint16_t svorv[_u16](svbool_t pg, svuint16_t op) + /// ORV Hresult, Pg, Zop.H + /// + public static unsafe ushort OrAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svorv[_u32](svbool_t pg, svuint32_t op) + /// ORV Sresult, Pg, Zop.S + /// + public static unsafe uint OrAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svorv[_u64](svbool_t pg, svuint64_t op) + /// ORV Dresult, Pg, Zop.D + /// + public static unsafe ulong OrAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// OrNot : Bitwise NOR + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// PopCount : Count nonzero bits + + /// + /// svuint8_t svcnt[_s8]_m(svuint8_t inactive, svbool_t pg, svint8_t op) + /// CNT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CNT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnt[_s8]_x(svbool_t pg, svint8_t op) + /// CNT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CNT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnt[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CNT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svcnt[_u8]_m(svuint8_t inactive, svbool_t pg, svuint8_t op) + /// CNT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CNT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnt[_u8]_x(svbool_t pg, svuint8_t op) + /// CNT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CNT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnt[_u8]_z(svbool_t pg, svuint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CNT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svcnt[_s16]_m(svuint16_t inactive, svbool_t pg, svint16_t op) + /// CNT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_s16]_x(svbool_t pg, svint16_t op) + /// CNT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svcnt[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// CNT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_u16]_x(svbool_t pg, svuint16_t op) + /// CNT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svcnt[_s32]_m(svuint32_t inactive, svbool_t pg, svint32_t op) + /// CNT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_s32]_x(svbool_t pg, svint32_t op) + /// CNT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CNT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svcnt[_f32]_m(svuint32_t inactive, svbool_t pg, svfloat32_t op) + /// CNT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_f32]_x(svbool_t pg, svfloat32_t op) + /// CNT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CNT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svcnt[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// CNT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_u32]_x(svbool_t pg, svuint32_t op) + /// CNT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CNT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svcnt[_s64]_m(svuint64_t inactive, svbool_t pg, svint64_t op) + /// CNT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_s64]_x(svbool_t pg, svint64_t op) + /// CNT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CNT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svcnt[_f64]_m(svuint64_t inactive, svbool_t pg, svfloat64_t op) + /// CNT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_f64]_x(svbool_t pg, svfloat64_t op) + /// CNT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CNT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svcnt[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// CNT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_u64]_x(svbool_t pg, svuint64_t op) + /// CNT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CNT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + + /// PrefetchBytes : Prefetch bytes + + /// + /// void svprfb(svbool_t pg, const void *base, enum svprfop op) + /// PRFB op, Pg, [Xarray, Xindex] + /// PRFB op, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void PrefetchBytes(Vector mask, const void *base, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + + /// PrefetchInt16 : Prefetch halfwords + + /// + /// void svprfh(svbool_t pg, const void *base, enum svprfop op) + /// PRFH op, Pg, [Xarray, Xindex, LSL #1] + /// PRFH op, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void PrefetchInt16(Vector mask, const void *base, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + + /// PrefetchInt32 : Prefetch words + + /// + /// void svprfw(svbool_t pg, const void *base, enum svprfop op) + /// PRFW op, Pg, [Xarray, Xindex, LSL #2] + /// PRFW op, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void PrefetchInt32(Vector mask, const void *base, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + + /// PrefetchInt64 : Prefetch doublewords + + /// + /// void svprfd(svbool_t pg, const void *base, enum svprfop op) + /// PRFD op, Pg, [Xarray, Xindex, LSL #3] + /// PRFD op, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void PrefetchInt64(Vector mask, const void *base, enum SvePrefetchType op) { throw new PlatformNotSupportedException(); } + + + /// PropagateBreak : Propagate break to next partition + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalEstimate : Reciprocal estimate + + /// + /// svfloat32_t svrecpe[_f32](svfloat32_t op) + /// FRECPE Zresult.S, Zop.S + /// + public static unsafe Vector ReciprocalEstimate(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrecpe[_f64](svfloat64_t op) + /// FRECPE Zresult.D, Zop.D + /// + public static unsafe Vector ReciprocalEstimate(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalExponent : Reciprocal exponent + + /// + /// svfloat32_t svrecpx[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRECPX Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRECPX Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrecpx[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRECPX Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRECPX Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrecpx[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRECPX Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReciprocalExponent(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrecpx[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRECPX Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRECPX Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrecpx[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRECPX Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRECPX Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrecpx[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRECPX Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReciprocalExponent(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalSqrtEstimate : Reciprocal square root estimate + + /// + /// svfloat32_t svrsqrte[_f32](svfloat32_t op) + /// FRSQRTE Zresult.S, Zop.S + /// + public static unsafe Vector ReciprocalSqrtEstimate(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrsqrte[_f64](svfloat64_t op) + /// FRSQRTE Zresult.D, Zop.D + /// + public static unsafe Vector ReciprocalSqrtEstimate(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalSqrtStep : Reciprocal square root step + + /// + /// svfloat32_t svrsqrts[_f32](svfloat32_t op1, svfloat32_t op2) + /// FRSQRTS Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ReciprocalSqrtStep(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrsqrts[_f64](svfloat64_t op1, svfloat64_t op2) + /// FRSQRTS Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ReciprocalSqrtStep(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalStep : Reciprocal step + + /// + /// svfloat32_t svrecps[_f32](svfloat32_t op1, svfloat32_t op2) + /// FRECPS Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ReciprocalStep(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrecps[_f64](svfloat64_t op1, svfloat64_t op2) + /// FRECPS Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ReciprocalStep(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ReverseBits : Reverse bits + + /// + /// svint8_t svrbit[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// RBIT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.B, Pg/M, Zop.B + /// svint8_t svrbit[_s8]_x(svbool_t pg, svint8_t op) + /// RBIT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; RBIT Zresult.B, Pg/M, Zop.B + /// svint8_t svrbit[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; RBIT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector ReverseBits(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svrbit[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// RBIT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.H, Pg/M, Zop.H + /// svint16_t svrbit[_s16]_x(svbool_t pg, svint16_t op) + /// RBIT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; RBIT Zresult.H, Pg/M, Zop.H + /// svint16_t svrbit[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; RBIT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ReverseBits(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrbit[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// RBIT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.S, Pg/M, Zop.S + /// svint32_t svrbit[_s32]_x(svbool_t pg, svint32_t op) + /// RBIT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; RBIT Zresult.S, Pg/M, Zop.S + /// svint32_t svrbit[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; RBIT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseBits(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svrbit[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// RBIT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.D, Pg/M, Zop.D + /// svint64_t svrbit[_s64]_x(svbool_t pg, svint64_t op) + /// RBIT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; RBIT Zresult.D, Pg/M, Zop.D + /// svint64_t svrbit[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; RBIT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseBits(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svrbit[_u8]_m(svuint8_t inactive, svbool_t pg, svuint8_t op) + /// RBIT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.B, Pg/M, Zop.B + /// svuint8_t svrbit[_u8]_x(svbool_t pg, svuint8_t op) + /// RBIT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; RBIT Zresult.B, Pg/M, Zop.B + /// svuint8_t svrbit[_u8]_z(svbool_t pg, svuint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; RBIT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector ReverseBits(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrbit[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// RBIT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.H, Pg/M, Zop.H + /// svuint16_t svrbit[_u16]_x(svbool_t pg, svuint16_t op) + /// RBIT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; RBIT Zresult.H, Pg/M, Zop.H + /// svuint16_t svrbit[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; RBIT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ReverseBits(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrbit[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// RBIT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.S, Pg/M, Zop.S + /// svuint32_t svrbit[_u32]_x(svbool_t pg, svuint32_t op) + /// RBIT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; RBIT Zresult.S, Pg/M, Zop.S + /// svuint32_t svrbit[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; RBIT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseBits(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svrbit[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// RBIT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.D, Pg/M, Zop.D + /// svuint64_t svrbit[_u64]_x(svbool_t pg, svuint64_t op) + /// RBIT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; RBIT Zresult.D, Pg/M, Zop.D + /// svuint64_t svrbit[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; RBIT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseBits(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReverseBytesWithinElements : Reverse bytes within elements + + /// + /// svint16_t svrevb[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// REVB Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; REVB Zresult.H, Pg/M, Zop.H + /// svint16_t svrevb[_s16]_x(svbool_t pg, svint16_t op) + /// REVB Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; REVB Zresult.H, Pg/M, Zop.H + /// svint16_t svrevb[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; REVB Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrevb[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// REVB Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; REVB Zresult.S, Pg/M, Zop.S + /// svint32_t svrevb[_s32]_x(svbool_t pg, svint32_t op) + /// REVB Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; REVB Zresult.S, Pg/M, Zop.S + /// svint32_t svrevb[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; REVB Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svrevb[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// REVB Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVB Zresult.D, Pg/M, Zop.D + /// svint64_t svrevb[_s64]_x(svbool_t pg, svint64_t op) + /// REVB Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVB Zresult.D, Pg/M, Zop.D + /// svint64_t svrevb[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVB Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrevb[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// REVB Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; REVB Zresult.H, Pg/M, Zop.H + /// svuint16_t svrevb[_u16]_x(svbool_t pg, svuint16_t op) + /// REVB Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; REVB Zresult.H, Pg/M, Zop.H + /// svuint16_t svrevb[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; REVB Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrevb[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// REVB Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; REVB Zresult.S, Pg/M, Zop.S + /// svuint32_t svrevb[_u32]_x(svbool_t pg, svuint32_t op) + /// REVB Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; REVB Zresult.S, Pg/M, Zop.S + /// svuint32_t svrevb[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; REVB Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svrevb[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// REVB Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVB Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevb[_u64]_x(svbool_t pg, svuint64_t op) + /// REVB Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVB Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevb[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVB Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReverseElement : Reverse all elements + + /// + /// svint8_t svrev[_s8](svint8_t op) + /// REV Zresult.B, Zop.B + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svrev[_s16](svint16_t op) + /// REV Zresult.H, Zop.H + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrev[_s32](svint32_t op) + /// REV Zresult.S, Zop.S + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svrev[_s64](svint64_t op) + /// REV Zresult.D, Zop.D + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svrev[_u8](svuint8_t op) + /// REV Zresult.B, Zop.B + /// svbool_t svrev_b8(svbool_t op) + /// REV Presult.B, Pop.B + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrev[_u16](svuint16_t op) + /// REV Zresult.H, Zop.H + /// svbool_t svrev_b16(svbool_t op) + /// REV Presult.H, Pop.H + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrev[_u32](svuint32_t op) + /// REV Zresult.S, Zop.S + /// svbool_t svrev_b32(svbool_t op) + /// REV Presult.S, Pop.S + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svrev[_u64](svuint64_t op) + /// REV Zresult.D, Zop.D + /// svbool_t svrev_b64(svbool_t op) + /// REV Presult.D, Pop.D + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svrev[_f32](svfloat32_t op) + /// REV Zresult.S, Zop.S + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrev[_f64](svfloat64_t op) + /// REV Zresult.D, Zop.D + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReverseInt16WithinElements : Reverse halfwords within elements + + /// + /// svint32_t svrevh[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// REVH Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; REVH Zresult.S, Pg/M, Zop.S + /// svint32_t svrevh[_s32]_x(svbool_t pg, svint32_t op) + /// REVH Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; REVH Zresult.S, Pg/M, Zop.S + /// svint32_t svrevh[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; REVH Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseInt16WithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svrevh[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// REVH Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVH Zresult.D, Pg/M, Zop.D + /// svint64_t svrevh[_s64]_x(svbool_t pg, svint64_t op) + /// REVH Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVH Zresult.D, Pg/M, Zop.D + /// svint64_t svrevh[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVH Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseInt16WithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrevh[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// REVH Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; REVH Zresult.S, Pg/M, Zop.S + /// svuint32_t svrevh[_u32]_x(svbool_t pg, svuint32_t op) + /// REVH Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; REVH Zresult.S, Pg/M, Zop.S + /// svuint32_t svrevh[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; REVH Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseInt16WithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svrevh[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// REVH Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVH Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevh[_u64]_x(svbool_t pg, svuint64_t op) + /// REVH Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVH Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevh[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVH Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseInt16WithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReverseInt32WithinElements : Reverse words within elements + + /// + /// svint64_t svrevw[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// REVW Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVW Zresult.D, Pg/M, Zop.D + /// svint64_t svrevw[_s64]_x(svbool_t pg, svint64_t op) + /// REVW Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVW Zresult.D, Pg/M, Zop.D + /// svint64_t svrevw[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVW Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseInt32WithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svrevw[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// REVW Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVW Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevw[_u64]_x(svbool_t pg, svuint64_t op) + /// REVW Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVW Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevw[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVW Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseInt32WithinElements(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundAwayFromZero : Round to nearest, ties away from zero + + /// + /// svfloat32_t svrinta[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRINTA Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRINTA Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrinta[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRINTA Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRINTA Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrinta[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRINTA Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector RoundAwayFromZero(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrinta[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRINTA Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRINTA Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrinta[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRINTA Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRINTA Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrinta[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRINTA Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector RoundAwayFromZero(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundToNearest : Round to nearest, ties to even + + /// + /// svfloat32_t svrintn[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRINTN Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRINTN Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintn[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRINTN Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRINTN Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintn[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRINTN Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector RoundToNearest(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrintn[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRINTN Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRINTN Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintn[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRINTN Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRINTN Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintn[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRINTN Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector RoundToNearest(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundToNegativeInfinity : Round towards -∞ + + /// + /// svfloat32_t svrintm[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRINTM Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRINTM Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintm[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRINTM Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRINTM Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintm[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRINTM Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector RoundToNegativeInfinity(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrintm[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRINTM Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRINTM Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintm[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRINTM Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRINTM Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintm[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRINTM Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector RoundToNegativeInfinity(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundToPositiveInfinity : Round towards +∞ + + /// + /// svfloat32_t svrintp[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRINTP Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRINTP Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintp[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRINTP Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRINTP Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintp[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRINTP Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector RoundToPositiveInfinity(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrintp[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRINTP Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRINTP Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintp[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRINTP Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRINTP Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintp[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRINTP Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector RoundToPositiveInfinity(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundToZero : Round towards zero + + /// + /// svfloat32_t svrintz[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRINTZ Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRINTZ Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintz[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRINTZ Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRINTZ Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintz[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRINTZ Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector RoundToZero(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svrintz[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRINTZ Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRINTZ Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintz[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRINTZ Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRINTZ Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintz[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRINTZ Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector RoundToZero(Vector value) { throw new PlatformNotSupportedException(); } + + + + + /// SaturatingDecrementByActiveElementCount : Saturating decrement by active element count + + /// + /// svint16_t svqdecp[_s16](svint16_t op, svbool_t pg) + /// SQDECP Ztied.H, Pg + /// MOVPRFX Zresult, Zop; SQDECP Zresult.H, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdecp[_s32](svint32_t op, svbool_t pg) + /// SQDECP Ztied.S, Pg + /// MOVPRFX Zresult, Zop; SQDECP Zresult.S, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdecp[_s64](svint64_t op, svbool_t pg) + /// SQDECP Ztied.D, Pg + /// MOVPRFX Zresult, Zop; SQDECP Zresult.D, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqdecp[_n_s32]_b8(int32_t op, svbool_t pg) + /// SQDECP Xtied, Pg.B, Wtied + /// + public static unsafe int SaturatingDecrementByActiveElementCount(int op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdecp[_n_s64]_b8(int64_t op, svbool_t pg) + /// SQDECP Xtied, Pg.B + /// + public static unsafe long SaturatingDecrementByActiveElementCount(long op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdecp[_n_u32]_b8(uint32_t op, svbool_t pg) + /// UQDECP Wtied, Pg.B + /// + public static unsafe uint SaturatingDecrementByActiveElementCount(uint op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdecp[_n_u64]_b8(uint64_t op, svbool_t pg) + /// UQDECP Xtied, Pg.B + /// + public static unsafe ulong SaturatingDecrementByActiveElementCount(ulong op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqdecp[_n_s32]_b16(int32_t op, svbool_t pg) + /// SQDECP Xtied, Pg.H, Wtied + /// + public static unsafe int SaturatingDecrementByActiveElementCount(int op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdecp[_n_s64]_b16(int64_t op, svbool_t pg) + /// SQDECP Xtied, Pg.H + /// + public static unsafe long SaturatingDecrementByActiveElementCount(long op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdecp[_n_u32]_b16(uint32_t op, svbool_t pg) + /// UQDECP Wtied, Pg.H + /// + public static unsafe uint SaturatingDecrementByActiveElementCount(uint op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdecp[_n_u64]_b16(uint64_t op, svbool_t pg) + /// UQDECP Xtied, Pg.H + /// + public static unsafe ulong SaturatingDecrementByActiveElementCount(ulong op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqdecp[_u16](svuint16_t op, svbool_t pg) + /// UQDECP Ztied.H, Pg + /// MOVPRFX Zresult, Zop; UQDECP Zresult.H, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqdecp[_n_s32]_b32(int32_t op, svbool_t pg) + /// SQDECP Xtied, Pg.S, Wtied + /// + public static unsafe int SaturatingDecrementByActiveElementCount(int op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdecp[_n_s64]_b32(int64_t op, svbool_t pg) + /// SQDECP Xtied, Pg.S + /// + public static unsafe long SaturatingDecrementByActiveElementCount(long op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdecp[_n_u32]_b32(uint32_t op, svbool_t pg) + /// UQDECP Wtied, Pg.S + /// + public static unsafe uint SaturatingDecrementByActiveElementCount(uint op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdecp[_n_u64]_b32(uint64_t op, svbool_t pg) + /// UQDECP Xtied, Pg.S + /// + public static unsafe ulong SaturatingDecrementByActiveElementCount(ulong op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqdecp[_u32](svuint32_t op, svbool_t pg) + /// UQDECP Ztied.S, Pg + /// MOVPRFX Zresult, Zop; UQDECP Zresult.S, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqdecp[_n_s32]_b64(int32_t op, svbool_t pg) + /// SQDECP Xtied, Pg.D, Wtied + /// + public static unsafe int SaturatingDecrementByActiveElementCount(int op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdecp[_n_s64]_b64(int64_t op, svbool_t pg) + /// SQDECP Xtied, Pg.D + /// + public static unsafe long SaturatingDecrementByActiveElementCount(long op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdecp[_n_u32]_b64(uint32_t op, svbool_t pg) + /// UQDECP Wtied, Pg.D + /// + public static unsafe uint SaturatingDecrementByActiveElementCount(uint op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdecp[_n_u64]_b64(uint64_t op, svbool_t pg) + /// UQDECP Xtied, Pg.D + /// + public static unsafe ulong SaturatingDecrementByActiveElementCount(ulong op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqdecp[_u64](svuint64_t op, svbool_t pg) + /// UQDECP Ztied.D, Pg + /// MOVPRFX Zresult, Zop; UQDECP Zresult.D, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDecrementByteElementCount : Saturating decrement by number of byte elements + + /// + /// int32_t svqdecb[_n_s32](int32_t op, uint64_t imm_factor) + /// SQDECB Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementByteElementCount(int op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdecb[_n_s64](int64_t op, uint64_t imm_factor) + /// SQDECB Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementByteElementCount(long op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdecb[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQDECB Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementByteElementCount(uint op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdecb[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQDECB Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementByteElementCount(ulong op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqdecb_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECB Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementByteElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdecb_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECB Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementByteElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdecb_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECB Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementByteElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdecb_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECB Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementByteElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDecrementInt16ElementCount : Saturating decrement by number of halfword elements + + /// + /// int32_t svqdech[_n_s32](int32_t op, uint64_t imm_factor) + /// SQDECH Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt16ElementCount(int op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdech[_n_s64](int64_t op, uint64_t imm_factor) + /// SQDECH Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt16ElementCount(long op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdech[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQDECH Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt16ElementCount(uint op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdech[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQDECH Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt16ElementCount(ulong op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqdech_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECH Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt16ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdech_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECH Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt16ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdech_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECH Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt16ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdech_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECH Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt16ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqdech[_s16](svint16_t op, uint64_t imm_factor) + /// SQDECH Ztied.H, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECH Zresult.H, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt16ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqdech_pat[_s16](svint16_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECH Ztied.H, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECH Zresult.H, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt16ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqdech[_u16](svuint16_t op, uint64_t imm_factor) + /// UQDECH Ztied.H, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECH Zresult.H, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt16ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqdech_pat[_u16](svuint16_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECH Ztied.H, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECH Zresult.H, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt16ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDecrementInt32ElementCount : Saturating decrement by number of word elements + + /// + /// int32_t svqdecw[_n_s32](int32_t op, uint64_t imm_factor) + /// SQDECW Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt32ElementCount(int op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdecw[_n_s64](int64_t op, uint64_t imm_factor) + /// SQDECW Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt32ElementCount(long op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdecw[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQDECW Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt32ElementCount(uint op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdecw[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQDECW Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt32ElementCount(ulong op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqdecw_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECW Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt32ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdecw_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECW Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt32ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdecw_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECW Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt32ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdecw_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECW Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt32ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdecw[_s32](svint32_t op, uint64_t imm_factor) + /// SQDECW Ztied.S, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECW Zresult.S, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt32ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdecw_pat[_s32](svint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECW Ztied.S, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECW Zresult.S, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt32ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqdecw[_u32](svuint32_t op, uint64_t imm_factor) + /// UQDECW Ztied.S, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECW Zresult.S, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt32ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqdecw_pat[_u32](svuint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECW Ztied.S, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECW Zresult.S, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt32ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDecrementInt64ElementCount : Saturating decrement by number of doubleword elements + + /// + /// int32_t svqdecd[_n_s32](int32_t op, uint64_t imm_factor) + /// SQDECD Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt64ElementCount(int op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdecd[_n_s64](int64_t op, uint64_t imm_factor) + /// SQDECD Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt64ElementCount(long op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdecd[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQDECD Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt64ElementCount(uint op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdecd[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQDECD Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt64ElementCount(ulong op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqdecd_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECD Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt64ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqdecd_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECD Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt64ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqdecd_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECD Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt64ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqdecd_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECD Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt64ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdecd[_s64](svint64_t op, uint64_t imm_factor) + /// SQDECD Ztied.D, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECD Zresult.D, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt64ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdecd_pat[_s64](svint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECD Ztied.D, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECD Zresult.D, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt64ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqdecd[_u64](svuint64_t op, uint64_t imm_factor) + /// UQDECD Ztied.D, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECD Zresult.D, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt64ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqdecd_pat[_u64](svuint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECD Ztied.D, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECD Zresult.D, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt64ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + + /// SaturatingIncrementByActiveElementCount : Saturating increment by active element count + + /// + /// svint16_t svqincp[_s16](svint16_t op, svbool_t pg) + /// SQINCP Ztied.H, Pg + /// MOVPRFX Zresult, Zop; SQINCP Zresult.H, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqincp[_s32](svint32_t op, svbool_t pg) + /// SQINCP Ztied.S, Pg + /// MOVPRFX Zresult, Zop; SQINCP Zresult.S, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqincp[_s64](svint64_t op, svbool_t pg) + /// SQINCP Ztied.D, Pg + /// MOVPRFX Zresult, Zop; SQINCP Zresult.D, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqincp[_n_s32]_b8(int32_t op, svbool_t pg) + /// SQINCP Xtied, Pg.B, Wtied + /// + public static unsafe int SaturatingIncrementByActiveElementCount(int op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqincp[_n_s64]_b8(int64_t op, svbool_t pg) + /// SQINCP Xtied, Pg.B + /// + public static unsafe long SaturatingIncrementByActiveElementCount(long op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqincp[_n_u32]_b8(uint32_t op, svbool_t pg) + /// UQINCP Wtied, Pg.B + /// + public static unsafe uint SaturatingIncrementByActiveElementCount(uint op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqincp[_n_u64]_b8(uint64_t op, svbool_t pg) + /// UQINCP Xtied, Pg.B + /// + public static unsafe ulong SaturatingIncrementByActiveElementCount(ulong op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqincp[_n_s32]_b16(int32_t op, svbool_t pg) + /// SQINCP Xtied, Pg.H, Wtied + /// + public static unsafe int SaturatingIncrementByActiveElementCount(int op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqincp[_n_s64]_b16(int64_t op, svbool_t pg) + /// SQINCP Xtied, Pg.H + /// + public static unsafe long SaturatingIncrementByActiveElementCount(long op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqincp[_n_u32]_b16(uint32_t op, svbool_t pg) + /// UQINCP Wtied, Pg.H + /// + public static unsafe uint SaturatingIncrementByActiveElementCount(uint op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqincp[_n_u64]_b16(uint64_t op, svbool_t pg) + /// UQINCP Xtied, Pg.H + /// + public static unsafe ulong SaturatingIncrementByActiveElementCount(ulong op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqincp[_u16](svuint16_t op, svbool_t pg) + /// UQINCP Ztied.H, Pg + /// MOVPRFX Zresult, Zop; UQINCP Zresult.H, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqincp[_n_s32]_b32(int32_t op, svbool_t pg) + /// SQINCP Xtied, Pg.S, Wtied + /// + public static unsafe int SaturatingIncrementByActiveElementCount(int op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqincp[_n_s64]_b32(int64_t op, svbool_t pg) + /// SQINCP Xtied, Pg.S + /// + public static unsafe long SaturatingIncrementByActiveElementCount(long op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqincp[_n_u32]_b32(uint32_t op, svbool_t pg) + /// UQINCP Wtied, Pg.S + /// + public static unsafe uint SaturatingIncrementByActiveElementCount(uint op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqincp[_n_u64]_b32(uint64_t op, svbool_t pg) + /// UQINCP Xtied, Pg.S + /// + public static unsafe ulong SaturatingIncrementByActiveElementCount(ulong op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqincp[_u32](svuint32_t op, svbool_t pg) + /// UQINCP Ztied.S, Pg + /// MOVPRFX Zresult, Zop; UQINCP Zresult.S, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqincp[_n_s32]_b64(int32_t op, svbool_t pg) + /// SQINCP Xtied, Pg.D, Wtied + /// + public static unsafe int SaturatingIncrementByActiveElementCount(int op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqincp[_n_s64]_b64(int64_t op, svbool_t pg) + /// SQINCP Xtied, Pg.D + /// + public static unsafe long SaturatingIncrementByActiveElementCount(long op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqincp[_n_u32]_b64(uint32_t op, svbool_t pg) + /// UQINCP Wtied, Pg.D + /// + public static unsafe uint SaturatingIncrementByActiveElementCount(uint op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqincp[_n_u64]_b64(uint64_t op, svbool_t pg) + /// UQINCP Xtied, Pg.D + /// + public static unsafe ulong SaturatingIncrementByActiveElementCount(ulong op, Vector from) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqincp[_u64](svuint64_t op, svbool_t pg) + /// UQINCP Ztied.D, Pg + /// MOVPRFX Zresult, Zop; UQINCP Zresult.D, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) { throw new PlatformNotSupportedException(); } + + + /// SaturatingIncrementByteElementCount : Saturating increment by number of byte elements + + /// + /// int32_t svqincb[_n_s32](int32_t op, uint64_t imm_factor) + /// SQINCB Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementByteElementCount(int op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqincb[_n_s64](int64_t op, uint64_t imm_factor) + /// SQINCB Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementByteElementCount(long op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqincb[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQINCB Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementByteElementCount(uint op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqincb[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQINCB Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementByteElementCount(ulong op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqincb_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCB Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementByteElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqincb_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCB Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementByteElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqincb_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCB Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementByteElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqincb_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCB Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementByteElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + + /// SaturatingIncrementInt16ElementCount : Saturating increment by number of halfword elements + + /// + /// int32_t svqinch[_n_s32](int32_t op, uint64_t imm_factor) + /// SQINCH Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt16ElementCount(int op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqinch[_n_s64](int64_t op, uint64_t imm_factor) + /// SQINCH Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt16ElementCount(long op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqinch[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQINCH Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt16ElementCount(uint op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqinch[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQINCH Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt16ElementCount(ulong op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqinch_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCH Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt16ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqinch_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCH Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt16ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqinch_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCH Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt16ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqinch_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCH Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt16ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqinch[_s16](svint16_t op, uint64_t imm_factor) + /// SQINCH Ztied.H, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCH Zresult.H, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt16ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqinch_pat[_s16](svint16_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCH Ztied.H, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCH Zresult.H, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt16ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqinch[_u16](svuint16_t op, uint64_t imm_factor) + /// UQINCH Ztied.H, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCH Zresult.H, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt16ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqinch_pat[_u16](svuint16_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCH Ztied.H, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCH Zresult.H, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt16ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + + /// SaturatingIncrementInt32ElementCount : Saturating increment by number of word elements + + /// + /// int32_t svqincw[_n_s32](int32_t op, uint64_t imm_factor) + /// SQINCW Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt32ElementCount(int op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqincw[_n_s64](int64_t op, uint64_t imm_factor) + /// SQINCW Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt32ElementCount(long op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqincw[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQINCW Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt32ElementCount(uint op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqincw[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQINCW Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt32ElementCount(ulong op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqincw_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCW Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt32ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqincw_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCW Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt32ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqincw_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCW Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt32ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqincw_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCW Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt32ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqincw[_s32](svint32_t op, uint64_t imm_factor) + /// SQINCW Ztied.S, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCW Zresult.S, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt32ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqincw_pat[_s32](svint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCW Ztied.S, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCW Zresult.S, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt32ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqincw[_u32](svuint32_t op, uint64_t imm_factor) + /// UQINCW Ztied.S, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCW Zresult.S, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt32ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqincw_pat[_u32](svuint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCW Ztied.S, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCW Zresult.S, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt32ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + + /// SaturatingIncrementInt64ElementCount : Saturating increment by number of doubleword elements + + /// + /// int32_t svqincd[_n_s32](int32_t op, uint64_t imm_factor) + /// SQINCD Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt64ElementCount(int op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqincd[_n_s64](int64_t op, uint64_t imm_factor) + /// SQINCD Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt64ElementCount(long op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqincd[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQINCD Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt64ElementCount(uint op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqincd[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQINCD Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt64ElementCount(ulong op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t svqincd_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCD Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt64ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t svqincd_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCD Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt64ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t svqincd_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCD Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt64ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t svqincd_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCD Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt64ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqincd[_s64](svint64_t op, uint64_t imm_factor) + /// SQINCD Ztied.D, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCD Zresult.D, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt64ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqincd_pat[_s64](svint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCD Ztied.D, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCD Zresult.D, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt64ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqincd[_u64](svuint64_t op, uint64_t imm_factor) + /// UQINCD Ztied.D, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCD Zresult.D, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt64ElementCount(Vector op, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqincd_pat[_u64](svuint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCD Ztied.D, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCD Zresult.D, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt64ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) { throw new PlatformNotSupportedException(); } + + + /// Scale : Adjust exponent + + /// + /// svfloat32_t svscale[_f32]_m(svbool_t pg, svfloat32_t op1, svint32_t op2) + /// FSCALE Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svscale[_f32]_x(svbool_t pg, svfloat32_t op1, svint32_t op2) + /// FSCALE Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svscale[_f32]_z(svbool_t pg, svfloat32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FSCALE Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector Scale(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svscale[_f64]_m(svbool_t pg, svfloat64_t op1, svint64_t op2) + /// FSCALE Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svscale[_f64]_x(svbool_t pg, svfloat64_t op1, svint64_t op2) + /// FSCALE Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svscale[_f64]_z(svbool_t pg, svfloat64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FSCALE Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector Scale(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Scatter : Non-truncating store + + /// + /// void svst1_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s32]offset[_s32](svbool_t pg, int32_t *base, svint32_t offsets, svint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void Scatter(Vector mask, int *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u32]offset[_s32](svbool_t pg, int32_t *base, svuint32_t offsets, svint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, int *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s32]index[_s32](svbool_t pg, int32_t *base, svint32_t indices, svint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe void Scatter(Vector mask, int *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u32]index[_s32](svbool_t pg, int32_t *base, svuint32_t indices, svint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe void Scatter(Vector mask, int *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #offset] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u32base]_index[_s32](svbool_t pg, svuint32_t bases, int64_t index, svint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #index * 4] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s64]offset[_s64](svbool_t pg, int64_t *base, svint64_t offsets, svint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, long *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u64]offset[_s64](svbool_t pg, int64_t *base, svuint64_t offsets, svint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, long *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s64]index[_s64](svbool_t pg, int64_t *base, svint64_t indices, svint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, long *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u64]index[_s64](svbool_t pg, int64_t *base, svuint64_t indices, svint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, long *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #offset] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #index * 8] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s32]offset[_u32](svbool_t pg, uint32_t *base, svint32_t offsets, svuint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void Scatter(Vector mask, uint *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u32]offset[_u32](svbool_t pg, uint32_t *base, svuint32_t offsets, svuint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, uint *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s32]index[_u32](svbool_t pg, uint32_t *base, svint32_t indices, svuint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe void Scatter(Vector mask, uint *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u32]index[_u32](svbool_t pg, uint32_t *base, svuint32_t indices, svuint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe void Scatter(Vector mask, uint *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #offset] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u32base]_index[_u32](svbool_t pg, svuint32_t bases, int64_t index, svuint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #index * 4] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s64]offset[_u64](svbool_t pg, uint64_t *base, svint64_t offsets, svuint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, ulong *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u64]offset[_u64](svbool_t pg, uint64_t *base, svuint64_t offsets, svuint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, ulong *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s64]index[_u64](svbool_t pg, uint64_t *base, svint64_t indices, svuint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, ulong *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u64]index[_u64](svbool_t pg, uint64_t *base, svuint64_t indices, svuint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, ulong *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #offset] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #index * 8] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s32]offset[_f32](svbool_t pg, float32_t *base, svint32_t offsets, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void Scatter(Vector mask, float *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s32]index[_f32](svbool_t pg, float32_t *base, svint32_t indices, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe void Scatter(Vector mask, float *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u32base_f32](svbool_t pg, svuint32_t bases, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u32]offset[_f32](svbool_t pg, float32_t *base, svuint32_t offsets, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, float *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u32]index[_f32](svbool_t pg, float32_t *base, svuint32_t indices, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe void Scatter(Vector mask, float *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u32base]_offset[_f32](svbool_t pg, svuint32_t bases, int64_t offset, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #offset] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u32base]_index[_f32](svbool_t pg, svuint32_t bases, int64_t index, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #index * 4] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s64]offset[_f64](svbool_t pg, float64_t *base, svint64_t offsets, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, double *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[s64]index[_f64](svbool_t pg, float64_t *base, svint64_t indices, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, double *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u64base_f64](svbool_t pg, svuint64_t bases, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u64]offset[_f64](svbool_t pg, float64_t *base, svuint64_t offsets, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, double *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter_[u64]index[_f64](svbool_t pg, float64_t *base, svuint64_t indices, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, double *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u64base]_offset[_f64](svbool_t pg, svuint64_t bases, int64_t offset, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #offset] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1_scatter[_u64base]_index[_f64](svbool_t pg, svuint64_t bases, int64_t index, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #index * 8] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterInt32NarrowToInt16 : Truncate to 16 bits and store + + /// + /// void svst1h_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[s32]offset[_s32](svbool_t pg, int16_t *base, svint32_t offsets, svint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, short *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[s32]index[_s32](svbool_t pg, int16_t *base, svint32_t indices, svint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, short *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[s32]offset[_u32](svbool_t pg, uint16_t *base, svint32_t offsets, svuint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, ushort *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[s32]index[_u32](svbool_t pg, uint16_t *base, svint32_t indices, svuint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, ushort *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterInt32NarrowToSByte : Truncate to 8 bits and store + + /// + /// void svst1b_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// ST1B Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void ScatterInt32NarrowToSByte(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter_[s32]offset[_s32](svbool_t pg, int8_t *base, svint32_t offsets, svint32_t data) + /// ST1B Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void ScatterInt32NarrowToSByte(Vector mask, sbyte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter_[s32]offset[_u32](svbool_t pg, uint8_t *base, svint32_t offsets, svuint32_t data) + /// ST1B Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void ScatterInt32NarrowToSByte(Vector mask, byte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterInt64NarrowToInt16 : Truncate to 16 bits and store + + /// + /// void svst1h_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[s64]offset[_s64](svbool_t pg, int16_t *base, svint64_t offsets, svint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, short *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[s64]index[_s64](svbool_t pg, int16_t *base, svint64_t indices, svint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, short *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[s64]offset[_u64](svbool_t pg, uint16_t *base, svint64_t offsets, svuint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, ushort *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[s64]index[_u64](svbool_t pg, uint16_t *base, svint64_t indices, svuint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, ushort *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterInt64NarrowToInt32 : Truncate to 32 bits and store + + /// + /// void svst1w_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter_[s64]offset[_s64](svbool_t pg, int32_t *base, svint64_t offsets, svint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, int *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter_[s64]index[_s64](svbool_t pg, int32_t *base, svint64_t indices, svint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, int *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter_[s64]offset[_u64](svbool_t pg, uint32_t *base, svint64_t offsets, svuint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, uint *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter_[s64]index[_u64](svbool_t pg, uint32_t *base, svint64_t indices, svuint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, uint *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterInt64NarrowToSByte : Truncate to 8 bits and store + + /// + /// void svst1b_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// ST1B Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter_[s64]offset[_s64](svbool_t pg, int8_t *base, svint64_t offsets, svint64_t data) + /// ST1B Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, sbyte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter_[s64]offset[_u64](svbool_t pg, uint8_t *base, svint64_t offsets, svuint64_t data) + /// ST1B Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, byte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterTruncate16UInt16 : Truncate to 16 bits and store + + /// + /// void svst1h_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #offset] + /// ST1H Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter[_u32base]_index[_s32](svbool_t pg, svuint32_t bases, int64_t index, svint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #index * 2] + /// ST1H Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #offset] + /// ST1H Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #index * 2] + /// ST1H Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #offset] + /// ST1H Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter[_u32base]_index[_u32](svbool_t pg, svuint32_t bases, int64_t index, svuint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #index * 2] + /// ST1H Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #offset] + /// ST1H Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #index * 2] + /// ST1H Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterTruncate32UInt32 : Truncate to 32 bits and store + + /// + /// void svst1w_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #offset] + /// ST1W Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate32UInt32(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #index * 4] + /// ST1W Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate32UInt32(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #offset] + /// ST1W Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate32UInt32(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #index * 4] + /// ST1W Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate32UInt32(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterTruncate8Byte : Truncate to 8 bits and store + + /// + /// void svst1b_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// ST1B Zdata.S, Pg, [Zbases.S, #offset] + /// ST1B Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate8Byte(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// ST1B Zdata.D, Pg, [Zbases.D, #offset] + /// ST1B Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate8Byte(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// ST1B Zdata.S, Pg, [Zbases.S, #offset] + /// ST1B Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate8Byte(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// ST1B Zdata.D, Pg, [Zbases.D, #offset] + /// ST1B Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate8Byte(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterUInt32NarrowToByte : Truncate to 8 bits and store + + /// + /// void svst1b_scatter_[u32]offset[_s32](svbool_t pg, int8_t *base, svuint32_t offsets, svint32_t data) + /// ST1B Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, sbyte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// ST1B Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter_[u32]offset[_u32](svbool_t pg, uint8_t *base, svuint32_t offsets, svuint32_t data) + /// ST1B Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, byte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterUInt32NarrowToUInt16 : Truncate to 16 bits and store + + /// + /// void svst1h_scatter_[u32]offset[_s32](svbool_t pg, int16_t *base, svuint32_t offsets, svint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, short *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[u32]index[_s32](svbool_t pg, int16_t *base, svuint32_t indices, svint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, short *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[u32]offset[_u32](svbool_t pg, uint16_t *base, svuint32_t offsets, svuint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, ushort *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[u32]index[_u32](svbool_t pg, uint16_t *base, svuint32_t indices, svuint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, ushort *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterUInt64NarrowToByte : Truncate to 8 bits and store + + /// + /// void svst1b_scatter_[u64]offset[_s64](svbool_t pg, int8_t *base, svuint64_t offsets, svint64_t data) + /// ST1B Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, sbyte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// ST1B Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1b_scatter_[u64]offset[_u64](svbool_t pg, uint8_t *base, svuint64_t offsets, svuint64_t data) + /// ST1B Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, byte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterUInt64NarrowToUInt16 : Truncate to 16 bits and store + + /// + /// void svst1h_scatter_[u64]offset[_s64](svbool_t pg, int16_t *base, svuint64_t offsets, svint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, short *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[u64]index[_s64](svbool_t pg, int16_t *base, svuint64_t indices, svint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, short *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[u64]offset[_u64](svbool_t pg, uint16_t *base, svuint64_t offsets, svuint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, ushort *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1h_scatter_[u64]index[_u64](svbool_t pg, uint16_t *base, svuint64_t indices, svuint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, ushort *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterUInt64NarrowToUInt32 : Truncate to 32 bits and store + + /// + /// void svst1w_scatter_[u64]offset[_s64](svbool_t pg, int32_t *base, svuint64_t offsets, svint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, int *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter_[u64]index[_s64](svbool_t pg, int32_t *base, svuint64_t indices, svint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, int *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter_[u64]offset[_u64](svbool_t pg, uint32_t *base, svuint64_t offsets, svuint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, uint *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1w_scatter_[u64]index[_u64](svbool_t pg, uint32_t *base, svuint64_t indices, svuint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, uint *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + + /// SetFFR : Initialize the first-fault register to all-true + + /// + /// void svsetffr() + /// SETFFR + /// + public static unsafe void SetFFR() { throw new PlatformNotSupportedException(); } + + + /// ShiftLeftLogical : Logical shift left + + /// + /// svint8_t svlsl[_s8]_m(svbool_t pg, svint8_t op1, svuint8_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svlsl[_s8]_x(svbool_t pg, svint8_t op1, svuint8_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// LSLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svlsl[_s8]_z(svbool_t pg, svint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; LSLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint8_t svlsl_wide[_s8]_m(svbool_t pg, svint8_t op1, svuint64_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.D + /// svint8_t svlsl_wide[_s8]_x(svbool_t pg, svint8_t op1, svuint64_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// LSL Zresult.B, Zop1.B, Zop2.D + /// svint8_t svlsl_wide[_s8]_z(svbool_t pg, svint8_t op1, svuint64_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSL Zresult.B, Pg/M, Zresult.B, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svlsl[_s16]_m(svbool_t pg, svint16_t op1, svuint16_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svlsl[_s16]_x(svbool_t pg, svint16_t op1, svuint16_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// LSLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svlsl[_s16]_z(svbool_t pg, svint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; LSLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svlsl_wide[_s16]_m(svbool_t pg, svint16_t op1, svuint64_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.D + /// svint16_t svlsl_wide[_s16]_x(svbool_t pg, svint16_t op1, svuint64_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// LSL Zresult.H, Zop1.H, Zop2.D + /// svint16_t svlsl_wide[_s16]_z(svbool_t pg, svint16_t op1, svuint64_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSL Zresult.H, Pg/M, Zresult.H, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svlsl[_s32]_m(svbool_t pg, svint32_t op1, svuint32_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svlsl[_s32]_x(svbool_t pg, svint32_t op1, svuint32_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// LSLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svlsl[_s32]_z(svbool_t pg, svint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; LSLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svlsl_wide[_s32]_m(svbool_t pg, svint32_t op1, svuint64_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.D + /// svint32_t svlsl_wide[_s32]_x(svbool_t pg, svint32_t op1, svuint64_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// LSL Zresult.S, Zop1.S, Zop2.D + /// svint32_t svlsl_wide[_s32]_z(svbool_t pg, svint32_t op1, svuint64_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSL Zresult.S, Pg/M, Zresult.S, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svlsl[_s64]_m(svbool_t pg, svint64_t op1, svuint64_t op2) + /// LSL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svlsl[_s64]_x(svbool_t pg, svint64_t op1, svuint64_t op2) + /// LSL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// LSLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svlsl[_s64]_z(svbool_t pg, svint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; LSLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svlsl[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svlsl[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// LSLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svlsl[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; LSLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svlsl_wide[_u8]_m(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.D + /// svuint8_t svlsl_wide[_u8]_x(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// LSL Zresult.B, Zop1.B, Zop2.D + /// svuint8_t svlsl_wide[_u8]_z(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSL Zresult.B, Pg/M, Zresult.B, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svlsl[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svlsl[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// LSLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svlsl[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; LSLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svlsl_wide[_u16]_m(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.D + /// svuint16_t svlsl_wide[_u16]_x(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// LSL Zresult.H, Zop1.H, Zop2.D + /// svuint16_t svlsl_wide[_u16]_z(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSL Zresult.H, Pg/M, Zresult.H, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svlsl[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svlsl[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// LSLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svlsl[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; LSLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svlsl_wide[_u32]_m(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.D + /// svuint32_t svlsl_wide[_u32]_x(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// LSL Zresult.S, Zop1.S, Zop2.D + /// svuint32_t svlsl_wide[_u32]_z(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSL Zresult.S, Pg/M, Zresult.S, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svlsl[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// LSL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svlsl[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// LSL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// LSLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svlsl[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; LSLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ShiftRightArithmetic : Arithmetic shift right + + /// + /// svint8_t svasr[_s8]_m(svbool_t pg, svint8_t op1, svuint8_t op2) + /// ASR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ASR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svasr[_s8]_x(svbool_t pg, svint8_t op1, svuint8_t op2) + /// ASR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// ASRR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; ASR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svasr[_s8]_z(svbool_t pg, svint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ASR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; ASRR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint8_t svasr_wide[_s8]_m(svbool_t pg, svint8_t op1, svuint64_t op2) + /// ASR Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// MOVPRFX Zresult, Zop1; ASR Zresult.B, Pg/M, Zresult.B, Zop2.D + /// svint8_t svasr_wide[_s8]_x(svbool_t pg, svint8_t op1, svuint64_t op2) + /// ASR Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// ASR Zresult.B, Zop1.B, Zop2.D + /// svint8_t svasr_wide[_s8]_z(svbool_t pg, svint8_t op1, svuint64_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ASR Zresult.B, Pg/M, Zresult.B, Zop2.D + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svasr[_s16]_m(svbool_t pg, svint16_t op1, svuint16_t op2) + /// ASR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ASR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svasr[_s16]_x(svbool_t pg, svint16_t op1, svuint16_t op2) + /// ASR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// ASRR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; ASR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svasr[_s16]_z(svbool_t pg, svint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ASR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; ASRR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svasr_wide[_s16]_m(svbool_t pg, svint16_t op1, svuint64_t op2) + /// ASR Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// MOVPRFX Zresult, Zop1; ASR Zresult.H, Pg/M, Zresult.H, Zop2.D + /// svint16_t svasr_wide[_s16]_x(svbool_t pg, svint16_t op1, svuint64_t op2) + /// ASR Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// ASR Zresult.H, Zop1.H, Zop2.D + /// svint16_t svasr_wide[_s16]_z(svbool_t pg, svint16_t op1, svuint64_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ASR Zresult.H, Pg/M, Zresult.H, Zop2.D + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svasr[_s32]_m(svbool_t pg, svint32_t op1, svuint32_t op2) + /// ASR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ASR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svasr[_s32]_x(svbool_t pg, svint32_t op1, svuint32_t op2) + /// ASR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// ASRR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; ASR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svasr[_s32]_z(svbool_t pg, svint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ASR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; ASRR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svasr_wide[_s32]_m(svbool_t pg, svint32_t op1, svuint64_t op2) + /// ASR Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// MOVPRFX Zresult, Zop1; ASR Zresult.S, Pg/M, Zresult.S, Zop2.D + /// svint32_t svasr_wide[_s32]_x(svbool_t pg, svint32_t op1, svuint64_t op2) + /// ASR Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// ASR Zresult.S, Zop1.S, Zop2.D + /// svint32_t svasr_wide[_s32]_z(svbool_t pg, svint32_t op1, svuint64_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ASR Zresult.S, Pg/M, Zresult.S, Zop2.D + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svasr[_s64]_m(svbool_t pg, svint64_t op1, svuint64_t op2) + /// ASR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ASR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svasr[_s64]_x(svbool_t pg, svint64_t op1, svuint64_t op2) + /// ASR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// ASRR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; ASR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svasr[_s64]_z(svbool_t pg, svint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ASR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; ASRR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ShiftRightArithmeticDivide : Arithmetic shift right for divide by immediate + + /// + /// svint8_t svasrd[_n_s8]_m(svbool_t pg, svint8_t op1, uint64_t imm2) + /// ASRD Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.B, Pg/M, Zresult.B, #imm2 + /// svint8_t svasrd[_n_s8]_x(svbool_t pg, svint8_t op1, uint64_t imm2) + /// ASRD Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.B, Pg/M, Zresult.B, #imm2 + /// svint8_t svasrd[_n_s8]_z(svbool_t pg, svint8_t op1, uint64_t imm2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ASRD Zresult.B, Pg/M, Zresult.B, #imm2 + /// + public static unsafe Vector ShiftRightArithmeticDivide(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svasrd[_n_s16]_m(svbool_t pg, svint16_t op1, uint64_t imm2) + /// ASRD Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.H, Pg/M, Zresult.H, #imm2 + /// svint16_t svasrd[_n_s16]_x(svbool_t pg, svint16_t op1, uint64_t imm2) + /// ASRD Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.H, Pg/M, Zresult.H, #imm2 + /// svint16_t svasrd[_n_s16]_z(svbool_t pg, svint16_t op1, uint64_t imm2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ASRD Zresult.H, Pg/M, Zresult.H, #imm2 + /// + public static unsafe Vector ShiftRightArithmeticDivide(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svasrd[_n_s32]_m(svbool_t pg, svint32_t op1, uint64_t imm2) + /// ASRD Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.S, Pg/M, Zresult.S, #imm2 + /// svint32_t svasrd[_n_s32]_x(svbool_t pg, svint32_t op1, uint64_t imm2) + /// ASRD Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.S, Pg/M, Zresult.S, #imm2 + /// svint32_t svasrd[_n_s32]_z(svbool_t pg, svint32_t op1, uint64_t imm2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ASRD Zresult.S, Pg/M, Zresult.S, #imm2 + /// + public static unsafe Vector ShiftRightArithmeticDivide(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svasrd[_n_s64]_m(svbool_t pg, svint64_t op1, uint64_t imm2) + /// ASRD Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.D, Pg/M, Zresult.D, #imm2 + /// svint64_t svasrd[_n_s64]_x(svbool_t pg, svint64_t op1, uint64_t imm2) + /// ASRD Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.D, Pg/M, Zresult.D, #imm2 + /// svint64_t svasrd[_n_s64]_z(svbool_t pg, svint64_t op1, uint64_t imm2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ASRD Zresult.D, Pg/M, Zresult.D, #imm2 + /// + public static unsafe Vector ShiftRightArithmeticDivide(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// ShiftRightLogical : Logical shift right + + /// + /// svuint8_t svlsr[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// LSR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; LSR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svlsr[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// LSR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// LSRR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; LSR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svlsr[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; LSRR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svlsr_wide[_u8]_m(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// LSR Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// MOVPRFX Zresult, Zop1; LSR Zresult.B, Pg/M, Zresult.B, Zop2.D + /// svuint8_t svlsr_wide[_u8]_x(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// LSR Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// LSR Zresult.B, Zop1.B, Zop2.D + /// svuint8_t svlsr_wide[_u8]_z(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSR Zresult.B, Pg/M, Zresult.B, Zop2.D + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svlsr[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// LSR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; LSR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svlsr[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// LSR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// LSRR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; LSR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svlsr[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; LSRR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svlsr_wide[_u16]_m(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// LSR Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// MOVPRFX Zresult, Zop1; LSR Zresult.H, Pg/M, Zresult.H, Zop2.D + /// svuint16_t svlsr_wide[_u16]_x(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// LSR Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// LSR Zresult.H, Zop1.H, Zop2.D + /// svuint16_t svlsr_wide[_u16]_z(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSR Zresult.H, Pg/M, Zresult.H, Zop2.D + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svlsr[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// LSR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; LSR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svlsr[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// LSR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// LSRR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; LSR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svlsr[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; LSRR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svlsr_wide[_u32]_m(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// LSR Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// MOVPRFX Zresult, Zop1; LSR Zresult.S, Pg/M, Zresult.S, Zop2.D + /// svuint32_t svlsr_wide[_u32]_x(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// LSR Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// LSR Zresult.S, Zop1.S, Zop2.D + /// svuint32_t svlsr_wide[_u32]_z(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSR Zresult.S, Pg/M, Zresult.S, Zop2.D + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svlsr[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// LSR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; LSR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svlsr[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// LSR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// LSRR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; LSR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svlsr[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; LSR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; LSRR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SignExtend16 : Sign-extend the low 16 bits + + /// + /// svint32_t svexth[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// SXTH Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SXTH Zresult.S, Pg/M, Zop.S + /// svint32_t svexth[_s32]_x(svbool_t pg, svint32_t op) + /// SXTH Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SXTH Zresult.S, Pg/M, Zop.S + /// svint32_t svexth[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SXTH Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector SignExtend16(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svexth[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// SXTH Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SXTH Zresult.D, Pg/M, Zop.D + /// svint64_t svexth[_s64]_x(svbool_t pg, svint64_t op) + /// SXTH Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SXTH Zresult.D, Pg/M, Zop.D + /// svint64_t svexth[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SXTH Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector SignExtend16(Vector value) { throw new PlatformNotSupportedException(); } + + + /// SignExtend32 : Sign-extend the low 32 bits + + /// + /// svint64_t svextw[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// SXTW Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SXTW Zresult.D, Pg/M, Zop.D + /// svint64_t svextw[_s64]_x(svbool_t pg, svint64_t op) + /// SXTW Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SXTW Zresult.D, Pg/M, Zop.D + /// svint64_t svextw[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SXTW Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector SignExtend32(Vector value) { throw new PlatformNotSupportedException(); } + + + /// SignExtend8 : Sign-extend the low 8 bits + + /// + /// svint16_t svextb[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// SXTB Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; SXTB Zresult.H, Pg/M, Zop.H + /// svint16_t svextb[_s16]_x(svbool_t pg, svint16_t op) + /// SXTB Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; SXTB Zresult.H, Pg/M, Zop.H + /// svint16_t svextb[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; SXTB Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector SignExtend8(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svextb[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// SXTB Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SXTB Zresult.S, Pg/M, Zop.S + /// svint32_t svextb[_s32]_x(svbool_t pg, svint32_t op) + /// SXTB Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SXTB Zresult.S, Pg/M, Zop.S + /// svint32_t svextb[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SXTB Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector SignExtend8(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svextb[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// SXTB Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SXTB Zresult.D, Pg/M, Zop.D + /// svint64_t svextb[_s64]_x(svbool_t pg, svint64_t op) + /// SXTB Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SXTB Zresult.D, Pg/M, Zop.D + /// svint64_t svextb[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SXTB Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector SignExtend8(Vector value) { throw new PlatformNotSupportedException(); } + + + /// SignExtendWideningLower : Unpack and extend low half + + /// + /// svint16_t svunpklo[_s16](svint8_t op) + /// SUNPKLO Zresult.H, Zop.B + /// + public static unsafe Vector SignExtendWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svunpklo[_s32](svint16_t op) + /// SUNPKLO Zresult.S, Zop.H + /// + public static unsafe Vector SignExtendWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svunpklo[_s64](svint32_t op) + /// SUNPKLO Zresult.D, Zop.S + /// + public static unsafe Vector SignExtendWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + + /// SignExtendWideningUpper : Unpack and extend high half + + /// + /// svint16_t svunpkhi[_s16](svint8_t op) + /// SUNPKHI Zresult.H, Zop.B + /// + public static unsafe Vector SignExtendWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svunpkhi[_s32](svint16_t op) + /// SUNPKHI Zresult.S, Zop.H + /// + public static unsafe Vector SignExtendWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svunpkhi[_s64](svint32_t op) + /// SUNPKHI Zresult.D, Zop.S + /// + public static unsafe Vector SignExtendWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Splice : Splice two vectors under predicate control + + /// + /// svint8_t svsplice[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// SPLICE Ztied1.B, Pg, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.B, Pg, Zresult.B, Zop2.B + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svsplice[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// SPLICE Ztied1.H, Pg, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.H, Pg, Zresult.H, Zop2.H + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsplice[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// SPLICE Ztied1.S, Pg, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.S, Pg, Zresult.S, Zop2.S + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsplice[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// SPLICE Ztied1.D, Pg, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.D, Pg, Zresult.D, Zop2.D + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svsplice[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SPLICE Ztied1.B, Pg, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.B, Pg, Zresult.B, Zop2.B + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsplice[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SPLICE Ztied1.H, Pg, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.H, Pg, Zresult.H, Zop2.H + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsplice[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SPLICE Ztied1.S, Pg, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.S, Pg, Zresult.S, Zop2.S + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsplice[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SPLICE Ztied1.D, Pg, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.D, Pg, Zresult.D, Zop2.D + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svsplice[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// SPLICE Ztied1.S, Pg, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.S, Pg, Zresult.S, Zop2.S + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svsplice[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// SPLICE Ztied1.D, Pg, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.D, Pg, Zresult.D, Zop2.D + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Sqrt : Square root + + /// + /// svfloat32_t svsqrt[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FSQRT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FSQRT Zresult.S, Pg/M, Zop.S + /// svfloat32_t svsqrt[_f32]_x(svbool_t pg, svfloat32_t op) + /// FSQRT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FSQRT Zresult.S, Pg/M, Zop.S + /// svfloat32_t svsqrt[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FSQRT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Sqrt(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svsqrt[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FSQRT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FSQRT Zresult.D, Pg/M, Zop.D + /// svfloat64_t svsqrt[_f64]_x(svbool_t pg, svfloat64_t op) + /// FSQRT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FSQRT Zresult.D, Pg/M, Zop.D + /// svfloat64_t svsqrt[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FSQRT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Sqrt(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Store : Non-truncating store + + /// + /// void svst1[_s8](svbool_t pg, int8_t *base, svint8_t data) + /// ST1B Zdata.B, Pg, [Xarray, Xindex] + /// ST1B Zdata.B, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, sbyte *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1[_s16](svbool_t pg, int16_t *base, svint16_t data) + /// ST1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, short *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1[_s32](svbool_t pg, int32_t *base, svint32_t data) + /// ST1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// ST1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, int *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1[_s64](svbool_t pg, int64_t *base, svint64_t data) + /// ST1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// ST1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, long *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1[_u8](svbool_t pg, uint8_t *base, svuint8_t data) + /// ST1B Zdata.B, Pg, [Xarray, Xindex] + /// ST1B Zdata.B, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, byte *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1[_u16](svbool_t pg, uint16_t *base, svuint16_t data) + /// ST1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, ushort *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1[_u32](svbool_t pg, uint32_t *base, svuint32_t data) + /// ST1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// ST1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, uint *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1[_u64](svbool_t pg, uint64_t *base, svuint64_t data) + /// ST1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// ST1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, ulong *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1[_f32](svbool_t pg, float32_t *base, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// ST1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, float *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svst1[_f64](svbool_t pg, float64_t *base, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// ST1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, double *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreInt16NarrowToSByte : Truncate to 8 bits and store + + /// + /// void svst1b[_s16](svbool_t pg, int8_t *base, svint16_t data) + /// ST1B Zdata.H, Pg, [Xarray, Xindex] + /// ST1B Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt16NarrowToSByte(Vector mask, sbyte *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreInt32NarrowToInt16 : Truncate to 16 bits and store + + /// + /// void svst1h[_s32](svbool_t pg, int16_t *base, svint32_t data) + /// ST1H Zdata.S, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt32NarrowToInt16(Vector mask, short *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreInt32NarrowToSByte : Truncate to 8 bits and store + + /// + /// void svst1b[_s32](svbool_t pg, int8_t *base, svint32_t data) + /// ST1B Zdata.S, Pg, [Xarray, Xindex] + /// ST1B Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt32NarrowToSByte(Vector mask, sbyte *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreInt64NarrowToInt16 : Truncate to 16 bits and store + + /// + /// void svst1h[_s64](svbool_t pg, int16_t *base, svint64_t data) + /// ST1H Zdata.D, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt64NarrowToInt16(Vector mask, short *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreInt64NarrowToInt32 : Truncate to 32 bits and store + + /// + /// void svst1w[_s64](svbool_t pg, int32_t *base, svint64_t data) + /// ST1W Zdata.D, Pg, [Xarray, Xindex, LSL #2] + /// ST1W Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt64NarrowToInt32(Vector mask, int *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreInt64NarrowToSByte : Truncate to 8 bits and store + + /// + /// void svst1b[_s64](svbool_t pg, int8_t *base, svint64_t data) + /// ST1B Zdata.D, Pg, [Xarray, Xindex] + /// ST1B Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt64NarrowToSByte(Vector mask, sbyte *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreNonTemporal : Non-truncating store, non-temporal + + /// + /// void svstnt1[_s8](svbool_t pg, int8_t *base, svint8_t data) + /// STNT1B Zdata.B, Pg, [Xarray, Xindex] + /// STNT1B Zdata.B, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, sbyte *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1[_s16](svbool_t pg, int16_t *base, svint16_t data) + /// STNT1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// STNT1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, short *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1[_s32](svbool_t pg, int32_t *base, svint32_t data) + /// STNT1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// STNT1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, int *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1[_s64](svbool_t pg, int64_t *base, svint64_t data) + /// STNT1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// STNT1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, long *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1[_u8](svbool_t pg, uint8_t *base, svuint8_t data) + /// STNT1B Zdata.B, Pg, [Xarray, Xindex] + /// STNT1B Zdata.B, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, byte *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1[_u16](svbool_t pg, uint16_t *base, svuint16_t data) + /// STNT1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// STNT1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, ushort *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1[_u32](svbool_t pg, uint32_t *base, svuint32_t data) + /// STNT1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// STNT1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, uint *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1[_u64](svbool_t pg, uint64_t *base, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// STNT1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, ulong *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1[_f32](svbool_t pg, float32_t *base, svfloat32_t data) + /// STNT1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// STNT1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, float *base, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1[_f64](svbool_t pg, float64_t *base, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// STNT1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, double *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreUInt16NarrowToByte : Truncate to 8 bits and store + + /// + /// void svst1b[_u16](svbool_t pg, uint8_t *base, svuint16_t data) + /// ST1B Zdata.H, Pg, [Xarray, Xindex] + /// ST1B Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt16NarrowToByte(Vector mask, byte *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreUInt32NarrowToByte : Truncate to 8 bits and store + + /// + /// void svst1b[_u32](svbool_t pg, uint8_t *base, svuint32_t data) + /// ST1B Zdata.S, Pg, [Xarray, Xindex] + /// ST1B Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt32NarrowToByte(Vector mask, byte *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreUInt32NarrowToUInt16 : Truncate to 16 bits and store + + /// + /// void svst1h[_u32](svbool_t pg, uint16_t *base, svuint32_t data) + /// ST1H Zdata.S, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt32NarrowToUInt16(Vector mask, ushort *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreUInt64NarrowToByte : Truncate to 8 bits and store + + /// + /// void svst1b[_u64](svbool_t pg, uint8_t *base, svuint64_t data) + /// ST1B Zdata.D, Pg, [Xarray, Xindex] + /// ST1B Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt64NarrowToByte(Vector mask, byte *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreUInt64NarrowToUInt16 : Truncate to 16 bits and store + + /// + /// void svst1h[_u64](svbool_t pg, uint16_t *base, svuint64_t data) + /// ST1H Zdata.D, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt64NarrowToUInt16(Vector mask, ushort *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreUInt64NarrowToUInt32 : Truncate to 32 bits and store + + /// + /// void svst1w[_u64](svbool_t pg, uint32_t *base, svuint64_t data) + /// ST1W Zdata.D, Pg, [Xarray, Xindex, LSL #2] + /// ST1W Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt64NarrowToUInt32(Vector mask, uint *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// Storex2 : Store two vectors into two-element tuples + + /// + /// void svst2[_s8](svbool_t pg, int8_t *base, svint8x2_t data) + /// ST2B {Zdata0.B, Zdata1.B}, Pg, [Xarray, Xindex] + /// ST2B {Zdata0.B, Zdata1.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, sbyte *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst2[_s16](svbool_t pg, int16_t *base, svint16x2_t data) + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, short *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst2[_s32](svbool_t pg, int32_t *base, svint32x2_t data) + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, int *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst2[_s64](svbool_t pg, int64_t *base, svint64x2_t data) + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, long *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst2[_u8](svbool_t pg, uint8_t *base, svuint8x2_t data) + /// ST2B {Zdata0.B, Zdata1.B}, Pg, [Xarray, Xindex] + /// ST2B {Zdata0.B, Zdata1.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, byte *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst2[_u16](svbool_t pg, uint16_t *base, svuint16x2_t data) + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, ushort *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst2[_u32](svbool_t pg, uint32_t *base, svuint32x2_t data) + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, uint *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst2[_u64](svbool_t pg, uint64_t *base, svuint64x2_t data) + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, ulong *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst2[_f32](svbool_t pg, float32_t *base, svfloat32x2_t data) + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, float *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst2[_f64](svbool_t pg, float64_t *base, svfloat64x2_t data) + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, double *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + + /// Storex3 : Store three vectors into three-element tuples + + /// + /// void svst3[_s8](svbool_t pg, int8_t *base, svint8x3_t data) + /// ST3B {Zdata0.B - Zdata2.B}, Pg, [Xarray, Xindex] + /// ST3B {Zdata0.B - Zdata2.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, sbyte *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst3[_s16](svbool_t pg, int16_t *base, svint16x3_t data) + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, short *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst3[_s32](svbool_t pg, int32_t *base, svint32x3_t data) + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, int *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst3[_s64](svbool_t pg, int64_t *base, svint64x3_t data) + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, long *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst3[_u8](svbool_t pg, uint8_t *base, svuint8x3_t data) + /// ST3B {Zdata0.B - Zdata2.B}, Pg, [Xarray, Xindex] + /// ST3B {Zdata0.B - Zdata2.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, byte *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst3[_u16](svbool_t pg, uint16_t *base, svuint16x3_t data) + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, ushort *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst3[_u32](svbool_t pg, uint32_t *base, svuint32x3_t data) + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, uint *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst3[_u64](svbool_t pg, uint64_t *base, svuint64x3_t data) + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, ulong *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst3[_f32](svbool_t pg, float32_t *base, svfloat32x3_t data) + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, float *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst3[_f64](svbool_t pg, float64_t *base, svfloat64x3_t data) + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, double *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + + /// Storex4 : Store four vectors into four-element tuples + + /// + /// void svst4[_s8](svbool_t pg, int8_t *base, svint8x4_t data) + /// ST4B {Zdata0.B - Zdata3.B}, Pg, [Xarray, Xindex] + /// ST4B {Zdata0.B - Zdata3.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, sbyte *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst4[_s16](svbool_t pg, int16_t *base, svint16x4_t data) + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, short *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst4[_s32](svbool_t pg, int32_t *base, svint32x4_t data) + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, int *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst4[_s64](svbool_t pg, int64_t *base, svint64x4_t data) + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, long *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst4[_u8](svbool_t pg, uint8_t *base, svuint8x4_t data) + /// ST4B {Zdata0.B - Zdata3.B}, Pg, [Xarray, Xindex] + /// ST4B {Zdata0.B - Zdata3.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, byte *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst4[_u16](svbool_t pg, uint16_t *base, svuint16x4_t data) + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, ushort *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst4[_u32](svbool_t pg, uint32_t *base, svuint32x4_t data) + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, uint *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst4[_u64](svbool_t pg, uint64_t *base, svuint64x4_t data) + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, ulong *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst4[_f32](svbool_t pg, float32_t *base, svfloat32x4_t data) + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, float *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + /// + /// void svst4[_f64](svbool_t pg, float64_t *base, svfloat64x4_t data) + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, double *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + + /// Subtract : Subtract + + /// + /// svint8_t svsub[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svsub[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SUB Zresult.B, Zop1.B, Zop2.B + /// svint8_t svsub[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svsub[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svsub[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SUB Zresult.H, Zop1.H, Zop2.H + /// svint16_t svsub[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsub[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svsub[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SUB Zresult.S, Zop1.S, Zop2.S + /// svint32_t svsub[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsub[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svsub[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SUB Zresult.D, Zop1.D, Zop2.D + /// svint64_t svsub[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svsub[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svsub[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SUB Zresult.B, Zop1.B, Zop2.B + /// svuint8_t svsub[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsub[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svsub[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SUB Zresult.H, Zop1.H, Zop2.H + /// svuint16_t svsub[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsub[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svsub[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SUB Zresult.S, Zop1.S, Zop2.S + /// svuint32_t svsub[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsub[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svsub[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SUB Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svsub[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svsub[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svsub[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FSUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// FSUB Zresult.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svsub[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FSUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svsub[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svsub[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FSUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// FSUB Zresult.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svsub[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FSUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractReversed : Subtract reversed + + /// + /// svint8_t svsubr[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svsubr[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SUB Zresult.B, Zop2.B, Zop1.B + /// svint8_t svsubr[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svsubr[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svsubr[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SUB Zresult.H, Zop2.H, Zop1.H + /// svint16_t svsubr[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsubr[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svsubr[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SUB Zresult.S, Zop2.S, Zop1.S + /// svint32_t svsubr[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsubr[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svsubr[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SUB Zresult.D, Zop2.D, Zop1.D + /// svint64_t svsubr[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svsubr[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svsubr[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SUB Zresult.B, Zop2.B, Zop1.B + /// svuint8_t svsubr[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsubr[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svsubr[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SUB Zresult.H, Zop2.H, Zop1.H + /// svuint16_t svsubr[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsubr[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svsubr[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SUB Zresult.S, Zop2.S, Zop1.S + /// svuint32_t svsubr[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsubr[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svsubr[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SUB Zresult.D, Zop2.D, Zop1.D + /// svuint64_t svsubr[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svsubr[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svsubr[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FSUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// FSUB Zresult.S, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svsubr[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FSUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svsubr[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svsubr[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FSUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// FSUB Zresult.D, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svsubr[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FSUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractSaturate : Saturating subtract + + /// + /// svint8_t svqsub[_s8](svint8_t op1, svint8_t op2) + /// SQSUB Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqsub[_s16](svint16_t op1, svint16_t op2) + /// SQSUB Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqsub[_s32](svint32_t op1, svint32_t op2) + /// SQSUB Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqsub[_s64](svint64_t op1, svint64_t op2) + /// SQSUB Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqsub[_u8](svuint8_t op1, svuint8_t op2) + /// UQSUB Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqsub[_u16](svuint16_t op1, svuint16_t op2) + /// UQSUB Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqsub[_u32](svuint32_t op1, svuint32_t op2) + /// UQSUB Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqsub[_u64](svuint64_t op1, svuint64_t op2) + /// UQSUB Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// TransposeEven : Interleave even elements from two inputs + + /// + /// svint8_t svtrn1[_s8](svint8_t op1, svint8_t op2) + /// TRN1 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svtrn1[_s16](svint16_t op1, svint16_t op2) + /// TRN1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svtrn1[_s32](svint32_t op1, svint32_t op2) + /// TRN1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svtrn1[_s64](svint64_t op1, svint64_t op2) + /// TRN1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svtrn1[_u8](svuint8_t op1, svuint8_t op2) + /// TRN1 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svtrn1_b8(svbool_t op1, svbool_t op2) + /// TRN1 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svtrn1[_u16](svuint16_t op1, svuint16_t op2) + /// TRN1 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svtrn1_b16(svbool_t op1, svbool_t op2) + /// TRN1 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svtrn1[_u32](svuint32_t op1, svuint32_t op2) + /// TRN1 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svtrn1_b32(svbool_t op1, svbool_t op2) + /// TRN1 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svtrn1[_u64](svuint64_t op1, svuint64_t op2) + /// TRN1 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svtrn1_b64(svbool_t op1, svbool_t op2) + /// TRN1 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svtrn1[_f32](svfloat32_t op1, svfloat32_t op2) + /// TRN1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svtrn1[_f64](svfloat64_t op1, svfloat64_t op2) + /// TRN1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// TransposeOdd : Interleave odd elements from two inputs + + /// + /// svint8_t svtrn2[_s8](svint8_t op1, svint8_t op2) + /// TRN2 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svtrn2[_s16](svint16_t op1, svint16_t op2) + /// TRN2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svtrn2[_s32](svint32_t op1, svint32_t op2) + /// TRN2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svtrn2[_s64](svint64_t op1, svint64_t op2) + /// TRN2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svtrn2[_u8](svuint8_t op1, svuint8_t op2) + /// TRN2 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svtrn2_b8(svbool_t op1, svbool_t op2) + /// TRN2 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svtrn2[_u16](svuint16_t op1, svuint16_t op2) + /// TRN2 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svtrn2_b16(svbool_t op1, svbool_t op2) + /// TRN2 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svtrn2[_u32](svuint32_t op1, svuint32_t op2) + /// TRN2 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svtrn2_b32(svbool_t op1, svbool_t op2) + /// TRN2 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svtrn2[_u64](svuint64_t op1, svuint64_t op2) + /// TRN2 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svtrn2_b64(svbool_t op1, svbool_t op2) + /// TRN2 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svtrn2[_f32](svfloat32_t op1, svfloat32_t op2) + /// TRN2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svtrn2[_f64](svfloat64_t op1, svfloat64_t op2) + /// TRN2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// TrigonometricMultiplyAddCoefficient : Trigonometric multiply-add coefficient + + /// + /// svfloat32_t svtmad[_f32](svfloat32_t op1, svfloat32_t op2, uint64_t imm3) + /// FTMAD Ztied1.S, Ztied1.S, Zop2.S, #imm3 + /// MOVPRFX Zresult, Zop1; FTMAD Zresult.S, Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector TrigonometricMultiplyAddCoefficient(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svtmad[_f64](svfloat64_t op1, svfloat64_t op2, uint64_t imm3) + /// FTMAD Ztied1.D, Ztied1.D, Zop2.D, #imm3 + /// MOVPRFX Zresult, Zop1; FTMAD Zresult.D, Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector TrigonometricMultiplyAddCoefficient(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + + /// TrigonometricSelectCoefficient : Trigonometric select coefficient + + /// + /// svfloat32_t svtssel[_f32](svfloat32_t op1, svuint32_t op2) + /// FTSSEL Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TrigonometricSelectCoefficient(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svtssel[_f64](svfloat64_t op1, svuint64_t op2) + /// FTSSEL Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TrigonometricSelectCoefficient(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// TrigonometricStartingValue : Trigonometric starting value + + /// + /// svfloat32_t svtsmul[_f32](svfloat32_t op1, svuint32_t op2) + /// FTSMUL Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TrigonometricStartingValue(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svtsmul[_f64](svfloat64_t op1, svuint64_t op2) + /// FTSMUL Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TrigonometricStartingValue(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// TrueMask : Set predicate elements to true + + /// + /// svbool_t svptrue_b8() + /// PTRUE Presult.B, ALL + /// svbool_t svptrue_b16() + /// PTRUE Presult.H, ALL + /// svbool_t svptrue_b32() + /// PTRUE Presult.S, ALL + /// svbool_t svptrue_b64() + /// PTRUE Presult.D, ALL + /// + public static unsafe Vector TrueMask() { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svptrue_pat_b8(enum svpattern pattern) + /// PTRUE Presult.B, pattern + /// svbool_t svptrue_pat_b16(enum svpattern pattern) + /// PTRUE Presult.H, pattern + /// svbool_t svptrue_pat_b32(enum svpattern pattern) + /// PTRUE Presult.S, pattern + /// svbool_t svptrue_pat_b64(enum svpattern pattern) + /// PTRUE Presult.D, pattern + /// + public static unsafe Vector TrueMask(enum SveMaskPattern pattern) { throw new PlatformNotSupportedException(); } + + + /// UnzipEven : Concatenate even elements from two inputs + + /// + /// svint8_t svuzp1[_s8](svint8_t op1, svint8_t op2) + /// UZP1 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svuzp1[_s16](svint16_t op1, svint16_t op2) + /// UZP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svuzp1[_s32](svint32_t op1, svint32_t op2) + /// UZP1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svuzp1[_s64](svint64_t op1, svint64_t op2) + /// UZP1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svuzp1[_u8](svuint8_t op1, svuint8_t op2) + /// UZP1 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svuzp1_b8(svbool_t op1, svbool_t op2) + /// UZP1 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svuzp1[_u16](svuint16_t op1, svuint16_t op2) + /// UZP1 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svuzp1_b16(svbool_t op1, svbool_t op2) + /// UZP1 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svuzp1[_u32](svuint32_t op1, svuint32_t op2) + /// UZP1 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svuzp1_b32(svbool_t op1, svbool_t op2) + /// UZP1 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svuzp1[_u64](svuint64_t op1, svuint64_t op2) + /// UZP1 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svuzp1_b64(svbool_t op1, svbool_t op2) + /// UZP1 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svuzp1[_f32](svfloat32_t op1, svfloat32_t op2) + /// UZP1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svuzp1[_f64](svfloat64_t op1, svfloat64_t op2) + /// UZP1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// UnzipOdd : Concatenate odd elements from two inputs + + /// + /// svint8_t svuzp2[_s8](svint8_t op1, svint8_t op2) + /// UZP2 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svuzp2[_s16](svint16_t op1, svint16_t op2) + /// UZP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svuzp2[_s32](svint32_t op1, svint32_t op2) + /// UZP2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svuzp2[_s64](svint64_t op1, svint64_t op2) + /// UZP2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svuzp2[_u8](svuint8_t op1, svuint8_t op2) + /// UZP2 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svuzp2_b8(svbool_t op1, svbool_t op2) + /// UZP2 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svuzp2[_u16](svuint16_t op1, svuint16_t op2) + /// UZP2 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svuzp2_b16(svbool_t op1, svbool_t op2) + /// UZP2 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svuzp2[_u32](svuint32_t op1, svuint32_t op2) + /// UZP2 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svuzp2_b32(svbool_t op1, svbool_t op2) + /// UZP2 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svuzp2[_u64](svuint64_t op1, svuint64_t op2) + /// UZP2 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svuzp2_b64(svbool_t op1, svbool_t op2) + /// UZP2 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svuzp2[_f32](svfloat32_t op1, svfloat32_t op2) + /// UZP2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svuzp2[_f64](svfloat64_t op1, svfloat64_t op2) + /// UZP2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// VectorTableLookup : Table lookup in single-vector table + + /// + /// svint8_t svtbl[_s8](svint8_t data, svuint8_t indices) + /// TBL Zresult.B, Zdata.B, Zindices.B + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svtbl[_s16](svint16_t data, svuint16_t indices) + /// TBL Zresult.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svtbl[_s32](svint32_t data, svuint32_t indices) + /// TBL Zresult.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svtbl[_s64](svint64_t data, svuint64_t indices) + /// TBL Zresult.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svtbl[_u8](svuint8_t data, svuint8_t indices) + /// TBL Zresult.B, Zdata.B, Zindices.B + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svtbl[_u16](svuint16_t data, svuint16_t indices) + /// TBL Zresult.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svtbl[_u32](svuint32_t data, svuint32_t indices) + /// TBL Zresult.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svtbl[_u64](svuint64_t data, svuint64_t indices) + /// TBL Zresult.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svtbl[_f32](svfloat32_t data, svuint32_t indices) + /// TBL Zresult.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svtbl[_f64](svfloat64_t data, svuint64_t indices) + /// TBL Zresult.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + + /// WriteFFR : Write to the first-fault register + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Xor : Bitwise exclusive OR + + /// + /// svint8_t sveor[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// EOR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; EOR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t sveor[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// EOR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// EOR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svint8_t sveor[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; EOR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; EOR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t sveor[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// EOR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; EOR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t sveor[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// EOR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// EOR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svint16_t sveor[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; EOR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; EOR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t sveor[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// EOR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; EOR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t sveor[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// EOR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// EOR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svint32_t sveor[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; EOR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; EOR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t sveor[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// EOR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t sveor[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// EOR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// EOR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svint64_t sveor[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; EOR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; EOR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t sveor[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// EOR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; EOR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t sveor[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// EOR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// EOR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svuint8_t sveor[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; EOR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; EOR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t sveor[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// EOR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; EOR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t sveor[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// EOR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// EOR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svuint16_t sveor[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; EOR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; EOR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t sveor[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// EOR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; EOR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t sveor[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// EOR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// EOR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svuint32_t sveor[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; EOR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; EOR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t sveor[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// EOR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t sveor[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// EOR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// EOR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svuint64_t sveor[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; EOR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; EOR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// XorAcross : Bitwise exclusive OR reduction to scalar + + /// + /// int8_t sveorv[_s8](svbool_t pg, svint8_t op) + /// EORV Bresult, Pg, Zop.B + /// + public static unsafe sbyte XorAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int16_t sveorv[_s16](svbool_t pg, svint16_t op) + /// EORV Hresult, Pg, Zop.H + /// + public static unsafe short XorAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int32_t sveorv[_s32](svbool_t pg, svint32_t op) + /// EORV Sresult, Pg, Zop.S + /// + public static unsafe int XorAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// int64_t sveorv[_s64](svbool_t pg, svint64_t op) + /// EORV Dresult, Pg, Zop.D + /// + public static unsafe long XorAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint8_t sveorv[_u8](svbool_t pg, svuint8_t op) + /// EORV Bresult, Pg, Zop.B + /// + public static unsafe byte XorAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint16_t sveorv[_u16](svbool_t pg, svuint16_t op) + /// EORV Hresult, Pg, Zop.H + /// + public static unsafe ushort XorAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint32_t sveorv[_u32](svbool_t pg, svuint32_t op) + /// EORV Sresult, Pg, Zop.S + /// + public static unsafe uint XorAcross(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// uint64_t sveorv[_u64](svbool_t pg, svuint64_t op) + /// EORV Dresult, Pg, Zop.D + /// + public static unsafe ulong XorAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ZeroExtend16 : Zero-extend the low 16 bits + + /// + /// svuint32_t svexth[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// UXTH Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; UXTH Zresult.S, Pg/M, Zop.S + /// svuint32_t svexth[_u32]_x(svbool_t pg, svuint32_t op) + /// UXTH Ztied.S, Pg/M, Ztied.S + /// AND Ztied.S, Ztied.S, #65535 + /// svuint32_t svexth[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; UXTH Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ZeroExtend16(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svexth[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// UXTH Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UXTH Zresult.D, Pg/M, Zop.D + /// svuint64_t svexth[_u64]_x(svbool_t pg, svuint64_t op) + /// UXTH Ztied.D, Pg/M, Ztied.D + /// AND Ztied.D, Ztied.D, #65535 + /// svuint64_t svexth[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UXTH Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ZeroExtend16(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ZeroExtend32 : Zero-extend the low 32 bits + + /// + /// svuint64_t svextw[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// UXTW Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UXTW Zresult.D, Pg/M, Zop.D + /// svuint64_t svextw[_u64]_x(svbool_t pg, svuint64_t op) + /// UXTW Ztied.D, Pg/M, Ztied.D + /// AND Ztied.D, Ztied.D, #4294967295 + /// svuint64_t svextw[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UXTW Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ZeroExtend32(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ZeroExtend8 : Zero-extend the low 8 bits + + /// + /// svuint16_t svextb[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// UXTB Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; UXTB Zresult.H, Pg/M, Zop.H + /// svuint16_t svextb[_u16]_x(svbool_t pg, svuint16_t op) + /// UXTB Ztied.H, Pg/M, Ztied.H + /// AND Ztied.H, Ztied.H, #255 + /// svuint16_t svextb[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; UXTB Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ZeroExtend8(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svextb[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// UXTB Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; UXTB Zresult.S, Pg/M, Zop.S + /// svuint32_t svextb[_u32]_x(svbool_t pg, svuint32_t op) + /// UXTB Ztied.S, Pg/M, Ztied.S + /// AND Ztied.S, Ztied.S, #255 + /// svuint32_t svextb[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; UXTB Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ZeroExtend8(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svextb[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// UXTB Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UXTB Zresult.D, Pg/M, Zop.D + /// svuint64_t svextb[_u64]_x(svbool_t pg, svuint64_t op) + /// UXTB Ztied.D, Pg/M, Ztied.D + /// AND Ztied.D, Ztied.D, #255 + /// svuint64_t svextb[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UXTB Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ZeroExtend8(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ZeroExtendWideningLower : Unpack and extend low half + + /// + /// svuint16_t svunpklo[_u16](svuint8_t op) + /// UUNPKLO Zresult.H, Zop.B + /// svbool_t svunpklo[_b](svbool_t op) + /// PUNPKLO Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svunpklo[_u32](svuint16_t op) + /// UUNPKLO Zresult.S, Zop.H + /// svbool_t svunpklo[_b](svbool_t op) + /// PUNPKLO Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svunpklo[_u64](svuint32_t op) + /// UUNPKLO Zresult.D, Zop.S + /// svbool_t svunpklo[_b](svbool_t op) + /// PUNPKLO Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ZeroExtendWideningUpper : Unpack and extend high half + + /// + /// svuint16_t svunpkhi[_u16](svuint8_t op) + /// UUNPKHI Zresult.H, Zop.B + /// svbool_t svunpkhi[_b](svbool_t op) + /// PUNPKHI Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svunpkhi[_u32](svuint16_t op) + /// UUNPKHI Zresult.S, Zop.H + /// svbool_t svunpkhi[_b](svbool_t op) + /// PUNPKHI Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svunpkhi[_u64](svuint32_t op) + /// UUNPKHI Zresult.D, Zop.S + /// svbool_t svunpkhi[_b](svbool_t op) + /// PUNPKHI Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ZipHigh : Interleave elements from high halves of two inputs + + /// + /// svint8_t svzip2[_s8](svint8_t op1, svint8_t op2) + /// ZIP2 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svzip2[_s16](svint16_t op1, svint16_t op2) + /// ZIP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svzip2[_s32](svint32_t op1, svint32_t op2) + /// ZIP2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svzip2[_s64](svint64_t op1, svint64_t op2) + /// ZIP2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svzip2[_u8](svuint8_t op1, svuint8_t op2) + /// ZIP2 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svzip2_b8(svbool_t op1, svbool_t op2) + /// ZIP2 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svzip2[_u16](svuint16_t op1, svuint16_t op2) + /// ZIP2 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svzip2_b16(svbool_t op1, svbool_t op2) + /// ZIP2 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svzip2[_u32](svuint32_t op1, svuint32_t op2) + /// ZIP2 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svzip2_b32(svbool_t op1, svbool_t op2) + /// ZIP2 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svzip2[_u64](svuint64_t op1, svuint64_t op2) + /// ZIP2 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svzip2_b64(svbool_t op1, svbool_t op2) + /// ZIP2 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svzip2[_f32](svfloat32_t op1, svfloat32_t op2) + /// ZIP2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svzip2[_f64](svfloat64_t op1, svfloat64_t op2) + /// ZIP2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ZipLow : Interleave elements from low halves of two inputs + + /// + /// svint8_t svzip1[_s8](svint8_t op1, svint8_t op2) + /// ZIP1 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svzip1[_s16](svint16_t op1, svint16_t op2) + /// ZIP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svzip1[_s32](svint32_t op1, svint32_t op2) + /// ZIP1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svzip1[_s64](svint64_t op1, svint64_t op2) + /// ZIP1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svzip1[_u8](svuint8_t op1, svuint8_t op2) + /// ZIP1 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svzip1_b8(svbool_t op1, svbool_t op2) + /// ZIP1 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svzip1[_u16](svuint16_t op1, svuint16_t op2) + /// ZIP1 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svzip1_b16(svbool_t op1, svbool_t op2) + /// ZIP1 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svzip1[_u32](svuint32_t op1, svuint32_t op2) + /// ZIP1 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svzip1_b32(svbool_t op1, svbool_t op2) + /// ZIP1 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svzip1[_u64](svuint64_t op1, svuint64_t op2) + /// ZIP1 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svzip1_b64(svbool_t op1, svbool_t op2) + /// ZIP1 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svzip1[_f32](svfloat32_t op1, svfloat32_t op2) + /// ZIP1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svzip1[_f64](svfloat64_t op1, svfloat64_t op2) + /// ZIP1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs new file mode 100644 index 0000000000000..e678140f551db --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs @@ -0,0 +1,14058 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class Sve : AdvSimd + { + internal Sve() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// Abs : Absolute value + + /// + /// svint8_t svabs[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// ABS Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; ABS Zresult.B, Pg/M, Zop.B + /// svint8_t svabs[_s8]_x(svbool_t pg, svint8_t op) + /// ABS Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; ABS Zresult.B, Pg/M, Zop.B + /// svint8_t svabs[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; ABS Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector Abs(Vector value) => Abs(value); + + /// + /// svint16_t svabs[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// ABS Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; ABS Zresult.H, Pg/M, Zop.H + /// svint16_t svabs[_s16]_x(svbool_t pg, svint16_t op) + /// ABS Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; ABS Zresult.H, Pg/M, Zop.H + /// svint16_t svabs[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; ABS Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Abs(Vector value) => Abs(value); + + /// + /// svint32_t svabs[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// ABS Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; ABS Zresult.S, Pg/M, Zop.S + /// svint32_t svabs[_s32]_x(svbool_t pg, svint32_t op) + /// ABS Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; ABS Zresult.S, Pg/M, Zop.S + /// svint32_t svabs[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; ABS Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Abs(Vector value) => Abs(value); + + /// + /// svint64_t svabs[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// ABS Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; ABS Zresult.D, Pg/M, Zop.D + /// svint64_t svabs[_s64]_x(svbool_t pg, svint64_t op) + /// ABS Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; ABS Zresult.D, Pg/M, Zop.D + /// svint64_t svabs[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; ABS Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Abs(Vector value) => Abs(value); + + /// + /// svfloat32_t svabs[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FABS Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FABS Zresult.S, Pg/M, Zop.S + /// svfloat32_t svabs[_f32]_x(svbool_t pg, svfloat32_t op) + /// FABS Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FABS Zresult.S, Pg/M, Zop.S + /// svfloat32_t svabs[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FABS Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Abs(Vector value) => Abs(value); + + /// + /// svfloat64_t svabs[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FABS Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FABS Zresult.D, Pg/M, Zop.D + /// svfloat64_t svabs[_f64]_x(svbool_t pg, svfloat64_t op) + /// FABS Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FABS Zresult.D, Pg/M, Zop.D + /// svfloat64_t svabs[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FABS Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Abs(Vector value) => Abs(value); + + + /// AbsoluteCompareGreaterThan : Absolute compare greater than + + /// + /// svbool_t svacgt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FACGT Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteCompareGreaterThan(Vector left, Vector right) => AbsoluteCompareGreaterThan(left, right); + + /// + /// svbool_t svacgt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FACGT Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector AbsoluteCompareGreaterThan(Vector left, Vector right) => AbsoluteCompareGreaterThan(left, right); + + + /// AbsoluteCompareGreaterThanOrEqual : Absolute compare greater than or equal to + + /// + /// svbool_t svacge[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FACGE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteCompareGreaterThanOrEqual(Vector left, Vector right) => AbsoluteCompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svacge[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FACGE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector AbsoluteCompareGreaterThanOrEqual(Vector left, Vector right) => AbsoluteCompareGreaterThanOrEqual(left, right); + + + /// AbsoluteCompareLessThan : Absolute compare less than + + /// + /// svbool_t svaclt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FACGT Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector AbsoluteCompareLessThan(Vector left, Vector right) => AbsoluteCompareLessThan(left, right); + + /// + /// svbool_t svaclt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FACGT Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector AbsoluteCompareLessThan(Vector left, Vector right) => AbsoluteCompareLessThan(left, right); + + + /// AbsoluteCompareLessThanOrEqual : Absolute compare less than or equal to + + /// + /// svbool_t svacle[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FACGE Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector AbsoluteCompareLessThanOrEqual(Vector left, Vector right) => AbsoluteCompareLessThanOrEqual(left, right); + + /// + /// svbool_t svacle[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FACGE Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector AbsoluteCompareLessThanOrEqual(Vector left, Vector right) => AbsoluteCompareLessThanOrEqual(left, right); + + + /// AbsoluteDifference : Absolute difference + + /// + /// svint8_t svabd[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SABD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svabd[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SABD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SABD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svabd[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SABD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + /// + /// svint16_t svabd[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svabd[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SABD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svabd[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SABD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + /// + /// svint32_t svabd[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svabd[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SABD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svabd[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SABD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + /// + /// svint64_t svabd[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svabd[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SABD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svabd[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SABD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + /// + /// svuint8_t svabd[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UABD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svabd[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UABD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UABD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svabd[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UABD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UABD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + /// + /// svuint16_t svabd[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svabd[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UABD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svabd[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UABD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + /// + /// svuint32_t svabd[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svabd[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UABD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svabd[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UABD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + /// + /// svuint64_t svabd[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svabd[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UABD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svabd[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UABD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + /// + /// svfloat32_t svabd[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svabd[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FABD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FABD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svabd[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FABD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FABD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + /// + /// svfloat64_t svabd[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svabd[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FABD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FABD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svabd[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FABD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FABD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + + /// Add : Add + + /// + /// svint8_t svadd[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// ADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svadd[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// ADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// ADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// ADD Zresult.B, Zop1.B, Zop2.B + /// svint8_t svadd[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; ADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + /// + /// svint16_t svadd[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// ADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svadd[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// ADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// ADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// ADD Zresult.H, Zop1.H, Zop2.H + /// svint16_t svadd[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; ADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + /// + /// svint32_t svadd[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// ADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svadd[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// ADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// ADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// ADD Zresult.S, Zop1.S, Zop2.S + /// svint32_t svadd[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; ADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + /// + /// svint64_t svadd[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// ADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svadd[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// ADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// ADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// ADD Zresult.D, Zop1.D, Zop2.D + /// svint64_t svadd[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; ADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + /// + /// svuint8_t svadd[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svadd[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// ADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// ADD Zresult.B, Zop1.B, Zop2.B + /// svuint8_t svadd[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; ADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + /// + /// svuint16_t svadd[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svadd[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// ADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// ADD Zresult.H, Zop1.H, Zop2.H + /// svuint16_t svadd[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; ADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + /// + /// svuint32_t svadd[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svadd[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// ADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// ADD Zresult.S, Zop1.S, Zop2.S + /// svuint32_t svadd[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; ADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + /// + /// svuint64_t svadd[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svadd[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// ADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// ADD Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svadd[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; ADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + /// + /// svfloat32_t svadd[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svadd[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// FADD Zresult.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svadd[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + /// + /// svfloat64_t svadd[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svadd[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// FADD Zresult.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svadd[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + + /// AddAcross : Add reduction + + /// + /// int64_t svaddv[_s8](svbool_t pg, svint8_t op) + /// SADDV Dresult, Pg, Zop.B + /// + public static unsafe long AddAcross(Vector value) => AddAcross(value); + + /// + /// int64_t svaddv[_s16](svbool_t pg, svint16_t op) + /// SADDV Dresult, Pg, Zop.H + /// + public static unsafe long AddAcross(Vector value) => AddAcross(value); + + /// + /// int64_t svaddv[_s32](svbool_t pg, svint32_t op) + /// SADDV Dresult, Pg, Zop.S + /// + public static unsafe long AddAcross(Vector value) => AddAcross(value); + + /// + /// int64_t svaddv[_s64](svbool_t pg, svint64_t op) + /// UADDV Dresult, Pg, Zop.D + /// + public static unsafe long AddAcross(Vector value) => AddAcross(value); + + /// + /// uint64_t svaddv[_u8](svbool_t pg, svuint8_t op) + /// UADDV Dresult, Pg, Zop.B + /// + public static unsafe ulong AddAcross(Vector value) => AddAcross(value); + + /// + /// uint64_t svaddv[_u16](svbool_t pg, svuint16_t op) + /// UADDV Dresult, Pg, Zop.H + /// + public static unsafe ulong AddAcross(Vector value) => AddAcross(value); + + /// + /// uint64_t svaddv[_u32](svbool_t pg, svuint32_t op) + /// UADDV Dresult, Pg, Zop.S + /// + public static unsafe ulong AddAcross(Vector value) => AddAcross(value); + + /// + /// uint64_t svaddv[_u64](svbool_t pg, svuint64_t op) + /// UADDV Dresult, Pg, Zop.D + /// + public static unsafe ulong AddAcross(Vector value) => AddAcross(value); + + /// + /// float32_t svaddv[_f32](svbool_t pg, svfloat32_t op) + /// FADDV Sresult, Pg, Zop.S + /// + public static unsafe float AddAcross(Vector value) => AddAcross(value); + + /// + /// float64_t svaddv[_f64](svbool_t pg, svfloat64_t op) + /// FADDV Dresult, Pg, Zop.D + /// + public static unsafe double AddAcross(Vector value) => AddAcross(value); + + + /// AddRotateComplex : Complex add with rotate + + /// + /// svfloat32_t svcadd[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.S, Pg/M, Zresult.S, Zop2.S, #imm_rotation + /// svfloat32_t svcadd[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.S, Pg/M, Zresult.S, Zop2.S, #imm_rotation + /// svfloat32_t svcadd[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, uint64_t imm_rotation) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FCADD Zresult.S, Pg/M, Zresult.S, Zop2.S, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + /// + /// svfloat64_t svcadd[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.D, Pg/M, Zresult.D, Zop2.D, #imm_rotation + /// svfloat64_t svcadd[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.D, Pg/M, Zresult.D, Zop2.D, #imm_rotation + /// svfloat64_t svcadd[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, uint64_t imm_rotation) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FCADD Zresult.D, Pg/M, Zresult.D, Zop2.D, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + + /// AddSaturate : Saturating add + + /// + /// svint8_t svqadd[_s8](svint8_t op1, svint8_t op2) + /// SQADD Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svint16_t svqadd[_s16](svint16_t op1, svint16_t op2) + /// SQADD Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svint32_t svqadd[_s32](svint32_t op1, svint32_t op2) + /// SQADD Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svint64_t svqadd[_s64](svint64_t op1, svint64_t op2) + /// SQADD Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svuint8_t svqadd[_u8](svuint8_t op1, svuint8_t op2) + /// UQADD Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svuint16_t svqadd[_u16](svuint16_t op1, svuint16_t op2) + /// UQADD Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svuint32_t svqadd[_u32](svuint32_t op1, svuint32_t op2) + /// UQADD Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svuint64_t svqadd[_u64](svuint64_t op1, svuint64_t op2) + /// UQADD Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + + /// AddSequentialAcross : Add reduction (strictly-ordered) + + /// + /// float32_t svadda[_f32](svbool_t pg, float32_t initial, svfloat32_t op) + /// FADDA Stied, Pg, Stied, Zop.S + /// + public static unsafe float AddSequentialAcross(float initial, Vector op) => AddSequentialAcross(initial, op); + + /// + /// float64_t svadda[_f64](svbool_t pg, float64_t initial, svfloat64_t op) + /// FADDA Dtied, Pg, Dtied, Zop.D + /// + public static unsafe double AddSequentialAcross(double initial, Vector op) => AddSequentialAcross(initial, op); + + + /// And : Bitwise AND + + /// + /// svint8_t svand[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// AND Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; AND Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svand[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// AND Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// AND Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// AND Zresult.D, Zop1.D, Zop2.D + /// svint8_t svand[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; AND Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; AND Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) => And(left, right); + + /// + /// svint16_t svand[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// AND Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; AND Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svand[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// AND Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// AND Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// AND Zresult.D, Zop1.D, Zop2.D + /// svint16_t svand[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; AND Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; AND Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) => And(left, right); + + /// + /// svint32_t svand[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// AND Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; AND Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svand[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// AND Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// AND Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// AND Zresult.D, Zop1.D, Zop2.D + /// svint32_t svand[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; AND Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; AND Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) => And(left, right); + + /// + /// svint64_t svand[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// AND Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; AND Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svand[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// AND Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// AND Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// AND Zresult.D, Zop1.D, Zop2.D + /// svint64_t svand[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; AND Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; AND Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) => And(left, right); + + /// + /// svuint8_t svand[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// AND Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; AND Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svand[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// AND Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// AND Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// AND Zresult.D, Zop1.D, Zop2.D + /// svuint8_t svand[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; AND Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; AND Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) => And(left, right); + + /// + /// svuint16_t svand[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// AND Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; AND Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svand[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// AND Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// AND Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// AND Zresult.D, Zop1.D, Zop2.D + /// svuint16_t svand[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; AND Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; AND Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) => And(left, right); + + /// + /// svuint32_t svand[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// AND Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; AND Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svand[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// AND Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// AND Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// AND Zresult.D, Zop1.D, Zop2.D + /// svuint32_t svand[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; AND Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; AND Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) => And(left, right); + + /// + /// svuint64_t svand[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// AND Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; AND Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svand[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// AND Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// AND Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// AND Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svand[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; AND Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; AND Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t svand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// AND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector And(Vector left, Vector right) => And(left, right); + + + /// AndAcross : Bitwise AND reduction to scalar + + /// + /// int8_t svandv[_s8](svbool_t pg, svint8_t op) + /// ANDV Bresult, Pg, Zop.B + /// + public static unsafe sbyte AndAcross(Vector value) => AndAcross(value); + + /// + /// int16_t svandv[_s16](svbool_t pg, svint16_t op) + /// ANDV Hresult, Pg, Zop.H + /// + public static unsafe short AndAcross(Vector value) => AndAcross(value); + + /// + /// int32_t svandv[_s32](svbool_t pg, svint32_t op) + /// ANDV Sresult, Pg, Zop.S + /// + public static unsafe int AndAcross(Vector value) => AndAcross(value); + + /// + /// int64_t svandv[_s64](svbool_t pg, svint64_t op) + /// ANDV Dresult, Pg, Zop.D + /// + public static unsafe long AndAcross(Vector value) => AndAcross(value); + + /// + /// uint8_t svandv[_u8](svbool_t pg, svuint8_t op) + /// ANDV Bresult, Pg, Zop.B + /// + public static unsafe byte AndAcross(Vector value) => AndAcross(value); + + /// + /// uint16_t svandv[_u16](svbool_t pg, svuint16_t op) + /// ANDV Hresult, Pg, Zop.H + /// + public static unsafe ushort AndAcross(Vector value) => AndAcross(value); + + /// + /// uint32_t svandv[_u32](svbool_t pg, svuint32_t op) + /// ANDV Sresult, Pg, Zop.S + /// + public static unsafe uint AndAcross(Vector value) => AndAcross(value); + + /// + /// uint64_t svandv[_u64](svbool_t pg, svuint64_t op) + /// ANDV Dresult, Pg, Zop.D + /// + public static unsafe ulong AndAcross(Vector value) => AndAcross(value); + + + /// AndNot : Bitwise NAND + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) => AndNot(left, right); + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) => AndNot(left, right); + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) => AndNot(left, right); + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) => AndNot(left, right); + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) => AndNot(left, right); + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) => AndNot(left, right); + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) => AndNot(left, right); + + /// + /// svbool_t svnand[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NAND Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector AndNot(Vector left, Vector right) => AndNot(left, right); + + + /// BitwiseClear : Bitwise clear + + /// + /// svint8_t svbic[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// BIC Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; BIC Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svbic[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// BIC Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svint8_t svbic[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; BIC Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) => BitwiseClear(left, right); + + /// + /// svint16_t svbic[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// BIC Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; BIC Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svbic[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// BIC Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svint16_t svbic[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; BIC Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) => BitwiseClear(left, right); + + /// + /// svint32_t svbic[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// BIC Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; BIC Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svbic[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// BIC Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svint32_t svbic[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; BIC Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) => BitwiseClear(left, right); + + /// + /// svint64_t svbic[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// BIC Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; BIC Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svbic[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// BIC Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svint64_t svbic[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; BIC Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) => BitwiseClear(left, right); + + /// + /// svuint8_t svbic[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// BIC Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; BIC Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svbic[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// BIC Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svuint8_t svbic[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; BIC Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) => BitwiseClear(left, right); + + /// + /// svuint16_t svbic[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// BIC Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; BIC Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svbic[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// BIC Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svuint16_t svbic[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; BIC Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) => BitwiseClear(left, right); + + /// + /// svuint32_t svbic[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// BIC Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; BIC Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svbic[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// BIC Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svuint32_t svbic[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; BIC Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) => BitwiseClear(left, right); + + /// + /// svuint64_t svbic[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// BIC Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; BIC Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svbic[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// BIC Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// BIC Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svbic[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; BIC Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svbool_t svbic[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BIC Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector BitwiseClear(Vector left, Vector right) => BitwiseClear(left, right); + + + /// Cnot : Logically invert boolean condition + + /// + /// svint8_t svcnot[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// CNOT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.B, Pg/M, Zop.B + /// svint8_t svcnot[_s8]_x(svbool_t pg, svint8_t op) + /// CNOT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CNOT Zresult.B, Pg/M, Zop.B + /// svint8_t svcnot[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CNOT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector Cnot(Vector value) => Cnot(value); + + /// + /// svint16_t svcnot[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// CNOT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.H, Pg/M, Zop.H + /// svint16_t svcnot[_s16]_x(svbool_t pg, svint16_t op) + /// CNOT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNOT Zresult.H, Pg/M, Zop.H + /// svint16_t svcnot[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNOT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Cnot(Vector value) => Cnot(value); + + /// + /// svint32_t svcnot[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// CNOT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.S, Pg/M, Zop.S + /// svint32_t svcnot[_s32]_x(svbool_t pg, svint32_t op) + /// CNOT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CNOT Zresult.S, Pg/M, Zop.S + /// svint32_t svcnot[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CNOT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Cnot(Vector value) => Cnot(value); + + /// + /// svint64_t svcnot[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// CNOT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.D, Pg/M, Zop.D + /// svint64_t svcnot[_s64]_x(svbool_t pg, svint64_t op) + /// CNOT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CNOT Zresult.D, Pg/M, Zop.D + /// svint64_t svcnot[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CNOT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Cnot(Vector value) => Cnot(value); + + /// + /// svuint8_t svcnot[_u8]_m(svuint8_t inactive, svbool_t pg, svuint8_t op) + /// CNOT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnot[_u8]_x(svbool_t pg, svuint8_t op) + /// CNOT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CNOT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnot[_u8]_z(svbool_t pg, svuint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CNOT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector Cnot(Vector value) => Cnot(value); + + /// + /// svuint16_t svcnot[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// CNOT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnot[_u16]_x(svbool_t pg, svuint16_t op) + /// CNOT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNOT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnot[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNOT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Cnot(Vector value) => Cnot(value); + + /// + /// svuint32_t svcnot[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// CNOT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnot[_u32]_x(svbool_t pg, svuint32_t op) + /// CNOT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CNOT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnot[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CNOT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Cnot(Vector value) => Cnot(value); + + /// + /// svuint64_t svcnot[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// CNOT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CNOT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnot[_u64]_x(svbool_t pg, svuint64_t op) + /// CNOT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CNOT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnot[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CNOT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Cnot(Vector value) => Cnot(value); + + + /// Compact : Shuffle active elements of vector to the right and fill with zero + + /// + /// svint32_t svcompact[_s32](svbool_t pg, svint32_t op) + /// COMPACT Zresult.S, Pg, Zop.S + /// + public static unsafe Vector Compact(Vector mask, Vector value) => Compact(mask, value); + + /// + /// svint64_t svcompact[_s64](svbool_t pg, svint64_t op) + /// COMPACT Zresult.D, Pg, Zop.D + /// + public static unsafe Vector Compact(Vector mask, Vector value) => Compact(mask, value); + + /// + /// svuint32_t svcompact[_u32](svbool_t pg, svuint32_t op) + /// COMPACT Zresult.S, Pg, Zop.S + /// + public static unsafe Vector Compact(Vector mask, Vector value) => Compact(mask, value); + + /// + /// svuint64_t svcompact[_u64](svbool_t pg, svuint64_t op) + /// COMPACT Zresult.D, Pg, Zop.D + /// + public static unsafe Vector Compact(Vector mask, Vector value) => Compact(mask, value); + + /// + /// svfloat32_t svcompact[_f32](svbool_t pg, svfloat32_t op) + /// COMPACT Zresult.S, Pg, Zop.S + /// + public static unsafe Vector Compact(Vector mask, Vector value) => Compact(mask, value); + + /// + /// svfloat64_t svcompact[_f64](svbool_t pg, svfloat64_t op) + /// COMPACT Zresult.D, Pg, Zop.D + /// + public static unsafe Vector Compact(Vector mask, Vector value) => Compact(mask, value); + + + /// CompareEqual : Compare equal to + + /// + /// svbool_t svcmpeq[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPEQ Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPEQ Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMEQ Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + /// + /// svbool_t svcmpeq[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMEQ Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + + /// CompareGreaterThan : Compare greater than + + /// + /// svbool_t svcmpgt[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPGT Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPGT Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPGT Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPGT Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPGT Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPGT Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPGT Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPHI Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) + /// CMPHI Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPHI Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) + /// CMPHI Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPHI Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) + /// CMPHI Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPHI Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMGT Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + /// + /// svbool_t svcmpgt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMGT Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + + /// CompareGreaterThanOrEqual : Compare greater than or equal to + + /// + /// svbool_t svcmpge[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPGE Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPGE Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPGE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPGE Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPGE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPGE Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPGE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPHS Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) + /// CMPHS Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPHS Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) + /// CMPHS Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPHS Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) + /// CMPHS Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPHS Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMGE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + /// + /// svbool_t svcmpge[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMGE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + + /// CompareLessThan : Compare less than + + /// + /// svbool_t svcmplt[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPGT Presult.B, Pg/Z, Zop2.B, Zop1.B + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPLT Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPGT Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPLT Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPGT Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPLT Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPGT Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPHI Presult.B, Pg/Z, Zop2.B, Zop1.B + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) + /// CMPLO Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPHI Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) + /// CMPLO Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPHI Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) + /// CMPLO Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPHI Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMGT Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + /// + /// svbool_t svcmplt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMGT Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + + /// CompareLessThanOrEqual : Compare less than or equal to + + /// + /// svbool_t svcmple[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPGE Presult.B, Pg/Z, Zop2.B, Zop1.B + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPLE Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPGE Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPLE Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPGE Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPLE Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPGE Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPHS Presult.B, Pg/Z, Zop2.B, Zop1.B + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) + /// CMPLS Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPHS Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) + /// CMPLS Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPHS Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) + /// CMPLS Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPHS Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMGE Presult.S, Pg/Z, Zop2.S, Zop1.S + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + /// + /// svbool_t svcmple[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMGE Presult.D, Pg/Z, Zop2.D, Zop1.D + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + + /// CompareNotEqualTo : Compare not equal to + + /// + /// svbool_t svcmpne[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) + /// CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) + /// CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) + /// CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// CMPNE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// CMPNE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMNE Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + /// + /// svbool_t svcmpne[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMNE Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + + /// CompareUnordered : Compare unordered with + + /// + /// svbool_t svcmpuo[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FCMUO Presult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CompareUnordered(Vector left, Vector right) => CompareUnordered(left, right); + + /// + /// svbool_t svcmpuo[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FCMUO Presult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CompareUnordered(Vector left, Vector right) => CompareUnordered(left, right); + + + /// ComputeByteAddresses : Compute vector addresses for 8-bit data + + /// + /// svuint32_t svadrb[_u32base]_[s32]offset(svuint32_t bases, svint32_t offsets) + /// ADR Zresult.S, [Zbases.S, Zoffsets.S] + /// + public static unsafe Vector ComputeByteAddresses(Vector bases, Vector offsets) => ComputeByteAddresses(bases, offsets); + + /// + /// svuint32_t svadrb[_u32base]_[u32]offset(svuint32_t bases, svuint32_t offsets) + /// ADR Zresult.S, [Zbases.S, Zoffsets.S] + /// + public static unsafe Vector ComputeByteAddresses(Vector bases, Vector offsets) => ComputeByteAddresses(bases, offsets); + + /// + /// svuint64_t svadrb[_u64base]_[s64]offset(svuint64_t bases, svint64_t offsets) + /// ADR Zresult.D, [Zbases.D, Zoffsets.D] + /// + public static unsafe Vector ComputeByteAddresses(Vector bases, Vector offsets) => ComputeByteAddresses(bases, offsets); + + /// + /// svuint64_t svadrb[_u64base]_[u64]offset(svuint64_t bases, svuint64_t offsets) + /// ADR Zresult.D, [Zbases.D, Zoffsets.D] + /// + public static unsafe Vector ComputeByteAddresses(Vector bases, Vector offsets) => ComputeByteAddresses(bases, offsets); + + + /// ComputeInt16Addresses : Compute vector addresses for 16-bit data + + /// + /// svuint32_t svadrh[_u32base]_[s32]index(svuint32_t bases, svint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #1] + /// + public static unsafe Vector ComputeInt16Addresses(Vector bases, Vector indices) => ComputeInt16Addresses(bases, indices); + + /// + /// svuint32_t svadrh[_u32base]_[u32]index(svuint32_t bases, svuint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #1] + /// + public static unsafe Vector ComputeInt16Addresses(Vector bases, Vector indices) => ComputeInt16Addresses(bases, indices); + + /// + /// svuint64_t svadrh[_u64base]_[s64]index(svuint64_t bases, svint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #1] + /// + public static unsafe Vector ComputeInt16Addresses(Vector bases, Vector indices) => ComputeInt16Addresses(bases, indices); + + /// + /// svuint64_t svadrh[_u64base]_[u64]index(svuint64_t bases, svuint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #1] + /// + public static unsafe Vector ComputeInt16Addresses(Vector bases, Vector indices) => ComputeInt16Addresses(bases, indices); + + + /// ComputeInt32Addresses : Compute vector addresses for 32-bit data + + /// + /// svuint32_t svadrw[_u32base]_[s32]index(svuint32_t bases, svint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #2] + /// + public static unsafe Vector ComputeInt32Addresses(Vector bases, Vector indices) => ComputeInt32Addresses(bases, indices); + + /// + /// svuint32_t svadrw[_u32base]_[u32]index(svuint32_t bases, svuint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #2] + /// + public static unsafe Vector ComputeInt32Addresses(Vector bases, Vector indices) => ComputeInt32Addresses(bases, indices); + + /// + /// svuint64_t svadrw[_u64base]_[s64]index(svuint64_t bases, svint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #2] + /// + public static unsafe Vector ComputeInt32Addresses(Vector bases, Vector indices) => ComputeInt32Addresses(bases, indices); + + /// + /// svuint64_t svadrw[_u64base]_[u64]index(svuint64_t bases, svuint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #2] + /// + public static unsafe Vector ComputeInt32Addresses(Vector bases, Vector indices) => ComputeInt32Addresses(bases, indices); + + + /// ComputeInt64Addresses : Compute vector addresses for 64-bit data + + /// + /// svuint32_t svadrd[_u32base]_[s32]index(svuint32_t bases, svint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #3] + /// + public static unsafe Vector ComputeInt64Addresses(Vector bases, Vector indices) => ComputeInt64Addresses(bases, indices); + + /// + /// svuint32_t svadrd[_u32base]_[u32]index(svuint32_t bases, svuint32_t indices) + /// ADR Zresult.S, [Zbases.S, Zindices.S, LSL #3] + /// + public static unsafe Vector ComputeInt64Addresses(Vector bases, Vector indices) => ComputeInt64Addresses(bases, indices); + + /// + /// svuint64_t svadrd[_u64base]_[s64]index(svuint64_t bases, svint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #3] + /// + public static unsafe Vector ComputeInt64Addresses(Vector bases, Vector indices) => ComputeInt64Addresses(bases, indices); + + /// + /// svuint64_t svadrd[_u64base]_[u64]index(svuint64_t bases, svuint64_t indices) + /// ADR Zresult.D, [Zbases.D, Zindices.D, LSL #3] + /// + public static unsafe Vector ComputeInt64Addresses(Vector bases, Vector indices) => ComputeInt64Addresses(bases, indices); + + + /// ConditionalExtractAfterLastActiveElement : Conditionally extract element after last + + /// + /// svint8_t svclasta[_s8](svbool_t pg, svint8_t fallback, svint8_t data) + /// CLASTA Ztied.B, Pg, Ztied.B, Zdata.B + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.B, Pg, Zresult.B, Zdata.B + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + /// + /// svint16_t svclasta[_s16](svbool_t pg, svint16_t fallback, svint16_t data) + /// CLASTA Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + /// + /// svint32_t svclasta[_s32](svbool_t pg, svint32_t fallback, svint32_t data) + /// CLASTA Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + /// + /// svint64_t svclasta[_s64](svbool_t pg, svint64_t fallback, svint64_t data) + /// CLASTA Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + /// + /// svuint8_t svclasta[_u8](svbool_t pg, svuint8_t fallback, svuint8_t data) + /// CLASTA Ztied.B, Pg, Ztied.B, Zdata.B + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.B, Pg, Zresult.B, Zdata.B + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + /// + /// svuint16_t svclasta[_u16](svbool_t pg, svuint16_t fallback, svuint16_t data) + /// CLASTA Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + /// + /// svuint32_t svclasta[_u32](svbool_t pg, svuint32_t fallback, svuint32_t data) + /// CLASTA Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + /// + /// svuint64_t svclasta[_u64](svbool_t pg, svuint64_t fallback, svuint64_t data) + /// CLASTA Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + /// + /// svfloat32_t svclasta[_f32](svbool_t pg, svfloat32_t fallback, svfloat32_t data) + /// CLASTA Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + /// + /// svfloat64_t svclasta[_f64](svbool_t pg, svfloat64_t fallback, svfloat64_t data) + /// CLASTA Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + + /// ConditionalExtractLastActiveElement : Conditionally extract last element + + /// + /// svint8_t svclastb[_s8](svbool_t pg, svint8_t fallback, svint8_t data) + /// CLASTB Ztied.B, Pg, Ztied.B, Zdata.B + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.B, Pg, Zresult.B, Zdata.B + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + /// + /// svint16_t svclastb[_s16](svbool_t pg, svint16_t fallback, svint16_t data) + /// CLASTB Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + /// + /// svint32_t svclastb[_s32](svbool_t pg, svint32_t fallback, svint32_t data) + /// CLASTB Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + /// + /// svint64_t svclastb[_s64](svbool_t pg, svint64_t fallback, svint64_t data) + /// CLASTB Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + /// + /// svuint8_t svclastb[_u8](svbool_t pg, svuint8_t fallback, svuint8_t data) + /// CLASTB Ztied.B, Pg, Ztied.B, Zdata.B + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.B, Pg, Zresult.B, Zdata.B + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + /// + /// svuint16_t svclastb[_u16](svbool_t pg, svuint16_t fallback, svuint16_t data) + /// CLASTB Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + /// + /// svuint32_t svclastb[_u32](svbool_t pg, svuint32_t fallback, svuint32_t data) + /// CLASTB Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + /// + /// svuint64_t svclastb[_u64](svbool_t pg, svuint64_t fallback, svuint64_t data) + /// CLASTB Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + /// + /// svfloat32_t svclastb[_f32](svbool_t pg, svfloat32_t fallback, svfloat32_t data) + /// CLASTB Ztied.S, Pg, Ztied.S, Zdata.S + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + /// + /// svfloat64_t svclastb[_f64](svbool_t pg, svfloat64_t fallback, svfloat64_t data) + /// CLASTB Ztied.D, Pg, Ztied.D, Zdata.D + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + + /// ConditionalSelect : Conditionally select elements + + /// + /// svint8_t svsel[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// SEL Zresult.B, Pg, Zop1.B, Zop2.B + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + /// + /// svint16_t svsel[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// SEL Zresult.H, Pg, Zop1.H, Zop2.H + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + /// + /// svint32_t svsel[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// SEL Zresult.S, Pg, Zop1.S, Zop2.S + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + /// + /// svint64_t svsel[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// SEL Zresult.D, Pg, Zop1.D, Zop2.D + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + /// + /// svuint8_t svsel[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SEL Zresult.B, Pg, Zop1.B, Zop2.B + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + /// + /// svuint16_t svsel[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SEL Zresult.H, Pg, Zop1.H, Zop2.H + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + /// + /// svuint32_t svsel[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SEL Zresult.S, Pg, Zop1.S, Zop2.S + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + /// + /// svuint64_t svsel[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SEL Zresult.D, Pg, Zop1.D, Zop2.D + /// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) + /// SEL Presult.B, Pg, Pop1.B, Pop2.B + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + /// + /// svfloat32_t svsel[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// SEL Zresult.S, Pg, Zop1.S, Zop2.S + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + /// + /// svfloat64_t svsel[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// SEL Zresult.D, Pg, Zop1.D, Zop2.D + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + + /// ConvertToDouble : Floating-point convert + + /// + /// svfloat64_t svcvt_f64[_s32]_m(svfloat64_t inactive, svbool_t pg, svint32_t op) + /// SCVTF Ztied.D, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_s32]_x(svbool_t pg, svint32_t op) + /// SCVTF Ztied.D, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SCVTF Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SCVTF Zresult.D, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToDouble(Vector value) => ConvertToDouble(value); + + /// + /// svfloat64_t svcvt_f64[_s64]_m(svfloat64_t inactive, svbool_t pg, svint64_t op) + /// SCVTF Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.D, Pg/M, Zop.D + /// svfloat64_t svcvt_f64[_s64]_x(svbool_t pg, svint64_t op) + /// SCVTF Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SCVTF Zresult.D, Pg/M, Zop.D + /// svfloat64_t svcvt_f64[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SCVTF Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToDouble(Vector value) => ConvertToDouble(value); + + /// + /// svfloat64_t svcvt_f64[_u32]_m(svfloat64_t inactive, svbool_t pg, svuint32_t op) + /// UCVTF Ztied.D, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_u32]_x(svbool_t pg, svuint32_t op) + /// UCVTF Ztied.D, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; UCVTF Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UCVTF Zresult.D, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToDouble(Vector value) => ConvertToDouble(value); + + /// + /// svfloat64_t svcvt_f64[_u64]_m(svfloat64_t inactive, svbool_t pg, svuint64_t op) + /// UCVTF Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.D, Pg/M, Zop.D + /// svfloat64_t svcvt_f64[_u64]_x(svbool_t pg, svuint64_t op) + /// UCVTF Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; UCVTF Zresult.D, Pg/M, Zop.D + /// svfloat64_t svcvt_f64[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UCVTF Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToDouble(Vector value) => ConvertToDouble(value); + + /// + /// svfloat64_t svcvt_f64[_f32]_m(svfloat64_t inactive, svbool_t pg, svfloat32_t op) + /// FCVT Ztied.D, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVT Ztied.D, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVT Zresult.D, Pg/M, Zop.S + /// svfloat64_t svcvt_f64[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVT Zresult.D, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToDouble(Vector value) => ConvertToDouble(value); + + + /// ConvertToInt32 : Floating-point convert + + /// + /// svint32_t svcvt_s32[_f32]_m(svint32_t inactive, svbool_t pg, svfloat32_t op) + /// FCVTZS Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.S, Pg/M, Zop.S + /// svint32_t svcvt_s32[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVTZS Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.S, Pg/M, Zop.S + /// svint32_t svcvt_s32[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVTZS Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToInt32(Vector value) => ConvertToInt32(value); + + /// + /// svint32_t svcvt_s32[_f64]_m(svint32_t inactive, svbool_t pg, svfloat64_t op) + /// FCVTZS Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.S, Pg/M, Zop.D + /// svint32_t svcvt_s32[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVTZS Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.S, Pg/M, Zop.D + /// svint32_t svcvt_s32[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZS Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToInt32(Vector value) => ConvertToInt32(value); + + + /// ConvertToInt64 : Floating-point convert + + /// + /// svint64_t svcvt_s64[_f32]_m(svint64_t inactive, svbool_t pg, svfloat32_t op) + /// FCVTZS Ztied.D, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.D, Pg/M, Zop.S + /// svint64_t svcvt_s64[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVTZS Ztied.D, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.D, Pg/M, Zop.S + /// svint64_t svcvt_s64[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZS Zresult.D, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToInt64(Vector value) => ConvertToInt64(value); + + /// + /// svint64_t svcvt_s64[_f64]_m(svint64_t inactive, svbool_t pg, svfloat64_t op) + /// FCVTZS Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.D, Pg/M, Zop.D + /// svint64_t svcvt_s64[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVTZS Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.D, Pg/M, Zop.D + /// svint64_t svcvt_s64[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZS Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToInt64(Vector value) => ConvertToInt64(value); + + + /// ConvertToSingle : Floating-point convert + + /// + /// svfloat32_t svcvt_f32[_s32]_m(svfloat32_t inactive, svbool_t pg, svint32_t op) + /// SCVTF Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.S, Pg/M, Zop.S + /// svfloat32_t svcvt_f32[_s32]_x(svbool_t pg, svint32_t op) + /// SCVTF Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SCVTF Zresult.S, Pg/M, Zop.S + /// svfloat32_t svcvt_f32[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SCVTF Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToSingle(Vector value) => ConvertToSingle(value); + + /// + /// svfloat32_t svcvt_f32[_s64]_m(svfloat32_t inactive, svbool_t pg, svint64_t op) + /// SCVTF Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_s64]_x(svbool_t pg, svint64_t op) + /// SCVTF Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SCVTF Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SCVTF Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToSingle(Vector value) => ConvertToSingle(value); + + /// + /// svfloat32_t svcvt_f32[_u32]_m(svfloat32_t inactive, svbool_t pg, svuint32_t op) + /// UCVTF Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.S, Pg/M, Zop.S + /// svfloat32_t svcvt_f32[_u32]_x(svbool_t pg, svuint32_t op) + /// UCVTF Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; UCVTF Zresult.S, Pg/M, Zop.S + /// svfloat32_t svcvt_f32[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; UCVTF Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToSingle(Vector value) => ConvertToSingle(value); + + /// + /// svfloat32_t svcvt_f32[_u64]_m(svfloat32_t inactive, svbool_t pg, svuint64_t op) + /// UCVTF Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_u64]_x(svbool_t pg, svuint64_t op) + /// UCVTF Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; UCVTF Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UCVTF Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToSingle(Vector value) => ConvertToSingle(value); + + /// + /// svfloat32_t svcvt_f32[_f64]_m(svfloat32_t inactive, svbool_t pg, svfloat64_t op) + /// FCVT Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVT Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVT Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvt_f32[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVT Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToSingle(Vector value) => ConvertToSingle(value); + + + /// ConvertToUInt32 : Floating-point convert + + /// + /// svuint32_t svcvt_u32[_f32]_m(svuint32_t inactive, svbool_t pg, svfloat32_t op) + /// FCVTZU Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.S, Pg/M, Zop.S + /// svuint32_t svcvt_u32[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVTZU Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.S, Pg/M, Zop.S + /// svuint32_t svcvt_u32[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVTZU Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToUInt32(Vector value) => ConvertToUInt32(value); + + /// + /// svuint32_t svcvt_u32[_f64]_m(svuint32_t inactive, svbool_t pg, svfloat64_t op) + /// FCVTZU Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.S, Pg/M, Zop.D + /// svuint32_t svcvt_u32[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVTZU Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.S, Pg/M, Zop.D + /// svuint32_t svcvt_u32[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZU Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToUInt32(Vector value) => ConvertToUInt32(value); + + + /// ConvertToUInt64 : Floating-point convert + + /// + /// svuint64_t svcvt_u64[_f32]_m(svuint64_t inactive, svbool_t pg, svfloat32_t op) + /// FCVTZU Ztied.D, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.D, Pg/M, Zop.S + /// svuint64_t svcvt_u64[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVTZU Ztied.D, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.D, Pg/M, Zop.S + /// svuint64_t svcvt_u64[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZU Zresult.D, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToUInt64(Vector value) => ConvertToUInt64(value); + + /// + /// svuint64_t svcvt_u64[_f64]_m(svuint64_t inactive, svbool_t pg, svfloat64_t op) + /// FCVTZU Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.D, Pg/M, Zop.D + /// svuint64_t svcvt_u64[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVTZU Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.D, Pg/M, Zop.D + /// svuint64_t svcvt_u64[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZU Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToUInt64(Vector value) => ConvertToUInt64(value); + + + /// Count16BitElements : Count the number of 16-bit elements in a vector + + /// + /// uint64_t svcnth() + /// CNTH Xresult, ALL + /// + public static unsafe ulong Count16BitElements() => Count16BitElements(); + + /// + /// uint64_t svcnth_pat(enum svpattern pattern) + /// CNTH Xresult, pattern + /// + public static unsafe ulong Count16BitElements(enum SveMaskPattern pattern) => Count16BitElements(SveMaskPattern); + + + /// Count32BitElements : Count the number of 32-bit elements in a vector + + /// + /// uint64_t svcntw() + /// CNTW Xresult, ALL + /// + public static unsafe ulong Count32BitElements() => Count32BitElements(); + + /// + /// uint64_t svcntw_pat(enum svpattern pattern) + /// CNTW Xresult, pattern + /// + public static unsafe ulong Count32BitElements(enum SveMaskPattern pattern) => Count32BitElements(SveMaskPattern); + + + /// Count64BitElements : Count the number of 64-bit elements in a vector + + /// + /// uint64_t svcntd() + /// CNTD Xresult, ALL + /// + public static unsafe ulong Count64BitElements() => Count64BitElements(); + + /// + /// uint64_t svcntd_pat(enum svpattern pattern) + /// CNTD Xresult, pattern + /// + public static unsafe ulong Count64BitElements(enum SveMaskPattern pattern) => Count64BitElements(SveMaskPattern); + + + /// Count8BitElements : Count the number of 8-bit elements in a vector + + /// + /// uint64_t svcntb() + /// CNTB Xresult, ALL + /// + public static unsafe ulong Count8BitElements() => Count8BitElements(); + + /// + /// uint64_t svcntb_pat(enum svpattern pattern) + /// CNTB Xresult, pattern + /// + public static unsafe ulong Count8BitElements(enum SveMaskPattern pattern) => Count8BitElements(SveMaskPattern); + + + + /// CreateBreakAfterMask : Break after first true condition + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) => CreateBreakAfterMask(mask, from); + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) => CreateBreakAfterMask(mask, from); + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) => CreateBreakAfterMask(mask, from); + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) => CreateBreakAfterMask(mask, from); + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) => CreateBreakAfterMask(mask, from); + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) => CreateBreakAfterMask(mask, from); + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) => CreateBreakAfterMask(mask, from); + + /// + /// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKA Ptied.B, Pg/M, Pop.B + /// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) + /// BRKA Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakAfterMask(Vector mask, Vector from) => CreateBreakAfterMask(mask, from); + + + /// CreateBreakAfterPropagateMask : Break after first true condition, propagating from previous partition + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) => CreateBreakAfterPropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) => CreateBreakAfterPropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) => CreateBreakAfterPropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) => CreateBreakAfterPropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) => CreateBreakAfterPropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) => CreateBreakAfterPropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) => CreateBreakAfterPropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakAfterPropagateMask(Vector mask, Vector left, Vector right) => CreateBreakAfterPropagateMask(mask, left, right); + + + /// CreateBreakBeforeMask : Break before first true condition + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) => CreateBreakBeforeMask(mask, from); + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) => CreateBreakBeforeMask(mask, from); + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) => CreateBreakBeforeMask(mask, from); + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) => CreateBreakBeforeMask(mask, from); + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) => CreateBreakBeforeMask(mask, from); + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) => CreateBreakBeforeMask(mask, from); + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) => CreateBreakBeforeMask(mask, from); + + /// + /// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) + /// BRKB Ptied.B, Pg/M, Pop.B + /// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) + /// BRKB Presult.B, Pg/Z, Pop.B + /// + public static unsafe Vector CreateBreakBeforeMask(Vector mask, Vector from) => CreateBreakBeforeMask(mask, from); + + + /// CreateBreakBeforePropagateMask : Break before first true condition, propagating from previous partition + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) => CreateBreakBeforePropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) => CreateBreakBeforePropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) => CreateBreakBeforePropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) => CreateBreakBeforePropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) => CreateBreakBeforePropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) => CreateBreakBeforePropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) => CreateBreakBeforePropagateMask(mask, left, right); + + /// + /// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector CreateBreakBeforePropagateMask(Vector mask, Vector left, Vector right) => CreateBreakBeforePropagateMask(mask, left, right); + + + /// CreateSeries : Create linear series + + /// + /// svint8_t svindex_s8(int8_t base, int8_t step) + /// INDEX Zresult.B, #base, #step + /// INDEX Zresult.B, #base, Wstep + /// INDEX Zresult.B, Wbase, #step + /// INDEX Zresult.B, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(sbyte base, sbyte step) => CreateSeries(base, step); + + /// + /// svint16_t svindex_s16(int16_t base, int16_t step) + /// INDEX Zresult.H, #base, #step + /// INDEX Zresult.H, #base, Wstep + /// INDEX Zresult.H, Wbase, #step + /// INDEX Zresult.H, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(short base, short step) => CreateSeries(base, step); + + /// + /// svint32_t svindex_s32(int32_t base, int32_t step) + /// INDEX Zresult.S, #base, #step + /// INDEX Zresult.S, #base, Wstep + /// INDEX Zresult.S, Wbase, #step + /// INDEX Zresult.S, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(int base, int step) => CreateSeries(base, step); + + /// + /// svint64_t svindex_s64(int64_t base, int64_t step) + /// INDEX Zresult.D, #base, #step + /// INDEX Zresult.D, #base, Xstep + /// INDEX Zresult.D, Xbase, #step + /// INDEX Zresult.D, Xbase, Xstep + /// + public static unsafe Vector CreateSeries(long base, long step) => CreateSeries(base, step); + + /// + /// svuint8_t svindex_u8(uint8_t base, uint8_t step) + /// INDEX Zresult.B, #base, #step + /// INDEX Zresult.B, #base, Wstep + /// INDEX Zresult.B, Wbase, #step + /// INDEX Zresult.B, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(byte base, byte step) => CreateSeries(base, step); + + /// + /// svuint16_t svindex_u16(uint16_t base, uint16_t step) + /// INDEX Zresult.H, #base, #step + /// INDEX Zresult.H, #base, Wstep + /// INDEX Zresult.H, Wbase, #step + /// INDEX Zresult.H, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(ushort base, ushort step) => CreateSeries(base, step); + + /// + /// svuint32_t svindex_u32(uint32_t base, uint32_t step) + /// INDEX Zresult.S, #base, #step + /// INDEX Zresult.S, #base, Wstep + /// INDEX Zresult.S, Wbase, #step + /// INDEX Zresult.S, Wbase, Wstep + /// + public static unsafe Vector CreateSeries(uint base, uint step) => CreateSeries(base, step); + + /// + /// svuint64_t svindex_u64(uint64_t base, uint64_t step) + /// INDEX Zresult.D, #base, #step + /// INDEX Zresult.D, #base, Xstep + /// INDEX Zresult.D, Xbase, #step + /// INDEX Zresult.D, Xbase, Xstep + /// + public static unsafe Vector CreateSeries(ulong base, ulong step) => CreateSeries(base, step); + + + /// CreateWhileLessThanMask : While incrementing scalar is less than + + /// + /// svbool_t svwhilelt_b8[_s32](int32_t op1, int32_t op2) + /// WHILELT Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(int left, int right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b8[_s64](int64_t op1, int64_t op2) + /// WHILELT Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(long left, long right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b8[_u32](uint32_t op1, uint32_t op2) + /// WHILELO Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(uint left, uint right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b8[_u64](uint64_t op1, uint64_t op2) + /// WHILELO Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(ulong left, ulong right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b16[_s32](int32_t op1, int32_t op2) + /// WHILELT Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(int left, int right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b16[_s64](int64_t op1, int64_t op2) + /// WHILELT Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(long left, long right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b16[_u32](uint32_t op1, uint32_t op2) + /// WHILELO Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(uint left, uint right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b16[_u64](uint64_t op1, uint64_t op2) + /// WHILELO Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(ulong left, ulong right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b32[_s32](int32_t op1, int32_t op2) + /// WHILELT Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(int left, int right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b32[_s64](int64_t op1, int64_t op2) + /// WHILELT Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(long left, long right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b32[_u32](uint32_t op1, uint32_t op2) + /// WHILELO Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(uint left, uint right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b32[_u64](uint64_t op1, uint64_t op2) + /// WHILELO Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(ulong left, ulong right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b64[_s32](int32_t op1, int32_t op2) + /// WHILELT Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(int left, int right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b64[_s64](int64_t op1, int64_t op2) + /// WHILELT Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(long left, long right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b64[_u32](uint32_t op1, uint32_t op2) + /// WHILELO Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanMask(uint left, uint right) => CreateWhileLessThanMask(left, right); + + /// + /// svbool_t svwhilelt_b64[_u64](uint64_t op1, uint64_t op2) + /// WHILELO Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanMask(ulong left, ulong right) => CreateWhileLessThanMask(left, right); + + + /// CreateWhileLessThanOrEqualMask : While incrementing scalar is less than or equal to + + /// + /// svbool_t svwhilele_b8[_s32](int32_t op1, int32_t op2) + /// WHILELE Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(int left, int right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b8[_s64](int64_t op1, int64_t op2) + /// WHILELE Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(long left, long right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b8[_u32](uint32_t op1, uint32_t op2) + /// WHILELS Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(uint left, uint right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b8[_u64](uint64_t op1, uint64_t op2) + /// WHILELS Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(ulong left, ulong right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b16[_s32](int32_t op1, int32_t op2) + /// WHILELE Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(int left, int right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b16[_s64](int64_t op1, int64_t op2) + /// WHILELE Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(long left, long right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b16[_u32](uint32_t op1, uint32_t op2) + /// WHILELS Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(uint left, uint right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b16[_u64](uint64_t op1, uint64_t op2) + /// WHILELS Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(ulong left, ulong right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b32[_s32](int32_t op1, int32_t op2) + /// WHILELE Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(int left, int right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b32[_s64](int64_t op1, int64_t op2) + /// WHILELE Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(long left, long right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b32[_u32](uint32_t op1, uint32_t op2) + /// WHILELS Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(uint left, uint right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b32[_u64](uint64_t op1, uint64_t op2) + /// WHILELS Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(ulong left, ulong right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b64[_s32](int32_t op1, int32_t op2) + /// WHILELE Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(int left, int right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b64[_s64](int64_t op1, int64_t op2) + /// WHILELE Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(long left, long right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b64[_u32](uint32_t op1, uint32_t op2) + /// WHILELS Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(uint left, uint right) => CreateWhileLessThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilele_b64[_u64](uint64_t op1, uint64_t op2) + /// WHILELS Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileLessThanOrEqualMask(ulong left, ulong right) => CreateWhileLessThanOrEqualMask(left, right); + + + /// Divide : Divide + + /// + /// svint32_t svdiv[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svdiv[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SDIVR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svdiv[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SDIVR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Divide(Vector left, Vector right) => Divide(left, right); + + /// + /// svint64_t svdiv[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svdiv[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SDIVR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svdiv[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SDIVR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Divide(Vector left, Vector right) => Divide(left, right); + + /// + /// svuint32_t svdiv[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svdiv[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UDIVR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svdiv[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UDIVR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Divide(Vector left, Vector right) => Divide(left, right); + + /// + /// svuint64_t svdiv[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svdiv[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UDIVR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svdiv[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UDIVR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Divide(Vector left, Vector right) => Divide(left, right); + + /// + /// svfloat32_t svdiv[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svdiv[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FDIV Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FDIVR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svdiv[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FDIV Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FDIVR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Divide(Vector left, Vector right) => Divide(left, right); + + /// + /// svfloat64_t svdiv[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svdiv[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FDIV Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FDIVR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svdiv[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FDIV Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FDIVR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Divide(Vector left, Vector right) => Divide(left, right); + + + + /// DotProduct : Dot product + + /// + /// svint32_t svdot[_s32](svint32_t op1, svint8_t op2, svint8_t op3) + /// SDOT Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SDOT Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3) => DotProduct(op1, op2, op3); + + /// + /// svint32_t svdot_lane[_s32](svint32_t op1, svint8_t op2, svint8_t op3, uint64_t imm_index) + /// SDOT Ztied1.S, Zop2.B, Zop3.B[imm_index] + /// MOVPRFX Zresult, Zop1; SDOT Zresult.S, Zop2.B, Zop3.B[imm_index] + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3, ulong imm_index) => DotProduct(op1, op2, op3, imm_index); + + /// + /// svint64_t svdot[_s64](svint64_t op1, svint16_t op2, svint16_t op3) + /// SDOT Ztied1.D, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SDOT Zresult.D, Zop2.H, Zop3.H + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3) => DotProduct(op1, op2, op3); + + /// + /// svint64_t svdot_lane[_s64](svint64_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SDOT Ztied1.D, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SDOT Zresult.D, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3, ulong imm_index) => DotProduct(op1, op2, op3, imm_index); + + /// + /// svuint32_t svdot[_u32](svuint32_t op1, svuint8_t op2, svuint8_t op3) + /// UDOT Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UDOT Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3) => DotProduct(op1, op2, op3); + + /// + /// svuint32_t svdot_lane[_u32](svuint32_t op1, svuint8_t op2, svuint8_t op3, uint64_t imm_index) + /// UDOT Ztied1.S, Zop2.B, Zop3.B[imm_index] + /// MOVPRFX Zresult, Zop1; UDOT Zresult.S, Zop2.B, Zop3.B[imm_index] + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3, ulong imm_index) => DotProduct(op1, op2, op3, imm_index); + + /// + /// svuint64_t svdot[_u64](svuint64_t op1, svuint16_t op2, svuint16_t op3) + /// UDOT Ztied1.D, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UDOT Zresult.D, Zop2.H, Zop3.H + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3) => DotProduct(op1, op2, op3); + + /// + /// svuint64_t svdot_lane[_u64](svuint64_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// UDOT Ztied1.D, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; UDOT Zresult.D, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector DotProduct(Vector op1, Vector op2, Vector op3, ulong imm_index) => DotProduct(op1, op2, op3, imm_index); + + + /// DuplicateSelectedScalarToVector : Broadcast a scalar value + + /// + /// svint8_t svdup[_n]_s8(int8_t op) + /// DUP Zresult.B, #op + /// FDUP Zresult.B, #op + /// DUPM Zresult.B, #op + /// DUP Zresult.B, Wop + /// DUP Zresult.B, Zop.B[0] + /// svint8_t svdup[_n]_s8_m(svint8_t inactive, svbool_t pg, int8_t op) + /// CPY Ztied.B, Pg/M, #op + /// FCPY Ztied.B, Pg/M, #op + /// CPY Ztied.B, Pg/M, Wop + /// CPY Ztied.B, Pg/M, Bop + /// svint8_t svdup[_n]_s8_x(svbool_t pg, int8_t op) + /// CPY Zresult.B, Pg/Z, #op + /// DUP Zresult.B, #op + /// FCPY Zresult.B, Pg/M, #op + /// FDUP Zresult.B, #op + /// DUPM Zresult.B, #op + /// DUP Zresult.B, Wop + /// DUP Zresult.B, Zop.B[0] + /// svint8_t svdup[_n]_s8_z(svbool_t pg, int8_t op) + /// CPY Zresult.B, Pg/Z, #op + /// DUP Zresult.B, #0; FCPY Zresult.B, Pg/M, #op + /// DUP Zresult.B, #0; CPY Zresult.B, Pg/M, Wop + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CPY Zresult.B, Pg/M, Bop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(sbyte value) => DuplicateSelectedScalarToVector(value); + + /// + /// svint8_t svdup_lane[_s8](svint8_t data, uint8_t index) + /// DUP Zresult.B, Zdata.B[index] + /// TBL Zresult.B, Zdata.B, Zindex.B + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, byte index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svint8_t svdupq_lane[_s8](svint8_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svint16_t svdup[_n]_s16(int16_t op) + /// DUP Zresult.H, #op + /// FDUP Zresult.H, #op + /// DUPM Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svint16_t svdup[_n]_s16_m(svint16_t inactive, svbool_t pg, int16_t op) + /// CPY Ztied.H, Pg/M, #op + /// FCPY Ztied.H, Pg/M, #op + /// CPY Ztied.H, Pg/M, Wop + /// CPY Ztied.H, Pg/M, Hop + /// svint16_t svdup[_n]_s16_x(svbool_t pg, int16_t op) + /// CPY Zresult.H, Pg/Z, #op + /// DUP Zresult.H, #op + /// FCPY Zresult.H, Pg/M, #op + /// FDUP Zresult.H, #op + /// DUPM Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svint16_t svdup[_n]_s16_z(svbool_t pg, int16_t op) + /// CPY Zresult.H, Pg/Z, #op + /// DUP Zresult.H, #0; FCPY Zresult.H, Pg/M, #op + /// DUP Zresult.H, #0; CPY Zresult.H, Pg/M, Wop + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CPY Zresult.H, Pg/M, Hop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(short value) => DuplicateSelectedScalarToVector(value); + + /// + /// svint16_t svdup_lane[_s16](svint16_t data, uint16_t index) + /// DUP Zresult.H, Zdata.H[index] + /// TBL Zresult.H, Zdata.H, Zindex.H + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ushort index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svint16_t svdupq_lane[_s16](svint16_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svint32_t svdup[_n]_s32(int32_t op) + /// DUP Zresult.S, #op + /// FDUP Zresult.S, #op + /// DUPM Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svint32_t svdup[_n]_s32_m(svint32_t inactive, svbool_t pg, int32_t op) + /// CPY Ztied.S, Pg/M, #op + /// FCPY Ztied.S, Pg/M, #op + /// CPY Ztied.S, Pg/M, Wop + /// CPY Ztied.S, Pg/M, Sop + /// svint32_t svdup[_n]_s32_x(svbool_t pg, int32_t op) + /// CPY Zresult.S, Pg/Z, #op + /// DUP Zresult.S, #op + /// FCPY Zresult.S, Pg/M, #op + /// FDUP Zresult.S, #op + /// DUPM Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svint32_t svdup[_n]_s32_z(svbool_t pg, int32_t op) + /// CPY Zresult.S, Pg/Z, #op + /// DUP Zresult.S, #0; FCPY Zresult.S, Pg/M, #op + /// DUP Zresult.S, #0; CPY Zresult.S, Pg/M, Wop + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CPY Zresult.S, Pg/M, Sop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(int value) => DuplicateSelectedScalarToVector(value); + + /// + /// svint32_t svdup_lane[_s32](svint32_t data, uint32_t index) + /// DUP Zresult.S, Zdata.S[index] + /// TBL Zresult.S, Zdata.S, Zindex.S + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, uint index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svint32_t svdupq_lane[_s32](svint32_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svint64_t svdup[_n]_s64(int64_t op) + /// DUP Zresult.D, #op + /// FDUP Zresult.D, #op + /// DUPM Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svint64_t svdup[_n]_s64_m(svint64_t inactive, svbool_t pg, int64_t op) + /// CPY Ztied.D, Pg/M, #op + /// FCPY Ztied.D, Pg/M, #op + /// CPY Ztied.D, Pg/M, Xop + /// CPY Ztied.D, Pg/M, Dop + /// svint64_t svdup[_n]_s64_x(svbool_t pg, int64_t op) + /// CPY Zresult.D, Pg/Z, #op + /// DUP Zresult.D, #op + /// FCPY Zresult.D, Pg/M, #op + /// FDUP Zresult.D, #op + /// DUPM Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svint64_t svdup[_n]_s64_z(svbool_t pg, int64_t op) + /// CPY Zresult.D, Pg/Z, #op + /// DUP Zresult.D, #0; FCPY Zresult.D, Pg/M, #op + /// DUP Zresult.D, #0; CPY Zresult.D, Pg/M, Xop + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CPY Zresult.D, Pg/M, Dop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(long value) => DuplicateSelectedScalarToVector(value); + + /// + /// svint64_t svdup_lane[_s64](svint64_t data, uint64_t index) + /// DUP Zresult.D, Zdata.D[index] + /// TBL Zresult.D, Zdata.D, Zindex.D + /// svint64_t svdupq_lane[_s64](svint64_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svuint8_t svdup[_n]_u8(uint8_t op) + /// DUP Zresult.B, #op + /// FDUP Zresult.B, #op + /// DUPM Zresult.B, #op + /// DUP Zresult.B, Wop + /// DUP Zresult.B, Zop.B[0] + /// svuint8_t svdup[_n]_u8_m(svuint8_t inactive, svbool_t pg, uint8_t op) + /// CPY Ztied.B, Pg/M, #(int8_t)op + /// FCPY Ztied.B, Pg/M, #op + /// CPY Ztied.B, Pg/M, Wop + /// CPY Ztied.B, Pg/M, Bop + /// svuint8_t svdup[_n]_u8_x(svbool_t pg, uint8_t op) + /// CPY Zresult.B, Pg/Z, #(int8_t)op + /// DUP Zresult.B, #op + /// FCPY Zresult.B, Pg/M, #op + /// FDUP Zresult.B, #op + /// DUPM Zresult.B, #op + /// DUP Zresult.B, Wop + /// DUP Zresult.B, Zop.B[0] + /// svuint8_t svdup[_n]_u8_z(svbool_t pg, uint8_t op) + /// CPY Zresult.B, Pg/Z, #(int8_t)op + /// DUP Zresult.B, #0; FCPY Zresult.B, Pg/M, #op + /// DUP Zresult.B, #0; CPY Zresult.B, Pg/M, Wop + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CPY Zresult.B, Pg/M, Bop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(byte value) => DuplicateSelectedScalarToVector(value); + + /// + /// svuint8_t svdup_lane[_u8](svuint8_t data, uint8_t index) + /// DUP Zresult.B, Zdata.B[index] + /// TBL Zresult.B, Zdata.B, Zindex.B + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, byte index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svuint8_t svdupq_lane[_u8](svuint8_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svuint16_t svdup[_n]_u16(uint16_t op) + /// DUP Zresult.H, #op + /// FDUP Zresult.H, #op + /// DUPM Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svuint16_t svdup[_n]_u16_m(svuint16_t inactive, svbool_t pg, uint16_t op) + /// CPY Ztied.H, Pg/M, #(int16_t)op + /// FCPY Ztied.H, Pg/M, #op + /// CPY Ztied.H, Pg/M, Wop + /// CPY Ztied.H, Pg/M, Hop + /// svuint16_t svdup[_n]_u16_x(svbool_t pg, uint16_t op) + /// CPY Zresult.H, Pg/Z, #(int16_t)op + /// DUP Zresult.H, #op + /// FCPY Zresult.H, Pg/M, #op + /// FDUP Zresult.H, #op + /// DUPM Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svuint16_t svdup[_n]_u16_z(svbool_t pg, uint16_t op) + /// CPY Zresult.H, Pg/Z, #(int16_t)op + /// DUP Zresult.H, #0; FCPY Zresult.H, Pg/M, #op + /// DUP Zresult.H, #0; CPY Zresult.H, Pg/M, Wop + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CPY Zresult.H, Pg/M, Hop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(ushort value) => DuplicateSelectedScalarToVector(value); + + /// + /// svuint16_t svdup_lane[_u16](svuint16_t data, uint16_t index) + /// DUP Zresult.H, Zdata.H[index] + /// TBL Zresult.H, Zdata.H, Zindex.H + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ushort index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svuint16_t svdupq_lane[_u16](svuint16_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svuint32_t svdup[_n]_u32(uint32_t op) + /// DUP Zresult.S, #op + /// FDUP Zresult.S, #op + /// DUPM Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svuint32_t svdup[_n]_u32_m(svuint32_t inactive, svbool_t pg, uint32_t op) + /// CPY Ztied.S, Pg/M, #(int32_t)op + /// FCPY Ztied.S, Pg/M, #op + /// CPY Ztied.S, Pg/M, Wop + /// CPY Ztied.S, Pg/M, Sop + /// svuint32_t svdup[_n]_u32_x(svbool_t pg, uint32_t op) + /// CPY Zresult.S, Pg/Z, #(int32_t)op + /// DUP Zresult.S, #op + /// FCPY Zresult.S, Pg/M, #op + /// FDUP Zresult.S, #op + /// DUPM Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svuint32_t svdup[_n]_u32_z(svbool_t pg, uint32_t op) + /// CPY Zresult.S, Pg/Z, #(int32_t)op + /// DUP Zresult.S, #0; FCPY Zresult.S, Pg/M, #op + /// DUP Zresult.S, #0; CPY Zresult.S, Pg/M, Wop + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CPY Zresult.S, Pg/M, Sop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(uint value) => DuplicateSelectedScalarToVector(value); + + /// + /// svuint32_t svdup_lane[_u32](svuint32_t data, uint32_t index) + /// DUP Zresult.S, Zdata.S[index] + /// TBL Zresult.S, Zdata.S, Zindex.S + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, uint index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svuint32_t svdupq_lane[_u32](svuint32_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svuint64_t svdup[_n]_u64(uint64_t op) + /// DUP Zresult.D, #op + /// FDUP Zresult.D, #op + /// DUPM Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svuint64_t svdup[_n]_u64_m(svuint64_t inactive, svbool_t pg, uint64_t op) + /// CPY Ztied.D, Pg/M, #(int64_t)op + /// FCPY Ztied.D, Pg/M, #op + /// CPY Ztied.D, Pg/M, Xop + /// CPY Ztied.D, Pg/M, Dop + /// svuint64_t svdup[_n]_u64_x(svbool_t pg, uint64_t op) + /// CPY Zresult.D, Pg/Z, #(int64_t)op + /// DUP Zresult.D, #op + /// FCPY Zresult.D, Pg/M, #op + /// FDUP Zresult.D, #op + /// DUPM Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svuint64_t svdup[_n]_u64_z(svbool_t pg, uint64_t op) + /// CPY Zresult.D, Pg/Z, #(int64_t)op + /// DUP Zresult.D, #0; FCPY Zresult.D, Pg/M, #op + /// DUP Zresult.D, #0; CPY Zresult.D, Pg/M, Xop + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CPY Zresult.D, Pg/M, Dop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(ulong value) => DuplicateSelectedScalarToVector(value); + + /// + /// svuint64_t svdup_lane[_u64](svuint64_t data, uint64_t index) + /// DUP Zresult.D, Zdata.D[index] + /// TBL Zresult.D, Zdata.D, Zindex.D + /// svuint64_t svdupq_lane[_u64](svuint64_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svfloat32_t svdup[_n]_f32(float32_t op) + /// DUP Zresult.S, #op + /// FDUP Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svfloat32_t svdup[_n]_f32_m(svfloat32_t inactive, svbool_t pg, float32_t op) + /// CPY Ztied.S, Pg/M, #bitcast(op) + /// FCPY Ztied.S, Pg/M, #op + /// CPY Ztied.S, Pg/M, Wop + /// CPY Ztied.S, Pg/M, Sop + /// svfloat32_t svdup[_n]_f32_x(svbool_t pg, float32_t op) + /// CPY Zresult.S, Pg/Z, #bitcast(op) + /// DUP Zresult.S, #op + /// FCPY Zresult.S, Pg/M, #op + /// FDUP Zresult.S, #op + /// DUP Zresult.S, Wop + /// DUP Zresult.S, Zop.S[0] + /// svfloat32_t svdup[_n]_f32_z(svbool_t pg, float32_t op) + /// CPY Zresult.S, Pg/Z, #bitcast(op) + /// DUP Zresult.S, #0; FCPY Zresult.S, Pg/M, #op + /// DUP Zresult.S, #0; CPY Zresult.S, Pg/M, Wop + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CPY Zresult.S, Pg/M, Sop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(float value) => DuplicateSelectedScalarToVector(value); + + /// + /// svfloat32_t svdup_lane[_f32](svfloat32_t data, uint32_t index) + /// DUP Zresult.S, Zdata.S[index] + /// TBL Zresult.S, Zdata.S, Zindex.S + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, uint index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svfloat32_t svdupq_lane[_f32](svfloat32_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svfloat64_t svdup[_n]_f64(float64_t op) + /// DUP Zresult.D, #op + /// FDUP Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svfloat64_t svdup[_n]_f64_m(svfloat64_t inactive, svbool_t pg, float64_t op) + /// CPY Ztied.D, Pg/M, #bitcast(op) + /// FCPY Ztied.D, Pg/M, #op + /// CPY Ztied.D, Pg/M, Xop + /// CPY Ztied.D, Pg/M, Dop + /// svfloat64_t svdup[_n]_f64_x(svbool_t pg, float64_t op) + /// CPY Zresult.D, Pg/Z, #bitcast(op) + /// DUP Zresult.D, #op + /// FCPY Zresult.D, Pg/M, #op + /// FDUP Zresult.D, #op + /// DUP Zresult.D, Xop + /// DUP Zresult.D, Zop.D[0] + /// svfloat64_t svdup[_n]_f64_z(svbool_t pg, float64_t op) + /// CPY Zresult.D, Pg/Z, #bitcast(op) + /// DUP Zresult.D, #0; FCPY Zresult.D, Pg/M, #op + /// DUP Zresult.D, #0; CPY Zresult.D, Pg/M, Xop + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CPY Zresult.D, Pg/M, Dop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(double value) => DuplicateSelectedScalarToVector(value); + + /// + /// svfloat64_t svdup_lane[_f64](svfloat64_t data, uint64_t index) + /// DUP Zresult.D, Zdata.D[index] + /// TBL Zresult.D, Zdata.D, Zindex.D + /// svfloat64_t svdupq_lane[_f64](svfloat64_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + + /// ExtractAfterLast : Extract element after last + + /// + /// int8_t svlasta[_s8](svbool_t pg, svint8_t op) + /// LASTA Wresult, Pg, Zop.B + /// LASTA Bresult, Pg, Zop.B + /// + public static unsafe sbyte ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + /// + /// int16_t svlasta[_s16](svbool_t pg, svint16_t op) + /// LASTA Wresult, Pg, Zop.H + /// LASTA Hresult, Pg, Zop.H + /// + public static unsafe short ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + /// + /// int32_t svlasta[_s32](svbool_t pg, svint32_t op) + /// LASTA Wresult, Pg, Zop.S + /// LASTA Sresult, Pg, Zop.S + /// + public static unsafe int ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + /// + /// int64_t svlasta[_s64](svbool_t pg, svint64_t op) + /// LASTA Xresult, Pg, Zop.D + /// LASTA Dresult, Pg, Zop.D + /// + public static unsafe long ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + /// + /// uint8_t svlasta[_u8](svbool_t pg, svuint8_t op) + /// LASTA Wresult, Pg, Zop.B + /// LASTA Bresult, Pg, Zop.B + /// + public static unsafe byte ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + /// + /// uint16_t svlasta[_u16](svbool_t pg, svuint16_t op) + /// LASTA Wresult, Pg, Zop.H + /// LASTA Hresult, Pg, Zop.H + /// + public static unsafe ushort ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + /// + /// uint32_t svlasta[_u32](svbool_t pg, svuint32_t op) + /// LASTA Wresult, Pg, Zop.S + /// LASTA Sresult, Pg, Zop.S + /// + public static unsafe uint ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + /// + /// uint64_t svlasta[_u64](svbool_t pg, svuint64_t op) + /// LASTA Xresult, Pg, Zop.D + /// LASTA Dresult, Pg, Zop.D + /// + public static unsafe ulong ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + /// + /// float32_t svlasta[_f32](svbool_t pg, svfloat32_t op) + /// LASTA Wresult, Pg, Zop.S + /// LASTA Sresult, Pg, Zop.S + /// + public static unsafe float ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + /// + /// float64_t svlasta[_f64](svbool_t pg, svfloat64_t op) + /// LASTA Xresult, Pg, Zop.D + /// LASTA Dresult, Pg, Zop.D + /// + public static unsafe double ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + + /// ExtractLast : Extract last element + + /// + /// int8_t svlastb[_s8](svbool_t pg, svint8_t op) + /// LASTB Wresult, Pg, Zop.B + /// LASTB Bresult, Pg, Zop.B + /// + public static unsafe sbyte ExtractLast(Vector value) => ExtractLast(value); + + /// + /// int16_t svlastb[_s16](svbool_t pg, svint16_t op) + /// LASTB Wresult, Pg, Zop.H + /// LASTB Hresult, Pg, Zop.H + /// + public static unsafe short ExtractLast(Vector value) => ExtractLast(value); + + /// + /// int32_t svlastb[_s32](svbool_t pg, svint32_t op) + /// LASTB Wresult, Pg, Zop.S + /// LASTB Sresult, Pg, Zop.S + /// + public static unsafe int ExtractLast(Vector value) => ExtractLast(value); + + /// + /// int64_t svlastb[_s64](svbool_t pg, svint64_t op) + /// LASTB Xresult, Pg, Zop.D + /// LASTB Dresult, Pg, Zop.D + /// + public static unsafe long ExtractLast(Vector value) => ExtractLast(value); + + /// + /// uint8_t svlastb[_u8](svbool_t pg, svuint8_t op) + /// LASTB Wresult, Pg, Zop.B + /// LASTB Bresult, Pg, Zop.B + /// + public static unsafe byte ExtractLast(Vector value) => ExtractLast(value); + + /// + /// uint16_t svlastb[_u16](svbool_t pg, svuint16_t op) + /// LASTB Wresult, Pg, Zop.H + /// LASTB Hresult, Pg, Zop.H + /// + public static unsafe ushort ExtractLast(Vector value) => ExtractLast(value); + + /// + /// uint32_t svlastb[_u32](svbool_t pg, svuint32_t op) + /// LASTB Wresult, Pg, Zop.S + /// LASTB Sresult, Pg, Zop.S + /// + public static unsafe uint ExtractLast(Vector value) => ExtractLast(value); + + /// + /// uint64_t svlastb[_u64](svbool_t pg, svuint64_t op) + /// LASTB Xresult, Pg, Zop.D + /// LASTB Dresult, Pg, Zop.D + /// + public static unsafe ulong ExtractLast(Vector value) => ExtractLast(value); + + /// + /// float32_t svlastb[_f32](svbool_t pg, svfloat32_t op) + /// LASTB Wresult, Pg, Zop.S + /// LASTB Sresult, Pg, Zop.S + /// + public static unsafe float ExtractLast(Vector value) => ExtractLast(value); + + /// + /// float64_t svlastb[_f64](svbool_t pg, svfloat64_t op) + /// LASTB Xresult, Pg, Zop.D + /// LASTB Dresult, Pg, Zop.D + /// + public static unsafe double ExtractLast(Vector value) => ExtractLast(value); + + + /// ExtractVector : Extract vector from pair of vectors + + /// + /// svint8_t svext[_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + /// + /// svint16_t svext[_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + /// + /// svint32_t svext[_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + /// + /// svint64_t svext[_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + /// + /// svuint8_t svext[_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + /// + /// svuint16_t svext[_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + /// + /// svuint32_t svext[_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + /// + /// svuint64_t svext[_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + /// + /// svfloat32_t svext[_f32](svfloat32_t op1, svfloat32_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + /// + /// svfloat64_t svext[_f64](svfloat64_t op1, svfloat64_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + + /// FalseMask : Set all predicate elements to false + + /// + /// svbool_t svpfalse[_b]() + /// PFALSE Presult.B + /// + public static unsafe Vector FalseMask() => FalseMask(); + + + /// FloatingPointExponentialAccelerator : Floating-point exponential accelerator + + /// + /// svfloat32_t svexpa[_f32](svuint32_t op) + /// FEXPA Zresult.S, Zop.S + /// + public static unsafe Vector FloatingPointExponentialAccelerator(Vector value) => FloatingPointExponentialAccelerator(value); + + /// + /// svfloat64_t svexpa[_f64](svuint64_t op) + /// FEXPA Zresult.D, Zop.D + /// + public static unsafe Vector FloatingPointExponentialAccelerator(Vector value) => FloatingPointExponentialAccelerator(value); + + + /// FusedMultiplyAdd : Multiply-add, addend first + + /// + /// svfloat32_t svmla[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; FMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svmla[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// FMAD Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// FMAD Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svmla[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMAD Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; FMAD Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right) => FusedMultiplyAdd(addend, left, right); + + /// + /// svfloat32_t svmla_lane[_f32](svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_index) + /// FMLA Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; FMLA Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) => FusedMultiplyAdd(addend, left, right, imm_index); + + /// + /// svfloat64_t svmla[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; FMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svmla[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// FMAD Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// FMAD Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svmla[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMAD Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; FMAD Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right) => FusedMultiplyAdd(addend, left, right); + + /// + /// svfloat64_t svmla_lane[_f64](svfloat64_t op1, svfloat64_t op2, svfloat64_t op3, uint64_t imm_index) + /// FMLA Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; FMLA Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) => FusedMultiplyAdd(addend, left, right, imm_index); + + + /// FusedMultiplyAddNegate : Negated multiply-add, addend first + + /// + /// svfloat32_t svnmla[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FNMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svnmla[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FNMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// FNMAD Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// FNMAD Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svnmla[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FNMLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FNMAD Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; FNMAD Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector FusedMultiplyAddNegate(Vector op1, Vector op2, Vector op3) => FusedMultiplyAddNegate(op1, op2, op3); + + /// + /// svfloat64_t svnmla[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FNMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svnmla[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FNMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// FNMAD Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// FNMAD Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svnmla[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FNMLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FNMAD Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; FNMAD Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector FusedMultiplyAddNegate(Vector op1, Vector op2, Vector op3) => FusedMultiplyAddNegate(op1, op2, op3); + + + /// FusedMultiplySubtract : Multiply-subtract, minuend first + + /// + /// svfloat32_t svmls[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FMLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; FMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svmls[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FMLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// FMSB Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// FMSB Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svmls[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMSB Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; FMSB Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right) => FusedMultiplySubtract(minuend, left, right); + + /// + /// svfloat32_t svmls_lane[_f32](svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_index) + /// FMLS Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; FMLS Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) => FusedMultiplySubtract(minuend, left, right, imm_index); + + /// + /// svfloat64_t svmls[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FMLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; FMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svmls[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FMLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// FMSB Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// FMSB Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svmls[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMSB Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; FMSB Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right) => FusedMultiplySubtract(minuend, left, right); + + /// + /// svfloat64_t svmls_lane[_f64](svfloat64_t op1, svfloat64_t op2, svfloat64_t op3, uint64_t imm_index) + /// FMLS Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; FMLS Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) => FusedMultiplySubtract(minuend, left, right, imm_index); + + + /// FusedMultiplySubtractNegate : Negated multiply-subtract, minuend first + + /// + /// svfloat32_t svnmls[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FNMLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svnmls[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FNMLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// FNMSB Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// FNMSB Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svfloat32_t svnmls[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FNMLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FNMSB Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; FNMSB Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector FusedMultiplySubtractNegate(Vector op1, Vector op2, Vector op3) => FusedMultiplySubtractNegate(op1, op2, op3); + + /// + /// svfloat64_t svnmls[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FNMLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svnmls[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FNMLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// FNMSB Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// FNMSB Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svfloat64_t svnmls[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FNMLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FNMSB Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; FNMSB Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector FusedMultiplySubtractNegate(Vector op1, Vector op2, Vector op3) => FusedMultiplySubtractNegate(op1, op2, op3); + + + /// GatherPrefetchBytes : Prefetch bytes + + /// + /// void svprfb_gather_[s32]offset(svbool_t pg, const void *base, svint32_t offsets, enum svprfop op) + /// PRFB op, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, const void *base, Vector offsets, enum SvePrefetchType op) => GatherPrefetchBytes(mask, void, offsets, SvePrefetchType); + + /// + /// void svprfb_gather_[s64]offset(svbool_t pg, const void *base, svint64_t offsets, enum svprfop op) + /// PRFB op, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, const void *base, Vector offsets, enum SvePrefetchType op) => GatherPrefetchBytes(mask, void, offsets, SvePrefetchType); + + /// + /// void svprfb_gather[_u32base](svbool_t pg, svuint32_t bases, enum svprfop op) + /// PRFB op, Pg, [Zbases.S, #0] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, Vector bases, enum SvePrefetchType op) => GatherPrefetchBytes(mask, bases, SvePrefetchType); + + /// + /// void svprfb_gather_[u32]offset(svbool_t pg, const void *base, svuint32_t offsets, enum svprfop op) + /// PRFB op, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, const void *base, Vector offsets, enum SvePrefetchType op) => GatherPrefetchBytes(mask, void, offsets, SvePrefetchType); + + /// + /// void svprfb_gather[_u32base]_offset(svbool_t pg, svuint32_t bases, int64_t offset, enum svprfop op) + /// PRFB op, Pg, [Zbases.S, #offset] + /// PRFB op, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, Vector bases, long offset, enum SvePrefetchType op) => GatherPrefetchBytes(mask, bases, offset, SvePrefetchType); + + /// + /// void svprfb_gather[_u64base](svbool_t pg, svuint64_t bases, enum svprfop op) + /// PRFB op, Pg, [Zbases.D, #0] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, Vector bases, enum SvePrefetchType op) => GatherPrefetchBytes(mask, bases, SvePrefetchType); + + /// + /// void svprfb_gather_[u64]offset(svbool_t pg, const void *base, svuint64_t offsets, enum svprfop op) + /// PRFB op, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, const void *base, Vector offsets, enum SvePrefetchType op) => GatherPrefetchBytes(mask, void, offsets, SvePrefetchType); + + /// + /// void svprfb_gather[_u64base]_offset(svbool_t pg, svuint64_t bases, int64_t offset, enum svprfop op) + /// PRFB op, Pg, [Zbases.D, #offset] + /// PRFB op, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void GatherPrefetchBytes(Vector mask, Vector bases, long offset, enum SvePrefetchType op) => GatherPrefetchBytes(mask, bases, offset, SvePrefetchType); + + + /// GatherPrefetchInt16 : Prefetch halfwords + + /// + /// void svprfh_gather_[s32]index(svbool_t pg, const void *base, svint32_t indices, enum svprfop op) + /// PRFH op, Pg, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt16(mask, void, indices, SvePrefetchType); + + /// + /// void svprfh_gather_[s64]index(svbool_t pg, const void *base, svint64_t indices, enum svprfop op) + /// PRFH op, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt16(mask, void, indices, SvePrefetchType); + + /// + /// void svprfh_gather[_u32base](svbool_t pg, svuint32_t bases, enum svprfop op) + /// PRFH op, Pg, [Zbases.S, #0] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, Vector bases, enum SvePrefetchType op) => GatherPrefetchInt16(mask, bases, SvePrefetchType); + + /// + /// void svprfh_gather_[u32]index(svbool_t pg, const void *base, svuint32_t indices, enum svprfop op) + /// PRFH op, Pg, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt16(mask, void, indices, SvePrefetchType); + + /// + /// void svprfh_gather[_u32base]_index(svbool_t pg, svuint32_t bases, int64_t index, enum svprfop op) + /// PRFH op, Pg, [Zbases.S, #index * 2] + /// PRFB op, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, Vector bases, long index, enum SvePrefetchType op) => GatherPrefetchInt16(mask, bases, index, SvePrefetchType); + + /// + /// void svprfh_gather[_u64base](svbool_t pg, svuint64_t bases, enum svprfop op) + /// PRFH op, Pg, [Zbases.D, #0] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, Vector bases, enum SvePrefetchType op) => GatherPrefetchInt16(mask, bases, SvePrefetchType); + + /// + /// void svprfh_gather_[u64]index(svbool_t pg, const void *base, svuint64_t indices, enum svprfop op) + /// PRFH op, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt16(mask, void, indices, SvePrefetchType); + + /// + /// void svprfh_gather[_u64base]_index(svbool_t pg, svuint64_t bases, int64_t index, enum svprfop op) + /// PRFH op, Pg, [Zbases.D, #index * 2] + /// PRFB op, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void GatherPrefetchInt16(Vector mask, Vector bases, long index, enum SvePrefetchType op) => GatherPrefetchInt16(mask, bases, index, SvePrefetchType); + + + /// GatherPrefetchInt32 : Prefetch words + + /// + /// void svprfw_gather[_u32base](svbool_t pg, svuint32_t bases, enum svprfop op) + /// PRFW op, Pg, [Zbases.S, #0] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, Vector bases, enum SvePrefetchType op) => GatherPrefetchInt32(mask, bases, SvePrefetchType); + + /// + /// void svprfw_gather_[s32]index(svbool_t pg, const void *base, svint32_t indices, enum svprfop op) + /// PRFW op, Pg, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt32(mask, void, indices, SvePrefetchType); + + /// + /// void svprfw_gather_[s64]index(svbool_t pg, const void *base, svint64_t indices, enum svprfop op) + /// PRFW op, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt32(mask, void, indices, SvePrefetchType); + + /// + /// void svprfw_gather[_u64base](svbool_t pg, svuint64_t bases, enum svprfop op) + /// PRFW op, Pg, [Zbases.D, #0] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, Vector bases, enum SvePrefetchType op) => GatherPrefetchInt32(mask, bases, SvePrefetchType); + + /// + /// void svprfw_gather_[u32]index(svbool_t pg, const void *base, svuint32_t indices, enum svprfop op) + /// PRFW op, Pg, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt32(mask, void, indices, SvePrefetchType); + + /// + /// void svprfw_gather_[u64]index(svbool_t pg, const void *base, svuint64_t indices, enum svprfop op) + /// PRFW op, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt32(mask, void, indices, SvePrefetchType); + + /// + /// void svprfw_gather[_u32base]_index(svbool_t pg, svuint32_t bases, int64_t index, enum svprfop op) + /// PRFW op, Pg, [Zbases.S, #index * 4] + /// PRFB op, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, Vector bases, long index, enum SvePrefetchType op) => GatherPrefetchInt32(mask, bases, index, SvePrefetchType); + + /// + /// void svprfw_gather[_u64base]_index(svbool_t pg, svuint64_t bases, int64_t index, enum svprfop op) + /// PRFW op, Pg, [Zbases.D, #index * 4] + /// PRFB op, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void GatherPrefetchInt32(Vector mask, Vector bases, long index, enum SvePrefetchType op) => GatherPrefetchInt32(mask, bases, index, SvePrefetchType); + + + /// GatherPrefetchInt64 : Prefetch doublewords + + /// + /// void svprfd_gather[_u32base](svbool_t pg, svuint32_t bases, enum svprfop op) + /// PRFD op, Pg, [Zbases.S, #0] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, Vector bases, enum SvePrefetchType op) => GatherPrefetchInt64(mask, bases, SvePrefetchType); + + /// + /// void svprfd_gather[_u64base](svbool_t pg, svuint64_t bases, enum svprfop op) + /// PRFD op, Pg, [Zbases.D, #0] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, Vector bases, enum SvePrefetchType op) => GatherPrefetchInt64(mask, bases, SvePrefetchType); + + /// + /// void svprfd_gather_[s32]index(svbool_t pg, const void *base, svint32_t indices, enum svprfop op) + /// PRFD op, Pg, [Xbase, Zindices.S, SXTW #3] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt64(mask, void, indices, SvePrefetchType); + + /// + /// void svprfd_gather_[s64]index(svbool_t pg, const void *base, svint64_t indices, enum svprfop op) + /// PRFD op, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt64(mask, void, indices, SvePrefetchType); + + /// + /// void svprfd_gather_[u32]index(svbool_t pg, const void *base, svuint32_t indices, enum svprfop op) + /// PRFD op, Pg, [Xbase, Zindices.S, UXTW #3] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt64(mask, void, indices, SvePrefetchType); + + /// + /// void svprfd_gather_[u64]index(svbool_t pg, const void *base, svuint64_t indices, enum svprfop op) + /// PRFD op, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, const void *base, Vector indices, enum SvePrefetchType op) => GatherPrefetchInt64(mask, void, indices, SvePrefetchType); + + /// + /// void svprfd_gather[_u32base]_index(svbool_t pg, svuint32_t bases, int64_t index, enum svprfop op) + /// PRFD op, Pg, [Zbases.S, #index * 8] + /// PRFB op, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, Vector bases, long index, enum SvePrefetchType op) => GatherPrefetchInt64(mask, bases, index, SvePrefetchType); + + /// + /// void svprfd_gather[_u64base]_index(svbool_t pg, svuint64_t bases, int64_t index, enum svprfop op) + /// PRFD op, Pg, [Zbases.D, #index * 8] + /// PRFB op, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void GatherPrefetchInt64(Vector mask, Vector bases, long index, enum SvePrefetchType op) => GatherPrefetchInt64(mask, bases, index, SvePrefetchType); + + + /// GatherVector : Unextended load + + /// + /// svint32_t svld1_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) => GatherVector(mask, bases); + + /// + /// svint32_t svld1_gather_[s32]offset[_s32](svbool_t pg, const int32_t *base, svint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const int *base, Vector offsets) => GatherVector(mask, int, offsets); + + /// + /// svint32_t svld1_gather_[u32]offset[_s32](svbool_t pg, const int32_t *base, svuint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const int *base, Vector offsets) => GatherVector(mask, int, offsets); + + /// + /// svint32_t svld1_gather_[s32]index[_s32](svbool_t pg, const int32_t *base, svint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const int *base, Vector indices) => GatherVector(mask, int, indices); + + /// + /// svint32_t svld1_gather_[u32]index[_s32](svbool_t pg, const int32_t *base, svuint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const int *base, Vector indices) => GatherVector(mask, int, indices); + + /// + /// svint32_t svld1_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) => GatherVector(mask, bases, offset); + + /// + /// svint32_t svld1_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) => GatherVector(mask, bases, index); + + /// + /// svint64_t svld1_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) => GatherVector(mask, bases); + + /// + /// svint64_t svld1_gather_[s64]offset[_s64](svbool_t pg, const int64_t *base, svint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const long *base, Vector offsets) => GatherVector(mask, long, offsets); + + /// + /// svint64_t svld1_gather_[u64]offset[_s64](svbool_t pg, const int64_t *base, svuint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const long *base, Vector offsets) => GatherVector(mask, long, offsets); + + /// + /// svint64_t svld1_gather_[s64]index[_s64](svbool_t pg, const int64_t *base, svint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const long *base, Vector indices) => GatherVector(mask, long, indices); + + /// + /// svint64_t svld1_gather_[u64]index[_s64](svbool_t pg, const int64_t *base, svuint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const long *base, Vector indices) => GatherVector(mask, long, indices); + + /// + /// svint64_t svld1_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) => GatherVector(mask, bases, offset); + + /// + /// svint64_t svld1_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) => GatherVector(mask, bases, index); + + /// + /// svuint32_t svld1_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) => GatherVector(mask, bases); + + /// + /// svuint32_t svld1_gather_[s32]offset[_u32](svbool_t pg, const uint32_t *base, svint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const uint *base, Vector offsets) => GatherVector(mask, uint, offsets); + + /// + /// svuint32_t svld1_gather_[u32]offset[_u32](svbool_t pg, const uint32_t *base, svuint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const uint *base, Vector offsets) => GatherVector(mask, uint, offsets); + + /// + /// svuint32_t svld1_gather_[s32]index[_u32](svbool_t pg, const uint32_t *base, svint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const uint *base, Vector indices) => GatherVector(mask, uint, indices); + + /// + /// svuint32_t svld1_gather_[u32]index[_u32](svbool_t pg, const uint32_t *base, svuint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const uint *base, Vector indices) => GatherVector(mask, uint, indices); + + /// + /// svuint32_t svld1_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) => GatherVector(mask, bases, offset); + + /// + /// svuint32_t svld1_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) => GatherVector(mask, bases, index); + + /// + /// svuint64_t svld1_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) => GatherVector(mask, bases); + + /// + /// svuint64_t svld1_gather_[s64]offset[_u64](svbool_t pg, const uint64_t *base, svint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const ulong *base, Vector offsets) => GatherVector(mask, ulong, offsets); + + /// + /// svuint64_t svld1_gather_[u64]offset[_u64](svbool_t pg, const uint64_t *base, svuint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const ulong *base, Vector offsets) => GatherVector(mask, ulong, offsets); + + /// + /// svuint64_t svld1_gather_[s64]index[_u64](svbool_t pg, const uint64_t *base, svint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const ulong *base, Vector indices) => GatherVector(mask, ulong, indices); + + /// + /// svuint64_t svld1_gather_[u64]index[_u64](svbool_t pg, const uint64_t *base, svuint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const ulong *base, Vector indices) => GatherVector(mask, ulong, indices); + + /// + /// svuint64_t svld1_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) => GatherVector(mask, bases, offset); + + /// + /// svuint64_t svld1_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) => GatherVector(mask, bases, index); + + /// + /// svfloat32_t svld1_gather_[s32]offset[_f32](svbool_t pg, const float32_t *base, svint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const float *base, Vector offsets) => GatherVector(mask, float, offsets); + + /// + /// svfloat32_t svld1_gather_[s32]index[_f32](svbool_t pg, const float32_t *base, svint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const float *base, Vector indices) => GatherVector(mask, float, indices); + + /// + /// svfloat32_t svld1_gather[_u32base]_f32(svbool_t pg, svuint32_t bases) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) => GatherVector(mask, bases); + + /// + /// svfloat32_t svld1_gather_[u32]offset[_f32](svbool_t pg, const float32_t *base, svuint32_t offsets) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, const float *base, Vector offsets) => GatherVector(mask, float, offsets); + + /// + /// svfloat32_t svld1_gather_[u32]index[_f32](svbool_t pg, const float32_t *base, svuint32_t indices) + /// LD1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVector(Vector mask, const float *base, Vector indices) => GatherVector(mask, float, indices); + + /// + /// svfloat32_t svld1_gather[_u32base]_offset_f32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) => GatherVector(mask, bases, offset); + + /// + /// svfloat32_t svld1_gather[_u32base]_index_f32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LD1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) => GatherVector(mask, bases, index); + + /// + /// svfloat64_t svld1_gather_[s64]offset[_f64](svbool_t pg, const float64_t *base, svint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const double *base, Vector offsets) => GatherVector(mask, double, offsets); + + /// + /// svfloat64_t svld1_gather_[s64]index[_f64](svbool_t pg, const float64_t *base, svint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const double *base, Vector indices) => GatherVector(mask, double, indices); + + /// + /// svfloat64_t svld1_gather[_u64base]_f64(svbool_t pg, svuint64_t bases) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases) => GatherVector(mask, bases); + + /// + /// svfloat64_t svld1_gather_[u64]offset[_f64](svbool_t pg, const float64_t *base, svuint64_t offsets) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVector(Vector mask, const double *base, Vector offsets) => GatherVector(mask, double, offsets); + + /// + /// svfloat64_t svld1_gather_[u64]index[_f64](svbool_t pg, const float64_t *base, svuint64_t indices) + /// LD1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVector(Vector mask, const double *base, Vector indices) => GatherVector(mask, double, indices); + + /// + /// svfloat64_t svld1_gather[_u64base]_offset_f64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long offset) => GatherVector(mask, bases, offset); + + /// + /// svfloat64_t svld1_gather[_u64base]_index_f64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LD1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVector(Vector mask, Vector bases, long index) => GatherVector(mask, bases, index); + + + /// GatherVectorByteSignExtend : Load 8-bit data and sign-extend + + /// + /// svint32_t svld1sb_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LD1SB Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases) => GatherVectorByteSignExtend(mask, bases); + + /// + /// svint32_t svld1sb_gather_[s32]offset_s32(svbool_t pg, const int8_t *base, svint32_t offsets) + /// LD1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtend(mask, sbyte, offsets); + + /// + /// svint32_t svld1sb_gather_[u32]offset_s32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LD1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtend(mask, sbyte, offsets); + + /// + /// svint32_t svld1sb_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1SB Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1SB Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtend(mask, bases, offset); + + /// + /// svint64_t svld1sb_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1SB Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases) => GatherVectorByteSignExtend(mask, bases); + + /// + /// svint64_t svld1sb_gather_[s64]offset_s64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LD1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtend(mask, sbyte, offsets); + + /// + /// svint64_t svld1sb_gather_[u64]offset_s64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LD1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtend(mask, sbyte, offsets); + + /// + /// svint64_t svld1sb_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SB Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SB Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtend(mask, bases, offset); + + /// + /// svuint32_t svld1sb_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LD1SB Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases) => GatherVectorByteSignExtend(mask, bases); + + /// + /// svuint32_t svld1sb_gather_[s32]offset_u32(svbool_t pg, const int8_t *base, svint32_t offsets) + /// LD1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtend(mask, sbyte, offsets); + + /// + /// svuint32_t svld1sb_gather_[u32]offset_u32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LD1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtend(mask, sbyte, offsets); + + /// + /// svuint32_t svld1sb_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1SB Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1SB Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtend(mask, bases, offset); + + /// + /// svuint64_t svld1sb_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1SB Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases) => GatherVectorByteSignExtend(mask, bases); + + /// + /// svuint64_t svld1sb_gather_[s64]offset_u64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LD1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtend(mask, sbyte, offsets); + + /// + /// svuint64_t svld1sb_gather_[u64]offset_u64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LD1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtend(mask, sbyte, offsets); + + /// + /// svuint64_t svld1sb_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SB Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SB Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteSignExtend(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtend(mask, bases, offset); + + + /// GatherVectorByteSignExtendFirstFaulting : Load 8-bit data and sign-extend, first-faulting + + /// + /// svint32_t svldff1sb_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDFF1SB Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorByteSignExtendFirstFaulting(mask, bases); + + /// + /// svint32_t svldff1sb_gather_[s32]offset_s32(svbool_t pg, const int8_t *base, svint32_t offsets) + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendFirstFaulting(mask, sbyte, offsets); + + /// + /// svint32_t svldff1sb_gather_[u32]offset_s32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendFirstFaulting(mask, sbyte, offsets); + + /// + /// svint32_t svldff1sb_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1SB Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1SB Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtendFirstFaulting(mask, bases, offset); + + /// + /// svint64_t svldff1sb_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1SB Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorByteSignExtendFirstFaulting(mask, bases); + + /// + /// svint64_t svldff1sb_gather_[s64]offset_s64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendFirstFaulting(mask, sbyte, offsets); + + /// + /// svint64_t svldff1sb_gather_[u64]offset_s64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendFirstFaulting(mask, sbyte, offsets); + + /// + /// svint64_t svldff1sb_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SB Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SB Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtendFirstFaulting(mask, bases, offset); + + /// + /// svuint32_t svldff1sb_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDFF1SB Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorByteSignExtendFirstFaulting(mask, bases); + + /// + /// svuint32_t svldff1sb_gather_[s32]offset_u32(svbool_t pg, const int8_t *base, svint32_t offsets) + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendFirstFaulting(mask, sbyte, offsets); + + /// + /// svuint32_t svldff1sb_gather_[u32]offset_u32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendFirstFaulting(mask, sbyte, offsets); + + /// + /// svuint32_t svldff1sb_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1SB Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1SB Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtendFirstFaulting(mask, bases, offset); + + /// + /// svuint64_t svldff1sb_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1SB Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorByteSignExtendFirstFaulting(mask, bases); + + /// + /// svuint64_t svldff1sb_gather_[s64]offset_u64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendFirstFaulting(mask, sbyte, offsets); + + /// + /// svuint64_t svldff1sb_gather_[u64]offset_u64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendFirstFaulting(mask, sbyte, offsets); + + /// + /// svuint64_t svldff1sb_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SB Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SB Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteSignExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtendFirstFaulting(mask, bases, offset); + + + /// GatherVectorByteZeroExtend : Load 8-bit data and zero-extend + + /// + /// svint32_t svld1ub_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LD1B Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases) => GatherVectorByteZeroExtend(mask, bases); + + /// + /// svint32_t svld1ub_gather_[s32]offset_s32(svbool_t pg, const uint8_t *base, svint32_t offsets) + /// LD1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtend(mask, byte, offsets); + + /// + /// svint32_t svld1ub_gather_[u32]offset_s32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LD1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtend(mask, byte, offsets); + + /// + /// svint32_t svld1ub_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1B Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1B Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtend(mask, bases, offset); + + /// + /// svint64_t svld1ub_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1B Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases) => GatherVectorByteZeroExtend(mask, bases); + + /// + /// svint64_t svld1ub_gather_[s64]offset_s64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LD1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtend(mask, byte, offsets); + + /// + /// svint64_t svld1ub_gather_[u64]offset_s64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LD1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtend(mask, byte, offsets); + + /// + /// svint64_t svld1ub_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1B Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1B Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtend(mask, bases, offset); + + /// + /// svuint32_t svld1ub_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LD1B Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases) => GatherVectorByteZeroExtend(mask, bases); + + /// + /// svuint32_t svld1ub_gather_[s32]offset_u32(svbool_t pg, const uint8_t *base, svint32_t offsets) + /// LD1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtend(mask, byte, offsets); + + /// + /// svuint32_t svld1ub_gather_[u32]offset_u32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LD1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtend(mask, byte, offsets); + + /// + /// svuint32_t svld1ub_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1B Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1B Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtend(mask, bases, offset); + + /// + /// svuint64_t svld1ub_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1B Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases) => GatherVectorByteZeroExtend(mask, bases); + + /// + /// svuint64_t svld1ub_gather_[s64]offset_u64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LD1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtend(mask, byte, offsets); + + /// + /// svuint64_t svld1ub_gather_[u64]offset_u64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LD1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtend(mask, byte, offsets); + + /// + /// svuint64_t svld1ub_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1B Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1B Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteZeroExtend(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtend(mask, bases, offset); + + + /// GatherVectorByteZeroExtendFirstFaulting : Load 8-bit data and zero-extend, first-faulting + + /// + /// svint32_t svldff1ub_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDFF1B Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorByteZeroExtendFirstFaulting(mask, bases); + + /// + /// svint32_t svldff1ub_gather_[s32]offset_s32(svbool_t pg, const uint8_t *base, svint32_t offsets) + /// LDFF1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendFirstFaulting(mask, byte, offsets); + + /// + /// svint32_t svldff1ub_gather_[u32]offset_s32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LDFF1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendFirstFaulting(mask, byte, offsets); + + /// + /// svint32_t svldff1ub_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1B Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1B Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtendFirstFaulting(mask, bases, offset); + + /// + /// svint64_t svldff1ub_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1B Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorByteZeroExtendFirstFaulting(mask, bases); + + /// + /// svint64_t svldff1ub_gather_[s64]offset_s64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LDFF1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendFirstFaulting(mask, byte, offsets); + + /// + /// svint64_t svldff1ub_gather_[u64]offset_s64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LDFF1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendFirstFaulting(mask, byte, offsets); + + /// + /// svint64_t svldff1ub_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1B Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1B Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtendFirstFaulting(mask, bases, offset); + + /// + /// svuint32_t svldff1ub_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDFF1B Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorByteZeroExtendFirstFaulting(mask, bases); + + /// + /// svuint32_t svldff1ub_gather_[s32]offset_u32(svbool_t pg, const uint8_t *base, svint32_t offsets) + /// LDFF1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendFirstFaulting(mask, byte, offsets); + + /// + /// svuint32_t svldff1ub_gather_[u32]offset_u32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LDFF1B Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendFirstFaulting(mask, byte, offsets); + + /// + /// svuint32_t svldff1ub_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1B Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1B Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtendFirstFaulting(mask, bases, offset); + + /// + /// svuint64_t svldff1ub_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1B Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorByteZeroExtendFirstFaulting(mask, bases); + + /// + /// svuint64_t svldff1ub_gather_[s64]offset_u64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LDFF1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendFirstFaulting(mask, byte, offsets); + + /// + /// svuint64_t svldff1ub_gather_[u64]offset_u64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LDFF1B Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendFirstFaulting(mask, byte, offsets); + + /// + /// svuint64_t svldff1ub_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1B Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1B Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorByteZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtendFirstFaulting(mask, bases, offset); + + + /// GatherVectorFirstFaulting : Unextended load, first-faulting + + /// + /// svint32_t svldff1_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) => GatherVectorFirstFaulting(mask, bases); + + /// + /// svint32_t svldff1_gather_[s32]offset[_s32](svbool_t pg, const int32_t *base, svint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const int *base, Vector offsets) => GatherVectorFirstFaulting(mask, int, offsets); + + /// + /// svint32_t svldff1_gather_[u32]offset[_s32](svbool_t pg, const int32_t *base, svuint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const int *base, Vector offsets) => GatherVectorFirstFaulting(mask, int, offsets); + + /// + /// svint32_t svldff1_gather_[s32]index[_s32](svbool_t pg, const int32_t *base, svint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const int *base, Vector indices) => GatherVectorFirstFaulting(mask, int, indices); + + /// + /// svint32_t svldff1_gather_[u32]index[_s32](svbool_t pg, const int32_t *base, svuint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const int *base, Vector indices) => GatherVectorFirstFaulting(mask, int, indices); + + /// + /// svint32_t svldff1_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorFirstFaulting(mask, bases, offset); + + /// + /// svint32_t svldff1_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorFirstFaulting(mask, bases, index); + + /// + /// svint64_t svldff1_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) => GatherVectorFirstFaulting(mask, bases); + + /// + /// svint64_t svldff1_gather_[s64]offset[_s64](svbool_t pg, const int64_t *base, svint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const long *base, Vector offsets) => GatherVectorFirstFaulting(mask, long, offsets); + + /// + /// svint64_t svldff1_gather_[u64]offset[_s64](svbool_t pg, const int64_t *base, svuint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const long *base, Vector offsets) => GatherVectorFirstFaulting(mask, long, offsets); + + /// + /// svint64_t svldff1_gather_[s64]index[_s64](svbool_t pg, const int64_t *base, svint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const long *base, Vector indices) => GatherVectorFirstFaulting(mask, long, indices); + + /// + /// svint64_t svldff1_gather_[u64]index[_s64](svbool_t pg, const int64_t *base, svuint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const long *base, Vector indices) => GatherVectorFirstFaulting(mask, long, indices); + + /// + /// svint64_t svldff1_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorFirstFaulting(mask, bases, offset); + + /// + /// svint64_t svldff1_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorFirstFaulting(mask, bases, index); + + /// + /// svuint32_t svldff1_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) => GatherVectorFirstFaulting(mask, bases); + + /// + /// svuint32_t svldff1_gather_[s32]offset[_u32](svbool_t pg, const uint32_t *base, svint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const uint *base, Vector offsets) => GatherVectorFirstFaulting(mask, uint, offsets); + + /// + /// svuint32_t svldff1_gather_[u32]offset[_u32](svbool_t pg, const uint32_t *base, svuint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const uint *base, Vector offsets) => GatherVectorFirstFaulting(mask, uint, offsets); + + /// + /// svuint32_t svldff1_gather_[s32]index[_u32](svbool_t pg, const uint32_t *base, svint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const uint *base, Vector indices) => GatherVectorFirstFaulting(mask, uint, indices); + + /// + /// svuint32_t svldff1_gather_[u32]index[_u32](svbool_t pg, const uint32_t *base, svuint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const uint *base, Vector indices) => GatherVectorFirstFaulting(mask, uint, indices); + + /// + /// svuint32_t svldff1_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorFirstFaulting(mask, bases, offset); + + /// + /// svuint32_t svldff1_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorFirstFaulting(mask, bases, index); + + /// + /// svuint64_t svldff1_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) => GatherVectorFirstFaulting(mask, bases); + + /// + /// svuint64_t svldff1_gather_[s64]offset[_u64](svbool_t pg, const uint64_t *base, svint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const ulong *base, Vector offsets) => GatherVectorFirstFaulting(mask, ulong, offsets); + + /// + /// svuint64_t svldff1_gather_[u64]offset[_u64](svbool_t pg, const uint64_t *base, svuint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const ulong *base, Vector offsets) => GatherVectorFirstFaulting(mask, ulong, offsets); + + /// + /// svuint64_t svldff1_gather_[s64]index[_u64](svbool_t pg, const uint64_t *base, svint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const ulong *base, Vector indices) => GatherVectorFirstFaulting(mask, ulong, indices); + + /// + /// svuint64_t svldff1_gather_[u64]index[_u64](svbool_t pg, const uint64_t *base, svuint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const ulong *base, Vector indices) => GatherVectorFirstFaulting(mask, ulong, indices); + + /// + /// svuint64_t svldff1_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorFirstFaulting(mask, bases, offset); + + /// + /// svuint64_t svldff1_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorFirstFaulting(mask, bases, index); + + /// + /// svfloat32_t svldff1_gather_[s32]offset[_f32](svbool_t pg, const float32_t *base, svint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const float *base, Vector offsets) => GatherVectorFirstFaulting(mask, float, offsets); + + /// + /// svfloat32_t svldff1_gather_[s32]index[_f32](svbool_t pg, const float32_t *base, svint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const float *base, Vector indices) => GatherVectorFirstFaulting(mask, float, indices); + + /// + /// svfloat32_t svldff1_gather[_u32base]_f32(svbool_t pg, svuint32_t bases) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) => GatherVectorFirstFaulting(mask, bases); + + /// + /// svfloat32_t svldff1_gather_[u32]offset[_f32](svbool_t pg, const float32_t *base, svuint32_t offsets) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const float *base, Vector offsets) => GatherVectorFirstFaulting(mask, float, offsets); + + /// + /// svfloat32_t svldff1_gather_[u32]index[_f32](svbool_t pg, const float32_t *base, svuint32_t indices) + /// LDFF1W Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const float *base, Vector indices) => GatherVectorFirstFaulting(mask, float, indices); + + /// + /// svfloat32_t svldff1_gather[_u32base]_offset_f32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorFirstFaulting(mask, bases, offset); + + /// + /// svfloat32_t svldff1_gather[_u32base]_index_f32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1W Zresult.S, Pg/Z, [Zbases.S, #index * 4] + /// LDFF1W Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorFirstFaulting(mask, bases, index); + + /// + /// svfloat64_t svldff1_gather_[s64]offset[_f64](svbool_t pg, const float64_t *base, svint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const double *base, Vector offsets) => GatherVectorFirstFaulting(mask, double, offsets); + + /// + /// svfloat64_t svldff1_gather_[s64]index[_f64](svbool_t pg, const float64_t *base, svint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const double *base, Vector indices) => GatherVectorFirstFaulting(mask, double, indices); + + /// + /// svfloat64_t svldff1_gather[_u64base]_f64(svbool_t pg, svuint64_t bases) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases) => GatherVectorFirstFaulting(mask, bases); + + /// + /// svfloat64_t svldff1_gather_[u64]offset[_f64](svbool_t pg, const float64_t *base, svuint64_t offsets) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const double *base, Vector offsets) => GatherVectorFirstFaulting(mask, double, offsets); + + /// + /// svfloat64_t svldff1_gather_[u64]index[_f64](svbool_t pg, const float64_t *base, svuint64_t indices) + /// LDFF1D Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, const double *base, Vector indices) => GatherVectorFirstFaulting(mask, double, indices); + + /// + /// svfloat64_t svldff1_gather[_u64base]_offset_f64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorFirstFaulting(mask, bases, offset); + + /// + /// svfloat64_t svldff1_gather[_u64base]_index_f64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1D Zresult.D, Pg/Z, [Zbases.D, #index * 8] + /// LDFF1D Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorFirstFaulting(mask, bases, index); + + + /// GatherVectorInt16SignExtend : Load 16-bit data and sign-extend + + /// + /// svint32_t svld1sh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases) => GatherVectorInt16SignExtend(mask, bases); + + /// + /// svint32_t svld1sh_gather_[s32]offset_s32(svbool_t pg, const int16_t *base, svint32_t offsets) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtend(mask, short, offsets); + + /// + /// svint32_t svld1sh_gather_[u32]offset_s32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtend(mask, short, offsets); + + /// + /// svint32_t svld1sh_gather_[s32]index_s32(svbool_t pg, const int16_t *base, svint32_t indices) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtend(mask, short, indices); + + /// + /// svint32_t svld1sh_gather_[u32]index_s32(svbool_t pg, const int16_t *base, svuint32_t indices) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtend(mask, short, indices); + + /// + /// svint32_t svld1sh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtend(mask, bases, offset); + + /// + /// svint32_t svld1sh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LD1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtend(mask, bases, index); + + /// + /// svint64_t svld1sh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases) => GatherVectorInt16SignExtend(mask, bases); + + /// + /// svint64_t svld1sh_gather_[s64]offset_s64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtend(mask, short, offsets); + + /// + /// svint64_t svld1sh_gather_[u64]offset_s64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtend(mask, short, offsets); + + /// + /// svint64_t svld1sh_gather_[s64]index_s64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtend(mask, short, indices); + + /// + /// svint64_t svld1sh_gather_[u64]index_s64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtend(mask, short, indices); + + /// + /// svint64_t svld1sh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtend(mask, bases, offset); + + /// + /// svint64_t svld1sh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LD1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtend(mask, bases, index); + + /// + /// svuint32_t svld1sh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases) => GatherVectorInt16SignExtend(mask, bases); + + /// + /// svuint32_t svld1sh_gather_[s32]offset_u32(svbool_t pg, const int16_t *base, svint32_t offsets) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtend(mask, short, offsets); + + /// + /// svuint32_t svld1sh_gather_[u32]offset_u32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtend(mask, short, offsets); + + /// + /// svuint32_t svld1sh_gather_[s32]index_u32(svbool_t pg, const int16_t *base, svint32_t indices) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtend(mask, short, indices); + + /// + /// svuint32_t svld1sh_gather_[u32]index_u32(svbool_t pg, const int16_t *base, svuint32_t indices) + /// LD1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtend(mask, short, indices); + + /// + /// svuint32_t svld1sh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtend(mask, bases, offset); + + /// + /// svuint32_t svld1sh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1SH Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LD1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtend(mask, bases, index); + + /// + /// svuint64_t svld1sh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases) => GatherVectorInt16SignExtend(mask, bases); + + /// + /// svuint64_t svld1sh_gather_[s64]offset_u64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtend(mask, short, offsets); + + /// + /// svuint64_t svld1sh_gather_[u64]offset_u64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtend(mask, short, offsets); + + /// + /// svuint64_t svld1sh_gather_[s64]index_u64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtend(mask, short, indices); + + /// + /// svuint64_t svld1sh_gather_[u64]index_u64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LD1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtend(mask, short, indices); + + /// + /// svuint64_t svld1sh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtend(mask, bases, offset); + + /// + /// svuint64_t svld1sh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1SH Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LD1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtend(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtend(mask, bases, index); + + + /// GatherVectorInt16SignExtendFirstFaulting : Load 16-bit data and sign-extend, first-faulting + + /// + /// svint32_t svldff1sh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt16SignExtendFirstFaulting(mask, bases); + + /// + /// svint32_t svldff1sh_gather_[s32]offset_s32(svbool_t pg, const int16_t *base, svint32_t offsets) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendFirstFaulting(mask, short, offsets); + + /// + /// svint32_t svldff1sh_gather_[u32]offset_s32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendFirstFaulting(mask, short, offsets); + + /// + /// svint32_t svldff1sh_gather_[s32]index_s32(svbool_t pg, const int16_t *base, svint32_t indices) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendFirstFaulting(mask, short, indices); + + /// + /// svint32_t svldff1sh_gather_[u32]index_s32(svbool_t pg, const int16_t *base, svuint32_t indices) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendFirstFaulting(mask, short, indices); + + /// + /// svint32_t svldff1sh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtendFirstFaulting(mask, bases, offset); + + /// + /// svint32_t svldff1sh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LDFF1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtendFirstFaulting(mask, bases, index); + + /// + /// svint64_t svldff1sh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt16SignExtendFirstFaulting(mask, bases); + + /// + /// svint64_t svldff1sh_gather_[s64]offset_s64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendFirstFaulting(mask, short, offsets); + + /// + /// svint64_t svldff1sh_gather_[u64]offset_s64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendFirstFaulting(mask, short, offsets); + + /// + /// svint64_t svldff1sh_gather_[s64]index_s64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendFirstFaulting(mask, short, indices); + + /// + /// svint64_t svldff1sh_gather_[u64]index_s64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendFirstFaulting(mask, short, indices); + + /// + /// svint64_t svldff1sh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtendFirstFaulting(mask, bases, offset); + + /// + /// svint64_t svldff1sh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LDFF1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtendFirstFaulting(mask, bases, index); + + /// + /// svuint32_t svldff1sh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt16SignExtendFirstFaulting(mask, bases); + + /// + /// svuint32_t svldff1sh_gather_[s32]offset_u32(svbool_t pg, const int16_t *base, svint32_t offsets) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendFirstFaulting(mask, short, offsets); + + /// + /// svuint32_t svldff1sh_gather_[u32]offset_u32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendFirstFaulting(mask, short, offsets); + + /// + /// svuint32_t svldff1sh_gather_[s32]index_u32(svbool_t pg, const int16_t *base, svint32_t indices) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendFirstFaulting(mask, short, indices); + + /// + /// svuint32_t svldff1sh_gather_[u32]index_u32(svbool_t pg, const int16_t *base, svuint32_t indices) + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendFirstFaulting(mask, short, indices); + + /// + /// svuint32_t svldff1sh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtendFirstFaulting(mask, bases, offset); + + /// + /// svuint32_t svldff1sh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1SH Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LDFF1SH Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtendFirstFaulting(mask, bases, index); + + /// + /// svuint64_t svldff1sh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt16SignExtendFirstFaulting(mask, bases); + + /// + /// svuint64_t svldff1sh_gather_[s64]offset_u64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendFirstFaulting(mask, short, offsets); + + /// + /// svuint64_t svldff1sh_gather_[u64]offset_u64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendFirstFaulting(mask, short, offsets); + + /// + /// svuint64_t svldff1sh_gather_[s64]index_u64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendFirstFaulting(mask, short, indices); + + /// + /// svuint64_t svldff1sh_gather_[u64]index_u64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendFirstFaulting(mask, short, indices); + + /// + /// svuint64_t svldff1sh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtendFirstFaulting(mask, bases, offset); + + /// + /// svuint64_t svldff1sh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1SH Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LDFF1SH Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16SignExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtendFirstFaulting(mask, bases, index); + + + /// GatherVectorInt16ZeroExtend : Load 16-bit data and zero-extend + + /// + /// svint32_t svld1uh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases) => GatherVectorInt16ZeroExtend(mask, bases); + + /// + /// svint32_t svld1uh_gather_[s32]offset_s32(svbool_t pg, const uint16_t *base, svint32_t offsets) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtend(mask, ushort, offsets); + + /// + /// svint32_t svld1uh_gather_[u32]offset_s32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtend(mask, ushort, offsets); + + /// + /// svint32_t svld1uh_gather_[s32]index_s32(svbool_t pg, const uint16_t *base, svint32_t indices) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtend(mask, ushort, indices); + + /// + /// svint32_t svld1uh_gather_[u32]index_s32(svbool_t pg, const uint16_t *base, svuint32_t indices) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtend(mask, ushort, indices); + + /// + /// svint32_t svld1uh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtend(mask, bases, offset); + + /// + /// svint32_t svld1uh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LD1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtend(mask, bases, index); + + /// + /// svint64_t svld1uh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases) => GatherVectorInt16ZeroExtend(mask, bases); + + /// + /// svint64_t svld1uh_gather_[s64]offset_s64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtend(mask, ushort, offsets); + + /// + /// svint64_t svld1uh_gather_[u64]offset_s64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtend(mask, ushort, offsets); + + /// + /// svint64_t svld1uh_gather_[s64]index_s64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtend(mask, ushort, indices); + + /// + /// svint64_t svld1uh_gather_[u64]index_s64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtend(mask, ushort, indices); + + /// + /// svint64_t svld1uh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtend(mask, bases, offset); + + /// + /// svint64_t svld1uh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LD1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtend(mask, bases, index); + + /// + /// svuint32_t svld1uh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases) => GatherVectorInt16ZeroExtend(mask, bases); + + /// + /// svuint32_t svld1uh_gather_[s32]offset_u32(svbool_t pg, const uint16_t *base, svint32_t offsets) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtend(mask, ushort, offsets); + + /// + /// svuint32_t svld1uh_gather_[u32]offset_u32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtend(mask, ushort, offsets); + + /// + /// svuint32_t svld1uh_gather_[s32]index_u32(svbool_t pg, const uint16_t *base, svint32_t indices) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtend(mask, ushort, indices); + + /// + /// svuint32_t svld1uh_gather_[u32]index_u32(svbool_t pg, const uint16_t *base, svuint32_t indices) + /// LD1H Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtend(mask, ushort, indices); + + /// + /// svuint32_t svld1uh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LD1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtend(mask, bases, offset); + + /// + /// svuint32_t svld1uh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LD1H Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LD1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtend(mask, bases, index); + + /// + /// svuint64_t svld1uh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases) => GatherVectorInt16ZeroExtend(mask, bases); + + /// + /// svuint64_t svld1uh_gather_[s64]offset_u64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtend(mask, ushort, offsets); + + /// + /// svuint64_t svld1uh_gather_[u64]offset_u64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtend(mask, ushort, offsets); + + /// + /// svuint64_t svld1uh_gather_[s64]index_u64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtend(mask, ushort, indices); + + /// + /// svuint64_t svld1uh_gather_[u64]index_u64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LD1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtend(mask, ushort, indices); + + /// + /// svuint64_t svld1uh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtend(mask, bases, offset); + + /// + /// svuint64_t svld1uh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1H Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LD1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtend(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtend(mask, bases, index); + + + /// GatherVectorInt16ZeroExtendFirstFaulting : Load 16-bit data and zero-extend, first-faulting + + /// + /// svint32_t svldff1uh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases); + + /// + /// svint32_t svldff1uh_gather_[s32]offset_s32(svbool_t pg, const uint16_t *base, svint32_t offsets) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, offsets); + + /// + /// svint32_t svldff1uh_gather_[u32]offset_s32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, offsets); + + /// + /// svint32_t svldff1uh_gather_[s32]index_s32(svbool_t pg, const uint16_t *base, svint32_t indices) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, indices); + + /// + /// svint32_t svldff1uh_gather_[u32]index_s32(svbool_t pg, const uint16_t *base, svuint32_t indices) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, indices); + + /// + /// svint32_t svldff1uh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases, offset); + + /// + /// svint32_t svldff1uh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LDFF1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases, index); + + /// + /// svint64_t svldff1uh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases); + + /// + /// svint64_t svldff1uh_gather_[s64]offset_s64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, offsets); + + /// + /// svint64_t svldff1uh_gather_[u64]offset_s64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, offsets); + + /// + /// svint64_t svldff1uh_gather_[s64]index_s64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, indices); + + /// + /// svint64_t svldff1uh_gather_[u64]index_s64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, indices); + + /// + /// svint64_t svldff1uh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases, offset); + + /// + /// svint64_t svldff1uh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LDFF1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases, index); + + /// + /// svuint32_t svldff1uh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases); + + /// + /// svuint32_t svldff1uh_gather_[s32]offset_u32(svbool_t pg, const uint16_t *base, svint32_t offsets) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, offsets); + + /// + /// svuint32_t svldff1uh_gather_[u32]offset_u32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, offsets); + + /// + /// svuint32_t svldff1uh_gather_[s32]index_u32(svbool_t pg, const uint16_t *base, svint32_t indices) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, indices); + + /// + /// svuint32_t svldff1uh_gather_[u32]index_u32(svbool_t pg, const uint16_t *base, svuint32_t indices) + /// LDFF1H Zresult.S, Pg/Z, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, indices); + + /// + /// svuint32_t svldff1uh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #offset] + /// LDFF1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases, offset); + + /// + /// svuint32_t svldff1uh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDFF1H Zresult.S, Pg/Z, [Zbases.S, #index * 2] + /// LDFF1H Zresult.S, Pg/Z, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases, index); + + /// + /// svuint64_t svldff1uh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases); + + /// + /// svuint64_t svldff1uh_gather_[s64]offset_u64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, offsets); + + /// + /// svuint64_t svldff1uh_gather_[u64]offset_u64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, offsets); + + /// + /// svuint64_t svldff1uh_gather_[s64]index_u64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, indices); + + /// + /// svuint64_t svldff1uh_gather_[u64]index_u64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LDFF1H Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendFirstFaulting(mask, ushort, indices); + + /// + /// svuint64_t svldff1uh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases, offset); + + /// + /// svuint64_t svldff1uh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1H Zresult.D, Pg/Z, [Zbases.D, #index * 2] + /// LDFF1H Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtendFirstFaulting(mask, bases, index); + + + /// GatherVectorInt32SignExtend : Load 32-bit data and sign-extend + + /// + /// svint64_t svld1sw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases) => GatherVectorInt32SignExtend(mask, bases); + + /// + /// svint64_t svld1sw_gather_[s64]offset_s64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtend(mask, int, offsets); + + /// + /// svint64_t svld1sw_gather_[u64]offset_s64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtend(mask, int, offsets); + + /// + /// svint64_t svld1sw_gather_[s64]index_s64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtend(mask, int, indices); + + /// + /// svint64_t svld1sw_gather_[u64]index_s64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtend(mask, int, indices); + + /// + /// svint64_t svld1sw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases, long offset) => GatherVectorInt32SignExtend(mask, bases, offset); + + /// + /// svint64_t svld1sw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LD1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases, long index) => GatherVectorInt32SignExtend(mask, bases, index); + + /// + /// svuint64_t svld1sw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases) => GatherVectorInt32SignExtend(mask, bases); + + /// + /// svuint64_t svld1sw_gather_[s64]offset_u64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtend(mask, int, offsets); + + /// + /// svuint64_t svld1sw_gather_[u64]offset_u64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtend(mask, int, offsets); + + /// + /// svuint64_t svld1sw_gather_[s64]index_u64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtend(mask, int, indices); + + /// + /// svuint64_t svld1sw_gather_[u64]index_u64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LD1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtend(mask, int, indices); + + /// + /// svuint64_t svld1sw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases, long offset) => GatherVectorInt32SignExtend(mask, bases, offset); + + /// + /// svuint64_t svld1sw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1SW Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LD1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtend(Vector mask, Vector bases, long index) => GatherVectorInt32SignExtend(mask, bases, index); + + + /// GatherVectorInt32SignExtendFirstFaulting : Load 32-bit data and sign-extend, first-faulting + + /// + /// svint64_t svldff1sw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt32SignExtendFirstFaulting(mask, bases); + + /// + /// svint64_t svldff1sw_gather_[s64]offset_s64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtendFirstFaulting(mask, int, offsets); + + /// + /// svint64_t svldff1sw_gather_[u64]offset_s64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtendFirstFaulting(mask, int, offsets); + + /// + /// svint64_t svldff1sw_gather_[s64]index_s64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtendFirstFaulting(mask, int, indices); + + /// + /// svint64_t svldff1sw_gather_[u64]index_s64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtendFirstFaulting(mask, int, indices); + + /// + /// svint64_t svldff1sw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt32SignExtendFirstFaulting(mask, bases, offset); + + /// + /// svint64_t svldff1sw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LDFF1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt32SignExtendFirstFaulting(mask, bases, index); + + /// + /// svuint64_t svldff1sw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt32SignExtendFirstFaulting(mask, bases); + + /// + /// svuint64_t svldff1sw_gather_[s64]offset_u64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtendFirstFaulting(mask, int, offsets); + + /// + /// svuint64_t svldff1sw_gather_[u64]offset_u64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtendFirstFaulting(mask, int, offsets); + + /// + /// svuint64_t svldff1sw_gather_[s64]index_u64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtendFirstFaulting(mask, int, indices); + + /// + /// svuint64_t svldff1sw_gather_[u64]index_u64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtendFirstFaulting(mask, int, indices); + + /// + /// svuint64_t svldff1sw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt32SignExtendFirstFaulting(mask, bases, offset); + + /// + /// svuint64_t svldff1sw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1SW Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LDFF1SW Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32SignExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt32SignExtendFirstFaulting(mask, bases, index); + + + /// GatherVectorInt32ZeroExtend : Load 32-bit data and zero-extend + + /// + /// svint64_t svld1uw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases) => GatherVectorInt32ZeroExtend(mask, bases); + + /// + /// svint64_t svld1uw_gather_[s64]offset_s64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtend(mask, uint, offsets); + + /// + /// svint64_t svld1uw_gather_[u64]offset_s64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtend(mask, uint, offsets); + + /// + /// svint64_t svld1uw_gather_[s64]index_s64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtend(mask, uint, indices); + + /// + /// svint64_t svld1uw_gather_[u64]index_s64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtend(mask, uint, indices); + + /// + /// svint64_t svld1uw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases, long offset) => GatherVectorInt32ZeroExtend(mask, bases, offset); + + /// + /// svint64_t svld1uw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LD1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases, long index) => GatherVectorInt32ZeroExtend(mask, bases, index); + + /// + /// svuint64_t svld1uw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases) => GatherVectorInt32ZeroExtend(mask, bases); + + /// + /// svuint64_t svld1uw_gather_[s64]offset_u64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtend(mask, uint, offsets); + + /// + /// svuint64_t svld1uw_gather_[u64]offset_u64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtend(mask, uint, offsets); + + /// + /// svuint64_t svld1uw_gather_[s64]index_u64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtend(mask, uint, indices); + + /// + /// svuint64_t svld1uw_gather_[u64]index_u64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LD1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtend(mask, uint, indices); + + /// + /// svuint64_t svld1uw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LD1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases, long offset) => GatherVectorInt32ZeroExtend(mask, bases, offset); + + /// + /// svuint64_t svld1uw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LD1W Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LD1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtend(Vector mask, Vector bases, long index) => GatherVectorInt32ZeroExtend(mask, bases, index); + + + /// GatherVectorInt32ZeroExtendFirstFaulting : Load 32-bit data and zero-extend, first-faulting + + /// + /// svint64_t svldff1uw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt32ZeroExtendFirstFaulting(mask, bases); + + /// + /// svint64_t svldff1uw_gather_[s64]offset_s64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtendFirstFaulting(mask, uint, offsets); + + /// + /// svint64_t svldff1uw_gather_[u64]offset_s64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtendFirstFaulting(mask, uint, offsets); + + /// + /// svint64_t svldff1uw_gather_[s64]index_s64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtendFirstFaulting(mask, uint, indices); + + /// + /// svint64_t svldff1uw_gather_[u64]index_s64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtendFirstFaulting(mask, uint, indices); + + /// + /// svint64_t svldff1uw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt32ZeroExtendFirstFaulting(mask, bases, offset); + + /// + /// svint64_t svldff1uw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LDFF1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt32ZeroExtendFirstFaulting(mask, bases, index); + + /// + /// svuint64_t svldff1uw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #0] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases) => GatherVectorInt32ZeroExtendFirstFaulting(mask, bases); + + /// + /// svuint64_t svldff1uw_gather_[s64]offset_u64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtendFirstFaulting(mask, uint, offsets); + + /// + /// svuint64_t svldff1uw_gather_[u64]offset_u64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zoffsets.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtendFirstFaulting(mask, uint, offsets); + + /// + /// svuint64_t svldff1uw_gather_[s64]index_u64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtendFirstFaulting(mask, uint, indices); + + /// + /// svuint64_t svldff1uw_gather_[u64]index_u64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LDFF1W Zresult.D, Pg/Z, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtendFirstFaulting(mask, uint, indices); + + /// + /// svuint64_t svldff1uw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #offset] + /// LDFF1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases, long offset) => GatherVectorInt32ZeroExtendFirstFaulting(mask, bases, offset); + + /// + /// svuint64_t svldff1uw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDFF1W Zresult.D, Pg/Z, [Zbases.D, #index * 4] + /// LDFF1W Zresult.D, Pg/Z, [Xoffset, Zbases.D] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendFirstFaulting(Vector mask, Vector bases, long index) => GatherVectorInt32ZeroExtendFirstFaulting(mask, bases, index); + + + /// GetActiveElementCount : Count set predicate bits + + /// + /// uint64_t svcntp_b8(svbool_t pg, svbool_t op) + /// CNTP Xresult, Pg, Pop.B + /// + public static unsafe ulong GetActiveElementCount(Vector mask, Vector from) => GetActiveElementCount(mask, from); + + /// + /// uint64_t svcntp_b16(svbool_t pg, svbool_t op) + /// CNTP Xresult, Pg, Pop.H + /// + public static unsafe ulong GetActiveElementCount(Vector mask, Vector from) => GetActiveElementCount(mask, from); + + /// + /// uint64_t svcntp_b32(svbool_t pg, svbool_t op) + /// CNTP Xresult, Pg, Pop.S + /// + public static unsafe ulong GetActiveElementCount(Vector mask, Vector from) => GetActiveElementCount(mask, from); + + /// + /// uint64_t svcntp_b64(svbool_t pg, svbool_t op) + /// CNTP Xresult, Pg, Pop.D + /// + public static unsafe ulong GetActiveElementCount(Vector mask, Vector from) => GetActiveElementCount(mask, from); + + + /// GetFFR : Read FFR, returning predicate of succesfully loaded elements + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() => GetFFR(); + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() => GetFFR(); + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() => GetFFR(); + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() => GetFFR(); + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() => GetFFR(); + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() => GetFFR(); + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() => GetFFR(); + + /// + /// svbool_t svrdffr() + /// RDFFR Presult.B + /// svbool_t svrdffr_z(svbool_t pg) + /// RDFFR Presult.B, Pg/Z + /// + public static unsafe Vector GetFFR() => GetFFR(); + + + /// InsertIntoShiftedVector : Insert scalar into shifted vector + + /// + /// svint8_t svinsr[_n_s8](svint8_t op1, int8_t op2) + /// INSR Ztied1.B, Wop2 + /// INSR Ztied1.B, Bop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, sbyte right) => InsertIntoShiftedVector(left, right); + + /// + /// svint16_t svinsr[_n_s16](svint16_t op1, int16_t op2) + /// INSR Ztied1.H, Wop2 + /// INSR Ztied1.H, Hop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, short right) => InsertIntoShiftedVector(left, right); + + /// + /// svint32_t svinsr[_n_s32](svint32_t op1, int32_t op2) + /// INSR Ztied1.S, Wop2 + /// INSR Ztied1.S, Sop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, int right) => InsertIntoShiftedVector(left, right); + + /// + /// svint64_t svinsr[_n_s64](svint64_t op1, int64_t op2) + /// INSR Ztied1.D, Xop2 + /// INSR Ztied1.D, Dop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, long right) => InsertIntoShiftedVector(left, right); + + /// + /// svuint8_t svinsr[_n_u8](svuint8_t op1, uint8_t op2) + /// INSR Ztied1.B, Wop2 + /// INSR Ztied1.B, Bop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, byte right) => InsertIntoShiftedVector(left, right); + + /// + /// svuint16_t svinsr[_n_u16](svuint16_t op1, uint16_t op2) + /// INSR Ztied1.H, Wop2 + /// INSR Ztied1.H, Hop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, ushort right) => InsertIntoShiftedVector(left, right); + + /// + /// svuint32_t svinsr[_n_u32](svuint32_t op1, uint32_t op2) + /// INSR Ztied1.S, Wop2 + /// INSR Ztied1.S, Sop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, uint right) => InsertIntoShiftedVector(left, right); + + /// + /// svuint64_t svinsr[_n_u64](svuint64_t op1, uint64_t op2) + /// INSR Ztied1.D, Xop2 + /// INSR Ztied1.D, Dop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, ulong right) => InsertIntoShiftedVector(left, right); + + /// + /// svfloat32_t svinsr[_n_f32](svfloat32_t op1, float32_t op2) + /// INSR Ztied1.S, Wop2 + /// INSR Ztied1.S, Sop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, float right) => InsertIntoShiftedVector(left, right); + + /// + /// svfloat64_t svinsr[_n_f64](svfloat64_t op1, float64_t op2) + /// INSR Ztied1.D, Xop2 + /// INSR Ztied1.D, Dop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, double right) => InsertIntoShiftedVector(left, right); + + + /// LeadingSignCount : Count leading sign bits + + /// + /// svuint8_t svcls[_s8]_m(svuint8_t inactive, svbool_t pg, svint8_t op) + /// CLS Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CLS Zresult.B, Pg/M, Zop.B + /// svuint8_t svcls[_s8]_x(svbool_t pg, svint8_t op) + /// CLS Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CLS Zresult.B, Pg/M, Zop.B + /// svuint8_t svcls[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CLS Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector LeadingSignCount(Vector value) => LeadingSignCount(value); + + /// + /// svuint16_t svcls[_s16]_m(svuint16_t inactive, svbool_t pg, svint16_t op) + /// CLS Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CLS Zresult.H, Pg/M, Zop.H + /// svuint16_t svcls[_s16]_x(svbool_t pg, svint16_t op) + /// CLS Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CLS Zresult.H, Pg/M, Zop.H + /// svuint16_t svcls[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CLS Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector LeadingSignCount(Vector value) => LeadingSignCount(value); + + /// + /// svuint32_t svcls[_s32]_m(svuint32_t inactive, svbool_t pg, svint32_t op) + /// CLS Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CLS Zresult.S, Pg/M, Zop.S + /// svuint32_t svcls[_s32]_x(svbool_t pg, svint32_t op) + /// CLS Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CLS Zresult.S, Pg/M, Zop.S + /// svuint32_t svcls[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CLS Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector LeadingSignCount(Vector value) => LeadingSignCount(value); + + /// + /// svuint64_t svcls[_s64]_m(svuint64_t inactive, svbool_t pg, svint64_t op) + /// CLS Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CLS Zresult.D, Pg/M, Zop.D + /// svuint64_t svcls[_s64]_x(svbool_t pg, svint64_t op) + /// CLS Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CLS Zresult.D, Pg/M, Zop.D + /// svuint64_t svcls[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CLS Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector LeadingSignCount(Vector value) => LeadingSignCount(value); + + + /// LeadingZeroCount : Count leading zero bits + + /// + /// svuint8_t svclz[_s8]_m(svuint8_t inactive, svbool_t pg, svint8_t op) + /// CLZ Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.B, Pg/M, Zop.B + /// svuint8_t svclz[_s8]_x(svbool_t pg, svint8_t op) + /// CLZ Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CLZ Zresult.B, Pg/M, Zop.B + /// svuint8_t svclz[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CLZ Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector LeadingZeroCount(Vector value) => LeadingZeroCount(value); + + /// + /// svuint8_t svclz[_u8]_m(svuint8_t inactive, svbool_t pg, svuint8_t op) + /// CLZ Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.B, Pg/M, Zop.B + /// svuint8_t svclz[_u8]_x(svbool_t pg, svuint8_t op) + /// CLZ Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CLZ Zresult.B, Pg/M, Zop.B + /// svuint8_t svclz[_u8]_z(svbool_t pg, svuint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CLZ Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector LeadingZeroCount(Vector value) => LeadingZeroCount(value); + + /// + /// svuint16_t svclz[_s16]_m(svuint16_t inactive, svbool_t pg, svint16_t op) + /// CLZ Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.H, Pg/M, Zop.H + /// svuint16_t svclz[_s16]_x(svbool_t pg, svint16_t op) + /// CLZ Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CLZ Zresult.H, Pg/M, Zop.H + /// svuint16_t svclz[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CLZ Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector LeadingZeroCount(Vector value) => LeadingZeroCount(value); + + /// + /// svuint16_t svclz[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// CLZ Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.H, Pg/M, Zop.H + /// svuint16_t svclz[_u16]_x(svbool_t pg, svuint16_t op) + /// CLZ Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CLZ Zresult.H, Pg/M, Zop.H + /// svuint16_t svclz[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CLZ Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector LeadingZeroCount(Vector value) => LeadingZeroCount(value); + + /// + /// svuint32_t svclz[_s32]_m(svuint32_t inactive, svbool_t pg, svint32_t op) + /// CLZ Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.S, Pg/M, Zop.S + /// svuint32_t svclz[_s32]_x(svbool_t pg, svint32_t op) + /// CLZ Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CLZ Zresult.S, Pg/M, Zop.S + /// svuint32_t svclz[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CLZ Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector LeadingZeroCount(Vector value) => LeadingZeroCount(value); + + /// + /// svuint32_t svclz[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// CLZ Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.S, Pg/M, Zop.S + /// svuint32_t svclz[_u32]_x(svbool_t pg, svuint32_t op) + /// CLZ Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CLZ Zresult.S, Pg/M, Zop.S + /// svuint32_t svclz[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CLZ Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector LeadingZeroCount(Vector value) => LeadingZeroCount(value); + + /// + /// svuint64_t svclz[_s64]_m(svuint64_t inactive, svbool_t pg, svint64_t op) + /// CLZ Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.D, Pg/M, Zop.D + /// svuint64_t svclz[_s64]_x(svbool_t pg, svint64_t op) + /// CLZ Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CLZ Zresult.D, Pg/M, Zop.D + /// svuint64_t svclz[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CLZ Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector LeadingZeroCount(Vector value) => LeadingZeroCount(value); + + /// + /// svuint64_t svclz[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// CLZ Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CLZ Zresult.D, Pg/M, Zop.D + /// svuint64_t svclz[_u64]_x(svbool_t pg, svuint64_t op) + /// CLZ Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CLZ Zresult.D, Pg/M, Zop.D + /// svuint64_t svclz[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CLZ Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector LeadingZeroCount(Vector value) => LeadingZeroCount(value); + + + /// LoadVector : Unextended load + + /// + /// svint8_t svld1[_s8](svbool_t pg, const int8_t *base) + /// LD1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const sbyte *base) => LoadVector(mask, sbyte); + + /// + /// svint16_t svld1[_s16](svbool_t pg, const int16_t *base) + /// LD1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const short *base) => LoadVector(mask, short); + + /// + /// svint32_t svld1[_s32](svbool_t pg, const int32_t *base) + /// LD1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const int *base) => LoadVector(mask, int); + + /// + /// svint64_t svld1[_s64](svbool_t pg, const int64_t *base) + /// LD1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const long *base) => LoadVector(mask, long); + + /// + /// svuint8_t svld1[_u8](svbool_t pg, const uint8_t *base) + /// LD1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const byte *base) => LoadVector(mask, byte); + + /// + /// svuint16_t svld1[_u16](svbool_t pg, const uint16_t *base) + /// LD1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const ushort *base) => LoadVector(mask, ushort); + + /// + /// svuint32_t svld1[_u32](svbool_t pg, const uint32_t *base) + /// LD1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const uint *base) => LoadVector(mask, uint); + + /// + /// svuint64_t svld1[_u64](svbool_t pg, const uint64_t *base) + /// LD1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const ulong *base) => LoadVector(mask, ulong); + + /// + /// svfloat32_t svld1[_f32](svbool_t pg, const float32_t *base) + /// LD1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const float *base) => LoadVector(mask, float); + + /// + /// svfloat64_t svld1[_f64](svbool_t pg, const float64_t *base) + /// LD1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const double *base) => LoadVector(mask, double); + + + /// LoadVector128AndReplicateToVector : Load and replicate 128 bits of data + + /// + /// svint8_t svld1rq[_s8](svbool_t pg, const int8_t *base) + /// LD1RQB Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1RQB Zresult.B, Pg/Z, [Xarray, #index] + /// LD1RQB Zresult.B, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const sbyte *base) => LoadVector128AndReplicateToVector(mask, sbyte); + + /// + /// svint16_t svld1rq[_s16](svbool_t pg, const int16_t *base) + /// LD1RQH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1RQH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1RQH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const short *base) => LoadVector128AndReplicateToVector(mask, short); + + /// + /// svint32_t svld1rq[_s32](svbool_t pg, const int32_t *base) + /// LD1RQW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1RQW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1RQW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const int *base) => LoadVector128AndReplicateToVector(mask, int); + + /// + /// svint64_t svld1rq[_s64](svbool_t pg, const int64_t *base) + /// LD1RQD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1RQD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1RQD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const long *base) => LoadVector128AndReplicateToVector(mask, long); + + /// + /// svuint8_t svld1rq[_u8](svbool_t pg, const uint8_t *base) + /// LD1RQB Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1RQB Zresult.B, Pg/Z, [Xarray, #index] + /// LD1RQB Zresult.B, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const byte *base) => LoadVector128AndReplicateToVector(mask, byte); + + /// + /// svuint16_t svld1rq[_u16](svbool_t pg, const uint16_t *base) + /// LD1RQH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1RQH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1RQH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const ushort *base) => LoadVector128AndReplicateToVector(mask, ushort); + + /// + /// svuint32_t svld1rq[_u32](svbool_t pg, const uint32_t *base) + /// LD1RQW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1RQW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1RQW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const uint *base) => LoadVector128AndReplicateToVector(mask, uint); + + /// + /// svuint64_t svld1rq[_u64](svbool_t pg, const uint64_t *base) + /// LD1RQD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1RQD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1RQD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const ulong *base) => LoadVector128AndReplicateToVector(mask, ulong); + + /// + /// svfloat32_t svld1rq[_f32](svbool_t pg, const float32_t *base) + /// LD1RQW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1RQW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1RQW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const float *base) => LoadVector128AndReplicateToVector(mask, float); + + /// + /// svfloat64_t svld1rq[_f64](svbool_t pg, const float64_t *base) + /// LD1RQD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1RQD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1RQD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const double *base) => LoadVector128AndReplicateToVector(mask, double); + + + /// LoadVectorByteSignExtendFirstFaulting : Load 8-bit data and sign-extend, first-faulting + + /// + /// svint16_t svldff1sb_s16(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.H, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.H, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) => LoadVectorByteSignExtendFirstFaulting(mask, sbyte); + + /// + /// svint32_t svldff1sb_s32(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.S, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) => LoadVectorByteSignExtendFirstFaulting(mask, sbyte); + + /// + /// svint64_t svldff1sb_s64(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.D, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) => LoadVectorByteSignExtendFirstFaulting(mask, sbyte); + + /// + /// svuint16_t svldff1sb_u16(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.H, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.H, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) => LoadVectorByteSignExtendFirstFaulting(mask, sbyte); + + /// + /// svuint32_t svldff1sb_u32(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.S, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.S, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) => LoadVectorByteSignExtendFirstFaulting(mask, sbyte); + + /// + /// svuint64_t svldff1sb_u64(svbool_t pg, const int8_t *base) + /// LDFF1SB Zresult.D, Pg/Z, [Xarray, Xindex] + /// LDFF1SB Zresult.D, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteSignExtendFirstFaulting(Vector mask, const sbyte *base) => LoadVectorByteSignExtendFirstFaulting(mask, sbyte); + + + /// LoadVectorByteSignExtendNonFaultingToInt16 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svint16_t svldnf1sb_s16(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToInt16(Vector mask, const sbyte *base) => LoadVectorByteSignExtendNonFaultingToInt16(mask, sbyte); + + + /// LoadVectorByteSignExtendNonFaultingToInt32 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svint32_t svldnf1sb_s32(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToInt32(Vector mask, const sbyte *base) => LoadVectorByteSignExtendNonFaultingToInt32(mask, sbyte); + + + /// LoadVectorByteSignExtendNonFaultingToInt64 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svint64_t svldnf1sb_s64(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToInt64(Vector mask, const sbyte *base) => LoadVectorByteSignExtendNonFaultingToInt64(mask, sbyte); + + + /// LoadVectorByteSignExtendNonFaultingToUInt16 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svuint16_t svldnf1sb_u16(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToUInt16(Vector mask, const sbyte *base) => LoadVectorByteSignExtendNonFaultingToUInt16(mask, sbyte); + + + /// LoadVectorByteSignExtendNonFaultingToUInt32 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svuint32_t svldnf1sb_u32(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToUInt32(Vector mask, const sbyte *base) => LoadVectorByteSignExtendNonFaultingToUInt32(mask, sbyte); + + + /// LoadVectorByteSignExtendNonFaultingToUInt64 : Load 8-bit data and sign-extend, non-faulting + + /// + /// svuint64_t svldnf1sb_u64(svbool_t pg, const int8_t *base) + /// LDNF1SB Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendNonFaultingToUInt64(Vector mask, const sbyte *base) => LoadVectorByteSignExtendNonFaultingToUInt64(mask, sbyte); + + + /// LoadVectorByteSignExtendToInt16 : Load 8-bit data and sign-extend + + /// + /// svint16_t svld1sb_s16(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.H, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToInt16(Vector mask, const sbyte *base) => LoadVectorByteSignExtendToInt16(mask, sbyte); + + + /// LoadVectorByteSignExtendToInt32 : Load 8-bit data and sign-extend + + /// + /// svint32_t svld1sb_s32(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.S, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToInt32(Vector mask, const sbyte *base) => LoadVectorByteSignExtendToInt32(mask, sbyte); + + + /// LoadVectorByteSignExtendToInt64 : Load 8-bit data and sign-extend + + /// + /// svint64_t svld1sb_s64(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.D, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToInt64(Vector mask, const sbyte *base) => LoadVectorByteSignExtendToInt64(mask, sbyte); + + + /// LoadVectorByteSignExtendToUInt16 : Load 8-bit data and sign-extend + + /// + /// svuint16_t svld1sb_u16(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.H, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToUInt16(Vector mask, const sbyte *base) => LoadVectorByteSignExtendToUInt16(mask, sbyte); + + + /// LoadVectorByteSignExtendToUInt32 : Load 8-bit data and sign-extend + + /// + /// svuint32_t svld1sb_u32(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.S, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToUInt32(Vector mask, const sbyte *base) => LoadVectorByteSignExtendToUInt32(mask, sbyte); + + + /// LoadVectorByteSignExtendToUInt64 : Load 8-bit data and sign-extend + + /// + /// svuint64_t svld1sb_u64(svbool_t pg, const int8_t *base) + /// LD1SB Zresult.D, Pg/Z, [Xarray, Xindex] + /// LD1SB Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteSignExtendToUInt64(Vector mask, const sbyte *base) => LoadVectorByteSignExtendToUInt64(mask, sbyte); + + + /// LoadVectorByteZeroExtendFirstFaulting : Load 8-bit data and zero-extend, first-faulting + + /// + /// svint16_t svldff1ub_s16(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.H, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.H, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) => LoadVectorByteZeroExtendFirstFaulting(mask, byte); + + /// + /// svint32_t svldff1ub_s32(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.S, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.S, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) => LoadVectorByteZeroExtendFirstFaulting(mask, byte); + + /// + /// svint64_t svldff1ub_s64(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.D, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.D, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) => LoadVectorByteZeroExtendFirstFaulting(mask, byte); + + /// + /// svuint16_t svldff1ub_u16(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.H, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.H, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) => LoadVectorByteZeroExtendFirstFaulting(mask, byte); + + /// + /// svuint32_t svldff1ub_u32(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.S, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.S, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) => LoadVectorByteZeroExtendFirstFaulting(mask, byte); + + /// + /// svuint64_t svldff1ub_u64(svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.D, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.D, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorByteZeroExtendFirstFaulting(Vector mask, const byte *base) => LoadVectorByteZeroExtendFirstFaulting(mask, byte); + + + /// LoadVectorByteZeroExtendNonFaultingToInt16 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svint16_t svldnf1ub_s16(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToInt16(Vector mask, const byte *base) => LoadVectorByteZeroExtendNonFaultingToInt16(mask, byte); + + + /// LoadVectorByteZeroExtendNonFaultingToInt32 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svint32_t svldnf1ub_s32(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToInt32(Vector mask, const byte *base) => LoadVectorByteZeroExtendNonFaultingToInt32(mask, byte); + + + /// LoadVectorByteZeroExtendNonFaultingToInt64 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svint64_t svldnf1ub_s64(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToInt64(Vector mask, const byte *base) => LoadVectorByteZeroExtendNonFaultingToInt64(mask, byte); + + + /// LoadVectorByteZeroExtendNonFaultingToUInt16 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svuint16_t svldnf1ub_u16(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToUInt16(Vector mask, const byte *base) => LoadVectorByteZeroExtendNonFaultingToUInt16(mask, byte); + + + /// LoadVectorByteZeroExtendNonFaultingToUInt32 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svuint32_t svldnf1ub_u32(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToUInt32(Vector mask, const byte *base) => LoadVectorByteZeroExtendNonFaultingToUInt32(mask, byte); + + + /// LoadVectorByteZeroExtendNonFaultingToUInt64 : Load 8-bit data and zero-extend, non-faulting + + /// + /// svuint64_t svldnf1ub_u64(svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendNonFaultingToUInt64(Vector mask, const byte *base) => LoadVectorByteZeroExtendNonFaultingToUInt64(mask, byte); + + + /// LoadVectorByteZeroExtendToInt16 : Load 8-bit data and zero-extend + + /// + /// svint16_t svld1ub_s16(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.H, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToInt16(Vector mask, const byte *base) => LoadVectorByteZeroExtendToInt16(mask, byte); + + + /// LoadVectorByteZeroExtendToInt32 : Load 8-bit data and zero-extend + + /// + /// svint32_t svld1ub_s32(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.S, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToInt32(Vector mask, const byte *base) => LoadVectorByteZeroExtendToInt32(mask, byte); + + + /// LoadVectorByteZeroExtendToInt64 : Load 8-bit data and zero-extend + + /// + /// svint64_t svld1ub_s64(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.D, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToInt64(Vector mask, const byte *base) => LoadVectorByteZeroExtendToInt64(mask, byte); + + + /// LoadVectorByteZeroExtendToUInt16 : Load 8-bit data and zero-extend + + /// + /// svuint16_t svld1ub_u16(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.H, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToUInt16(Vector mask, const byte *base) => LoadVectorByteZeroExtendToUInt16(mask, byte); + + + /// LoadVectorByteZeroExtendToUInt32 : Load 8-bit data and zero-extend + + /// + /// svuint32_t svld1ub_u32(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.S, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToUInt32(Vector mask, const byte *base) => LoadVectorByteZeroExtendToUInt32(mask, byte); + + + /// LoadVectorByteZeroExtendToUInt64 : Load 8-bit data and zero-extend + + /// + /// svuint64_t svld1ub_u64(svbool_t pg, const uint8_t *base) + /// LD1B Zresult.D, Pg/Z, [Xarray, Xindex] + /// LD1B Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorByteZeroExtendToUInt64(Vector mask, const byte *base) => LoadVectorByteZeroExtendToUInt64(mask, byte); + + + /// LoadVectorFirstFaulting : Unextended load, first-faulting + + /// + /// svint8_t svldff1[_s8](svbool_t pg, const int8_t *base) + /// LDFF1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.B, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const sbyte *base) => LoadVectorFirstFaulting(mask, sbyte); + + /// + /// svint16_t svldff1[_s16](svbool_t pg, const int16_t *base) + /// LDFF1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.H, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const short *base) => LoadVectorFirstFaulting(mask, short); + + /// + /// svint32_t svldff1[_s32](svbool_t pg, const int32_t *base) + /// LDFF1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1W Zresult.S, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const int *base) => LoadVectorFirstFaulting(mask, int); + + /// + /// svint64_t svldff1[_s64](svbool_t pg, const int64_t *base) + /// LDFF1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDFF1D Zresult.D, Pg/Z, [Xbase, XZR, LSL #3] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const long *base) => LoadVectorFirstFaulting(mask, long); + + /// + /// svuint8_t svldff1[_u8](svbool_t pg, const uint8_t *base) + /// LDFF1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LDFF1B Zresult.B, Pg/Z, [Xbase, XZR] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const byte *base) => LoadVectorFirstFaulting(mask, byte); + + /// + /// svuint16_t svldff1[_u16](svbool_t pg, const uint16_t *base) + /// LDFF1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.H, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const ushort *base) => LoadVectorFirstFaulting(mask, ushort); + + /// + /// svuint32_t svldff1[_u32](svbool_t pg, const uint32_t *base) + /// LDFF1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1W Zresult.S, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const uint *base) => LoadVectorFirstFaulting(mask, uint); + + /// + /// svuint64_t svldff1[_u64](svbool_t pg, const uint64_t *base) + /// LDFF1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDFF1D Zresult.D, Pg/Z, [Xbase, XZR, LSL #3] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const ulong *base) => LoadVectorFirstFaulting(mask, ulong); + + /// + /// svfloat32_t svldff1[_f32](svbool_t pg, const float32_t *base) + /// LDFF1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1W Zresult.S, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const float *base) => LoadVectorFirstFaulting(mask, float); + + /// + /// svfloat64_t svldff1[_f64](svbool_t pg, const float64_t *base) + /// LDFF1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDFF1D Zresult.D, Pg/Z, [Xbase, XZR, LSL #3] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const double *base) => LoadVectorFirstFaulting(mask, double); + + + /// LoadVectorInt16SignExtendFirstFaulting : Load 16-bit data and sign-extend, first-faulting + + /// + /// svint32_t svldff1sh_s32(svbool_t pg, const int16_t *base) + /// LDFF1SH Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16SignExtendFirstFaulting(Vector mask, const short *base) => LoadVectorInt16SignExtendFirstFaulting(mask, short); + + /// + /// svint64_t svldff1sh_s64(svbool_t pg, const int16_t *base) + /// LDFF1SH Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16SignExtendFirstFaulting(Vector mask, const short *base) => LoadVectorInt16SignExtendFirstFaulting(mask, short); + + /// + /// svuint32_t svldff1sh_u32(svbool_t pg, const int16_t *base) + /// LDFF1SH Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1SH Zresult.S, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16SignExtendFirstFaulting(Vector mask, const short *base) => LoadVectorInt16SignExtendFirstFaulting(mask, short); + + /// + /// svuint64_t svldff1sh_u64(svbool_t pg, const int16_t *base) + /// LDFF1SH Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1SH Zresult.D, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16SignExtendFirstFaulting(Vector mask, const short *base) => LoadVectorInt16SignExtendFirstFaulting(mask, short); + + + /// LoadVectorInt16SignExtendNonFaultingToInt32 : Load 16-bit data and sign-extend, non-faulting + + /// + /// svint32_t svldnf1sh_s32(svbool_t pg, const int16_t *base) + /// LDNF1SH Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendNonFaultingToInt32(Vector mask, const short *base) => LoadVectorInt16SignExtendNonFaultingToInt32(mask, short); + + + /// LoadVectorInt16SignExtendNonFaultingToInt64 : Load 16-bit data and sign-extend, non-faulting + + /// + /// svint64_t svldnf1sh_s64(svbool_t pg, const int16_t *base) + /// LDNF1SH Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendNonFaultingToInt64(Vector mask, const short *base) => LoadVectorInt16SignExtendNonFaultingToInt64(mask, short); + + + /// LoadVectorInt16SignExtendNonFaultingToUInt32 : Load 16-bit data and sign-extend, non-faulting + + /// + /// svuint32_t svldnf1sh_u32(svbool_t pg, const int16_t *base) + /// LDNF1SH Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendNonFaultingToUInt32(Vector mask, const short *base) => LoadVectorInt16SignExtendNonFaultingToUInt32(mask, short); + + + /// LoadVectorInt16SignExtendNonFaultingToUInt64 : Load 16-bit data and sign-extend, non-faulting + + /// + /// svuint64_t svldnf1sh_u64(svbool_t pg, const int16_t *base) + /// LDNF1SH Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendNonFaultingToUInt64(Vector mask, const short *base) => LoadVectorInt16SignExtendNonFaultingToUInt64(mask, short); + + + /// LoadVectorInt16SignExtendToInt32 : Load 16-bit data and sign-extend + + /// + /// svint32_t svld1sh_s32(svbool_t pg, const int16_t *base) + /// LD1SH Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1SH Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendToInt32(Vector mask, const short *base) => LoadVectorInt16SignExtendToInt32(mask, short); + + + /// LoadVectorInt16SignExtendToInt64 : Load 16-bit data and sign-extend + + /// + /// svint64_t svld1sh_s64(svbool_t pg, const int16_t *base) + /// LD1SH Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1SH Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendToInt64(Vector mask, const short *base) => LoadVectorInt16SignExtendToInt64(mask, short); + + + /// LoadVectorInt16SignExtendToUInt32 : Load 16-bit data and sign-extend + + /// + /// svuint32_t svld1sh_u32(svbool_t pg, const int16_t *base) + /// LD1SH Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1SH Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendToUInt32(Vector mask, const short *base) => LoadVectorInt16SignExtendToUInt32(mask, short); + + + /// LoadVectorInt16SignExtendToUInt64 : Load 16-bit data and sign-extend + + /// + /// svuint64_t svld1sh_u64(svbool_t pg, const int16_t *base) + /// LD1SH Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1SH Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16SignExtendToUInt64(Vector mask, const short *base) => LoadVectorInt16SignExtendToUInt64(mask, short); + + + /// LoadVectorInt16ZeroExtendFirstFaulting : Load 16-bit data and zero-extend, first-faulting + + /// + /// svint32_t svldff1uh_s32(svbool_t pg, const uint16_t *base) + /// LDFF1H Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.S, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendFirstFaulting(mask, ushort); + + /// + /// svint64_t svldff1uh_s64(svbool_t pg, const uint16_t *base) + /// LDFF1H Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.D, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendFirstFaulting(mask, ushort); + + /// + /// svuint32_t svldff1uh_u32(svbool_t pg, const uint16_t *base) + /// LDFF1H Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.S, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendFirstFaulting(mask, ushort); + + /// + /// svuint64_t svldff1uh_u64(svbool_t pg, const uint16_t *base) + /// LDFF1H Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.D, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendFirstFaulting(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendFirstFaulting(mask, ushort); + + + /// LoadVectorInt16ZeroExtendNonFaultingToInt32 : Load 16-bit data and zero-extend, non-faulting + + /// + /// svint32_t svldnf1uh_s32(svbool_t pg, const uint16_t *base) + /// LDNF1H Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendNonFaultingToInt32(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendNonFaultingToInt32(mask, ushort); + + + /// LoadVectorInt16ZeroExtendNonFaultingToInt64 : Load 16-bit data and zero-extend, non-faulting + + /// + /// svint64_t svldnf1uh_s64(svbool_t pg, const uint16_t *base) + /// LDNF1H Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendNonFaultingToInt64(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendNonFaultingToInt64(mask, ushort); + + + /// LoadVectorInt16ZeroExtendNonFaultingToUInt32 : Load 16-bit data and zero-extend, non-faulting + + /// + /// svuint32_t svldnf1uh_u32(svbool_t pg, const uint16_t *base) + /// LDNF1H Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendNonFaultingToUInt32(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendNonFaultingToUInt32(mask, ushort); + + + /// LoadVectorInt16ZeroExtendNonFaultingToUInt64 : Load 16-bit data and zero-extend, non-faulting + + /// + /// svuint64_t svldnf1uh_u64(svbool_t pg, const uint16_t *base) + /// LDNF1H Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendNonFaultingToUInt64(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendNonFaultingToUInt64(mask, ushort); + + + /// LoadVectorInt16ZeroExtendToInt32 : Load 16-bit data and zero-extend + + /// + /// svint32_t svld1uh_s32(svbool_t pg, const uint16_t *base) + /// LD1H Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendToInt32(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendToInt32(mask, ushort); + + + /// LoadVectorInt16ZeroExtendToInt64 : Load 16-bit data and zero-extend + + /// + /// svint64_t svld1uh_s64(svbool_t pg, const uint16_t *base) + /// LD1H Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendToInt64(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendToInt64(mask, ushort); + + + /// LoadVectorInt16ZeroExtendToUInt32 : Load 16-bit data and zero-extend + + /// + /// svuint32_t svld1uh_u32(svbool_t pg, const uint16_t *base) + /// LD1H Zresult.S, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendToUInt32(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendToUInt32(mask, ushort); + + + /// LoadVectorInt16ZeroExtendToUInt64 : Load 16-bit data and zero-extend + + /// + /// svuint64_t svld1uh_u64(svbool_t pg, const uint16_t *base) + /// LD1H Zresult.D, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt16ZeroExtendToUInt64(Vector mask, const ushort *base) => LoadVectorInt16ZeroExtendToUInt64(mask, ushort); + + + /// LoadVectorInt32SignExtendFirstFaulting : Load 32-bit data and sign-extend, first-faulting + + /// + /// svint64_t svldff1sw_s64(svbool_t pg, const int32_t *base) + /// LDFF1SW Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorInt32SignExtendFirstFaulting(Vector mask, const int *base) => LoadVectorInt32SignExtendFirstFaulting(mask, int); + + /// + /// svuint64_t svldff1sw_u64(svbool_t pg, const int32_t *base) + /// LDFF1SW Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1SW Zresult.D, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorInt32SignExtendFirstFaulting(Vector mask, const int *base) => LoadVectorInt32SignExtendFirstFaulting(mask, int); + + + /// LoadVectorInt32SignExtendNonFaultingToInt64 : Load 32-bit data and sign-extend, non-faulting + + /// + /// svint64_t svldnf1sw_s64(svbool_t pg, const int32_t *base) + /// LDNF1SW Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32SignExtendNonFaultingToInt64(Vector mask, const int *base) => LoadVectorInt32SignExtendNonFaultingToInt64(mask, int); + + + /// LoadVectorInt32SignExtendNonFaultingToUInt64 : Load 32-bit data and sign-extend, non-faulting + + /// + /// svuint64_t svldnf1sw_u64(svbool_t pg, const int32_t *base) + /// LDNF1SW Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32SignExtendNonFaultingToUInt64(Vector mask, const int *base) => LoadVectorInt32SignExtendNonFaultingToUInt64(mask, int); + + + /// LoadVectorInt32SignExtendToInt64 : Load 32-bit data and sign-extend + + /// + /// svint64_t svld1sw_s64(svbool_t pg, const int32_t *base) + /// LD1SW Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1SW Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32SignExtendToInt64(Vector mask, const int *base) => LoadVectorInt32SignExtendToInt64(mask, int); + + + /// LoadVectorInt32SignExtendToUInt64 : Load 32-bit data and sign-extend + + /// + /// svuint64_t svld1sw_u64(svbool_t pg, const int32_t *base) + /// LD1SW Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1SW Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32SignExtendToUInt64(Vector mask, const int *base) => LoadVectorInt32SignExtendToUInt64(mask, int); + + + /// LoadVectorInt32ZeroExtendFirstFaulting : Load 32-bit data and zero-extend, first-faulting + + /// + /// svint64_t svldff1uw_s64(svbool_t pg, const uint32_t *base) + /// LDFF1W Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1W Zresult.D, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base) => LoadVectorInt32ZeroExtendFirstFaulting(mask, uint); + + /// + /// svuint64_t svldff1uw_u64(svbool_t pg, const uint32_t *base) + /// LDFF1W Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDFF1W Zresult.D, Pg/Z, [Xbase, XZR, LSL #2] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendFirstFaulting(Vector mask, const uint *base) => LoadVectorInt32ZeroExtendFirstFaulting(mask, uint); + + + /// LoadVectorInt32ZeroExtendNonFaultingToInt64 : Load 32-bit data and zero-extend, non-faulting + + /// + /// svint64_t svldnf1uw_s64(svbool_t pg, const uint32_t *base) + /// LDNF1W Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendNonFaultingToInt64(Vector mask, const uint *base) => LoadVectorInt32ZeroExtendNonFaultingToInt64(mask, uint); + + + /// LoadVectorInt32ZeroExtendNonFaultingToUInt64 : Load 32-bit data and zero-extend, non-faulting + + /// + /// svuint64_t svldnf1uw_u64(svbool_t pg, const uint32_t *base) + /// LDNF1W Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendNonFaultingToUInt64(Vector mask, const uint *base) => LoadVectorInt32ZeroExtendNonFaultingToUInt64(mask, uint); + + + /// LoadVectorInt32ZeroExtendToInt64 : Load 32-bit data and zero-extend + + /// + /// svint64_t svld1uw_s64(svbool_t pg, const uint32_t *base) + /// LD1W Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1W Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendToInt64(Vector mask, const uint *base) => LoadVectorInt32ZeroExtendToInt64(mask, uint); + + + /// LoadVectorInt32ZeroExtendToUInt64 : Load 32-bit data and zero-extend + + /// + /// svuint64_t svld1uw_u64(svbool_t pg, const uint32_t *base) + /// LD1W Zresult.D, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1W Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorInt32ZeroExtendToUInt64(Vector mask, const uint *base) => LoadVectorInt32ZeroExtendToUInt64(mask, uint); + + + /// LoadVectorNonFaulting : Unextended load, non-faulting + + /// + /// svint8_t svldnf1[_s8](svbool_t pg, const int8_t *base) + /// LDNF1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const sbyte *base) => LoadVectorNonFaulting(mask, sbyte); + + /// + /// svint16_t svldnf1[_s16](svbool_t pg, const int16_t *base) + /// LDNF1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const short *base) => LoadVectorNonFaulting(mask, short); + + /// + /// svint32_t svldnf1[_s32](svbool_t pg, const int32_t *base) + /// LDNF1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const int *base) => LoadVectorNonFaulting(mask, int); + + /// + /// svint64_t svldnf1[_s64](svbool_t pg, const int64_t *base) + /// LDNF1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const long *base) => LoadVectorNonFaulting(mask, long); + + /// + /// svuint8_t svldnf1[_u8](svbool_t pg, const uint8_t *base) + /// LDNF1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const byte *base) => LoadVectorNonFaulting(mask, byte); + + /// + /// svuint16_t svldnf1[_u16](svbool_t pg, const uint16_t *base) + /// LDNF1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const ushort *base) => LoadVectorNonFaulting(mask, ushort); + + /// + /// svuint32_t svldnf1[_u32](svbool_t pg, const uint32_t *base) + /// LDNF1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const uint *base) => LoadVectorNonFaulting(mask, uint); + + /// + /// svuint64_t svldnf1[_u64](svbool_t pg, const uint64_t *base) + /// LDNF1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const ulong *base) => LoadVectorNonFaulting(mask, ulong); + + /// + /// svfloat32_t svldnf1[_f32](svbool_t pg, const float32_t *base) + /// LDNF1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const float *base) => LoadVectorNonFaulting(mask, float); + + /// + /// svfloat64_t svldnf1[_f64](svbool_t pg, const float64_t *base) + /// LDNF1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const double *base) => LoadVectorNonFaulting(mask, double); + + + /// LoadVectorNonTemporal : Unextended load, non-temporal + + /// + /// svint8_t svldnt1[_s8](svbool_t pg, const int8_t *base) + /// LDNT1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LDNT1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const sbyte *base) => LoadVectorNonTemporal(mask, sbyte); + + /// + /// svint16_t svldnt1[_s16](svbool_t pg, const int16_t *base) + /// LDNT1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDNT1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const short *base) => LoadVectorNonTemporal(mask, short); + + /// + /// svint32_t svldnt1[_s32](svbool_t pg, const int32_t *base) + /// LDNT1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDNT1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const int *base) => LoadVectorNonTemporal(mask, int); + + /// + /// svint64_t svldnt1[_s64](svbool_t pg, const int64_t *base) + /// LDNT1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDNT1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const long *base) => LoadVectorNonTemporal(mask, long); + + /// + /// svuint8_t svldnt1[_u8](svbool_t pg, const uint8_t *base) + /// LDNT1B Zresult.B, Pg/Z, [Xarray, Xindex] + /// LDNT1B Zresult.B, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const byte *base) => LoadVectorNonTemporal(mask, byte); + + /// + /// svuint16_t svldnt1[_u16](svbool_t pg, const uint16_t *base) + /// LDNT1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDNT1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const ushort *base) => LoadVectorNonTemporal(mask, ushort); + + /// + /// svuint32_t svldnt1[_u32](svbool_t pg, const uint32_t *base) + /// LDNT1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDNT1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const uint *base) => LoadVectorNonTemporal(mask, uint); + + /// + /// svuint64_t svldnt1[_u64](svbool_t pg, const uint64_t *base) + /// LDNT1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDNT1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const ulong *base) => LoadVectorNonTemporal(mask, ulong); + + /// + /// svfloat32_t svldnt1[_f32](svbool_t pg, const float32_t *base) + /// LDNT1W Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LDNT1W Zresult.S, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const float *base) => LoadVectorNonTemporal(mask, float); + + /// + /// svfloat64_t svldnt1[_f64](svbool_t pg, const float64_t *base) + /// LDNT1D Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LDNT1D Zresult.D, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const double *base) => LoadVectorNonTemporal(mask, double); + + + /// LoadVectorx2 : Load two-element tuples into two vectors + + /// + /// svint8x2_t svld2[_s8](svbool_t pg, const int8_t *base) + /// LD2B {Zresult0.B, Zresult1.B}, Pg/Z, [Xarray, Xindex] + /// LD2B {Zresult0.B, Zresult1.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const sbyte *base) => LoadVectorx2(mask, sbyte); + + /// + /// svint16x2_t svld2[_s16](svbool_t pg, const int16_t *base) + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const short *base) => LoadVectorx2(mask, short); + + /// + /// svint32x2_t svld2[_s32](svbool_t pg, const int32_t *base) + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const int *base) => LoadVectorx2(mask, int); + + /// + /// svint64x2_t svld2[_s64](svbool_t pg, const int64_t *base) + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const long *base) => LoadVectorx2(mask, long); + + /// + /// svuint8x2_t svld2[_u8](svbool_t pg, const uint8_t *base) + /// LD2B {Zresult0.B, Zresult1.B}, Pg/Z, [Xarray, Xindex] + /// LD2B {Zresult0.B, Zresult1.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const byte *base) => LoadVectorx2(mask, byte); + + /// + /// svuint16x2_t svld2[_u16](svbool_t pg, const uint16_t *base) + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const ushort *base) => LoadVectorx2(mask, ushort); + + /// + /// svuint32x2_t svld2[_u32](svbool_t pg, const uint32_t *base) + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const uint *base) => LoadVectorx2(mask, uint); + + /// + /// svuint64x2_t svld2[_u64](svbool_t pg, const uint64_t *base) + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const ulong *base) => LoadVectorx2(mask, ulong); + + /// + /// svfloat32x2_t svld2[_f32](svbool_t pg, const float32_t *base) + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD2W {Zresult0.S, Zresult1.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const float *base) => LoadVectorx2(mask, float); + + /// + /// svfloat64x2_t svld2[_f64](svbool_t pg, const float64_t *base) + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD2D {Zresult0.D, Zresult1.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const double *base) => LoadVectorx2(mask, double); + + + /// LoadVectorx3 : Load three-element tuples into three vectors + + /// + /// svint8x3_t svld3[_s8](svbool_t pg, const int8_t *base) + /// LD3B {Zresult0.B - Zresult2.B}, Pg/Z, [Xarray, Xindex] + /// LD3B {Zresult0.B - Zresult2.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const sbyte *base) => LoadVectorx3(mask, sbyte); + + /// + /// svint16x3_t svld3[_s16](svbool_t pg, const int16_t *base) + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const short *base) => LoadVectorx3(mask, short); + + /// + /// svint32x3_t svld3[_s32](svbool_t pg, const int32_t *base) + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const int *base) => LoadVectorx3(mask, int); + + /// + /// svint64x3_t svld3[_s64](svbool_t pg, const int64_t *base) + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const long *base) => LoadVectorx3(mask, long); + + /// + /// svuint8x3_t svld3[_u8](svbool_t pg, const uint8_t *base) + /// LD3B {Zresult0.B - Zresult2.B}, Pg/Z, [Xarray, Xindex] + /// LD3B {Zresult0.B - Zresult2.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const byte *base) => LoadVectorx3(mask, byte); + + /// + /// svuint16x3_t svld3[_u16](svbool_t pg, const uint16_t *base) + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const ushort *base) => LoadVectorx3(mask, ushort); + + /// + /// svuint32x3_t svld3[_u32](svbool_t pg, const uint32_t *base) + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const uint *base) => LoadVectorx3(mask, uint); + + /// + /// svuint64x3_t svld3[_u64](svbool_t pg, const uint64_t *base) + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const ulong *base) => LoadVectorx3(mask, ulong); + + /// + /// svfloat32x3_t svld3[_f32](svbool_t pg, const float32_t *base) + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD3W {Zresult0.S - Zresult2.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const float *base) => LoadVectorx3(mask, float); + + /// + /// svfloat64x3_t svld3[_f64](svbool_t pg, const float64_t *base) + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD3D {Zresult0.D - Zresult2.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const double *base) => LoadVectorx3(mask, double); + + + /// LoadVectorx4 : Load four-element tuples into four vectors + + /// + /// svint8x4_t svld4[_s8](svbool_t pg, const int8_t *base) + /// LD4B {Zresult0.B - Zresult3.B}, Pg/Z, [Xarray, Xindex] + /// LD4B {Zresult0.B - Zresult3.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const sbyte *base) => LoadVectorx4(mask, sbyte); + + /// + /// svint16x4_t svld4[_s16](svbool_t pg, const int16_t *base) + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const short *base) => LoadVectorx4(mask, short); + + /// + /// svint32x4_t svld4[_s32](svbool_t pg, const int32_t *base) + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const int *base) => LoadVectorx4(mask, int); + + /// + /// svint64x4_t svld4[_s64](svbool_t pg, const int64_t *base) + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const long *base) => LoadVectorx4(mask, long); + + /// + /// svuint8x4_t svld4[_u8](svbool_t pg, const uint8_t *base) + /// LD4B {Zresult0.B - Zresult3.B}, Pg/Z, [Xarray, Xindex] + /// LD4B {Zresult0.B - Zresult3.B}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const byte *base) => LoadVectorx4(mask, byte); + + /// + /// svuint16x4_t svld4[_u16](svbool_t pg, const uint16_t *base) + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const ushort *base) => LoadVectorx4(mask, ushort); + + /// + /// svuint32x4_t svld4[_u32](svbool_t pg, const uint32_t *base) + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const uint *base) => LoadVectorx4(mask, uint); + + /// + /// svuint64x4_t svld4[_u64](svbool_t pg, const uint64_t *base) + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const ulong *base) => LoadVectorx4(mask, ulong); + + /// + /// svfloat32x4_t svld4[_f32](svbool_t pg, const float32_t *base) + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD4W {Zresult0.S - Zresult3.S}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const float *base) => LoadVectorx4(mask, float); + + /// + /// svfloat64x4_t svld4[_f64](svbool_t pg, const float64_t *base) + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD4D {Zresult0.D - Zresult3.D}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const double *base) => LoadVectorx4(mask, double); + + + /// MaskGetFirstSet : Find next active predicate + + /// + /// svbool_t svpnext_b8(svbool_t pg, svbool_t op) + /// PNEXT Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskGetFirstSet(Vector mask, Vector from) => MaskGetFirstSet(mask, from); + + /// + /// svbool_t svpnext_b16(svbool_t pg, svbool_t op) + /// PNEXT Ptied.H, Pg, Ptied.H + /// + public static unsafe Vector MaskGetFirstSet(Vector mask, Vector from) => MaskGetFirstSet(mask, from); + + /// + /// svbool_t svpnext_b32(svbool_t pg, svbool_t op) + /// PNEXT Ptied.S, Pg, Ptied.S + /// + public static unsafe Vector MaskGetFirstSet(Vector mask, Vector from) => MaskGetFirstSet(mask, from); + + /// + /// svbool_t svpnext_b64(svbool_t pg, svbool_t op) + /// PNEXT Ptied.D, Pg, Ptied.D + /// + public static unsafe Vector MaskGetFirstSet(Vector mask, Vector from) => MaskGetFirstSet(mask, from); + + + /// MaskSetFirst : Set the first active predicate element to true + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) => MaskSetFirst(mask, from); + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) => MaskSetFirst(mask, from); + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) => MaskSetFirst(mask, from); + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) => MaskSetFirst(mask, from); + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) => MaskSetFirst(mask, from); + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) => MaskSetFirst(mask, from); + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) => MaskSetFirst(mask, from); + + /// + /// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) + /// PFIRST Ptied.B, Pg, Ptied.B + /// + public static unsafe Vector MaskSetFirst(Vector mask, Vector from) => MaskSetFirst(mask, from); + + + /// MaskTestAnyTrue : Test whether any active element is true + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) => MaskTestAnyTrue(mask, from); + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) => MaskTestAnyTrue(mask, from); + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) => MaskTestAnyTrue(mask, from); + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) => MaskTestAnyTrue(mask, from); + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) => MaskTestAnyTrue(mask, from); + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) => MaskTestAnyTrue(mask, from); + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) => MaskTestAnyTrue(mask, from); + + /// + /// bool svptest_any(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestAnyTrue(Vector mask, Vector from) => MaskTestAnyTrue(mask, from); + + + /// MaskTestFirstTrue : Test whether the first active element is true + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) => MaskTestFirstTrue(mask, from); + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) => MaskTestFirstTrue(mask, from); + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) => MaskTestFirstTrue(mask, from); + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) => MaskTestFirstTrue(mask, from); + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) => MaskTestFirstTrue(mask, from); + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) => MaskTestFirstTrue(mask, from); + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) => MaskTestFirstTrue(mask, from); + + /// + /// bool svptest_first(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestFirstTrue(Vector mask, Vector from) => MaskTestFirstTrue(mask, from); + + + /// MaskTestLastTrue : Test whether the last active element is true + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) => MaskTestLastTrue(mask, from); + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) => MaskTestLastTrue(mask, from); + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) => MaskTestLastTrue(mask, from); + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) => MaskTestLastTrue(mask, from); + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) => MaskTestLastTrue(mask, from); + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) => MaskTestLastTrue(mask, from); + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) => MaskTestLastTrue(mask, from); + + /// + /// bool svptest_last(svbool_t pg, svbool_t op) + /// PTEST + /// + public static unsafe bool MaskTestLastTrue(Vector mask, Vector from) => MaskTestLastTrue(mask, from); + + + /// Max : Maximum + + /// + /// svint8_t svmax[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMAX Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmax[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMAX Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SMAX Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmax[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SMAX Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + /// + /// svint16_t svmax[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmax[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SMAX Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmax[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SMAX Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + /// + /// svint32_t svmax[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmax[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SMAX Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmax[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SMAX Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + /// + /// svint64_t svmax[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmax[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SMAX Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmax[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SMAX Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + /// + /// svuint8_t svmax[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMAX Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmax[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMAX Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UMAX Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmax[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UMAX Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UMAX Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + /// + /// svuint16_t svmax[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmax[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UMAX Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmax[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UMAX Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + /// + /// svuint32_t svmax[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmax[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UMAX Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmax[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UMAX Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + /// + /// svuint64_t svmax[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmax[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UMAX Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmax[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UMAX Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + /// + /// svfloat32_t svmax[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmax[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMAX Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmax[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMAX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMAX Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + /// + /// svfloat64_t svmax[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmax[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMAX Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmax[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMAX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMAX Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + + /// MaxAcross : Maximum reduction to scalar + + /// + /// int8_t svmaxv[_s8](svbool_t pg, svint8_t op) + /// SMAXV Bresult, Pg, Zop.B + /// + public static unsafe sbyte MaxAcross(Vector value) => MaxAcross(value); + + /// + /// int16_t svmaxv[_s16](svbool_t pg, svint16_t op) + /// SMAXV Hresult, Pg, Zop.H + /// + public static unsafe short MaxAcross(Vector value) => MaxAcross(value); + + /// + /// int32_t svmaxv[_s32](svbool_t pg, svint32_t op) + /// SMAXV Sresult, Pg, Zop.S + /// + public static unsafe int MaxAcross(Vector value) => MaxAcross(value); + + /// + /// int64_t svmaxv[_s64](svbool_t pg, svint64_t op) + /// SMAXV Dresult, Pg, Zop.D + /// + public static unsafe long MaxAcross(Vector value) => MaxAcross(value); + + /// + /// uint8_t svmaxv[_u8](svbool_t pg, svuint8_t op) + /// UMAXV Bresult, Pg, Zop.B + /// + public static unsafe byte MaxAcross(Vector value) => MaxAcross(value); + + /// + /// uint16_t svmaxv[_u16](svbool_t pg, svuint16_t op) + /// UMAXV Hresult, Pg, Zop.H + /// + public static unsafe ushort MaxAcross(Vector value) => MaxAcross(value); + + /// + /// uint32_t svmaxv[_u32](svbool_t pg, svuint32_t op) + /// UMAXV Sresult, Pg, Zop.S + /// + public static unsafe uint MaxAcross(Vector value) => MaxAcross(value); + + /// + /// uint64_t svmaxv[_u64](svbool_t pg, svuint64_t op) + /// UMAXV Dresult, Pg, Zop.D + /// + public static unsafe ulong MaxAcross(Vector value) => MaxAcross(value); + + /// + /// float32_t svmaxv[_f32](svbool_t pg, svfloat32_t op) + /// FMAXV Sresult, Pg, Zop.S + /// + public static unsafe float MaxAcross(Vector value) => MaxAcross(value); + + /// + /// float64_t svmaxv[_f64](svbool_t pg, svfloat64_t op) + /// FMAXV Dresult, Pg, Zop.D + /// + public static unsafe double MaxAcross(Vector value) => MaxAcross(value); + + + /// MaxNumber : Maximum number + + /// + /// svfloat32_t svmaxnm[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXNM Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmaxnm[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXNM Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMAXNM Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmaxnm[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMAXNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMAXNM Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector MaxNumber(Vector left, Vector right) => MaxNumber(left, right); + + /// + /// svfloat64_t svmaxnm[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXNM Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmaxnm[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXNM Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMAXNM Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmaxnm[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMAXNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMAXNM Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector MaxNumber(Vector left, Vector right) => MaxNumber(left, right); + + + /// MaxNumberAcross : Maximum number reduction to scalar + + /// + /// float32_t svmaxnmv[_f32](svbool_t pg, svfloat32_t op) + /// FMAXNMV Sresult, Pg, Zop.S + /// + public static unsafe float MaxNumberAcross(Vector value) => MaxNumberAcross(value); + + /// + /// float64_t svmaxnmv[_f64](svbool_t pg, svfloat64_t op) + /// FMAXNMV Dresult, Pg, Zop.D + /// + public static unsafe double MaxNumberAcross(Vector value) => MaxNumberAcross(value); + + + /// Min : Minimum + + /// + /// svint8_t svmin[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMIN Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmin[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMIN Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SMIN Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmin[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SMIN Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + /// + /// svint16_t svmin[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmin[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SMIN Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmin[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SMIN Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + /// + /// svint32_t svmin[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmin[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SMIN Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmin[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SMIN Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + /// + /// svint64_t svmin[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmin[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SMIN Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmin[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SMIN Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + /// + /// svuint8_t svmin[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMIN Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmin[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMIN Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UMIN Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmin[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UMIN Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UMIN Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + /// + /// svuint16_t svmin[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmin[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UMIN Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmin[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UMIN Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + /// + /// svuint32_t svmin[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmin[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UMIN Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmin[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UMIN Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + /// + /// svuint64_t svmin[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmin[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UMIN Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmin[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UMIN Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + /// + /// svfloat32_t svmin[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmin[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMIN Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMIN Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmin[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMIN Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMIN Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + /// + /// svfloat64_t svmin[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmin[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMIN Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMIN Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmin[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMIN Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMIN Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + + /// MinAcross : Minimum reduction to scalar + + /// + /// int8_t svminv[_s8](svbool_t pg, svint8_t op) + /// SMINV Bresult, Pg, Zop.B + /// + public static unsafe sbyte MinAcross(Vector value) => MinAcross(value); + + /// + /// int16_t svminv[_s16](svbool_t pg, svint16_t op) + /// SMINV Hresult, Pg, Zop.H + /// + public static unsafe short MinAcross(Vector value) => MinAcross(value); + + /// + /// int32_t svminv[_s32](svbool_t pg, svint32_t op) + /// SMINV Sresult, Pg, Zop.S + /// + public static unsafe int MinAcross(Vector value) => MinAcross(value); + + /// + /// int64_t svminv[_s64](svbool_t pg, svint64_t op) + /// SMINV Dresult, Pg, Zop.D + /// + public static unsafe long MinAcross(Vector value) => MinAcross(value); + + /// + /// uint8_t svminv[_u8](svbool_t pg, svuint8_t op) + /// UMINV Bresult, Pg, Zop.B + /// + public static unsafe byte MinAcross(Vector value) => MinAcross(value); + + /// + /// uint16_t svminv[_u16](svbool_t pg, svuint16_t op) + /// UMINV Hresult, Pg, Zop.H + /// + public static unsafe ushort MinAcross(Vector value) => MinAcross(value); + + /// + /// uint32_t svminv[_u32](svbool_t pg, svuint32_t op) + /// UMINV Sresult, Pg, Zop.S + /// + public static unsafe uint MinAcross(Vector value) => MinAcross(value); + + /// + /// uint64_t svminv[_u64](svbool_t pg, svuint64_t op) + /// UMINV Dresult, Pg, Zop.D + /// + public static unsafe ulong MinAcross(Vector value) => MinAcross(value); + + /// + /// float32_t svminv[_f32](svbool_t pg, svfloat32_t op) + /// FMINV Sresult, Pg, Zop.S + /// + public static unsafe float MinAcross(Vector value) => MinAcross(value); + + /// + /// float64_t svminv[_f64](svbool_t pg, svfloat64_t op) + /// FMINV Dresult, Pg, Zop.D + /// + public static unsafe double MinAcross(Vector value) => MinAcross(value); + + + /// MinNumber : Minimum number + + /// + /// svfloat32_t svminnm[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINNM Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svminnm[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINNM Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMINNM Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svminnm[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMINNM Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMINNM Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector MinNumber(Vector left, Vector right) => MinNumber(left, right); + + /// + /// svfloat64_t svminnm[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINNM Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svminnm[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINNM Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMINNM Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svminnm[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMINNM Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMINNM Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector MinNumber(Vector left, Vector right) => MinNumber(left, right); + + + /// MinNumberAcross : Minimum number reduction to scalar + + /// + /// float32_t svminnmv[_f32](svbool_t pg, svfloat32_t op) + /// FMINNMV Sresult, Pg, Zop.S + /// + public static unsafe float MinNumberAcross(Vector value) => MinNumberAcross(value); + + /// + /// float64_t svminnmv[_f64](svbool_t pg, svfloat64_t op) + /// FMINNMV Dresult, Pg, Zop.D + /// + public static unsafe double MinNumberAcross(Vector value) => MinNumberAcross(value); + + + + /// Multiply : Multiply + + /// + /// svint8_t svmul[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// MUL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmul[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// MUL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MUL Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmul[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MUL Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svint16_t svmul[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// MUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmul[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// MUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MUL Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmul[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MUL Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svint32_t svmul[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// MUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmul[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// MUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MUL Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmul[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MUL Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svint64_t svmul[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// MUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmul[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// MUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MUL Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmul[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MUL Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svuint8_t svmul[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MUL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmul[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MUL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MUL Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmul[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MUL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MUL Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svuint16_t svmul[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmul[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MUL Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmul[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MUL Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svuint32_t svmul[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmul[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MUL Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmul[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MUL Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svuint64_t svmul[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmul[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MUL Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmul[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MUL Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svfloat32_t svmul[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmul[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMUL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMUL Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// FMUL Zresult.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmul[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMUL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMUL Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svfloat32_t svmul_lane[_f32](svfloat32_t op1, svfloat32_t op2, uint64_t imm_index) + /// FMUL Zresult.S, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) => Multiply(left, right, index); + + /// + /// svfloat64_t svmul[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmul[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMUL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMUL Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// FMUL Zresult.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmul[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMUL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMUL Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svfloat64_t svmul_lane[_f64](svfloat64_t op1, svfloat64_t op2, uint64_t imm_index) + /// FMUL Zresult.D, Zop1.D, Zop2.D[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) => Multiply(left, right, index); + + + /// MultiplyAdd : Multiply-add, addend first + + /// + /// svint8_t svmla[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MLA Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svint8_t svmla[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MLA Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MAD Ztied2.B, Pg/M, Zop3.B, Zop1.B + /// MAD Ztied3.B, Pg/M, Zop2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svint8_t svmla[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MAD Zresult.B, Pg/M, Zop3.B, Zop1.B + /// MOVPRFX Zresult.B, Pg/Z, Zop3.B; MAD Zresult.B, Pg/M, Zop2.B, Zop1.B + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) => MultiplyAdd(addend, left, right); + + /// + /// svint16_t svmla[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svint16_t svmla[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MAD Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// MAD Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svint16_t svmla[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MAD Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; MAD Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) => MultiplyAdd(addend, left, right); + + /// + /// svint32_t svmla[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svint32_t svmla[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MAD Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// MAD Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svint32_t svmla[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MAD Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; MAD Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) => MultiplyAdd(addend, left, right); + + /// + /// svint64_t svmla[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svint64_t svmla[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MAD Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// MAD Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svint64_t svmla[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MAD Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; MAD Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) => MultiplyAdd(addend, left, right); + + /// + /// svuint8_t svmla[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MLA Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svuint8_t svmla[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MLA Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MAD Ztied2.B, Pg/M, Zop3.B, Zop1.B + /// MAD Ztied3.B, Pg/M, Zop2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svuint8_t svmla[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MLA Zresult.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MAD Zresult.B, Pg/M, Zop3.B, Zop1.B + /// MOVPRFX Zresult.B, Pg/Z, Zop3.B; MAD Zresult.B, Pg/M, Zop2.B, Zop1.B + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) => MultiplyAdd(addend, left, right); + + /// + /// svuint16_t svmla[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svuint16_t svmla[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MAD Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// MAD Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svuint16_t svmla[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MAD Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; MAD Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) => MultiplyAdd(addend, left, right); + + /// + /// svuint32_t svmla[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svuint32_t svmla[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MLA Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MAD Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// MAD Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svuint32_t svmla[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MLA Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MAD Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; MAD Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) => MultiplyAdd(addend, left, right); + + /// + /// svuint64_t svmla[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svuint64_t svmla[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MLA Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MAD Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// MAD Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svuint64_t svmla[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MLA Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MAD Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; MAD Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right) => MultiplyAdd(addend, left, right); + + + + + /// MultiplyAddRotateComplex : Complex multiply-add with rotate + + /// + /// svfloat32_t svcmla[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.S, Pg/M, Zop2.S, Zop3.S, #imm_rotation + /// svfloat32_t svcmla[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.S, Pg/M, Zop2.S, Zop3.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.S, Pg/M, Zop2.S, Zop3.S, #imm_rotation + /// svfloat32_t svcmla[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_rotation) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FCMLA Zresult.S, Pg/M, Zop2.S, Zop3.S, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + /// + /// svfloat32_t svcmla_lane[_f32](svfloat32_t op1, svfloat32_t op2, svfloat32_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// FCMLA Ztied1.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_index, imm_rotation); + + /// + /// svfloat64_t svcmla[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.D, Pg/M, Zop2.D, Zop3.D, #imm_rotation + /// svfloat64_t svcmla[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.D, Pg/M, Zop2.D, Zop3.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.D, Pg/M, Zop2.D, Zop3.D, #imm_rotation + /// svfloat64_t svcmla[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2, svfloat64_t op3, uint64_t imm_rotation) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FCMLA Zresult.D, Pg/M, Zop2.D, Zop3.D, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + + /// MultiplyExtended : Multiply extended (∞×0=2) + + /// + /// svfloat32_t svmulx[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMULX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMULX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmulx[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMULX Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FMULX Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FMULX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmulx[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FMULX Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FMULX Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector MultiplyExtended(Vector left, Vector right) => MultiplyExtended(left, right); + + /// + /// svfloat64_t svmulx[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMULX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMULX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmulx[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMULX Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FMULX Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FMULX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmulx[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FMULX Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FMULX Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector MultiplyExtended(Vector left, Vector right) => MultiplyExtended(left, right); + + + /// MultiplyReturningHighHalf : Multiply, returning high half + + /// + /// svint8_t svmulh[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMULH Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmulh[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMULH Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SMULH Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmulh[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SMULH Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) => MultiplyReturningHighHalf(left, right); + + /// + /// svint16_t svmulh[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMULH Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmulh[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMULH Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SMULH Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmulh[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SMULH Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) => MultiplyReturningHighHalf(left, right); + + /// + /// svint32_t svmulh[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMULH Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmulh[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMULH Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SMULH Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmulh[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SMULH Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) => MultiplyReturningHighHalf(left, right); + + /// + /// svint64_t svmulh[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMULH Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmulh[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMULH Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SMULH Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmulh[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SMULH Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) => MultiplyReturningHighHalf(left, right); + + /// + /// svuint8_t svmulh[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMULH Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmulh[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMULH Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UMULH Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmulh[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UMULH Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UMULH Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) => MultiplyReturningHighHalf(left, right); + + /// + /// svuint16_t svmulh[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMULH Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmulh[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMULH Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UMULH Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmulh[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UMULH Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UMULH Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) => MultiplyReturningHighHalf(left, right); + + /// + /// svuint32_t svmulh[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMULH Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmulh[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMULH Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UMULH Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmulh[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UMULH Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UMULH Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) => MultiplyReturningHighHalf(left, right); + + /// + /// svuint64_t svmulh[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMULH Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmulh[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMULH Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UMULH Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmulh[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UMULH Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UMULH Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector MultiplyReturningHighHalf(Vector left, Vector right) => MultiplyReturningHighHalf(left, right); + + + /// MultiplySubtract : Multiply-subtract, minuend first + + /// + /// svint8_t svmls[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MLS Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svint8_t svmls[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MLS Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MSB Ztied2.B, Pg/M, Zop3.B, Zop1.B + /// MSB Ztied3.B, Pg/M, Zop2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svint8_t svmls[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2, svint8_t op3) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MSB Zresult.B, Pg/M, Zop3.B, Zop1.B + /// MOVPRFX Zresult.B, Pg/Z, Zop3.B; MSB Zresult.B, Pg/M, Zop2.B, Zop1.B + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) => MultiplySubtract(minuend, left, right); + + /// + /// svint16_t svmls[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svint16_t svmls[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MSB Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// MSB Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svint16_t svmls[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2, svint16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MSB Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; MSB Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) => MultiplySubtract(minuend, left, right); + + /// + /// svint32_t svmls[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svint32_t svmls[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MSB Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// MSB Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svint32_t svmls[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2, svint32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MSB Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; MSB Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) => MultiplySubtract(minuend, left, right); + + /// + /// svint64_t svmls[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svint64_t svmls[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MSB Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// MSB Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svint64_t svmls[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2, svint64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MSB Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; MSB Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) => MultiplySubtract(minuend, left, right); + + /// + /// svuint8_t svmls[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MLS Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svuint8_t svmls[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MLS Ztied1.B, Pg/M, Zop2.B, Zop3.B + /// MSB Ztied2.B, Pg/M, Zop3.B, Zop1.B + /// MSB Ztied3.B, Pg/M, Zop2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// svuint8_t svmls[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; MLS Zresult.B, Pg/M, Zop2.B, Zop3.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; MSB Zresult.B, Pg/M, Zop3.B, Zop1.B + /// MOVPRFX Zresult.B, Pg/Z, Zop3.B; MSB Zresult.B, Pg/M, Zop2.B, Zop1.B + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) => MultiplySubtract(minuend, left, right); + + /// + /// svuint16_t svmls[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svuint16_t svmls[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MSB Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// MSB Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svuint16_t svmls[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; MLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; MSB Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; MSB Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) => MultiplySubtract(minuend, left, right); + + /// + /// svuint32_t svmls[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svuint32_t svmls[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MLS Ztied1.S, Pg/M, Zop2.S, Zop3.S + /// MSB Ztied2.S, Pg/M, Zop3.S, Zop1.S + /// MSB Ztied3.S, Pg/M, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// svuint32_t svmls[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; MLS Zresult.S, Pg/M, Zop2.S, Zop3.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; MSB Zresult.S, Pg/M, Zop3.S, Zop1.S + /// MOVPRFX Zresult.S, Pg/Z, Zop3.S; MSB Zresult.S, Pg/M, Zop2.S, Zop1.S + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) => MultiplySubtract(minuend, left, right); + + /// + /// svuint64_t svmls[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svuint64_t svmls[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MLS Ztied1.D, Pg/M, Zop2.D, Zop3.D + /// MSB Ztied2.D, Pg/M, Zop3.D, Zop1.D + /// MSB Ztied3.D, Pg/M, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// svuint64_t svmls[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; MLS Zresult.D, Pg/M, Zop2.D, Zop3.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; MSB Zresult.D, Pg/M, Zop3.D, Zop1.D + /// MOVPRFX Zresult.D, Pg/Z, Zop3.D; MSB Zresult.D, Pg/M, Zop2.D, Zop1.D + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right) => MultiplySubtract(minuend, left, right); + + + + + /// Negate : Negate + + /// + /// svint8_t svneg[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// NEG Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; NEG Zresult.B, Pg/M, Zop.B + /// svint8_t svneg[_s8]_x(svbool_t pg, svint8_t op) + /// NEG Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; NEG Zresult.B, Pg/M, Zop.B + /// svint8_t svneg[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; NEG Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector Negate(Vector value) => Negate(value); + + /// + /// svint16_t svneg[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// NEG Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; NEG Zresult.H, Pg/M, Zop.H + /// svint16_t svneg[_s16]_x(svbool_t pg, svint16_t op) + /// NEG Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; NEG Zresult.H, Pg/M, Zop.H + /// svint16_t svneg[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; NEG Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Negate(Vector value) => Negate(value); + + /// + /// svint32_t svneg[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// NEG Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; NEG Zresult.S, Pg/M, Zop.S + /// svint32_t svneg[_s32]_x(svbool_t pg, svint32_t op) + /// NEG Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; NEG Zresult.S, Pg/M, Zop.S + /// svint32_t svneg[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; NEG Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Negate(Vector value) => Negate(value); + + /// + /// svint64_t svneg[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// NEG Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; NEG Zresult.D, Pg/M, Zop.D + /// svint64_t svneg[_s64]_x(svbool_t pg, svint64_t op) + /// NEG Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; NEG Zresult.D, Pg/M, Zop.D + /// svint64_t svneg[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; NEG Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Negate(Vector value) => Negate(value); + + /// + /// svfloat32_t svneg[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FNEG Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FNEG Zresult.S, Pg/M, Zop.S + /// svfloat32_t svneg[_f32]_x(svbool_t pg, svfloat32_t op) + /// FNEG Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FNEG Zresult.S, Pg/M, Zop.S + /// svfloat32_t svneg[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FNEG Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Negate(Vector value) => Negate(value); + + /// + /// svfloat64_t svneg[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FNEG Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FNEG Zresult.D, Pg/M, Zop.D + /// svfloat64_t svneg[_f64]_x(svbool_t pg, svfloat64_t op) + /// FNEG Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FNEG Zresult.D, Pg/M, Zop.D + /// svfloat64_t svneg[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FNEG Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Negate(Vector value) => Negate(value); + + + + + /// Not : Bitwise invert + + /// + /// svint8_t svnot[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// NOT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; NOT Zresult.B, Pg/M, Zop.B + /// svint8_t svnot[_s8]_x(svbool_t pg, svint8_t op) + /// NOT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; NOT Zresult.B, Pg/M, Zop.B + /// svint8_t svnot[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; NOT Zresult.B, Pg/M, Zop.B + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) => Not(value); + + /// + /// svint16_t svnot[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// NOT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; NOT Zresult.H, Pg/M, Zop.H + /// svint16_t svnot[_s16]_x(svbool_t pg, svint16_t op) + /// NOT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; NOT Zresult.H, Pg/M, Zop.H + /// svint16_t svnot[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; NOT Zresult.H, Pg/M, Zop.H + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) => Not(value); + + /// + /// svint32_t svnot[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// NOT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; NOT Zresult.S, Pg/M, Zop.S + /// svint32_t svnot[_s32]_x(svbool_t pg, svint32_t op) + /// NOT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; NOT Zresult.S, Pg/M, Zop.S + /// svint32_t svnot[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; NOT Zresult.S, Pg/M, Zop.S + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) => Not(value); + + /// + /// svint64_t svnot[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// NOT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; NOT Zresult.D, Pg/M, Zop.D + /// svint64_t svnot[_s64]_x(svbool_t pg, svint64_t op) + /// NOT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; NOT Zresult.D, Pg/M, Zop.D + /// svint64_t svnot[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; NOT Zresult.D, Pg/M, Zop.D + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) => Not(value); + + /// + /// svuint8_t svnot[_u8]_m(svuint8_t inactive, svbool_t pg, svuint8_t op) + /// NOT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; NOT Zresult.B, Pg/M, Zop.B + /// svuint8_t svnot[_u8]_x(svbool_t pg, svuint8_t op) + /// NOT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; NOT Zresult.B, Pg/M, Zop.B + /// svuint8_t svnot[_u8]_z(svbool_t pg, svuint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; NOT Zresult.B, Pg/M, Zop.B + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) => Not(value); + + /// + /// svuint16_t svnot[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// NOT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; NOT Zresult.H, Pg/M, Zop.H + /// svuint16_t svnot[_u16]_x(svbool_t pg, svuint16_t op) + /// NOT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; NOT Zresult.H, Pg/M, Zop.H + /// svuint16_t svnot[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; NOT Zresult.H, Pg/M, Zop.H + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) => Not(value); + + /// + /// svuint32_t svnot[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// NOT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; NOT Zresult.S, Pg/M, Zop.S + /// svuint32_t svnot[_u32]_x(svbool_t pg, svuint32_t op) + /// NOT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; NOT Zresult.S, Pg/M, Zop.S + /// svuint32_t svnot[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; NOT Zresult.S, Pg/M, Zop.S + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) => Not(value); + + /// + /// svuint64_t svnot[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// NOT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; NOT Zresult.D, Pg/M, Zop.D + /// svuint64_t svnot[_u64]_x(svbool_t pg, svuint64_t op) + /// NOT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; NOT Zresult.D, Pg/M, Zop.D + /// svuint64_t svnot[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; NOT Zresult.D, Pg/M, Zop.D + /// svbool_t svnot[_b]_z(svbool_t pg, svbool_t op) + /// EOR Presult.B, Pg/Z, Pop.B, Pg.B + /// + public static unsafe Vector Not(Vector value) => Not(value); + + + /// Or : Bitwise inclusive OR + + /// + /// svint8_t svorr[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// ORR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ORR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svorr[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// ORR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// ORR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svint8_t svorr[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ORR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; ORR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) => Or(left, right); + + /// + /// svint16_t svorr[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// ORR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ORR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svorr[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// ORR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// ORR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svint16_t svorr[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ORR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; ORR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) => Or(left, right); + + /// + /// svint32_t svorr[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// ORR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ORR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svorr[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// ORR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// ORR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svint32_t svorr[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ORR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; ORR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) => Or(left, right); + + /// + /// svint64_t svorr[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// ORR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ORR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svorr[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// ORR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// ORR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svint64_t svorr[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ORR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; ORR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) => Or(left, right); + + /// + /// svuint8_t svorr[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ORR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ORR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svorr[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ORR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// ORR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svuint8_t svorr[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ORR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; ORR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) => Or(left, right); + + /// + /// svuint16_t svorr[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ORR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ORR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svorr[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ORR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// ORR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svuint16_t svorr[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ORR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; ORR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) => Or(left, right); + + /// + /// svuint32_t svorr[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ORR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ORR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svorr[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ORR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// ORR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svuint32_t svorr[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ORR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; ORR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) => Or(left, right); + + /// + /// svuint64_t svorr[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ORR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ORR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svorr[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ORR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// ORR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// ORR Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svorr[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ORR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; ORR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t svorr[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Or(Vector left, Vector right) => Or(left, right); + + + /// OrAcross : Bitwise inclusive OR reduction to scalar + + /// + /// int8_t svorv[_s8](svbool_t pg, svint8_t op) + /// ORV Bresult, Pg, Zop.B + /// + public static unsafe sbyte OrAcross(Vector value) => OrAcross(value); + + /// + /// int16_t svorv[_s16](svbool_t pg, svint16_t op) + /// ORV Hresult, Pg, Zop.H + /// + public static unsafe short OrAcross(Vector value) => OrAcross(value); + + /// + /// int32_t svorv[_s32](svbool_t pg, svint32_t op) + /// ORV Sresult, Pg, Zop.S + /// + public static unsafe int OrAcross(Vector value) => OrAcross(value); + + /// + /// int64_t svorv[_s64](svbool_t pg, svint64_t op) + /// ORV Dresult, Pg, Zop.D + /// + public static unsafe long OrAcross(Vector value) => OrAcross(value); + + /// + /// uint8_t svorv[_u8](svbool_t pg, svuint8_t op) + /// ORV Bresult, Pg, Zop.B + /// + public static unsafe byte OrAcross(Vector value) => OrAcross(value); + + /// + /// uint16_t svorv[_u16](svbool_t pg, svuint16_t op) + /// ORV Hresult, Pg, Zop.H + /// + public static unsafe ushort OrAcross(Vector value) => OrAcross(value); + + /// + /// uint32_t svorv[_u32](svbool_t pg, svuint32_t op) + /// ORV Sresult, Pg, Zop.S + /// + public static unsafe uint OrAcross(Vector value) => OrAcross(value); + + /// + /// uint64_t svorv[_u64](svbool_t pg, svuint64_t op) + /// ORV Dresult, Pg, Zop.D + /// + public static unsafe ulong OrAcross(Vector value) => OrAcross(value); + + + /// OrNot : Bitwise NOR + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) => OrNot(left, right); + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) => OrNot(left, right); + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) => OrNot(left, right); + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) => OrNot(left, right); + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) => OrNot(left, right); + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) => OrNot(left, right); + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) => OrNot(left, right); + + /// + /// svbool_t svnor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// NOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// svbool_t svorn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// ORN Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector OrNot(Vector left, Vector right) => OrNot(left, right); + + + /// PopCount : Count nonzero bits + + /// + /// svuint8_t svcnt[_s8]_m(svuint8_t inactive, svbool_t pg, svint8_t op) + /// CNT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CNT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnt[_s8]_x(svbool_t pg, svint8_t op) + /// CNT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CNT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnt[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CNT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + /// + /// svuint8_t svcnt[_u8]_m(svuint8_t inactive, svbool_t pg, svuint8_t op) + /// CNT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; CNT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnt[_u8]_x(svbool_t pg, svuint8_t op) + /// CNT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; CNT Zresult.B, Pg/M, Zop.B + /// svuint8_t svcnt[_u8]_z(svbool_t pg, svuint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; CNT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + /// + /// svuint16_t svcnt[_s16]_m(svuint16_t inactive, svbool_t pg, svint16_t op) + /// CNT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_s16]_x(svbool_t pg, svint16_t op) + /// CNT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + /// + /// svuint16_t svcnt[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// CNT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_u16]_x(svbool_t pg, svuint16_t op) + /// CNT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + /// + /// svuint32_t svcnt[_s32]_m(svuint32_t inactive, svbool_t pg, svint32_t op) + /// CNT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_s32]_x(svbool_t pg, svint32_t op) + /// CNT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CNT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + /// + /// svuint32_t svcnt[_f32]_m(svuint32_t inactive, svbool_t pg, svfloat32_t op) + /// CNT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_f32]_x(svbool_t pg, svfloat32_t op) + /// CNT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CNT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + /// + /// svuint32_t svcnt[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// CNT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_u32]_x(svbool_t pg, svuint32_t op) + /// CNT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; CNT Zresult.S, Pg/M, Zop.S + /// svuint32_t svcnt[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; CNT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + /// + /// svuint64_t svcnt[_s64]_m(svuint64_t inactive, svbool_t pg, svint64_t op) + /// CNT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_s64]_x(svbool_t pg, svint64_t op) + /// CNT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CNT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + /// + /// svuint64_t svcnt[_f64]_m(svuint64_t inactive, svbool_t pg, svfloat64_t op) + /// CNT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_f64]_x(svbool_t pg, svfloat64_t op) + /// CNT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CNT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + /// + /// svuint64_t svcnt[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// CNT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_u64]_x(svbool_t pg, svuint64_t op) + /// CNT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; CNT Zresult.D, Pg/M, Zop.D + /// svuint64_t svcnt[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; CNT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + + /// PrefetchBytes : Prefetch bytes + + /// + /// void svprfb(svbool_t pg, const void *base, enum svprfop op) + /// PRFB op, Pg, [Xarray, Xindex] + /// PRFB op, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void PrefetchBytes(Vector mask, const void *base, enum SvePrefetchType op) => PrefetchBytes(mask, void, SvePrefetchType); + + + /// PrefetchInt16 : Prefetch halfwords + + /// + /// void svprfh(svbool_t pg, const void *base, enum svprfop op) + /// PRFH op, Pg, [Xarray, Xindex, LSL #1] + /// PRFH op, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void PrefetchInt16(Vector mask, const void *base, enum SvePrefetchType op) => PrefetchInt16(mask, void, SvePrefetchType); + + + /// PrefetchInt32 : Prefetch words + + /// + /// void svprfw(svbool_t pg, const void *base, enum svprfop op) + /// PRFW op, Pg, [Xarray, Xindex, LSL #2] + /// PRFW op, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void PrefetchInt32(Vector mask, const void *base, enum SvePrefetchType op) => PrefetchInt32(mask, void, SvePrefetchType); + + + /// PrefetchInt64 : Prefetch doublewords + + /// + /// void svprfd(svbool_t pg, const void *base, enum svprfop op) + /// PRFD op, Pg, [Xarray, Xindex, LSL #3] + /// PRFD op, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void PrefetchInt64(Vector mask, const void *base, enum SvePrefetchType op) => PrefetchInt64(mask, void, SvePrefetchType); + + + /// PropagateBreak : Propagate break to next partition + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) => PropagateBreak(left, right); + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) => PropagateBreak(left, right); + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) => PropagateBreak(left, right); + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) => PropagateBreak(left, right); + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) => PropagateBreak(left, right); + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) => PropagateBreak(left, right); + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) => PropagateBreak(left, right); + + /// + /// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B + /// + public static unsafe Vector PropagateBreak(Vector left, Vector right) => PropagateBreak(left, right); + + + /// ReciprocalEstimate : Reciprocal estimate + + /// + /// svfloat32_t svrecpe[_f32](svfloat32_t op) + /// FRECPE Zresult.S, Zop.S + /// + public static unsafe Vector ReciprocalEstimate(Vector value) => ReciprocalEstimate(value); + + /// + /// svfloat64_t svrecpe[_f64](svfloat64_t op) + /// FRECPE Zresult.D, Zop.D + /// + public static unsafe Vector ReciprocalEstimate(Vector value) => ReciprocalEstimate(value); + + + /// ReciprocalExponent : Reciprocal exponent + + /// + /// svfloat32_t svrecpx[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRECPX Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRECPX Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrecpx[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRECPX Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRECPX Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrecpx[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRECPX Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReciprocalExponent(Vector value) => ReciprocalExponent(value); + + /// + /// svfloat64_t svrecpx[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRECPX Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRECPX Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrecpx[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRECPX Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRECPX Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrecpx[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRECPX Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReciprocalExponent(Vector value) => ReciprocalExponent(value); + + + /// ReciprocalSqrtEstimate : Reciprocal square root estimate + + /// + /// svfloat32_t svrsqrte[_f32](svfloat32_t op) + /// FRSQRTE Zresult.S, Zop.S + /// + public static unsafe Vector ReciprocalSqrtEstimate(Vector value) => ReciprocalSqrtEstimate(value); + + /// + /// svfloat64_t svrsqrte[_f64](svfloat64_t op) + /// FRSQRTE Zresult.D, Zop.D + /// + public static unsafe Vector ReciprocalSqrtEstimate(Vector value) => ReciprocalSqrtEstimate(value); + + + /// ReciprocalSqrtStep : Reciprocal square root step + + /// + /// svfloat32_t svrsqrts[_f32](svfloat32_t op1, svfloat32_t op2) + /// FRSQRTS Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ReciprocalSqrtStep(Vector left, Vector right) => ReciprocalSqrtStep(left, right); + + /// + /// svfloat64_t svrsqrts[_f64](svfloat64_t op1, svfloat64_t op2) + /// FRSQRTS Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ReciprocalSqrtStep(Vector left, Vector right) => ReciprocalSqrtStep(left, right); + + + /// ReciprocalStep : Reciprocal step + + /// + /// svfloat32_t svrecps[_f32](svfloat32_t op1, svfloat32_t op2) + /// FRECPS Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ReciprocalStep(Vector left, Vector right) => ReciprocalStep(left, right); + + /// + /// svfloat64_t svrecps[_f64](svfloat64_t op1, svfloat64_t op2) + /// FRECPS Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ReciprocalStep(Vector left, Vector right) => ReciprocalStep(left, right); + + + /// ReverseBits : Reverse bits + + /// + /// svint8_t svrbit[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// RBIT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.B, Pg/M, Zop.B + /// svint8_t svrbit[_s8]_x(svbool_t pg, svint8_t op) + /// RBIT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; RBIT Zresult.B, Pg/M, Zop.B + /// svint8_t svrbit[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; RBIT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector ReverseBits(Vector value) => ReverseBits(value); + + /// + /// svint16_t svrbit[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// RBIT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.H, Pg/M, Zop.H + /// svint16_t svrbit[_s16]_x(svbool_t pg, svint16_t op) + /// RBIT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; RBIT Zresult.H, Pg/M, Zop.H + /// svint16_t svrbit[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; RBIT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ReverseBits(Vector value) => ReverseBits(value); + + /// + /// svint32_t svrbit[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// RBIT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.S, Pg/M, Zop.S + /// svint32_t svrbit[_s32]_x(svbool_t pg, svint32_t op) + /// RBIT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; RBIT Zresult.S, Pg/M, Zop.S + /// svint32_t svrbit[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; RBIT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseBits(Vector value) => ReverseBits(value); + + /// + /// svint64_t svrbit[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// RBIT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.D, Pg/M, Zop.D + /// svint64_t svrbit[_s64]_x(svbool_t pg, svint64_t op) + /// RBIT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; RBIT Zresult.D, Pg/M, Zop.D + /// svint64_t svrbit[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; RBIT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseBits(Vector value) => ReverseBits(value); + + /// + /// svuint8_t svrbit[_u8]_m(svuint8_t inactive, svbool_t pg, svuint8_t op) + /// RBIT Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.B, Pg/M, Zop.B + /// svuint8_t svrbit[_u8]_x(svbool_t pg, svuint8_t op) + /// RBIT Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; RBIT Zresult.B, Pg/M, Zop.B + /// svuint8_t svrbit[_u8]_z(svbool_t pg, svuint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; RBIT Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector ReverseBits(Vector value) => ReverseBits(value); + + /// + /// svuint16_t svrbit[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// RBIT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.H, Pg/M, Zop.H + /// svuint16_t svrbit[_u16]_x(svbool_t pg, svuint16_t op) + /// RBIT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; RBIT Zresult.H, Pg/M, Zop.H + /// svuint16_t svrbit[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; RBIT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ReverseBits(Vector value) => ReverseBits(value); + + /// + /// svuint32_t svrbit[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// RBIT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.S, Pg/M, Zop.S + /// svuint32_t svrbit[_u32]_x(svbool_t pg, svuint32_t op) + /// RBIT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; RBIT Zresult.S, Pg/M, Zop.S + /// svuint32_t svrbit[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; RBIT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseBits(Vector value) => ReverseBits(value); + + /// + /// svuint64_t svrbit[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// RBIT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; RBIT Zresult.D, Pg/M, Zop.D + /// svuint64_t svrbit[_u64]_x(svbool_t pg, svuint64_t op) + /// RBIT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; RBIT Zresult.D, Pg/M, Zop.D + /// svuint64_t svrbit[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; RBIT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseBits(Vector value) => ReverseBits(value); + + + /// ReverseBytesWithinElements : Reverse bytes within elements + + /// + /// svint16_t svrevb[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// REVB Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; REVB Zresult.H, Pg/M, Zop.H + /// svint16_t svrevb[_s16]_x(svbool_t pg, svint16_t op) + /// REVB Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; REVB Zresult.H, Pg/M, Zop.H + /// svint16_t svrevb[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; REVB Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) => ReverseBytesWithinElements(value); + + /// + /// svint32_t svrevb[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// REVB Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; REVB Zresult.S, Pg/M, Zop.S + /// svint32_t svrevb[_s32]_x(svbool_t pg, svint32_t op) + /// REVB Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; REVB Zresult.S, Pg/M, Zop.S + /// svint32_t svrevb[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; REVB Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) => ReverseBytesWithinElements(value); + + /// + /// svint64_t svrevb[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// REVB Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVB Zresult.D, Pg/M, Zop.D + /// svint64_t svrevb[_s64]_x(svbool_t pg, svint64_t op) + /// REVB Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVB Zresult.D, Pg/M, Zop.D + /// svint64_t svrevb[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVB Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) => ReverseBytesWithinElements(value); + + /// + /// svuint16_t svrevb[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// REVB Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; REVB Zresult.H, Pg/M, Zop.H + /// svuint16_t svrevb[_u16]_x(svbool_t pg, svuint16_t op) + /// REVB Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; REVB Zresult.H, Pg/M, Zop.H + /// svuint16_t svrevb[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; REVB Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) => ReverseBytesWithinElements(value); + + /// + /// svuint32_t svrevb[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// REVB Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; REVB Zresult.S, Pg/M, Zop.S + /// svuint32_t svrevb[_u32]_x(svbool_t pg, svuint32_t op) + /// REVB Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; REVB Zresult.S, Pg/M, Zop.S + /// svuint32_t svrevb[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; REVB Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) => ReverseBytesWithinElements(value); + + /// + /// svuint64_t svrevb[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// REVB Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVB Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevb[_u64]_x(svbool_t pg, svuint64_t op) + /// REVB Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVB Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevb[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVB Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseBytesWithinElements(Vector value) => ReverseBytesWithinElements(value); + + + /// ReverseElement : Reverse all elements + + /// + /// svint8_t svrev[_s8](svint8_t op) + /// REV Zresult.B, Zop.B + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + /// + /// svint16_t svrev[_s16](svint16_t op) + /// REV Zresult.H, Zop.H + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + /// + /// svint32_t svrev[_s32](svint32_t op) + /// REV Zresult.S, Zop.S + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + /// + /// svint64_t svrev[_s64](svint64_t op) + /// REV Zresult.D, Zop.D + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + /// + /// svuint8_t svrev[_u8](svuint8_t op) + /// REV Zresult.B, Zop.B + /// svbool_t svrev_b8(svbool_t op) + /// REV Presult.B, Pop.B + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + /// + /// svuint16_t svrev[_u16](svuint16_t op) + /// REV Zresult.H, Zop.H + /// svbool_t svrev_b16(svbool_t op) + /// REV Presult.H, Pop.H + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + /// + /// svuint32_t svrev[_u32](svuint32_t op) + /// REV Zresult.S, Zop.S + /// svbool_t svrev_b32(svbool_t op) + /// REV Presult.S, Pop.S + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + /// + /// svuint64_t svrev[_u64](svuint64_t op) + /// REV Zresult.D, Zop.D + /// svbool_t svrev_b64(svbool_t op) + /// REV Presult.D, Pop.D + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + /// + /// svfloat32_t svrev[_f32](svfloat32_t op) + /// REV Zresult.S, Zop.S + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + /// + /// svfloat64_t svrev[_f64](svfloat64_t op) + /// REV Zresult.D, Zop.D + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + + /// ReverseInt16WithinElements : Reverse halfwords within elements + + /// + /// svint32_t svrevh[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// REVH Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; REVH Zresult.S, Pg/M, Zop.S + /// svint32_t svrevh[_s32]_x(svbool_t pg, svint32_t op) + /// REVH Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; REVH Zresult.S, Pg/M, Zop.S + /// svint32_t svrevh[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; REVH Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseInt16WithinElements(Vector value) => ReverseInt16WithinElements(value); + + /// + /// svint64_t svrevh[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// REVH Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVH Zresult.D, Pg/M, Zop.D + /// svint64_t svrevh[_s64]_x(svbool_t pg, svint64_t op) + /// REVH Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVH Zresult.D, Pg/M, Zop.D + /// svint64_t svrevh[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVH Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseInt16WithinElements(Vector value) => ReverseInt16WithinElements(value); + + /// + /// svuint32_t svrevh[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// REVH Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; REVH Zresult.S, Pg/M, Zop.S + /// svuint32_t svrevh[_u32]_x(svbool_t pg, svuint32_t op) + /// REVH Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; REVH Zresult.S, Pg/M, Zop.S + /// svuint32_t svrevh[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; REVH Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReverseInt16WithinElements(Vector value) => ReverseInt16WithinElements(value); + + /// + /// svuint64_t svrevh[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// REVH Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVH Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevh[_u64]_x(svbool_t pg, svuint64_t op) + /// REVH Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVH Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevh[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVH Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseInt16WithinElements(Vector value) => ReverseInt16WithinElements(value); + + + /// ReverseInt32WithinElements : Reverse words within elements + + /// + /// svint64_t svrevw[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// REVW Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVW Zresult.D, Pg/M, Zop.D + /// svint64_t svrevw[_s64]_x(svbool_t pg, svint64_t op) + /// REVW Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVW Zresult.D, Pg/M, Zop.D + /// svint64_t svrevw[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVW Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseInt32WithinElements(Vector value) => ReverseInt32WithinElements(value); + + /// + /// svuint64_t svrevw[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// REVW Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; REVW Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevw[_u64]_x(svbool_t pg, svuint64_t op) + /// REVW Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; REVW Zresult.D, Pg/M, Zop.D + /// svuint64_t svrevw[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; REVW Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ReverseInt32WithinElements(Vector value) => ReverseInt32WithinElements(value); + + + /// RoundAwayFromZero : Round to nearest, ties away from zero + + /// + /// svfloat32_t svrinta[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRINTA Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRINTA Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrinta[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRINTA Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRINTA Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrinta[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRINTA Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector RoundAwayFromZero(Vector value) => RoundAwayFromZero(value); + + /// + /// svfloat64_t svrinta[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRINTA Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRINTA Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrinta[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRINTA Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRINTA Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrinta[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRINTA Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector RoundAwayFromZero(Vector value) => RoundAwayFromZero(value); + + + /// RoundToNearest : Round to nearest, ties to even + + /// + /// svfloat32_t svrintn[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRINTN Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRINTN Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintn[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRINTN Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRINTN Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintn[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRINTN Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector RoundToNearest(Vector value) => RoundToNearest(value); + + /// + /// svfloat64_t svrintn[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRINTN Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRINTN Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintn[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRINTN Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRINTN Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintn[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRINTN Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector RoundToNearest(Vector value) => RoundToNearest(value); + + + /// RoundToNegativeInfinity : Round towards -∞ + + /// + /// svfloat32_t svrintm[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRINTM Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRINTM Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintm[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRINTM Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRINTM Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintm[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRINTM Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector RoundToNegativeInfinity(Vector value) => RoundToNegativeInfinity(value); + + /// + /// svfloat64_t svrintm[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRINTM Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRINTM Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintm[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRINTM Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRINTM Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintm[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRINTM Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector RoundToNegativeInfinity(Vector value) => RoundToNegativeInfinity(value); + + + /// RoundToPositiveInfinity : Round towards +∞ + + /// + /// svfloat32_t svrintp[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRINTP Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRINTP Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintp[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRINTP Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRINTP Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintp[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRINTP Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector RoundToPositiveInfinity(Vector value) => RoundToPositiveInfinity(value); + + /// + /// svfloat64_t svrintp[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRINTP Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRINTP Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintp[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRINTP Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRINTP Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintp[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRINTP Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector RoundToPositiveInfinity(Vector value) => RoundToPositiveInfinity(value); + + + /// RoundToZero : Round towards zero + + /// + /// svfloat32_t svrintz[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FRINTZ Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FRINTZ Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintz[_f32]_x(svbool_t pg, svfloat32_t op) + /// FRINTZ Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FRINTZ Zresult.S, Pg/M, Zop.S + /// svfloat32_t svrintz[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FRINTZ Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector RoundToZero(Vector value) => RoundToZero(value); + + /// + /// svfloat64_t svrintz[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FRINTZ Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FRINTZ Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintz[_f64]_x(svbool_t pg, svfloat64_t op) + /// FRINTZ Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FRINTZ Zresult.D, Pg/M, Zop.D + /// svfloat64_t svrintz[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FRINTZ Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector RoundToZero(Vector value) => RoundToZero(value); + + + + + /// SaturatingDecrementByActiveElementCount : Saturating decrement by active element count + + /// + /// svint16_t svqdecp[_s16](svint16_t op, svbool_t pg) + /// SQDECP Ztied.H, Pg + /// MOVPRFX Zresult, Zop; SQDECP Zresult.H, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// svint32_t svqdecp[_s32](svint32_t op, svbool_t pg) + /// SQDECP Ztied.S, Pg + /// MOVPRFX Zresult, Zop; SQDECP Zresult.S, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// svint64_t svqdecp[_s64](svint64_t op, svbool_t pg) + /// SQDECP Ztied.D, Pg + /// MOVPRFX Zresult, Zop; SQDECP Zresult.D, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// int32_t svqdecp[_n_s32]_b8(int32_t op, svbool_t pg) + /// SQDECP Xtied, Pg.B, Wtied + /// + public static unsafe int SaturatingDecrementByActiveElementCount(int op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// int64_t svqdecp[_n_s64]_b8(int64_t op, svbool_t pg) + /// SQDECP Xtied, Pg.B + /// + public static unsafe long SaturatingDecrementByActiveElementCount(long op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// uint32_t svqdecp[_n_u32]_b8(uint32_t op, svbool_t pg) + /// UQDECP Wtied, Pg.B + /// + public static unsafe uint SaturatingDecrementByActiveElementCount(uint op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// uint64_t svqdecp[_n_u64]_b8(uint64_t op, svbool_t pg) + /// UQDECP Xtied, Pg.B + /// + public static unsafe ulong SaturatingDecrementByActiveElementCount(ulong op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// int32_t svqdecp[_n_s32]_b16(int32_t op, svbool_t pg) + /// SQDECP Xtied, Pg.H, Wtied + /// + public static unsafe int SaturatingDecrementByActiveElementCount(int op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// int64_t svqdecp[_n_s64]_b16(int64_t op, svbool_t pg) + /// SQDECP Xtied, Pg.H + /// + public static unsafe long SaturatingDecrementByActiveElementCount(long op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// uint32_t svqdecp[_n_u32]_b16(uint32_t op, svbool_t pg) + /// UQDECP Wtied, Pg.H + /// + public static unsafe uint SaturatingDecrementByActiveElementCount(uint op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// uint64_t svqdecp[_n_u64]_b16(uint64_t op, svbool_t pg) + /// UQDECP Xtied, Pg.H + /// + public static unsafe ulong SaturatingDecrementByActiveElementCount(ulong op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// svuint16_t svqdecp[_u16](svuint16_t op, svbool_t pg) + /// UQDECP Ztied.H, Pg + /// MOVPRFX Zresult, Zop; UQDECP Zresult.H, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// int32_t svqdecp[_n_s32]_b32(int32_t op, svbool_t pg) + /// SQDECP Xtied, Pg.S, Wtied + /// + public static unsafe int SaturatingDecrementByActiveElementCount(int op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// int64_t svqdecp[_n_s64]_b32(int64_t op, svbool_t pg) + /// SQDECP Xtied, Pg.S + /// + public static unsafe long SaturatingDecrementByActiveElementCount(long op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// uint32_t svqdecp[_n_u32]_b32(uint32_t op, svbool_t pg) + /// UQDECP Wtied, Pg.S + /// + public static unsafe uint SaturatingDecrementByActiveElementCount(uint op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// uint64_t svqdecp[_n_u64]_b32(uint64_t op, svbool_t pg) + /// UQDECP Xtied, Pg.S + /// + public static unsafe ulong SaturatingDecrementByActiveElementCount(ulong op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// svuint32_t svqdecp[_u32](svuint32_t op, svbool_t pg) + /// UQDECP Ztied.S, Pg + /// MOVPRFX Zresult, Zop; UQDECP Zresult.S, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// int32_t svqdecp[_n_s32]_b64(int32_t op, svbool_t pg) + /// SQDECP Xtied, Pg.D, Wtied + /// + public static unsafe int SaturatingDecrementByActiveElementCount(int op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// int64_t svqdecp[_n_s64]_b64(int64_t op, svbool_t pg) + /// SQDECP Xtied, Pg.D + /// + public static unsafe long SaturatingDecrementByActiveElementCount(long op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// uint32_t svqdecp[_n_u32]_b64(uint32_t op, svbool_t pg) + /// UQDECP Wtied, Pg.D + /// + public static unsafe uint SaturatingDecrementByActiveElementCount(uint op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// uint64_t svqdecp[_n_u64]_b64(uint64_t op, svbool_t pg) + /// UQDECP Xtied, Pg.D + /// + public static unsafe ulong SaturatingDecrementByActiveElementCount(ulong op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + /// + /// svuint64_t svqdecp[_u64](svuint64_t op, svbool_t pg) + /// UQDECP Ztied.D, Pg + /// MOVPRFX Zresult, Zop; UQDECP Zresult.D, Pg + /// + public static unsafe Vector SaturatingDecrementByActiveElementCount(Vector op, Vector from) => SaturatingDecrementByActiveElementCount(op, from); + + + /// SaturatingDecrementByteElementCount : Saturating decrement by number of byte elements + + /// + /// int32_t svqdecb[_n_s32](int32_t op, uint64_t imm_factor) + /// SQDECB Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementByteElementCount(int op, ulong imm_factor) => SaturatingDecrementByteElementCount(op, imm_factor); + + /// + /// int64_t svqdecb[_n_s64](int64_t op, uint64_t imm_factor) + /// SQDECB Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementByteElementCount(long op, ulong imm_factor) => SaturatingDecrementByteElementCount(op, imm_factor); + + /// + /// uint32_t svqdecb[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQDECB Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementByteElementCount(uint op, ulong imm_factor) => SaturatingDecrementByteElementCount(op, imm_factor); + + /// + /// uint64_t svqdecb[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQDECB Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementByteElementCount(ulong op, ulong imm_factor) => SaturatingDecrementByteElementCount(op, imm_factor); + + /// + /// int32_t svqdecb_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECB Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementByteElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementByteElementCount(op, SveMaskPattern, imm_factor); + + /// + /// int64_t svqdecb_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECB Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementByteElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementByteElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint32_t svqdecb_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECB Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementByteElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementByteElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint64_t svqdecb_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECB Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementByteElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementByteElementCount(op, SveMaskPattern, imm_factor); + + + /// SaturatingDecrementInt16ElementCount : Saturating decrement by number of halfword elements + + /// + /// int32_t svqdech[_n_s32](int32_t op, uint64_t imm_factor) + /// SQDECH Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt16ElementCount(int op, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, imm_factor); + + /// + /// int64_t svqdech[_n_s64](int64_t op, uint64_t imm_factor) + /// SQDECH Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt16ElementCount(long op, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, imm_factor); + + /// + /// uint32_t svqdech[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQDECH Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt16ElementCount(uint op, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, imm_factor); + + /// + /// uint64_t svqdech[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQDECH Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt16ElementCount(ulong op, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, imm_factor); + + /// + /// int32_t svqdech_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECH Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt16ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// int64_t svqdech_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECH Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt16ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint32_t svqdech_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECH Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt16ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint64_t svqdech_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECH Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt16ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svint16_t svqdech[_s16](svint16_t op, uint64_t imm_factor) + /// SQDECH Ztied.H, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECH Zresult.H, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt16ElementCount(Vector op, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, imm_factor); + + /// + /// svint16_t svqdech_pat[_s16](svint16_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECH Ztied.H, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECH Zresult.H, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt16ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svuint16_t svqdech[_u16](svuint16_t op, uint64_t imm_factor) + /// UQDECH Ztied.H, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECH Zresult.H, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt16ElementCount(Vector op, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, imm_factor); + + /// + /// svuint16_t svqdech_pat[_u16](svuint16_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECH Ztied.H, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECH Zresult.H, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt16ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + + /// SaturatingDecrementInt32ElementCount : Saturating decrement by number of word elements + + /// + /// int32_t svqdecw[_n_s32](int32_t op, uint64_t imm_factor) + /// SQDECW Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt32ElementCount(int op, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, imm_factor); + + /// + /// int64_t svqdecw[_n_s64](int64_t op, uint64_t imm_factor) + /// SQDECW Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt32ElementCount(long op, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, imm_factor); + + /// + /// uint32_t svqdecw[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQDECW Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt32ElementCount(uint op, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, imm_factor); + + /// + /// uint64_t svqdecw[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQDECW Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt32ElementCount(ulong op, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, imm_factor); + + /// + /// int32_t svqdecw_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECW Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt32ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// int64_t svqdecw_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECW Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt32ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint32_t svqdecw_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECW Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt32ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint64_t svqdecw_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECW Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt32ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svint32_t svqdecw[_s32](svint32_t op, uint64_t imm_factor) + /// SQDECW Ztied.S, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECW Zresult.S, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt32ElementCount(Vector op, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, imm_factor); + + /// + /// svint32_t svqdecw_pat[_s32](svint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECW Ztied.S, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECW Zresult.S, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt32ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svuint32_t svqdecw[_u32](svuint32_t op, uint64_t imm_factor) + /// UQDECW Ztied.S, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECW Zresult.S, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt32ElementCount(Vector op, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, imm_factor); + + /// + /// svuint32_t svqdecw_pat[_u32](svuint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECW Ztied.S, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECW Zresult.S, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt32ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + + /// SaturatingDecrementInt64ElementCount : Saturating decrement by number of doubleword elements + + /// + /// int32_t svqdecd[_n_s32](int32_t op, uint64_t imm_factor) + /// SQDECD Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt64ElementCount(int op, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, imm_factor); + + /// + /// int64_t svqdecd[_n_s64](int64_t op, uint64_t imm_factor) + /// SQDECD Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt64ElementCount(long op, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, imm_factor); + + /// + /// uint32_t svqdecd[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQDECD Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt64ElementCount(uint op, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, imm_factor); + + /// + /// uint64_t svqdecd[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQDECD Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt64ElementCount(ulong op, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, imm_factor); + + /// + /// int32_t svqdecd_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECD Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingDecrementInt64ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// int64_t svqdecd_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECD Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingDecrementInt64ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint32_t svqdecd_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECD Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingDecrementInt64ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint64_t svqdecd_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECD Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingDecrementInt64ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svint64_t svqdecd[_s64](svint64_t op, uint64_t imm_factor) + /// SQDECD Ztied.D, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECD Zresult.D, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt64ElementCount(Vector op, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, imm_factor); + + /// + /// svint64_t svqdecd_pat[_s64](svint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQDECD Ztied.D, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQDECD Zresult.D, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt64ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svuint64_t svqdecd[_u64](svuint64_t op, uint64_t imm_factor) + /// UQDECD Ztied.D, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECD Zresult.D, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt64ElementCount(Vector op, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, imm_factor); + + /// + /// svuint64_t svqdecd_pat[_u64](svuint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQDECD Ztied.D, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQDECD Zresult.D, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingDecrementInt64ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingDecrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + + /// SaturatingIncrementByActiveElementCount : Saturating increment by active element count + + /// + /// svint16_t svqincp[_s16](svint16_t op, svbool_t pg) + /// SQINCP Ztied.H, Pg + /// MOVPRFX Zresult, Zop; SQINCP Zresult.H, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// svint32_t svqincp[_s32](svint32_t op, svbool_t pg) + /// SQINCP Ztied.S, Pg + /// MOVPRFX Zresult, Zop; SQINCP Zresult.S, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// svint64_t svqincp[_s64](svint64_t op, svbool_t pg) + /// SQINCP Ztied.D, Pg + /// MOVPRFX Zresult, Zop; SQINCP Zresult.D, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// int32_t svqincp[_n_s32]_b8(int32_t op, svbool_t pg) + /// SQINCP Xtied, Pg.B, Wtied + /// + public static unsafe int SaturatingIncrementByActiveElementCount(int op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// int64_t svqincp[_n_s64]_b8(int64_t op, svbool_t pg) + /// SQINCP Xtied, Pg.B + /// + public static unsafe long SaturatingIncrementByActiveElementCount(long op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// uint32_t svqincp[_n_u32]_b8(uint32_t op, svbool_t pg) + /// UQINCP Wtied, Pg.B + /// + public static unsafe uint SaturatingIncrementByActiveElementCount(uint op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// uint64_t svqincp[_n_u64]_b8(uint64_t op, svbool_t pg) + /// UQINCP Xtied, Pg.B + /// + public static unsafe ulong SaturatingIncrementByActiveElementCount(ulong op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// int32_t svqincp[_n_s32]_b16(int32_t op, svbool_t pg) + /// SQINCP Xtied, Pg.H, Wtied + /// + public static unsafe int SaturatingIncrementByActiveElementCount(int op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// int64_t svqincp[_n_s64]_b16(int64_t op, svbool_t pg) + /// SQINCP Xtied, Pg.H + /// + public static unsafe long SaturatingIncrementByActiveElementCount(long op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// uint32_t svqincp[_n_u32]_b16(uint32_t op, svbool_t pg) + /// UQINCP Wtied, Pg.H + /// + public static unsafe uint SaturatingIncrementByActiveElementCount(uint op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// uint64_t svqincp[_n_u64]_b16(uint64_t op, svbool_t pg) + /// UQINCP Xtied, Pg.H + /// + public static unsafe ulong SaturatingIncrementByActiveElementCount(ulong op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// svuint16_t svqincp[_u16](svuint16_t op, svbool_t pg) + /// UQINCP Ztied.H, Pg + /// MOVPRFX Zresult, Zop; UQINCP Zresult.H, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// int32_t svqincp[_n_s32]_b32(int32_t op, svbool_t pg) + /// SQINCP Xtied, Pg.S, Wtied + /// + public static unsafe int SaturatingIncrementByActiveElementCount(int op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// int64_t svqincp[_n_s64]_b32(int64_t op, svbool_t pg) + /// SQINCP Xtied, Pg.S + /// + public static unsafe long SaturatingIncrementByActiveElementCount(long op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// uint32_t svqincp[_n_u32]_b32(uint32_t op, svbool_t pg) + /// UQINCP Wtied, Pg.S + /// + public static unsafe uint SaturatingIncrementByActiveElementCount(uint op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// uint64_t svqincp[_n_u64]_b32(uint64_t op, svbool_t pg) + /// UQINCP Xtied, Pg.S + /// + public static unsafe ulong SaturatingIncrementByActiveElementCount(ulong op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// svuint32_t svqincp[_u32](svuint32_t op, svbool_t pg) + /// UQINCP Ztied.S, Pg + /// MOVPRFX Zresult, Zop; UQINCP Zresult.S, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// int32_t svqincp[_n_s32]_b64(int32_t op, svbool_t pg) + /// SQINCP Xtied, Pg.D, Wtied + /// + public static unsafe int SaturatingIncrementByActiveElementCount(int op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// int64_t svqincp[_n_s64]_b64(int64_t op, svbool_t pg) + /// SQINCP Xtied, Pg.D + /// + public static unsafe long SaturatingIncrementByActiveElementCount(long op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// uint32_t svqincp[_n_u32]_b64(uint32_t op, svbool_t pg) + /// UQINCP Wtied, Pg.D + /// + public static unsafe uint SaturatingIncrementByActiveElementCount(uint op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// uint64_t svqincp[_n_u64]_b64(uint64_t op, svbool_t pg) + /// UQINCP Xtied, Pg.D + /// + public static unsafe ulong SaturatingIncrementByActiveElementCount(ulong op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + /// + /// svuint64_t svqincp[_u64](svuint64_t op, svbool_t pg) + /// UQINCP Ztied.D, Pg + /// MOVPRFX Zresult, Zop; UQINCP Zresult.D, Pg + /// + public static unsafe Vector SaturatingIncrementByActiveElementCount(Vector op, Vector from) => SaturatingIncrementByActiveElementCount(op, from); + + + /// SaturatingIncrementByteElementCount : Saturating increment by number of byte elements + + /// + /// int32_t svqincb[_n_s32](int32_t op, uint64_t imm_factor) + /// SQINCB Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementByteElementCount(int op, ulong imm_factor) => SaturatingIncrementByteElementCount(op, imm_factor); + + /// + /// int64_t svqincb[_n_s64](int64_t op, uint64_t imm_factor) + /// SQINCB Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementByteElementCount(long op, ulong imm_factor) => SaturatingIncrementByteElementCount(op, imm_factor); + + /// + /// uint32_t svqincb[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQINCB Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementByteElementCount(uint op, ulong imm_factor) => SaturatingIncrementByteElementCount(op, imm_factor); + + /// + /// uint64_t svqincb[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQINCB Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementByteElementCount(ulong op, ulong imm_factor) => SaturatingIncrementByteElementCount(op, imm_factor); + + /// + /// int32_t svqincb_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCB Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementByteElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementByteElementCount(op, SveMaskPattern, imm_factor); + + /// + /// int64_t svqincb_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCB Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementByteElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementByteElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint32_t svqincb_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCB Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementByteElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementByteElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint64_t svqincb_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCB Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementByteElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementByteElementCount(op, SveMaskPattern, imm_factor); + + + /// SaturatingIncrementInt16ElementCount : Saturating increment by number of halfword elements + + /// + /// int32_t svqinch[_n_s32](int32_t op, uint64_t imm_factor) + /// SQINCH Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt16ElementCount(int op, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, imm_factor); + + /// + /// int64_t svqinch[_n_s64](int64_t op, uint64_t imm_factor) + /// SQINCH Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt16ElementCount(long op, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, imm_factor); + + /// + /// uint32_t svqinch[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQINCH Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt16ElementCount(uint op, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, imm_factor); + + /// + /// uint64_t svqinch[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQINCH Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt16ElementCount(ulong op, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, imm_factor); + + /// + /// int32_t svqinch_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCH Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt16ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// int64_t svqinch_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCH Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt16ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint32_t svqinch_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCH Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt16ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint64_t svqinch_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCH Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt16ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svint16_t svqinch[_s16](svint16_t op, uint64_t imm_factor) + /// SQINCH Ztied.H, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCH Zresult.H, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt16ElementCount(Vector op, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, imm_factor); + + /// + /// svint16_t svqinch_pat[_s16](svint16_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCH Ztied.H, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCH Zresult.H, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt16ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svuint16_t svqinch[_u16](svuint16_t op, uint64_t imm_factor) + /// UQINCH Ztied.H, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCH Zresult.H, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt16ElementCount(Vector op, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, imm_factor); + + /// + /// svuint16_t svqinch_pat[_u16](svuint16_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCH Ztied.H, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCH Zresult.H, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt16ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt16ElementCount(op, SveMaskPattern, imm_factor); + + + /// SaturatingIncrementInt32ElementCount : Saturating increment by number of word elements + + /// + /// int32_t svqincw[_n_s32](int32_t op, uint64_t imm_factor) + /// SQINCW Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt32ElementCount(int op, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, imm_factor); + + /// + /// int64_t svqincw[_n_s64](int64_t op, uint64_t imm_factor) + /// SQINCW Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt32ElementCount(long op, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, imm_factor); + + /// + /// uint32_t svqincw[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQINCW Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt32ElementCount(uint op, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, imm_factor); + + /// + /// uint64_t svqincw[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQINCW Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt32ElementCount(ulong op, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, imm_factor); + + /// + /// int32_t svqincw_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCW Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt32ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// int64_t svqincw_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCW Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt32ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint32_t svqincw_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCW Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt32ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint64_t svqincw_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCW Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt32ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svint32_t svqincw[_s32](svint32_t op, uint64_t imm_factor) + /// SQINCW Ztied.S, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCW Zresult.S, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt32ElementCount(Vector op, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, imm_factor); + + /// + /// svint32_t svqincw_pat[_s32](svint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCW Ztied.S, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCW Zresult.S, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt32ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svuint32_t svqincw[_u32](svuint32_t op, uint64_t imm_factor) + /// UQINCW Ztied.S, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCW Zresult.S, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt32ElementCount(Vector op, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, imm_factor); + + /// + /// svuint32_t svqincw_pat[_u32](svuint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCW Ztied.S, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCW Zresult.S, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt32ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt32ElementCount(op, SveMaskPattern, imm_factor); + + + /// SaturatingIncrementInt64ElementCount : Saturating increment by number of doubleword elements + + /// + /// int32_t svqincd[_n_s32](int32_t op, uint64_t imm_factor) + /// SQINCD Xtied, Wtied, ALL, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt64ElementCount(int op, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, imm_factor); + + /// + /// int64_t svqincd[_n_s64](int64_t op, uint64_t imm_factor) + /// SQINCD Xtied, ALL, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt64ElementCount(long op, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, imm_factor); + + /// + /// uint32_t svqincd[_n_u32](uint32_t op, uint64_t imm_factor) + /// UQINCD Wtied, ALL, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt64ElementCount(uint op, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, imm_factor); + + /// + /// uint64_t svqincd[_n_u64](uint64_t op, uint64_t imm_factor) + /// UQINCD Xtied, ALL, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt64ElementCount(ulong op, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, imm_factor); + + /// + /// int32_t svqincd_pat[_n_s32](int32_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCD Xtied, Wtied, pattern, MUL #imm_factor + /// + public static unsafe int SaturatingIncrementInt64ElementCount(int op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// int64_t svqincd_pat[_n_s64](int64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCD Xtied, pattern, MUL #imm_factor + /// + public static unsafe long SaturatingIncrementInt64ElementCount(long op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint32_t svqincd_pat[_n_u32](uint32_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCD Wtied, pattern, MUL #imm_factor + /// + public static unsafe uint SaturatingIncrementInt64ElementCount(uint op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// uint64_t svqincd_pat[_n_u64](uint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCD Xtied, pattern, MUL #imm_factor + /// + public static unsafe ulong SaturatingIncrementInt64ElementCount(ulong op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svint64_t svqincd[_s64](svint64_t op, uint64_t imm_factor) + /// SQINCD Ztied.D, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCD Zresult.D, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt64ElementCount(Vector op, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, imm_factor); + + /// + /// svint64_t svqincd_pat[_s64](svint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// SQINCD Ztied.D, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; SQINCD Zresult.D, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt64ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + /// + /// svuint64_t svqincd[_u64](svuint64_t op, uint64_t imm_factor) + /// UQINCD Ztied.D, ALL, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCD Zresult.D, ALL, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt64ElementCount(Vector op, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, imm_factor); + + /// + /// svuint64_t svqincd_pat[_u64](svuint64_t op, enum svpattern pattern, uint64_t imm_factor) + /// UQINCD Ztied.D, pattern, MUL #imm_factor + /// MOVPRFX Zresult, Zop; UQINCD Zresult.D, pattern, MUL #imm_factor + /// + public static unsafe Vector SaturatingIncrementInt64ElementCount(Vector op, enum SveMaskPattern pattern, ulong imm_factor) => SaturatingIncrementInt64ElementCount(op, SveMaskPattern, imm_factor); + + + /// Scale : Adjust exponent + + /// + /// svfloat32_t svscale[_f32]_m(svbool_t pg, svfloat32_t op1, svint32_t op2) + /// FSCALE Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svscale[_f32]_x(svbool_t pg, svfloat32_t op1, svint32_t op2) + /// FSCALE Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svscale[_f32]_z(svbool_t pg, svfloat32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FSCALE Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector Scale(Vector left, Vector right) => Scale(left, right); + + /// + /// svfloat64_t svscale[_f64]_m(svbool_t pg, svfloat64_t op1, svint64_t op2) + /// FSCALE Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svscale[_f64]_x(svbool_t pg, svfloat64_t op1, svint64_t op2) + /// FSCALE Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svscale[_f64]_z(svbool_t pg, svfloat64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FSCALE Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector Scale(Vector left, Vector right) => Scale(left, right); + + + /// Scatter : Non-truncating store + + /// + /// void svst1_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) => Scatter(mask, bases, data); + + /// + /// void svst1_scatter_[s32]offset[_s32](svbool_t pg, int32_t *base, svint32_t offsets, svint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void Scatter(Vector mask, int *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[u32]offset[_s32](svbool_t pg, int32_t *base, svuint32_t offsets, svint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, int *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[s32]index[_s32](svbool_t pg, int32_t *base, svint32_t indices, svint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe void Scatter(Vector mask, int *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter_[u32]index[_s32](svbool_t pg, int32_t *base, svuint32_t indices, svint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe void Scatter(Vector mask, int *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #offset] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) => Scatter(mask, bases, offset, data); + + /// + /// void svst1_scatter[_u32base]_index[_s32](svbool_t pg, svuint32_t bases, int64_t index, svint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #index * 4] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) => Scatter(mask, bases, index, data); + + /// + /// void svst1_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) => Scatter(mask, bases, data); + + /// + /// void svst1_scatter_[s64]offset[_s64](svbool_t pg, int64_t *base, svint64_t offsets, svint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, long *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[u64]offset[_s64](svbool_t pg, int64_t *base, svuint64_t offsets, svint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, long *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[s64]index[_s64](svbool_t pg, int64_t *base, svint64_t indices, svint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, long *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter_[u64]index[_s64](svbool_t pg, int64_t *base, svuint64_t indices, svint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, long *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #offset] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) => Scatter(mask, bases, offset, data); + + /// + /// void svst1_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #index * 8] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) => Scatter(mask, bases, index, data); + + /// + /// void svst1_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) => Scatter(mask, bases, data); + + /// + /// void svst1_scatter_[s32]offset[_u32](svbool_t pg, uint32_t *base, svint32_t offsets, svuint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void Scatter(Vector mask, uint *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[u32]offset[_u32](svbool_t pg, uint32_t *base, svuint32_t offsets, svuint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, uint *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[s32]index[_u32](svbool_t pg, uint32_t *base, svint32_t indices, svuint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe void Scatter(Vector mask, uint *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter_[u32]index[_u32](svbool_t pg, uint32_t *base, svuint32_t indices, svuint32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe void Scatter(Vector mask, uint *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #offset] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) => Scatter(mask, bases, offset, data); + + /// + /// void svst1_scatter[_u32base]_index[_u32](svbool_t pg, svuint32_t bases, int64_t index, svuint32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #index * 4] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) => Scatter(mask, bases, index, data); + + /// + /// void svst1_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) => Scatter(mask, bases, data); + + /// + /// void svst1_scatter_[s64]offset[_u64](svbool_t pg, uint64_t *base, svint64_t offsets, svuint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, ulong *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[u64]offset[_u64](svbool_t pg, uint64_t *base, svuint64_t offsets, svuint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, ulong *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[s64]index[_u64](svbool_t pg, uint64_t *base, svint64_t indices, svuint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, ulong *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter_[u64]index[_u64](svbool_t pg, uint64_t *base, svuint64_t indices, svuint64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, ulong *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #offset] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) => Scatter(mask, bases, offset, data); + + /// + /// void svst1_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #index * 8] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) => Scatter(mask, bases, index, data); + + /// + /// void svst1_scatter_[s32]offset[_f32](svbool_t pg, float32_t *base, svint32_t offsets, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void Scatter(Vector mask, float *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[s32]index[_f32](svbool_t pg, float32_t *base, svint32_t indices, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, SXTW #2] + /// + public static unsafe void Scatter(Vector mask, float *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter[_u32base_f32](svbool_t pg, svuint32_t bases, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) => Scatter(mask, bases, data); + + /// + /// void svst1_scatter_[u32]offset[_f32](svbool_t pg, float32_t *base, svuint32_t offsets, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, float *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[u32]index[_f32](svbool_t pg, float32_t *base, svuint32_t indices, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Xbase, Zindices.S, UXTW #2] + /// + public static unsafe void Scatter(Vector mask, float *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter[_u32base]_offset[_f32](svbool_t pg, svuint32_t bases, int64_t offset, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #offset] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) => Scatter(mask, bases, offset, data); + + /// + /// void svst1_scatter[_u32base]_index[_f32](svbool_t pg, svuint32_t bases, int64_t index, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Zbases.S, #index * 4] + /// ST1W Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) => Scatter(mask, bases, index, data); + + /// + /// void svst1_scatter_[s64]offset[_f64](svbool_t pg, float64_t *base, svint64_t offsets, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, double *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[s64]index[_f64](svbool_t pg, float64_t *base, svint64_t indices, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, double *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter[_u64base_f64](svbool_t pg, svuint64_t bases, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void Scatter(Vector mask, Vector bases, Vector data) => Scatter(mask, bases, data); + + /// + /// void svst1_scatter_[u64]offset[_f64](svbool_t pg, float64_t *base, svuint64_t offsets, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void Scatter(Vector mask, double *base, Vector offsets, Vector data) => Scatter(mask, *base, offsets, data); + + /// + /// void svst1_scatter_[u64]index[_f64](svbool_t pg, float64_t *base, svuint64_t indices, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Xbase, Zindices.D, LSL #3] + /// + public static unsafe void Scatter(Vector mask, double *base, Vector indices, Vector data) => Scatter(mask, *base, indices, data); + + /// + /// void svst1_scatter[_u64base]_offset[_f64](svbool_t pg, svuint64_t bases, int64_t offset, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #offset] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long offset, Vector data) => Scatter(mask, bases, offset, data); + + /// + /// void svst1_scatter[_u64base]_index[_f64](svbool_t pg, svuint64_t bases, int64_t index, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Zbases.D, #index * 8] + /// ST1D Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void Scatter(Vector mask, Vector bases, long index, Vector data) => Scatter(mask, bases, index, data); + + + /// ScatterInt32NarrowToInt16 : Truncate to 16 bits and store + + /// + /// void svst1h_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, Vector bases, Vector data) => ScatterInt32NarrowToInt16(mask, bases, data); + + /// + /// void svst1h_scatter_[s32]offset[_s32](svbool_t pg, int16_t *base, svint32_t offsets, svint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, short *base, Vector offsets, Vector data) => ScatterInt32NarrowToInt16(mask, *base, offsets, data); + + /// + /// void svst1h_scatter_[s32]index[_s32](svbool_t pg, int16_t *base, svint32_t indices, svint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, short *base, Vector indices, Vector data) => ScatterInt32NarrowToInt16(mask, *base, indices, data); + + /// + /// void svst1h_scatter_[s32]offset[_u32](svbool_t pg, uint16_t *base, svint32_t offsets, svuint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, ushort *base, Vector offsets, Vector data) => ScatterInt32NarrowToInt16(mask, *base, offsets, data); + + /// + /// void svst1h_scatter_[s32]index[_u32](svbool_t pg, uint16_t *base, svint32_t indices, svuint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zindices.S, SXTW #1] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, ushort *base, Vector indices, Vector data) => ScatterInt32NarrowToInt16(mask, *base, indices, data); + + + /// ScatterInt32NarrowToSByte : Truncate to 8 bits and store + + /// + /// void svst1b_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// ST1B Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void ScatterInt32NarrowToSByte(Vector mask, Vector bases, Vector data) => ScatterInt32NarrowToSByte(mask, bases, data); + + /// + /// void svst1b_scatter_[s32]offset[_s32](svbool_t pg, int8_t *base, svint32_t offsets, svint32_t data) + /// ST1B Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void ScatterInt32NarrowToSByte(Vector mask, sbyte *base, Vector offsets, Vector data) => ScatterInt32NarrowToSByte(mask, *base, offsets, data); + + /// + /// void svst1b_scatter_[s32]offset[_u32](svbool_t pg, uint8_t *base, svint32_t offsets, svuint32_t data) + /// ST1B Zdata.S, Pg, [Xbase, Zoffsets.S, SXTW] + /// + public static unsafe void ScatterInt32NarrowToSByte(Vector mask, byte *base, Vector offsets, Vector data) => ScatterInt32NarrowToSByte(mask, *base, offsets, data); + + + /// ScatterInt64NarrowToInt16 : Truncate to 16 bits and store + + /// + /// void svst1h_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, Vector bases, Vector data) => ScatterInt64NarrowToInt16(mask, bases, data); + + /// + /// void svst1h_scatter_[s64]offset[_s64](svbool_t pg, int16_t *base, svint64_t offsets, svint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, short *base, Vector offsets, Vector data) => ScatterInt64NarrowToInt16(mask, *base, offsets, data); + + /// + /// void svst1h_scatter_[s64]index[_s64](svbool_t pg, int16_t *base, svint64_t indices, svint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, short *base, Vector indices, Vector data) => ScatterInt64NarrowToInt16(mask, *base, indices, data); + + /// + /// void svst1h_scatter_[s64]offset[_u64](svbool_t pg, uint16_t *base, svint64_t offsets, svuint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, ushort *base, Vector offsets, Vector data) => ScatterInt64NarrowToInt16(mask, *base, offsets, data); + + /// + /// void svst1h_scatter_[s64]index[_u64](svbool_t pg, uint16_t *base, svint64_t indices, svuint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, ushort *base, Vector indices, Vector data) => ScatterInt64NarrowToInt16(mask, *base, indices, data); + + + /// ScatterInt64NarrowToInt32 : Truncate to 32 bits and store + + /// + /// void svst1w_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, Vector bases, Vector data) => ScatterInt64NarrowToInt32(mask, bases, data); + + /// + /// void svst1w_scatter_[s64]offset[_s64](svbool_t pg, int32_t *base, svint64_t offsets, svint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, int *base, Vector offsets, Vector data) => ScatterInt64NarrowToInt32(mask, *base, offsets, data); + + /// + /// void svst1w_scatter_[s64]index[_s64](svbool_t pg, int32_t *base, svint64_t indices, svint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, int *base, Vector indices, Vector data) => ScatterInt64NarrowToInt32(mask, *base, indices, data); + + /// + /// void svst1w_scatter_[s64]offset[_u64](svbool_t pg, uint32_t *base, svint64_t offsets, svuint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, uint *base, Vector offsets, Vector data) => ScatterInt64NarrowToInt32(mask, *base, offsets, data); + + /// + /// void svst1w_scatter_[s64]index[_u64](svbool_t pg, uint32_t *base, svint64_t indices, svuint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, uint *base, Vector indices, Vector data) => ScatterInt64NarrowToInt32(mask, *base, indices, data); + + + /// ScatterInt64NarrowToSByte : Truncate to 8 bits and store + + /// + /// void svst1b_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// ST1B Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, Vector bases, Vector data) => ScatterInt64NarrowToSByte(mask, bases, data); + + /// + /// void svst1b_scatter_[s64]offset[_s64](svbool_t pg, int8_t *base, svint64_t offsets, svint64_t data) + /// ST1B Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, sbyte *base, Vector offsets, Vector data) => ScatterInt64NarrowToSByte(mask, *base, offsets, data); + + /// + /// void svst1b_scatter_[s64]offset[_u64](svbool_t pg, uint8_t *base, svint64_t offsets, svuint64_t data) + /// ST1B Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, byte *base, Vector offsets, Vector data) => ScatterInt64NarrowToSByte(mask, *base, offsets, data); + + + /// ScatterTruncate16UInt16 : Truncate to 16 bits and store + + /// + /// void svst1h_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #offset] + /// ST1H Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate16UInt16(mask, bases, offset, data); + + /// + /// void svst1h_scatter[_u32base]_index[_s32](svbool_t pg, svuint32_t bases, int64_t index, svint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #index * 2] + /// ST1H Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate16UInt16(mask, bases, index, data); + + /// + /// void svst1h_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #offset] + /// ST1H Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate16UInt16(mask, bases, offset, data); + + /// + /// void svst1h_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #index * 2] + /// ST1H Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate16UInt16(mask, bases, index, data); + + /// + /// void svst1h_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #offset] + /// ST1H Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate16UInt16(mask, bases, offset, data); + + /// + /// void svst1h_scatter[_u32base]_index[_u32](svbool_t pg, svuint32_t bases, int64_t index, svuint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #index * 2] + /// ST1H Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate16UInt16(mask, bases, index, data); + + /// + /// void svst1h_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #offset] + /// ST1H Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate16UInt16(mask, bases, offset, data); + + /// + /// void svst1h_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #index * 2] + /// ST1H Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate16UInt16(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate16UInt16(mask, bases, index, data); + + + /// ScatterTruncate32UInt32 : Truncate to 32 bits and store + + /// + /// void svst1w_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #offset] + /// ST1W Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate32UInt32(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate32UInt32(mask, bases, offset, data); + + /// + /// void svst1w_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #index * 4] + /// ST1W Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate32UInt32(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate32UInt32(mask, bases, index, data); + + /// + /// void svst1w_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #offset] + /// ST1W Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate32UInt32(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate32UInt32(mask, bases, offset, data); + + /// + /// void svst1w_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #index * 4] + /// ST1W Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate32UInt32(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate32UInt32(mask, bases, index, data); + + + /// ScatterTruncate8Byte : Truncate to 8 bits and store + + /// + /// void svst1b_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// ST1B Zdata.S, Pg, [Zbases.S, #offset] + /// ST1B Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate8Byte(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate8Byte(mask, bases, offset, data); + + /// + /// void svst1b_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// ST1B Zdata.D, Pg, [Zbases.D, #offset] + /// ST1B Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate8Byte(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate8Byte(mask, bases, offset, data); + + /// + /// void svst1b_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// ST1B Zdata.S, Pg, [Zbases.S, #offset] + /// ST1B Zdata.S, Pg, [Xoffset, Zbases.S, UXTW] + /// + public static unsafe void ScatterTruncate8Byte(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate8Byte(mask, bases, offset, data); + + /// + /// void svst1b_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// ST1B Zdata.D, Pg, [Zbases.D, #offset] + /// ST1B Zdata.D, Pg, [Xoffset, Zbases.D] + /// + public static unsafe void ScatterTruncate8Byte(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate8Byte(mask, bases, offset, data); + + + /// ScatterUInt32NarrowToByte : Truncate to 8 bits and store + + /// + /// void svst1b_scatter_[u32]offset[_s32](svbool_t pg, int8_t *base, svuint32_t offsets, svint32_t data) + /// ST1B Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, sbyte *base, Vector offsets, Vector data) => ScatterUInt32NarrowToByte(mask, *base, offsets, data); + + /// + /// void svst1b_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// ST1B Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, Vector bases, Vector data) => ScatterUInt32NarrowToByte(mask, bases, data); + + /// + /// void svst1b_scatter_[u32]offset[_u32](svbool_t pg, uint8_t *base, svuint32_t offsets, svuint32_t data) + /// ST1B Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, byte *base, Vector offsets, Vector data) => ScatterUInt32NarrowToByte(mask, *base, offsets, data); + + + /// ScatterUInt32NarrowToUInt16 : Truncate to 16 bits and store + + /// + /// void svst1h_scatter_[u32]offset[_s32](svbool_t pg, int16_t *base, svuint32_t offsets, svint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, short *base, Vector offsets, Vector data) => ScatterUInt32NarrowToUInt16(mask, *base, offsets, data); + + /// + /// void svst1h_scatter_[u32]index[_s32](svbool_t pg, int16_t *base, svuint32_t indices, svint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, short *base, Vector indices, Vector data) => ScatterUInt32NarrowToUInt16(mask, *base, indices, data); + + /// + /// void svst1h_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// ST1H Zdata.S, Pg, [Zbases.S, #0] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, Vector bases, Vector data) => ScatterUInt32NarrowToUInt16(mask, bases, data); + + /// + /// void svst1h_scatter_[u32]offset[_u32](svbool_t pg, uint16_t *base, svuint32_t offsets, svuint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zoffsets.S, UXTW] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, ushort *base, Vector offsets, Vector data) => ScatterUInt32NarrowToUInt16(mask, *base, offsets, data); + + /// + /// void svst1h_scatter_[u32]index[_u32](svbool_t pg, uint16_t *base, svuint32_t indices, svuint32_t data) + /// ST1H Zdata.S, Pg, [Xbase, Zindices.S, UXTW #1] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, ushort *base, Vector indices, Vector data) => ScatterUInt32NarrowToUInt16(mask, *base, indices, data); + + + /// ScatterUInt64NarrowToByte : Truncate to 8 bits and store + + /// + /// void svst1b_scatter_[u64]offset[_s64](svbool_t pg, int8_t *base, svuint64_t offsets, svint64_t data) + /// ST1B Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, sbyte *base, Vector offsets, Vector data) => ScatterUInt64NarrowToByte(mask, *base, offsets, data); + + /// + /// void svst1b_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// ST1B Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, Vector bases, Vector data) => ScatterUInt64NarrowToByte(mask, bases, data); + + /// + /// void svst1b_scatter_[u64]offset[_u64](svbool_t pg, uint8_t *base, svuint64_t offsets, svuint64_t data) + /// ST1B Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, byte *base, Vector offsets, Vector data) => ScatterUInt64NarrowToByte(mask, *base, offsets, data); + + + /// ScatterUInt64NarrowToUInt16 : Truncate to 16 bits and store + + /// + /// void svst1h_scatter_[u64]offset[_s64](svbool_t pg, int16_t *base, svuint64_t offsets, svint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, short *base, Vector offsets, Vector data) => ScatterUInt64NarrowToUInt16(mask, *base, offsets, data); + + /// + /// void svst1h_scatter_[u64]index[_s64](svbool_t pg, int16_t *base, svuint64_t indices, svint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, short *base, Vector indices, Vector data) => ScatterUInt64NarrowToUInt16(mask, *base, indices, data); + + /// + /// void svst1h_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// ST1H Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, Vector bases, Vector data) => ScatterUInt64NarrowToUInt16(mask, bases, data); + + /// + /// void svst1h_scatter_[u64]offset[_u64](svbool_t pg, uint16_t *base, svuint64_t offsets, svuint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, ushort *base, Vector offsets, Vector data) => ScatterUInt64NarrowToUInt16(mask, *base, offsets, data); + + /// + /// void svst1h_scatter_[u64]index[_u64](svbool_t pg, uint16_t *base, svuint64_t indices, svuint64_t data) + /// ST1H Zdata.D, Pg, [Xbase, Zindices.D, LSL #1] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, ushort *base, Vector indices, Vector data) => ScatterUInt64NarrowToUInt16(mask, *base, indices, data); + + + /// ScatterUInt64NarrowToUInt32 : Truncate to 32 bits and store + + /// + /// void svst1w_scatter_[u64]offset[_s64](svbool_t pg, int32_t *base, svuint64_t offsets, svint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, int *base, Vector offsets, Vector data) => ScatterUInt64NarrowToUInt32(mask, *base, offsets, data); + + /// + /// void svst1w_scatter_[u64]index[_s64](svbool_t pg, int32_t *base, svuint64_t indices, svint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, int *base, Vector indices, Vector data) => ScatterUInt64NarrowToUInt32(mask, *base, indices, data); + + /// + /// void svst1w_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// ST1W Zdata.D, Pg, [Zbases.D, #0] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, Vector bases, Vector data) => ScatterUInt64NarrowToUInt32(mask, bases, data); + + /// + /// void svst1w_scatter_[u64]offset[_u64](svbool_t pg, uint32_t *base, svuint64_t offsets, svuint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zoffsets.D] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, uint *base, Vector offsets, Vector data) => ScatterUInt64NarrowToUInt32(mask, *base, offsets, data); + + /// + /// void svst1w_scatter_[u64]index[_u64](svbool_t pg, uint32_t *base, svuint64_t indices, svuint64_t data) + /// ST1W Zdata.D, Pg, [Xbase, Zindices.D, LSL #2] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, uint *base, Vector indices, Vector data) => ScatterUInt64NarrowToUInt32(mask, *base, indices, data); + + + /// SetFFR : Initialize the first-fault register to all-true + + /// + /// void svsetffr() + /// SETFFR + /// + public static unsafe void SetFFR() => SetFFR(); + + + /// ShiftLeftLogical : Logical shift left + + /// + /// svint8_t svlsl[_s8]_m(svbool_t pg, svint8_t op1, svuint8_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svlsl[_s8]_x(svbool_t pg, svint8_t op1, svuint8_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// LSLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svlsl[_s8]_z(svbool_t pg, svint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; LSLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svint8_t svlsl_wide[_s8]_m(svbool_t pg, svint8_t op1, svuint64_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.D + /// svint8_t svlsl_wide[_s8]_x(svbool_t pg, svint8_t op1, svuint64_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// LSL Zresult.B, Zop1.B, Zop2.D + /// svint8_t svlsl_wide[_s8]_z(svbool_t pg, svint8_t op1, svuint64_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSL Zresult.B, Pg/M, Zresult.B, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svint16_t svlsl[_s16]_m(svbool_t pg, svint16_t op1, svuint16_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svlsl[_s16]_x(svbool_t pg, svint16_t op1, svuint16_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// LSLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svlsl[_s16]_z(svbool_t pg, svint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; LSLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svint16_t svlsl_wide[_s16]_m(svbool_t pg, svint16_t op1, svuint64_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.D + /// svint16_t svlsl_wide[_s16]_x(svbool_t pg, svint16_t op1, svuint64_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// LSL Zresult.H, Zop1.H, Zop2.D + /// svint16_t svlsl_wide[_s16]_z(svbool_t pg, svint16_t op1, svuint64_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSL Zresult.H, Pg/M, Zresult.H, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svint32_t svlsl[_s32]_m(svbool_t pg, svint32_t op1, svuint32_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svlsl[_s32]_x(svbool_t pg, svint32_t op1, svuint32_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// LSLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svlsl[_s32]_z(svbool_t pg, svint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; LSLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svint32_t svlsl_wide[_s32]_m(svbool_t pg, svint32_t op1, svuint64_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.D + /// svint32_t svlsl_wide[_s32]_x(svbool_t pg, svint32_t op1, svuint64_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// LSL Zresult.S, Zop1.S, Zop2.D + /// svint32_t svlsl_wide[_s32]_z(svbool_t pg, svint32_t op1, svuint64_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSL Zresult.S, Pg/M, Zresult.S, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svint64_t svlsl[_s64]_m(svbool_t pg, svint64_t op1, svuint64_t op2) + /// LSL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svlsl[_s64]_x(svbool_t pg, svint64_t op1, svuint64_t op2) + /// LSL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// LSLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svlsl[_s64]_z(svbool_t pg, svint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; LSLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svuint8_t svlsl[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svlsl[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// LSLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svlsl[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; LSLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svuint8_t svlsl_wide[_u8]_m(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.B, Pg/M, Zresult.B, Zop2.D + /// svuint8_t svlsl_wide[_u8]_x(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// LSL Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// LSL Zresult.B, Zop1.B, Zop2.D + /// svuint8_t svlsl_wide[_u8]_z(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSL Zresult.B, Pg/M, Zresult.B, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svuint16_t svlsl[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svlsl[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// LSLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svlsl[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; LSLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svuint16_t svlsl_wide[_u16]_m(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.H, Pg/M, Zresult.H, Zop2.D + /// svuint16_t svlsl_wide[_u16]_x(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// LSL Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// LSL Zresult.H, Zop1.H, Zop2.D + /// svuint16_t svlsl_wide[_u16]_z(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSL Zresult.H, Pg/M, Zresult.H, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svuint32_t svlsl[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svlsl[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// LSLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svlsl[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; LSLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svuint32_t svlsl_wide[_u32]_m(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.S, Pg/M, Zresult.S, Zop2.D + /// svuint32_t svlsl_wide[_u32]_x(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// LSL Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// LSL Zresult.S, Zop1.S, Zop2.D + /// svuint32_t svlsl_wide[_u32]_z(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSL Zresult.S, Pg/M, Zresult.S, Zop2.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + /// + /// svuint64_t svlsl[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// LSL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svlsl[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// LSL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// LSLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svlsl[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; LSL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; LSLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector ShiftLeftLogical(Vector left, Vector right) => ShiftLeftLogical(left, right); + + + /// ShiftRightArithmetic : Arithmetic shift right + + /// + /// svint8_t svasr[_s8]_m(svbool_t pg, svint8_t op1, svuint8_t op2) + /// ASR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ASR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svasr[_s8]_x(svbool_t pg, svint8_t op1, svuint8_t op2) + /// ASR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// ASRR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; ASR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svasr[_s8]_z(svbool_t pg, svint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ASR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; ASRR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) => ShiftRightArithmetic(left, right); + + /// + /// svint8_t svasr_wide[_s8]_m(svbool_t pg, svint8_t op1, svuint64_t op2) + /// ASR Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// MOVPRFX Zresult, Zop1; ASR Zresult.B, Pg/M, Zresult.B, Zop2.D + /// svint8_t svasr_wide[_s8]_x(svbool_t pg, svint8_t op1, svuint64_t op2) + /// ASR Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// ASR Zresult.B, Zop1.B, Zop2.D + /// svint8_t svasr_wide[_s8]_z(svbool_t pg, svint8_t op1, svuint64_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ASR Zresult.B, Pg/M, Zresult.B, Zop2.D + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) => ShiftRightArithmetic(left, right); + + /// + /// svint16_t svasr[_s16]_m(svbool_t pg, svint16_t op1, svuint16_t op2) + /// ASR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ASR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svasr[_s16]_x(svbool_t pg, svint16_t op1, svuint16_t op2) + /// ASR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// ASRR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; ASR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svasr[_s16]_z(svbool_t pg, svint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ASR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; ASRR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) => ShiftRightArithmetic(left, right); + + /// + /// svint16_t svasr_wide[_s16]_m(svbool_t pg, svint16_t op1, svuint64_t op2) + /// ASR Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// MOVPRFX Zresult, Zop1; ASR Zresult.H, Pg/M, Zresult.H, Zop2.D + /// svint16_t svasr_wide[_s16]_x(svbool_t pg, svint16_t op1, svuint64_t op2) + /// ASR Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// ASR Zresult.H, Zop1.H, Zop2.D + /// svint16_t svasr_wide[_s16]_z(svbool_t pg, svint16_t op1, svuint64_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ASR Zresult.H, Pg/M, Zresult.H, Zop2.D + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) => ShiftRightArithmetic(left, right); + + /// + /// svint32_t svasr[_s32]_m(svbool_t pg, svint32_t op1, svuint32_t op2) + /// ASR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ASR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svasr[_s32]_x(svbool_t pg, svint32_t op1, svuint32_t op2) + /// ASR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// ASRR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; ASR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svasr[_s32]_z(svbool_t pg, svint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ASR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; ASRR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) => ShiftRightArithmetic(left, right); + + /// + /// svint32_t svasr_wide[_s32]_m(svbool_t pg, svint32_t op1, svuint64_t op2) + /// ASR Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// MOVPRFX Zresult, Zop1; ASR Zresult.S, Pg/M, Zresult.S, Zop2.D + /// svint32_t svasr_wide[_s32]_x(svbool_t pg, svint32_t op1, svuint64_t op2) + /// ASR Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// ASR Zresult.S, Zop1.S, Zop2.D + /// svint32_t svasr_wide[_s32]_z(svbool_t pg, svint32_t op1, svuint64_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ASR Zresult.S, Pg/M, Zresult.S, Zop2.D + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) => ShiftRightArithmetic(left, right); + + /// + /// svint64_t svasr[_s64]_m(svbool_t pg, svint64_t op1, svuint64_t op2) + /// ASR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ASR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svasr[_s64]_x(svbool_t pg, svint64_t op1, svuint64_t op2) + /// ASR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// ASRR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; ASR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svasr[_s64]_z(svbool_t pg, svint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ASR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; ASRR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector ShiftRightArithmetic(Vector left, Vector right) => ShiftRightArithmetic(left, right); + + + /// ShiftRightArithmeticDivide : Arithmetic shift right for divide by immediate + + /// + /// svint8_t svasrd[_n_s8]_m(svbool_t pg, svint8_t op1, uint64_t imm2) + /// ASRD Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.B, Pg/M, Zresult.B, #imm2 + /// svint8_t svasrd[_n_s8]_x(svbool_t pg, svint8_t op1, uint64_t imm2) + /// ASRD Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.B, Pg/M, Zresult.B, #imm2 + /// svint8_t svasrd[_n_s8]_z(svbool_t pg, svint8_t op1, uint64_t imm2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; ASRD Zresult.B, Pg/M, Zresult.B, #imm2 + /// + public static unsafe Vector ShiftRightArithmeticDivide(Vector op1, ulong imm2) => ShiftRightArithmeticDivide(op1, imm2); + + /// + /// svint16_t svasrd[_n_s16]_m(svbool_t pg, svint16_t op1, uint64_t imm2) + /// ASRD Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.H, Pg/M, Zresult.H, #imm2 + /// svint16_t svasrd[_n_s16]_x(svbool_t pg, svint16_t op1, uint64_t imm2) + /// ASRD Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.H, Pg/M, Zresult.H, #imm2 + /// svint16_t svasrd[_n_s16]_z(svbool_t pg, svint16_t op1, uint64_t imm2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; ASRD Zresult.H, Pg/M, Zresult.H, #imm2 + /// + public static unsafe Vector ShiftRightArithmeticDivide(Vector op1, ulong imm2) => ShiftRightArithmeticDivide(op1, imm2); + + /// + /// svint32_t svasrd[_n_s32]_m(svbool_t pg, svint32_t op1, uint64_t imm2) + /// ASRD Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.S, Pg/M, Zresult.S, #imm2 + /// svint32_t svasrd[_n_s32]_x(svbool_t pg, svint32_t op1, uint64_t imm2) + /// ASRD Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.S, Pg/M, Zresult.S, #imm2 + /// svint32_t svasrd[_n_s32]_z(svbool_t pg, svint32_t op1, uint64_t imm2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; ASRD Zresult.S, Pg/M, Zresult.S, #imm2 + /// + public static unsafe Vector ShiftRightArithmeticDivide(Vector op1, ulong imm2) => ShiftRightArithmeticDivide(op1, imm2); + + /// + /// svint64_t svasrd[_n_s64]_m(svbool_t pg, svint64_t op1, uint64_t imm2) + /// ASRD Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.D, Pg/M, Zresult.D, #imm2 + /// svint64_t svasrd[_n_s64]_x(svbool_t pg, svint64_t op1, uint64_t imm2) + /// ASRD Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; ASRD Zresult.D, Pg/M, Zresult.D, #imm2 + /// svint64_t svasrd[_n_s64]_z(svbool_t pg, svint64_t op1, uint64_t imm2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; ASRD Zresult.D, Pg/M, Zresult.D, #imm2 + /// + public static unsafe Vector ShiftRightArithmeticDivide(Vector op1, ulong imm2) => ShiftRightArithmeticDivide(op1, imm2); + + + /// ShiftRightLogical : Logical shift right + + /// + /// svuint8_t svlsr[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// LSR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; LSR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svlsr[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// LSR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// LSRR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; LSR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svlsr[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; LSRR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) => ShiftRightLogical(left, right); + + /// + /// svuint8_t svlsr_wide[_u8]_m(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// LSR Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// MOVPRFX Zresult, Zop1; LSR Zresult.B, Pg/M, Zresult.B, Zop2.D + /// svuint8_t svlsr_wide[_u8]_x(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// LSR Ztied1.B, Pg/M, Ztied1.B, Zop2.D + /// LSR Zresult.B, Zop1.B, Zop2.D + /// svuint8_t svlsr_wide[_u8]_z(svbool_t pg, svuint8_t op1, svuint64_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; LSR Zresult.B, Pg/M, Zresult.B, Zop2.D + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) => ShiftRightLogical(left, right); + + /// + /// svuint16_t svlsr[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// LSR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; LSR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svlsr[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// LSR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// LSRR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; LSR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svlsr[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; LSRR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) => ShiftRightLogical(left, right); + + /// + /// svuint16_t svlsr_wide[_u16]_m(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// LSR Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// MOVPRFX Zresult, Zop1; LSR Zresult.H, Pg/M, Zresult.H, Zop2.D + /// svuint16_t svlsr_wide[_u16]_x(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// LSR Ztied1.H, Pg/M, Ztied1.H, Zop2.D + /// LSR Zresult.H, Zop1.H, Zop2.D + /// svuint16_t svlsr_wide[_u16]_z(svbool_t pg, svuint16_t op1, svuint64_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; LSR Zresult.H, Pg/M, Zresult.H, Zop2.D + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) => ShiftRightLogical(left, right); + + /// + /// svuint32_t svlsr[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// LSR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; LSR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svlsr[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// LSR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// LSRR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; LSR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svlsr[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; LSRR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) => ShiftRightLogical(left, right); + + /// + /// svuint32_t svlsr_wide[_u32]_m(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// LSR Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// MOVPRFX Zresult, Zop1; LSR Zresult.S, Pg/M, Zresult.S, Zop2.D + /// svuint32_t svlsr_wide[_u32]_x(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// LSR Ztied1.S, Pg/M, Ztied1.S, Zop2.D + /// LSR Zresult.S, Zop1.S, Zop2.D + /// svuint32_t svlsr_wide[_u32]_z(svbool_t pg, svuint32_t op1, svuint64_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; LSR Zresult.S, Pg/M, Zresult.S, Zop2.D + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) => ShiftRightLogical(left, right); + + /// + /// svuint64_t svlsr[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// LSR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; LSR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svlsr[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// LSR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// LSRR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; LSR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svlsr[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; LSR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; LSRR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector ShiftRightLogical(Vector left, Vector right) => ShiftRightLogical(left, right); + + + /// SignExtend16 : Sign-extend the low 16 bits + + /// + /// svint32_t svexth[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// SXTH Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SXTH Zresult.S, Pg/M, Zop.S + /// svint32_t svexth[_s32]_x(svbool_t pg, svint32_t op) + /// SXTH Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SXTH Zresult.S, Pg/M, Zop.S + /// svint32_t svexth[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SXTH Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector SignExtend16(Vector value) => SignExtend16(value); + + /// + /// svint64_t svexth[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// SXTH Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SXTH Zresult.D, Pg/M, Zop.D + /// svint64_t svexth[_s64]_x(svbool_t pg, svint64_t op) + /// SXTH Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SXTH Zresult.D, Pg/M, Zop.D + /// svint64_t svexth[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SXTH Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector SignExtend16(Vector value) => SignExtend16(value); + + + /// SignExtend32 : Sign-extend the low 32 bits + + /// + /// svint64_t svextw[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// SXTW Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SXTW Zresult.D, Pg/M, Zop.D + /// svint64_t svextw[_s64]_x(svbool_t pg, svint64_t op) + /// SXTW Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SXTW Zresult.D, Pg/M, Zop.D + /// svint64_t svextw[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SXTW Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector SignExtend32(Vector value) => SignExtend32(value); + + + /// SignExtend8 : Sign-extend the low 8 bits + + /// + /// svint16_t svextb[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// SXTB Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; SXTB Zresult.H, Pg/M, Zop.H + /// svint16_t svextb[_s16]_x(svbool_t pg, svint16_t op) + /// SXTB Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; SXTB Zresult.H, Pg/M, Zop.H + /// svint16_t svextb[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; SXTB Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector SignExtend8(Vector value) => SignExtend8(value); + + /// + /// svint32_t svextb[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// SXTB Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SXTB Zresult.S, Pg/M, Zop.S + /// svint32_t svextb[_s32]_x(svbool_t pg, svint32_t op) + /// SXTB Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SXTB Zresult.S, Pg/M, Zop.S + /// svint32_t svextb[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SXTB Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector SignExtend8(Vector value) => SignExtend8(value); + + /// + /// svint64_t svextb[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// SXTB Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SXTB Zresult.D, Pg/M, Zop.D + /// svint64_t svextb[_s64]_x(svbool_t pg, svint64_t op) + /// SXTB Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SXTB Zresult.D, Pg/M, Zop.D + /// svint64_t svextb[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SXTB Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector SignExtend8(Vector value) => SignExtend8(value); + + + /// SignExtendWideningLower : Unpack and extend low half + + /// + /// svint16_t svunpklo[_s16](svint8_t op) + /// SUNPKLO Zresult.H, Zop.B + /// + public static unsafe Vector SignExtendWideningLower(Vector value) => SignExtendWideningLower(value); + + /// + /// svint32_t svunpklo[_s32](svint16_t op) + /// SUNPKLO Zresult.S, Zop.H + /// + public static unsafe Vector SignExtendWideningLower(Vector value) => SignExtendWideningLower(value); + + /// + /// svint64_t svunpklo[_s64](svint32_t op) + /// SUNPKLO Zresult.D, Zop.S + /// + public static unsafe Vector SignExtendWideningLower(Vector value) => SignExtendWideningLower(value); + + + /// SignExtendWideningUpper : Unpack and extend high half + + /// + /// svint16_t svunpkhi[_s16](svint8_t op) + /// SUNPKHI Zresult.H, Zop.B + /// + public static unsafe Vector SignExtendWideningUpper(Vector value) => SignExtendWideningUpper(value); + + /// + /// svint32_t svunpkhi[_s32](svint16_t op) + /// SUNPKHI Zresult.S, Zop.H + /// + public static unsafe Vector SignExtendWideningUpper(Vector value) => SignExtendWideningUpper(value); + + /// + /// svint64_t svunpkhi[_s64](svint32_t op) + /// SUNPKHI Zresult.D, Zop.S + /// + public static unsafe Vector SignExtendWideningUpper(Vector value) => SignExtendWideningUpper(value); + + + /// Splice : Splice two vectors under predicate control + + /// + /// svint8_t svsplice[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// SPLICE Ztied1.B, Pg, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.B, Pg, Zresult.B, Zop2.B + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + /// + /// svint16_t svsplice[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// SPLICE Ztied1.H, Pg, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.H, Pg, Zresult.H, Zop2.H + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + /// + /// svint32_t svsplice[_s32](svbool_t pg, svint32_t op1, svint32_t op2) + /// SPLICE Ztied1.S, Pg, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.S, Pg, Zresult.S, Zop2.S + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + /// + /// svint64_t svsplice[_s64](svbool_t pg, svint64_t op1, svint64_t op2) + /// SPLICE Ztied1.D, Pg, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.D, Pg, Zresult.D, Zop2.D + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + /// + /// svuint8_t svsplice[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SPLICE Ztied1.B, Pg, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.B, Pg, Zresult.B, Zop2.B + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + /// + /// svuint16_t svsplice[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SPLICE Ztied1.H, Pg, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.H, Pg, Zresult.H, Zop2.H + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + /// + /// svuint32_t svsplice[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SPLICE Ztied1.S, Pg, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.S, Pg, Zresult.S, Zop2.S + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + /// + /// svuint64_t svsplice[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SPLICE Ztied1.D, Pg, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.D, Pg, Zresult.D, Zop2.D + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + /// + /// svfloat32_t svsplice[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// SPLICE Ztied1.S, Pg, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.S, Pg, Zresult.S, Zop2.S + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + /// + /// svfloat64_t svsplice[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// SPLICE Ztied1.D, Pg, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.D, Pg, Zresult.D, Zop2.D + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + + /// Sqrt : Square root + + /// + /// svfloat32_t svsqrt[_f32]_m(svfloat32_t inactive, svbool_t pg, svfloat32_t op) + /// FSQRT Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FSQRT Zresult.S, Pg/M, Zop.S + /// svfloat32_t svsqrt[_f32]_x(svbool_t pg, svfloat32_t op) + /// FSQRT Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FSQRT Zresult.S, Pg/M, Zop.S + /// svfloat32_t svsqrt[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FSQRT Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Sqrt(Vector value) => Sqrt(value); + + /// + /// svfloat64_t svsqrt[_f64]_m(svfloat64_t inactive, svbool_t pg, svfloat64_t op) + /// FSQRT Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FSQRT Zresult.D, Pg/M, Zop.D + /// svfloat64_t svsqrt[_f64]_x(svbool_t pg, svfloat64_t op) + /// FSQRT Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FSQRT Zresult.D, Pg/M, Zop.D + /// svfloat64_t svsqrt[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FSQRT Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Sqrt(Vector value) => Sqrt(value); + + + /// Store : Non-truncating store + + /// + /// void svst1[_s8](svbool_t pg, int8_t *base, svint8_t data) + /// ST1B Zdata.B, Pg, [Xarray, Xindex] + /// ST1B Zdata.B, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, sbyte *base, Vector data) => Store(mask, *base, data); + + /// + /// void svst1[_s16](svbool_t pg, int16_t *base, svint16_t data) + /// ST1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, short *base, Vector data) => Store(mask, *base, data); + + /// + /// void svst1[_s32](svbool_t pg, int32_t *base, svint32_t data) + /// ST1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// ST1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, int *base, Vector data) => Store(mask, *base, data); + + /// + /// void svst1[_s64](svbool_t pg, int64_t *base, svint64_t data) + /// ST1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// ST1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, long *base, Vector data) => Store(mask, *base, data); + + /// + /// void svst1[_u8](svbool_t pg, uint8_t *base, svuint8_t data) + /// ST1B Zdata.B, Pg, [Xarray, Xindex] + /// ST1B Zdata.B, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, byte *base, Vector data) => Store(mask, *base, data); + + /// + /// void svst1[_u16](svbool_t pg, uint16_t *base, svuint16_t data) + /// ST1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, ushort *base, Vector data) => Store(mask, *base, data); + + /// + /// void svst1[_u32](svbool_t pg, uint32_t *base, svuint32_t data) + /// ST1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// ST1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, uint *base, Vector data) => Store(mask, *base, data); + + /// + /// void svst1[_u64](svbool_t pg, uint64_t *base, svuint64_t data) + /// ST1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// ST1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, ulong *base, Vector data) => Store(mask, *base, data); + + /// + /// void svst1[_f32](svbool_t pg, float32_t *base, svfloat32_t data) + /// ST1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// ST1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, float *base, Vector data) => Store(mask, *base, data); + + /// + /// void svst1[_f64](svbool_t pg, float64_t *base, svfloat64_t data) + /// ST1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// ST1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, double *base, Vector data) => Store(mask, *base, data); + + + /// StoreInt16NarrowToSByte : Truncate to 8 bits and store + + /// + /// void svst1b[_s16](svbool_t pg, int8_t *base, svint16_t data) + /// ST1B Zdata.H, Pg, [Xarray, Xindex] + /// ST1B Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt16NarrowToSByte(Vector mask, sbyte *base, Vector data) => StoreInt16NarrowToSByte(mask, *base, data); + + + /// StoreInt32NarrowToInt16 : Truncate to 16 bits and store + + /// + /// void svst1h[_s32](svbool_t pg, int16_t *base, svint32_t data) + /// ST1H Zdata.S, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt32NarrowToInt16(Vector mask, short *base, Vector data) => StoreInt32NarrowToInt16(mask, *base, data); + + + /// StoreInt32NarrowToSByte : Truncate to 8 bits and store + + /// + /// void svst1b[_s32](svbool_t pg, int8_t *base, svint32_t data) + /// ST1B Zdata.S, Pg, [Xarray, Xindex] + /// ST1B Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt32NarrowToSByte(Vector mask, sbyte *base, Vector data) => StoreInt32NarrowToSByte(mask, *base, data); + + + /// StoreInt64NarrowToInt16 : Truncate to 16 bits and store + + /// + /// void svst1h[_s64](svbool_t pg, int16_t *base, svint64_t data) + /// ST1H Zdata.D, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt64NarrowToInt16(Vector mask, short *base, Vector data) => StoreInt64NarrowToInt16(mask, *base, data); + + + /// StoreInt64NarrowToInt32 : Truncate to 32 bits and store + + /// + /// void svst1w[_s64](svbool_t pg, int32_t *base, svint64_t data) + /// ST1W Zdata.D, Pg, [Xarray, Xindex, LSL #2] + /// ST1W Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt64NarrowToInt32(Vector mask, int *base, Vector data) => StoreInt64NarrowToInt32(mask, *base, data); + + + /// StoreInt64NarrowToSByte : Truncate to 8 bits and store + + /// + /// void svst1b[_s64](svbool_t pg, int8_t *base, svint64_t data) + /// ST1B Zdata.D, Pg, [Xarray, Xindex] + /// ST1B Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreInt64NarrowToSByte(Vector mask, sbyte *base, Vector data) => StoreInt64NarrowToSByte(mask, *base, data); + + + /// StoreNonTemporal : Non-truncating store, non-temporal + + /// + /// void svstnt1[_s8](svbool_t pg, int8_t *base, svint8_t data) + /// STNT1B Zdata.B, Pg, [Xarray, Xindex] + /// STNT1B Zdata.B, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, sbyte *base, Vector data) => StoreNonTemporal(mask, *base, data); + + /// + /// void svstnt1[_s16](svbool_t pg, int16_t *base, svint16_t data) + /// STNT1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// STNT1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, short *base, Vector data) => StoreNonTemporal(mask, *base, data); + + /// + /// void svstnt1[_s32](svbool_t pg, int32_t *base, svint32_t data) + /// STNT1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// STNT1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, int *base, Vector data) => StoreNonTemporal(mask, *base, data); + + /// + /// void svstnt1[_s64](svbool_t pg, int64_t *base, svint64_t data) + /// STNT1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// STNT1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, long *base, Vector data) => StoreNonTemporal(mask, *base, data); + + /// + /// void svstnt1[_u8](svbool_t pg, uint8_t *base, svuint8_t data) + /// STNT1B Zdata.B, Pg, [Xarray, Xindex] + /// STNT1B Zdata.B, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, byte *base, Vector data) => StoreNonTemporal(mask, *base, data); + + /// + /// void svstnt1[_u16](svbool_t pg, uint16_t *base, svuint16_t data) + /// STNT1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// STNT1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, ushort *base, Vector data) => StoreNonTemporal(mask, *base, data); + + /// + /// void svstnt1[_u32](svbool_t pg, uint32_t *base, svuint32_t data) + /// STNT1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// STNT1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, uint *base, Vector data) => StoreNonTemporal(mask, *base, data); + + /// + /// void svstnt1[_u64](svbool_t pg, uint64_t *base, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// STNT1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, ulong *base, Vector data) => StoreNonTemporal(mask, *base, data); + + /// + /// void svstnt1[_f32](svbool_t pg, float32_t *base, svfloat32_t data) + /// STNT1W Zdata.S, Pg, [Xarray, Xindex, LSL #2] + /// STNT1W Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, float *base, Vector data) => StoreNonTemporal(mask, *base, data); + + /// + /// void svstnt1[_f64](svbool_t pg, float64_t *base, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Xarray, Xindex, LSL #3] + /// STNT1D Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, double *base, Vector data) => StoreNonTemporal(mask, *base, data); + + + /// StoreUInt16NarrowToByte : Truncate to 8 bits and store + + /// + /// void svst1b[_u16](svbool_t pg, uint8_t *base, svuint16_t data) + /// ST1B Zdata.H, Pg, [Xarray, Xindex] + /// ST1B Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt16NarrowToByte(Vector mask, byte *base, Vector data) => StoreUInt16NarrowToByte(mask, *base, data); + + + /// StoreUInt32NarrowToByte : Truncate to 8 bits and store + + /// + /// void svst1b[_u32](svbool_t pg, uint8_t *base, svuint32_t data) + /// ST1B Zdata.S, Pg, [Xarray, Xindex] + /// ST1B Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt32NarrowToByte(Vector mask, byte *base, Vector data) => StoreUInt32NarrowToByte(mask, *base, data); + + + /// StoreUInt32NarrowToUInt16 : Truncate to 16 bits and store + + /// + /// void svst1h[_u32](svbool_t pg, uint16_t *base, svuint32_t data) + /// ST1H Zdata.S, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.S, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt32NarrowToUInt16(Vector mask, ushort *base, Vector data) => StoreUInt32NarrowToUInt16(mask, *base, data); + + + /// StoreUInt64NarrowToByte : Truncate to 8 bits and store + + /// + /// void svst1b[_u64](svbool_t pg, uint8_t *base, svuint64_t data) + /// ST1B Zdata.D, Pg, [Xarray, Xindex] + /// ST1B Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt64NarrowToByte(Vector mask, byte *base, Vector data) => StoreUInt64NarrowToByte(mask, *base, data); + + + /// StoreUInt64NarrowToUInt16 : Truncate to 16 bits and store + + /// + /// void svst1h[_u64](svbool_t pg, uint16_t *base, svuint64_t data) + /// ST1H Zdata.D, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt64NarrowToUInt16(Vector mask, ushort *base, Vector data) => StoreUInt64NarrowToUInt16(mask, *base, data); + + + /// StoreUInt64NarrowToUInt32 : Truncate to 32 bits and store + + /// + /// void svst1w[_u64](svbool_t pg, uint32_t *base, svuint64_t data) + /// ST1W Zdata.D, Pg, [Xarray, Xindex, LSL #2] + /// ST1W Zdata.D, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreUInt64NarrowToUInt32(Vector mask, uint *base, Vector data) => StoreUInt64NarrowToUInt32(mask, *base, data); + + + /// Storex2 : Store two vectors into two-element tuples + + /// + /// void svst2[_s8](svbool_t pg, int8_t *base, svint8x2_t data) + /// ST2B {Zdata0.B, Zdata1.B}, Pg, [Xarray, Xindex] + /// ST2B {Zdata0.B, Zdata1.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, sbyte *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + /// + /// void svst2[_s16](svbool_t pg, int16_t *base, svint16x2_t data) + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, short *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + /// + /// void svst2[_s32](svbool_t pg, int32_t *base, svint32x2_t data) + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, int *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + /// + /// void svst2[_s64](svbool_t pg, int64_t *base, svint64x2_t data) + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, long *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + /// + /// void svst2[_u8](svbool_t pg, uint8_t *base, svuint8x2_t data) + /// ST2B {Zdata0.B, Zdata1.B}, Pg, [Xarray, Xindex] + /// ST2B {Zdata0.B, Zdata1.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, byte *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + /// + /// void svst2[_u16](svbool_t pg, uint16_t *base, svuint16x2_t data) + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, ushort *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + /// + /// void svst2[_u32](svbool_t pg, uint32_t *base, svuint32x2_t data) + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, uint *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + /// + /// void svst2[_u64](svbool_t pg, uint64_t *base, svuint64x2_t data) + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, ulong *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + /// + /// void svst2[_f32](svbool_t pg, float32_t *base, svfloat32x2_t data) + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST2W {Zdata0.S, Zdata1.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, float *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + /// + /// void svst2[_f64](svbool_t pg, float64_t *base, svfloat64x2_t data) + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST2D {Zdata0.D, Zdata1.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, double *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + + /// Storex3 : Store three vectors into three-element tuples + + /// + /// void svst3[_s8](svbool_t pg, int8_t *base, svint8x3_t data) + /// ST3B {Zdata0.B - Zdata2.B}, Pg, [Xarray, Xindex] + /// ST3B {Zdata0.B - Zdata2.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, sbyte *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + /// + /// void svst3[_s16](svbool_t pg, int16_t *base, svint16x3_t data) + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, short *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + /// + /// void svst3[_s32](svbool_t pg, int32_t *base, svint32x3_t data) + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, int *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + /// + /// void svst3[_s64](svbool_t pg, int64_t *base, svint64x3_t data) + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, long *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + /// + /// void svst3[_u8](svbool_t pg, uint8_t *base, svuint8x3_t data) + /// ST3B {Zdata0.B - Zdata2.B}, Pg, [Xarray, Xindex] + /// ST3B {Zdata0.B - Zdata2.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, byte *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + /// + /// void svst3[_u16](svbool_t pg, uint16_t *base, svuint16x3_t data) + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, ushort *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + /// + /// void svst3[_u32](svbool_t pg, uint32_t *base, svuint32x3_t data) + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, uint *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + /// + /// void svst3[_u64](svbool_t pg, uint64_t *base, svuint64x3_t data) + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, ulong *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + /// + /// void svst3[_f32](svbool_t pg, float32_t *base, svfloat32x3_t data) + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST3W {Zdata0.S - Zdata2.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, float *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + /// + /// void svst3[_f64](svbool_t pg, float64_t *base, svfloat64x3_t data) + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST3D {Zdata0.D - Zdata2.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, double *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + + /// Storex4 : Store four vectors into four-element tuples + + /// + /// void svst4[_s8](svbool_t pg, int8_t *base, svint8x4_t data) + /// ST4B {Zdata0.B - Zdata3.B}, Pg, [Xarray, Xindex] + /// ST4B {Zdata0.B - Zdata3.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, sbyte *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + /// + /// void svst4[_s16](svbool_t pg, int16_t *base, svint16x4_t data) + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, short *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + /// + /// void svst4[_s32](svbool_t pg, int32_t *base, svint32x4_t data) + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, int *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + /// + /// void svst4[_s64](svbool_t pg, int64_t *base, svint64x4_t data) + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, long *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + /// + /// void svst4[_u8](svbool_t pg, uint8_t *base, svuint8x4_t data) + /// ST4B {Zdata0.B - Zdata3.B}, Pg, [Xarray, Xindex] + /// ST4B {Zdata0.B - Zdata3.B}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, byte *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + /// + /// void svst4[_u16](svbool_t pg, uint16_t *base, svuint16x4_t data) + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, ushort *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + /// + /// void svst4[_u32](svbool_t pg, uint32_t *base, svuint32x4_t data) + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, uint *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + /// + /// void svst4[_u64](svbool_t pg, uint64_t *base, svuint64x4_t data) + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, ulong *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + /// + /// void svst4[_f32](svbool_t pg, float32_t *base, svfloat32x4_t data) + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xarray, Xindex, LSL #2] + /// ST4W {Zdata0.S - Zdata3.S}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, float *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + /// + /// void svst4[_f64](svbool_t pg, float64_t *base, svfloat64x4_t data) + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xarray, Xindex, LSL #3] + /// ST4D {Zdata0.D - Zdata3.D}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, double *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + + /// Subtract : Subtract + + /// + /// svint8_t svsub[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svsub[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SUB Zresult.B, Zop1.B, Zop2.B + /// svint8_t svsub[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + /// + /// svint16_t svsub[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svsub[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SUB Zresult.H, Zop1.H, Zop2.H + /// svint16_t svsub[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + /// + /// svint32_t svsub[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svsub[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SUB Zresult.S, Zop1.S, Zop2.S + /// svint32_t svsub[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + /// + /// svint64_t svsub[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svsub[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SUB Zresult.D, Zop1.D, Zop2.D + /// svint64_t svsub[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + /// + /// svuint8_t svsub[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svsub[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SUB Zresult.B, Zop1.B, Zop2.B + /// svuint8_t svsub[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + /// + /// svuint16_t svsub[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svsub[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SUB Zresult.H, Zop1.H, Zop2.H + /// svuint16_t svsub[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + /// + /// svuint32_t svsub[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svsub[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SUB Zresult.S, Zop1.S, Zop2.S + /// svuint32_t svsub[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + /// + /// svuint64_t svsub[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svsub[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SUB Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svsub[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + /// + /// svfloat32_t svsub[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svsub[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FSUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// FSUB Zresult.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svsub[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FSUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + /// + /// svfloat64_t svsub[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svsub[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FSUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// FSUB Zresult.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svsub[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FSUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + + /// SubtractReversed : Subtract reversed + + /// + /// svint8_t svsubr[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svsubr[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SUB Zresult.B, Zop2.B, Zop1.B + /// svint8_t svsubr[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + /// + /// svint16_t svsubr[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svsubr[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SUB Zresult.H, Zop2.H, Zop1.H + /// svint16_t svsubr[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + /// + /// svint32_t svsubr[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svsubr[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SUB Zresult.S, Zop2.S, Zop1.S + /// svint32_t svsubr[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + /// + /// svint64_t svsubr[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svsubr[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SUB Zresult.D, Zop2.D, Zop1.D + /// svint64_t svsubr[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + /// + /// svuint8_t svsubr[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svsubr[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// SUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SUB Zresult.B, Zop2.B, Zop1.B + /// svuint8_t svsubr[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + /// + /// svuint16_t svsubr[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svsubr[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// SUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SUB Zresult.H, Zop2.H, Zop1.H + /// svuint16_t svsubr[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + /// + /// svuint32_t svsubr[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svsubr[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// SUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SUB Zresult.S, Zop2.S, Zop1.S + /// svuint32_t svsubr[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + /// + /// svuint64_t svsubr[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svsubr[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// SUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SUB Zresult.D, Zop2.D, Zop1.D + /// svuint64_t svsubr[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + /// + /// svfloat32_t svsubr[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svsubr[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// FSUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// FSUB Zresult.S, Zop2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svsubr[_f32]_z(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; FSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; FSUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + /// + /// svfloat64_t svsubr[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svsubr[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// FSUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// FSUB Zresult.D, Zop2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svsubr[_f64]_z(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; FSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; FSUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + + /// SubtractSaturate : Saturating subtract + + /// + /// svint8_t svqsub[_s8](svint8_t op1, svint8_t op2) + /// SQSUB Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svint16_t svqsub[_s16](svint16_t op1, svint16_t op2) + /// SQSUB Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svint32_t svqsub[_s32](svint32_t op1, svint32_t op2) + /// SQSUB Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svint64_t svqsub[_s64](svint64_t op1, svint64_t op2) + /// SQSUB Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svuint8_t svqsub[_u8](svuint8_t op1, svuint8_t op2) + /// UQSUB Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svuint16_t svqsub[_u16](svuint16_t op1, svuint16_t op2) + /// UQSUB Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svuint32_t svqsub[_u32](svuint32_t op1, svuint32_t op2) + /// UQSUB Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svuint64_t svqsub[_u64](svuint64_t op1, svuint64_t op2) + /// UQSUB Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + + /// TransposeEven : Interleave even elements from two inputs + + /// + /// svint8_t svtrn1[_s8](svint8_t op1, svint8_t op2) + /// TRN1 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + /// + /// svint16_t svtrn1[_s16](svint16_t op1, svint16_t op2) + /// TRN1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + /// + /// svint32_t svtrn1[_s32](svint32_t op1, svint32_t op2) + /// TRN1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + /// + /// svint64_t svtrn1[_s64](svint64_t op1, svint64_t op2) + /// TRN1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + /// + /// svuint8_t svtrn1[_u8](svuint8_t op1, svuint8_t op2) + /// TRN1 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svtrn1_b8(svbool_t op1, svbool_t op2) + /// TRN1 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + /// + /// svuint16_t svtrn1[_u16](svuint16_t op1, svuint16_t op2) + /// TRN1 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svtrn1_b16(svbool_t op1, svbool_t op2) + /// TRN1 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + /// + /// svuint32_t svtrn1[_u32](svuint32_t op1, svuint32_t op2) + /// TRN1 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svtrn1_b32(svbool_t op1, svbool_t op2) + /// TRN1 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + /// + /// svuint64_t svtrn1[_u64](svuint64_t op1, svuint64_t op2) + /// TRN1 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svtrn1_b64(svbool_t op1, svbool_t op2) + /// TRN1 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + /// + /// svfloat32_t svtrn1[_f32](svfloat32_t op1, svfloat32_t op2) + /// TRN1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + /// + /// svfloat64_t svtrn1[_f64](svfloat64_t op1, svfloat64_t op2) + /// TRN1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + + /// TransposeOdd : Interleave odd elements from two inputs + + /// + /// svint8_t svtrn2[_s8](svint8_t op1, svint8_t op2) + /// TRN2 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + /// + /// svint16_t svtrn2[_s16](svint16_t op1, svint16_t op2) + /// TRN2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + /// + /// svint32_t svtrn2[_s32](svint32_t op1, svint32_t op2) + /// TRN2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + /// + /// svint64_t svtrn2[_s64](svint64_t op1, svint64_t op2) + /// TRN2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + /// + /// svuint8_t svtrn2[_u8](svuint8_t op1, svuint8_t op2) + /// TRN2 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svtrn2_b8(svbool_t op1, svbool_t op2) + /// TRN2 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + /// + /// svuint16_t svtrn2[_u16](svuint16_t op1, svuint16_t op2) + /// TRN2 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svtrn2_b16(svbool_t op1, svbool_t op2) + /// TRN2 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + /// + /// svuint32_t svtrn2[_u32](svuint32_t op1, svuint32_t op2) + /// TRN2 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svtrn2_b32(svbool_t op1, svbool_t op2) + /// TRN2 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + /// + /// svuint64_t svtrn2[_u64](svuint64_t op1, svuint64_t op2) + /// TRN2 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svtrn2_b64(svbool_t op1, svbool_t op2) + /// TRN2 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + /// + /// svfloat32_t svtrn2[_f32](svfloat32_t op1, svfloat32_t op2) + /// TRN2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + /// + /// svfloat64_t svtrn2[_f64](svfloat64_t op1, svfloat64_t op2) + /// TRN2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + + /// TrigonometricMultiplyAddCoefficient : Trigonometric multiply-add coefficient + + /// + /// svfloat32_t svtmad[_f32](svfloat32_t op1, svfloat32_t op2, uint64_t imm3) + /// FTMAD Ztied1.S, Ztied1.S, Zop2.S, #imm3 + /// MOVPRFX Zresult, Zop1; FTMAD Zresult.S, Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector TrigonometricMultiplyAddCoefficient(Vector op1, Vector op2, ulong imm3) => TrigonometricMultiplyAddCoefficient(op1, op2, imm3); + + /// + /// svfloat64_t svtmad[_f64](svfloat64_t op1, svfloat64_t op2, uint64_t imm3) + /// FTMAD Ztied1.D, Ztied1.D, Zop2.D, #imm3 + /// MOVPRFX Zresult, Zop1; FTMAD Zresult.D, Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector TrigonometricMultiplyAddCoefficient(Vector op1, Vector op2, ulong imm3) => TrigonometricMultiplyAddCoefficient(op1, op2, imm3); + + + /// TrigonometricSelectCoefficient : Trigonometric select coefficient + + /// + /// svfloat32_t svtssel[_f32](svfloat32_t op1, svuint32_t op2) + /// FTSSEL Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TrigonometricSelectCoefficient(Vector left, Vector right) => TrigonometricSelectCoefficient(left, right); + + /// + /// svfloat64_t svtssel[_f64](svfloat64_t op1, svuint64_t op2) + /// FTSSEL Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TrigonometricSelectCoefficient(Vector left, Vector right) => TrigonometricSelectCoefficient(left, right); + + + /// TrigonometricStartingValue : Trigonometric starting value + + /// + /// svfloat32_t svtsmul[_f32](svfloat32_t op1, svuint32_t op2) + /// FTSMUL Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector TrigonometricStartingValue(Vector left, Vector right) => TrigonometricStartingValue(left, right); + + /// + /// svfloat64_t svtsmul[_f64](svfloat64_t op1, svuint64_t op2) + /// FTSMUL Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector TrigonometricStartingValue(Vector left, Vector right) => TrigonometricStartingValue(left, right); + + + /// TrueMask : Set predicate elements to true + + /// + /// svbool_t svptrue_b8() + /// PTRUE Presult.B, ALL + /// svbool_t svptrue_b16() + /// PTRUE Presult.H, ALL + /// svbool_t svptrue_b32() + /// PTRUE Presult.S, ALL + /// svbool_t svptrue_b64() + /// PTRUE Presult.D, ALL + /// + public static unsafe Vector TrueMask() => TrueMask(); + + /// + /// svbool_t svptrue_pat_b8(enum svpattern pattern) + /// PTRUE Presult.B, pattern + /// svbool_t svptrue_pat_b16(enum svpattern pattern) + /// PTRUE Presult.H, pattern + /// svbool_t svptrue_pat_b32(enum svpattern pattern) + /// PTRUE Presult.S, pattern + /// svbool_t svptrue_pat_b64(enum svpattern pattern) + /// PTRUE Presult.D, pattern + /// + public static unsafe Vector TrueMask(enum SveMaskPattern pattern) => TrueMask(SveMaskPattern); + + + /// UnzipEven : Concatenate even elements from two inputs + + /// + /// svint8_t svuzp1[_s8](svint8_t op1, svint8_t op2) + /// UZP1 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + /// + /// svint16_t svuzp1[_s16](svint16_t op1, svint16_t op2) + /// UZP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + /// + /// svint32_t svuzp1[_s32](svint32_t op1, svint32_t op2) + /// UZP1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + /// + /// svint64_t svuzp1[_s64](svint64_t op1, svint64_t op2) + /// UZP1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + /// + /// svuint8_t svuzp1[_u8](svuint8_t op1, svuint8_t op2) + /// UZP1 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svuzp1_b8(svbool_t op1, svbool_t op2) + /// UZP1 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + /// + /// svuint16_t svuzp1[_u16](svuint16_t op1, svuint16_t op2) + /// UZP1 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svuzp1_b16(svbool_t op1, svbool_t op2) + /// UZP1 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + /// + /// svuint32_t svuzp1[_u32](svuint32_t op1, svuint32_t op2) + /// UZP1 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svuzp1_b32(svbool_t op1, svbool_t op2) + /// UZP1 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + /// + /// svuint64_t svuzp1[_u64](svuint64_t op1, svuint64_t op2) + /// UZP1 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svuzp1_b64(svbool_t op1, svbool_t op2) + /// UZP1 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + /// + /// svfloat32_t svuzp1[_f32](svfloat32_t op1, svfloat32_t op2) + /// UZP1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + /// + /// svfloat64_t svuzp1[_f64](svfloat64_t op1, svfloat64_t op2) + /// UZP1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + + /// UnzipOdd : Concatenate odd elements from two inputs + + /// + /// svint8_t svuzp2[_s8](svint8_t op1, svint8_t op2) + /// UZP2 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + /// + /// svint16_t svuzp2[_s16](svint16_t op1, svint16_t op2) + /// UZP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + /// + /// svint32_t svuzp2[_s32](svint32_t op1, svint32_t op2) + /// UZP2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + /// + /// svint64_t svuzp2[_s64](svint64_t op1, svint64_t op2) + /// UZP2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + /// + /// svuint8_t svuzp2[_u8](svuint8_t op1, svuint8_t op2) + /// UZP2 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svuzp2_b8(svbool_t op1, svbool_t op2) + /// UZP2 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + /// + /// svuint16_t svuzp2[_u16](svuint16_t op1, svuint16_t op2) + /// UZP2 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svuzp2_b16(svbool_t op1, svbool_t op2) + /// UZP2 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + /// + /// svuint32_t svuzp2[_u32](svuint32_t op1, svuint32_t op2) + /// UZP2 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svuzp2_b32(svbool_t op1, svbool_t op2) + /// UZP2 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + /// + /// svuint64_t svuzp2[_u64](svuint64_t op1, svuint64_t op2) + /// UZP2 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svuzp2_b64(svbool_t op1, svbool_t op2) + /// UZP2 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + /// + /// svfloat32_t svuzp2[_f32](svfloat32_t op1, svfloat32_t op2) + /// UZP2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + /// + /// svfloat64_t svuzp2[_f64](svfloat64_t op1, svfloat64_t op2) + /// UZP2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + + /// VectorTableLookup : Table lookup in single-vector table + + /// + /// svint8_t svtbl[_s8](svint8_t data, svuint8_t indices) + /// TBL Zresult.B, Zdata.B, Zindices.B + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svint16_t svtbl[_s16](svint16_t data, svuint16_t indices) + /// TBL Zresult.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svint32_t svtbl[_s32](svint32_t data, svuint32_t indices) + /// TBL Zresult.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svint64_t svtbl[_s64](svint64_t data, svuint64_t indices) + /// TBL Zresult.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svuint8_t svtbl[_u8](svuint8_t data, svuint8_t indices) + /// TBL Zresult.B, Zdata.B, Zindices.B + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svuint16_t svtbl[_u16](svuint16_t data, svuint16_t indices) + /// TBL Zresult.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svuint32_t svtbl[_u32](svuint32_t data, svuint32_t indices) + /// TBL Zresult.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svuint64_t svtbl[_u64](svuint64_t data, svuint64_t indices) + /// TBL Zresult.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svfloat32_t svtbl[_f32](svfloat32_t data, svuint32_t indices) + /// TBL Zresult.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svfloat64_t svtbl[_f64](svfloat64_t data, svuint64_t indices) + /// TBL Zresult.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + + /// WriteFFR : Write to the first-fault register + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) => WriteFFR(value); + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) => WriteFFR(value); + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) => WriteFFR(value); + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) => WriteFFR(value); + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) => WriteFFR(value); + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) => WriteFFR(value); + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) => WriteFFR(value); + + /// + /// void svwrffr(svbool_t op) + /// WRFFR Pop.B + /// + public static unsafe void WriteFFR(Vector value) => WriteFFR(value); + + + /// Xor : Bitwise exclusive OR + + /// + /// svint8_t sveor[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// EOR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; EOR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t sveor[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// EOR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// EOR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svint8_t sveor[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; EOR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; EOR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) => Xor(left, right); + + /// + /// svint16_t sveor[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// EOR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; EOR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t sveor[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// EOR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// EOR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svint16_t sveor[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; EOR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; EOR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) => Xor(left, right); + + /// + /// svint32_t sveor[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// EOR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; EOR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t sveor[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// EOR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// EOR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svint32_t sveor[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; EOR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; EOR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) => Xor(left, right); + + /// + /// svint64_t sveor[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// EOR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t sveor[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// EOR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// EOR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svint64_t sveor[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; EOR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; EOR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) => Xor(left, right); + + /// + /// svuint8_t sveor[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// EOR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; EOR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t sveor[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// EOR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// EOR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svuint8_t sveor[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; EOR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; EOR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) => Xor(left, right); + + /// + /// svuint16_t sveor[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// EOR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; EOR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t sveor[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// EOR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// EOR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svuint16_t sveor[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; EOR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; EOR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) => Xor(left, right); + + /// + /// svuint32_t sveor[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// EOR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; EOR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t sveor[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// EOR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// EOR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svuint32_t sveor[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; EOR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; EOR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) => Xor(left, right); + + /// + /// svuint64_t sveor[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// EOR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t sveor[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// EOR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// EOR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// EOR Zresult.D, Zop1.D, Zop2.D + /// svuint64_t sveor[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; EOR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; EOR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// svbool_t sveor[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) + /// EOR Presult.B, Pg/Z, Pop1.B, Pop2.B + /// + public static unsafe Vector Xor(Vector left, Vector right) => Xor(left, right); + + + /// XorAcross : Bitwise exclusive OR reduction to scalar + + /// + /// int8_t sveorv[_s8](svbool_t pg, svint8_t op) + /// EORV Bresult, Pg, Zop.B + /// + public static unsafe sbyte XorAcross(Vector value) => XorAcross(value); + + /// + /// int16_t sveorv[_s16](svbool_t pg, svint16_t op) + /// EORV Hresult, Pg, Zop.H + /// + public static unsafe short XorAcross(Vector value) => XorAcross(value); + + /// + /// int32_t sveorv[_s32](svbool_t pg, svint32_t op) + /// EORV Sresult, Pg, Zop.S + /// + public static unsafe int XorAcross(Vector value) => XorAcross(value); + + /// + /// int64_t sveorv[_s64](svbool_t pg, svint64_t op) + /// EORV Dresult, Pg, Zop.D + /// + public static unsafe long XorAcross(Vector value) => XorAcross(value); + + /// + /// uint8_t sveorv[_u8](svbool_t pg, svuint8_t op) + /// EORV Bresult, Pg, Zop.B + /// + public static unsafe byte XorAcross(Vector value) => XorAcross(value); + + /// + /// uint16_t sveorv[_u16](svbool_t pg, svuint16_t op) + /// EORV Hresult, Pg, Zop.H + /// + public static unsafe ushort XorAcross(Vector value) => XorAcross(value); + + /// + /// uint32_t sveorv[_u32](svbool_t pg, svuint32_t op) + /// EORV Sresult, Pg, Zop.S + /// + public static unsafe uint XorAcross(Vector value) => XorAcross(value); + + /// + /// uint64_t sveorv[_u64](svbool_t pg, svuint64_t op) + /// EORV Dresult, Pg, Zop.D + /// + public static unsafe ulong XorAcross(Vector value) => XorAcross(value); + + + /// ZeroExtend16 : Zero-extend the low 16 bits + + /// + /// svuint32_t svexth[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// UXTH Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; UXTH Zresult.S, Pg/M, Zop.S + /// svuint32_t svexth[_u32]_x(svbool_t pg, svuint32_t op) + /// UXTH Ztied.S, Pg/M, Ztied.S + /// AND Ztied.S, Ztied.S, #65535 + /// svuint32_t svexth[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; UXTH Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ZeroExtend16(Vector value) => ZeroExtend16(value); + + /// + /// svuint64_t svexth[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// UXTH Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UXTH Zresult.D, Pg/M, Zop.D + /// svuint64_t svexth[_u64]_x(svbool_t pg, svuint64_t op) + /// UXTH Ztied.D, Pg/M, Ztied.D + /// AND Ztied.D, Ztied.D, #65535 + /// svuint64_t svexth[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UXTH Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ZeroExtend16(Vector value) => ZeroExtend16(value); + + + /// ZeroExtend32 : Zero-extend the low 32 bits + + /// + /// svuint64_t svextw[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// UXTW Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UXTW Zresult.D, Pg/M, Zop.D + /// svuint64_t svextw[_u64]_x(svbool_t pg, svuint64_t op) + /// UXTW Ztied.D, Pg/M, Ztied.D + /// AND Ztied.D, Ztied.D, #4294967295 + /// svuint64_t svextw[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UXTW Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ZeroExtend32(Vector value) => ZeroExtend32(value); + + + /// ZeroExtend8 : Zero-extend the low 8 bits + + /// + /// svuint16_t svextb[_u16]_m(svuint16_t inactive, svbool_t pg, svuint16_t op) + /// UXTB Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; UXTB Zresult.H, Pg/M, Zop.H + /// svuint16_t svextb[_u16]_x(svbool_t pg, svuint16_t op) + /// UXTB Ztied.H, Pg/M, Ztied.H + /// AND Ztied.H, Ztied.H, #255 + /// svuint16_t svextb[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; UXTB Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ZeroExtend8(Vector value) => ZeroExtend8(value); + + /// + /// svuint32_t svextb[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// UXTB Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; UXTB Zresult.S, Pg/M, Zop.S + /// svuint32_t svextb[_u32]_x(svbool_t pg, svuint32_t op) + /// UXTB Ztied.S, Pg/M, Ztied.S + /// AND Ztied.S, Ztied.S, #255 + /// svuint32_t svextb[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; UXTB Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ZeroExtend8(Vector value) => ZeroExtend8(value); + + /// + /// svuint64_t svextb[_u64]_m(svuint64_t inactive, svbool_t pg, svuint64_t op) + /// UXTB Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UXTB Zresult.D, Pg/M, Zop.D + /// svuint64_t svextb[_u64]_x(svbool_t pg, svuint64_t op) + /// UXTB Ztied.D, Pg/M, Ztied.D + /// AND Ztied.D, Ztied.D, #255 + /// svuint64_t svextb[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UXTB Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector ZeroExtend8(Vector value) => ZeroExtend8(value); + + + /// ZeroExtendWideningLower : Unpack and extend low half + + /// + /// svuint16_t svunpklo[_u16](svuint8_t op) + /// UUNPKLO Zresult.H, Zop.B + /// svbool_t svunpklo[_b](svbool_t op) + /// PUNPKLO Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningLower(Vector value) => ZeroExtendWideningLower(value); + + /// + /// svuint32_t svunpklo[_u32](svuint16_t op) + /// UUNPKLO Zresult.S, Zop.H + /// svbool_t svunpklo[_b](svbool_t op) + /// PUNPKLO Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningLower(Vector value) => ZeroExtendWideningLower(value); + + /// + /// svuint64_t svunpklo[_u64](svuint32_t op) + /// UUNPKLO Zresult.D, Zop.S + /// svbool_t svunpklo[_b](svbool_t op) + /// PUNPKLO Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningLower(Vector value) => ZeroExtendWideningLower(value); + + + /// ZeroExtendWideningUpper : Unpack and extend high half + + /// + /// svuint16_t svunpkhi[_u16](svuint8_t op) + /// UUNPKHI Zresult.H, Zop.B + /// svbool_t svunpkhi[_b](svbool_t op) + /// PUNPKHI Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningUpper(Vector value) => ZeroExtendWideningUpper(value); + + /// + /// svuint32_t svunpkhi[_u32](svuint16_t op) + /// UUNPKHI Zresult.S, Zop.H + /// svbool_t svunpkhi[_b](svbool_t op) + /// PUNPKHI Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningUpper(Vector value) => ZeroExtendWideningUpper(value); + + /// + /// svuint64_t svunpkhi[_u64](svuint32_t op) + /// UUNPKHI Zresult.D, Zop.S + /// svbool_t svunpkhi[_b](svbool_t op) + /// PUNPKHI Presult.H, Pop.B + /// + public static unsafe Vector ZeroExtendWideningUpper(Vector value) => ZeroExtendWideningUpper(value); + + + /// ZipHigh : Interleave elements from high halves of two inputs + + /// + /// svint8_t svzip2[_s8](svint8_t op1, svint8_t op2) + /// ZIP2 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + /// + /// svint16_t svzip2[_s16](svint16_t op1, svint16_t op2) + /// ZIP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + /// + /// svint32_t svzip2[_s32](svint32_t op1, svint32_t op2) + /// ZIP2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + /// + /// svint64_t svzip2[_s64](svint64_t op1, svint64_t op2) + /// ZIP2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + /// + /// svuint8_t svzip2[_u8](svuint8_t op1, svuint8_t op2) + /// ZIP2 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svzip2_b8(svbool_t op1, svbool_t op2) + /// ZIP2 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + /// + /// svuint16_t svzip2[_u16](svuint16_t op1, svuint16_t op2) + /// ZIP2 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svzip2_b16(svbool_t op1, svbool_t op2) + /// ZIP2 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + /// + /// svuint32_t svzip2[_u32](svuint32_t op1, svuint32_t op2) + /// ZIP2 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svzip2_b32(svbool_t op1, svbool_t op2) + /// ZIP2 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + /// + /// svuint64_t svzip2[_u64](svuint64_t op1, svuint64_t op2) + /// ZIP2 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svzip2_b64(svbool_t op1, svbool_t op2) + /// ZIP2 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + /// + /// svfloat32_t svzip2[_f32](svfloat32_t op1, svfloat32_t op2) + /// ZIP2 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + /// + /// svfloat64_t svzip2[_f64](svfloat64_t op1, svfloat64_t op2) + /// ZIP2 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + + /// ZipLow : Interleave elements from low halves of two inputs + + /// + /// svint8_t svzip1[_s8](svint8_t op1, svint8_t op2) + /// ZIP1 Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + /// + /// svint16_t svzip1[_s16](svint16_t op1, svint16_t op2) + /// ZIP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + /// + /// svint32_t svzip1[_s32](svint32_t op1, svint32_t op2) + /// ZIP1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + /// + /// svint64_t svzip1[_s64](svint64_t op1, svint64_t op2) + /// ZIP1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + /// + /// svuint8_t svzip1[_u8](svuint8_t op1, svuint8_t op2) + /// ZIP1 Zresult.B, Zop1.B, Zop2.B + /// svbool_t svzip1_b8(svbool_t op1, svbool_t op2) + /// ZIP1 Presult.B, Pop1.B, Pop2.B + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + /// + /// svuint16_t svzip1[_u16](svuint16_t op1, svuint16_t op2) + /// ZIP1 Zresult.H, Zop1.H, Zop2.H + /// svbool_t svzip1_b16(svbool_t op1, svbool_t op2) + /// ZIP1 Presult.H, Pop1.H, Pop2.H + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + /// + /// svuint32_t svzip1[_u32](svuint32_t op1, svuint32_t op2) + /// ZIP1 Zresult.S, Zop1.S, Zop2.S + /// svbool_t svzip1_b32(svbool_t op1, svbool_t op2) + /// ZIP1 Presult.S, Pop1.S, Pop2.S + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + /// + /// svuint64_t svzip1[_u64](svuint64_t op1, svuint64_t op2) + /// ZIP1 Zresult.D, Zop1.D, Zop2.D + /// svbool_t svzip1_b64(svbool_t op1, svbool_t op2) + /// ZIP1 Presult.D, Pop1.D, Pop2.D + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + /// + /// svfloat32_t svzip1[_f32](svfloat32_t op1, svfloat32_t op2) + /// ZIP1 Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + /// + /// svfloat64_t svzip1[_f64](svfloat64_t op1, svfloat64_t op2) + /// ZIP1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.PlatformNotSupported.cs new file mode 100644 index 0000000000000..f8ed324dd5671 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.PlatformNotSupported.cs @@ -0,0 +1,7720 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class Sve2 : AdvSimd + { + internal Sve2() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// AbsoluteDifferenceAdd : Absolute difference and accumulate + + /// + /// svint8_t svaba[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// SABA Ztied1.B, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SABA Zresult.B, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svaba[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// SABA Ztied1.H, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SABA Zresult.H, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svaba[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// SABA Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SABA Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svaba[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// SABA Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; SABA Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svaba[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// UABA Ztied1.B, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UABA Zresult.B, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svaba[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// UABA Ztied1.H, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UABA Zresult.H, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svaba[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// UABA Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UABA Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svaba[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// UABA Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; UABA Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteDifferenceAddWideningLower : Absolute difference and accumulate long (bottom) + + /// + /// svint16_t svabalb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SABALB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SABALB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svabalb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SABALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SABALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svabalb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SABALB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SABALB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svabalb[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UABALB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UABALB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svabalb[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UABALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UABALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svabalb[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UABALB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UABALB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteDifferenceAddWideningUpper : Absolute difference and accumulate long (top) + + /// + /// svint16_t svabalt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SABALT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SABALT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svabalt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SABALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SABALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svabalt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SABALT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SABALT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svabalt[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UABALT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UABALT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svabalt[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UABALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UABALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svabalt[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UABALT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UABALT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteDifferenceWideningLower : Absolute difference long (bottom) + + /// + /// svint16_t svabdlb[_s16](svint8_t op1, svint8_t op2) + /// SABDLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svabdlb[_s32](svint16_t op1, svint16_t op2) + /// SABDLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svabdlb[_s64](svint32_t op1, svint32_t op2) + /// SABDLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svabdlb[_u16](svuint8_t op1, svuint8_t op2) + /// UABDLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svabdlb[_u32](svuint16_t op1, svuint16_t op2) + /// UABDLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svabdlb[_u64](svuint32_t op1, svuint32_t op2) + /// UABDLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteDifferenceWideningUpper : Absolute difference long (top) + + /// + /// svint16_t svabdlt[_s16](svint8_t op1, svint8_t op2) + /// SABDLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svabdlt[_s32](svint16_t op1, svint16_t op2) + /// SABDLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svabdlt[_s64](svint32_t op1, svint32_t op2) + /// SABDLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svabdlt[_u16](svuint8_t op1, svuint8_t op2) + /// UABDLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svabdlt[_u32](svuint16_t op1, svuint16_t op2) + /// UABDLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svabdlt[_u64](svuint32_t op1, svuint32_t op2) + /// UABDLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddCarryWideningLower : Add with carry long (bottom) + + /// + /// svuint32_t svadclb[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// ADCLB Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; ADCLB Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector AddCarryWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadclb[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// ADCLB Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; ADCLB Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector AddCarryWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// AddCarryWideningUpper : Add with carry long (top) + + /// + /// svuint32_t svadclt[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// ADCLT Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; ADCLT Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector AddCarryWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadclt[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// ADCLT Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; ADCLT Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector AddCarryWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// AddHighNarowingLower : Add narrow high part (bottom) + + /// + /// svint8_t svaddhnb[_s16](svint16_t op1, svint16_t op2) + /// ADDHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svaddhnb[_s32](svint32_t op1, svint32_t op2) + /// ADDHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svaddhnb[_s64](svint64_t op1, svint64_t op2) + /// ADDHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svaddhnb[_u16](svuint16_t op1, svuint16_t op2) + /// ADDHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svaddhnb[_u32](svuint32_t op1, svuint32_t op2) + /// ADDHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svaddhnb[_u64](svuint64_t op1, svuint64_t op2) + /// ADDHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddHighNarowingUpper : Add narrow high part (top) + + /// + /// svint8_t svaddhnt[_s16](svint8_t even, svint16_t op1, svint16_t op2) + /// ADDHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svaddhnt[_s32](svint16_t even, svint32_t op1, svint32_t op2) + /// ADDHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svaddhnt[_s64](svint32_t even, svint64_t op1, svint64_t op2) + /// ADDHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svaddhnt[_u16](svuint8_t even, svuint16_t op1, svuint16_t op2) + /// ADDHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svaddhnt[_u32](svuint16_t even, svuint32_t op1, svuint32_t op2) + /// ADDHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svaddhnt[_u64](svuint32_t even, svuint64_t op1, svuint64_t op2) + /// ADDHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddPairwise : Add pairwise + + /// + /// svint8_t svaddp[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// ADDP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADDP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svaddp[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// ADDP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADDP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svaddp[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// ADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svaddp[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// ADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svaddp[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// ADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svaddp[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// ADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svaddp[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// ADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svaddp[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// ADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svaddp[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ADDP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADDP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svaddp[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ADDP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADDP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svaddp[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svaddp[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svaddp[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svaddp[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svaddp[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svaddp[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svaddp[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svaddp[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svaddp[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svaddp[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddPairwiseWidening : Add and accumulate long pairwise + + /// + /// svint16_t svadalp[_s16]_m(svbool_t pg, svint16_t op1, svint8_t op2) + /// SADALP Ztied1.H, Pg/M, Zop2.B + /// MOVPRFX Zresult, Zop1; SADALP Zresult.H, Pg/M, Zop2.B + /// svint16_t svadalp[_s16]_x(svbool_t pg, svint16_t op1, svint8_t op2) + /// SADALP Ztied1.H, Pg/M, Zop2.B + /// MOVPRFX Zresult, Zop1; SADALP Zresult.H, Pg/M, Zop2.B + /// svint16_t svadalp[_s16]_z(svbool_t pg, svint16_t op1, svint8_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SADALP Zresult.H, Pg/M, Zop2.B + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svadalp[_s32]_m(svbool_t pg, svint32_t op1, svint16_t op2) + /// SADALP Ztied1.S, Pg/M, Zop2.H + /// MOVPRFX Zresult, Zop1; SADALP Zresult.S, Pg/M, Zop2.H + /// svint32_t svadalp[_s32]_x(svbool_t pg, svint32_t op1, svint16_t op2) + /// SADALP Ztied1.S, Pg/M, Zop2.H + /// MOVPRFX Zresult, Zop1; SADALP Zresult.S, Pg/M, Zop2.H + /// svint32_t svadalp[_s32]_z(svbool_t pg, svint32_t op1, svint16_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SADALP Zresult.S, Pg/M, Zop2.H + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svadalp[_s64]_m(svbool_t pg, svint64_t op1, svint32_t op2) + /// SADALP Ztied1.D, Pg/M, Zop2.S + /// MOVPRFX Zresult, Zop1; SADALP Zresult.D, Pg/M, Zop2.S + /// svint64_t svadalp[_s64]_x(svbool_t pg, svint64_t op1, svint32_t op2) + /// SADALP Ztied1.D, Pg/M, Zop2.S + /// MOVPRFX Zresult, Zop1; SADALP Zresult.D, Pg/M, Zop2.S + /// svint64_t svadalp[_s64]_z(svbool_t pg, svint64_t op1, svint32_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SADALP Zresult.D, Pg/M, Zop2.S + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svadalp[_u16]_m(svbool_t pg, svuint16_t op1, svuint8_t op2) + /// UADALP Ztied1.H, Pg/M, Zop2.B + /// MOVPRFX Zresult, Zop1; UADALP Zresult.H, Pg/M, Zop2.B + /// svuint16_t svadalp[_u16]_x(svbool_t pg, svuint16_t op1, svuint8_t op2) + /// UADALP Ztied1.H, Pg/M, Zop2.B + /// MOVPRFX Zresult, Zop1; UADALP Zresult.H, Pg/M, Zop2.B + /// svuint16_t svadalp[_u16]_z(svbool_t pg, svuint16_t op1, svuint8_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UADALP Zresult.H, Pg/M, Zop2.B + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svadalp[_u32]_m(svbool_t pg, svuint32_t op1, svuint16_t op2) + /// UADALP Ztied1.S, Pg/M, Zop2.H + /// MOVPRFX Zresult, Zop1; UADALP Zresult.S, Pg/M, Zop2.H + /// svuint32_t svadalp[_u32]_x(svbool_t pg, svuint32_t op1, svuint16_t op2) + /// UADALP Ztied1.S, Pg/M, Zop2.H + /// MOVPRFX Zresult, Zop1; UADALP Zresult.S, Pg/M, Zop2.H + /// svuint32_t svadalp[_u32]_z(svbool_t pg, svuint32_t op1, svuint16_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UADALP Zresult.S, Pg/M, Zop2.H + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svadalp[_u64]_m(svbool_t pg, svuint64_t op1, svuint32_t op2) + /// UADALP Ztied1.D, Pg/M, Zop2.S + /// MOVPRFX Zresult, Zop1; UADALP Zresult.D, Pg/M, Zop2.S + /// svuint64_t svadalp[_u64]_x(svbool_t pg, svuint64_t op1, svuint32_t op2) + /// UADALP Ztied1.D, Pg/M, Zop2.S + /// MOVPRFX Zresult, Zop1; UADALP Zresult.D, Pg/M, Zop2.S + /// svuint64_t svadalp[_u64]_z(svbool_t pg, svuint64_t op1, svuint32_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UADALP Zresult.D, Pg/M, Zop2.S + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddRotateComplex : Complex add with rotate + + /// + /// svint8_t svcadd[_s8](svint8_t op1, svint8_t op2, uint64_t imm_rotation) + /// CADD Ztied1.B, Ztied1.B, Zop2.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.B, Zresult.B, Zop2.B, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svcadd[_s16](svint16_t op1, svint16_t op2, uint64_t imm_rotation) + /// CADD Ztied1.H, Ztied1.H, Zop2.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.H, Zresult.H, Zop2.H, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svcadd[_s32](svint32_t op1, svint32_t op2, uint64_t imm_rotation) + /// CADD Ztied1.S, Ztied1.S, Zop2.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.S, Zresult.S, Zop2.S, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svcadd[_s64](svint64_t op1, svint64_t op2, uint64_t imm_rotation) + /// CADD Ztied1.D, Ztied1.D, Zop2.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.D, Zresult.D, Zop2.D, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svcadd[_u8](svuint8_t op1, svuint8_t op2, uint64_t imm_rotation) + /// CADD Ztied1.B, Ztied1.B, Zop2.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.B, Zresult.B, Zop2.B, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svcadd[_u16](svuint16_t op1, svuint16_t op2, uint64_t imm_rotation) + /// CADD Ztied1.H, Ztied1.H, Zop2.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.H, Zresult.H, Zop2.H, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svcadd[_u32](svuint32_t op1, svuint32_t op2, uint64_t imm_rotation) + /// CADD Ztied1.S, Ztied1.S, Zop2.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.S, Zresult.S, Zop2.S, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svcadd[_u64](svuint64_t op1, svuint64_t op2, uint64_t imm_rotation) + /// CADD Ztied1.D, Ztied1.D, Zop2.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.D, Zresult.D, Zop2.D, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + + /// AddSaturate : Saturating add + + /// + /// svint8_t svqadd[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqadd[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SQADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SQADD Zresult.B, Zop1.B, Zop2.B + /// svint8_t svqadd[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SQADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqadd[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqadd[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SQADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SQADD Zresult.H, Zop1.H, Zop2.H + /// svint16_t svqadd[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SQADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqadd[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqadd[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SQADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SQADD Zresult.S, Zop1.S, Zop2.S + /// svint32_t svqadd[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SQADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqadd[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqadd[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SQADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SQADD Zresult.D, Zop1.D, Zop2.D + /// svint64_t svqadd[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SQADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqadd[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqadd[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UQADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// UQADD Zresult.B, Zop1.B, Zop2.B + /// svuint8_t svqadd[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UQADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqadd[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqadd[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UQADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// UQADD Zresult.H, Zop1.H, Zop2.H + /// svuint16_t svqadd[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UQADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqadd[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqadd[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UQADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// UQADD Zresult.S, Zop1.S, Zop2.S + /// svuint32_t svqadd[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UQADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqadd[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqadd[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UQADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// UQADD Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svqadd[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UQADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddSaturateWithSignedAddend : Saturating add with signed addend + + /// + /// svuint8_t svsqadd[_u8]_m(svbool_t pg, svuint8_t op1, svint8_t op2) + /// USQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; USQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svsqadd[_u8]_x(svbool_t pg, svuint8_t op1, svint8_t op2) + /// USQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; USQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svsqadd[_u8]_z(svbool_t pg, svuint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; USQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector AddSaturateWithSignedAddend(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsqadd[_u16]_m(svbool_t pg, svuint16_t op1, svint16_t op2) + /// USQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; USQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svsqadd[_u16]_x(svbool_t pg, svuint16_t op1, svint16_t op2) + /// USQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; USQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svsqadd[_u16]_z(svbool_t pg, svuint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; USQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector AddSaturateWithSignedAddend(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsqadd[_u32]_m(svbool_t pg, svuint32_t op1, svint32_t op2) + /// USQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; USQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svsqadd[_u32]_x(svbool_t pg, svuint32_t op1, svint32_t op2) + /// USQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; USQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svsqadd[_u32]_z(svbool_t pg, svuint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; USQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector AddSaturateWithSignedAddend(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsqadd[_u64]_m(svbool_t pg, svuint64_t op1, svint64_t op2) + /// USQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; USQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svsqadd[_u64]_x(svbool_t pg, svuint64_t op1, svint64_t op2) + /// USQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; USQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svsqadd[_u64]_z(svbool_t pg, svuint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; USQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector AddSaturateWithSignedAddend(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddSaturateWithUnsignedAddend : Saturating add with unsigned addend + + /// + /// svint8_t svuqadd[_s8]_m(svbool_t pg, svint8_t op1, svuint8_t op2) + /// SUQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svuqadd[_s8]_x(svbool_t pg, svint8_t op1, svuint8_t op2) + /// SUQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svuqadd[_s8]_z(svbool_t pg, svint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SUQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector AddSaturateWithUnsignedAddend(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svuqadd[_s16]_m(svbool_t pg, svint16_t op1, svuint16_t op2) + /// SUQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svuqadd[_s16]_x(svbool_t pg, svint16_t op1, svuint16_t op2) + /// SUQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svuqadd[_s16]_z(svbool_t pg, svint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SUQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector AddSaturateWithUnsignedAddend(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svuqadd[_s32]_m(svbool_t pg, svint32_t op1, svuint32_t op2) + /// SUQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svuqadd[_s32]_x(svbool_t pg, svint32_t op1, svuint32_t op2) + /// SUQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svuqadd[_s32]_z(svbool_t pg, svint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SUQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector AddSaturateWithUnsignedAddend(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svuqadd[_s64]_m(svbool_t pg, svint64_t op1, svuint64_t op2) + /// SUQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svuqadd[_s64]_x(svbool_t pg, svint64_t op1, svuint64_t op2) + /// SUQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svuqadd[_s64]_z(svbool_t pg, svint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SUQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector AddSaturateWithUnsignedAddend(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddWideLower : Add wide (bottom) + + /// + /// svint16_t svaddwb[_s16](svint16_t op1, svint8_t op2) + /// SADDWB Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svaddwb[_s32](svint32_t op1, svint16_t op2) + /// SADDWB Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svaddwb[_s64](svint64_t op1, svint32_t op2) + /// SADDWB Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svaddwb[_u16](svuint16_t op1, svuint8_t op2) + /// UADDWB Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svaddwb[_u32](svuint32_t op1, svuint16_t op2) + /// UADDWB Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svaddwb[_u64](svuint64_t op1, svuint32_t op2) + /// UADDWB Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddWideUpper : Add wide (top) + + /// + /// svint16_t svaddwt[_s16](svint16_t op1, svint8_t op2) + /// SADDWT Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svaddwt[_s32](svint32_t op1, svint16_t op2) + /// SADDWT Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svaddwt[_s64](svint64_t op1, svint32_t op2) + /// SADDWT Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svaddwt[_u16](svuint16_t op1, svuint8_t op2) + /// UADDWT Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svaddwt[_u32](svuint32_t op1, svuint16_t op2) + /// UADDWT Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svaddwt[_u64](svuint64_t op1, svuint32_t op2) + /// UADDWT Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddWideningLower : Add long (bottom) + + /// + /// svint16_t svaddlb[_s16](svint8_t op1, svint8_t op2) + /// SADDLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svaddlb[_s32](svint16_t op1, svint16_t op2) + /// SADDLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svaddlb[_s64](svint32_t op1, svint32_t op2) + /// SADDLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svaddlb[_u16](svuint8_t op1, svuint8_t op2) + /// UADDLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svaddlb[_u32](svuint16_t op1, svuint16_t op2) + /// UADDLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svaddlb[_u64](svuint32_t op1, svuint32_t op2) + /// UADDLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddWideningLowerUpper : Add long (bottom + top) + + /// + /// svint16_t svaddlbt[_s16](svint8_t op1, svint8_t op2) + /// SADDLBT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AddWideningLowerUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svaddlbt[_s32](svint16_t op1, svint16_t op2) + /// SADDLBT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AddWideningLowerUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svaddlbt[_s64](svint32_t op1, svint32_t op2) + /// SADDLBT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AddWideningLowerUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddWideningUpper : Add long (top) + + /// + /// svint16_t svaddlt[_s16](svint8_t op1, svint8_t op2) + /// SADDLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svaddlt[_s32](svint16_t op1, svint16_t op2) + /// SADDLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svaddlt[_s64](svint32_t op1, svint32_t op2) + /// SADDLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svaddlt[_u16](svuint8_t op1, svuint8_t op2) + /// UADDLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svaddlt[_u32](svuint16_t op1, svuint16_t op2) + /// UADDLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svaddlt[_u64](svuint32_t op1, svuint32_t op2) + /// UADDLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// BitwiseClearXor : Bitwise clear and exclusive OR + + /// + /// svint8_t svbcax[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svbcax[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svbcax[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svbcax[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svbcax[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbcax[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbcax[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbcax[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// BitwiseSelect : Bitwise select + + /// + /// svint8_t svbsl[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svbsl[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svbsl[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svbsl[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svbsl[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbsl[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbsl[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbsl[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// BitwiseSelectFirstInverted : Bitwise select with first input inverted + + /// + /// svint8_t svbsl1n[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svbsl1n[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svbsl1n[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svbsl1n[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svbsl1n[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbsl1n[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbsl1n[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbsl1n[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// BitwiseSelectInverted : Bitwise select + + /// + /// svint8_t svnbsl[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svnbsl[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svnbsl[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svnbsl[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svnbsl[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svnbsl[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svnbsl[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svnbsl[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// BitwiseSelectSecondInverted : Bitwise select with second input inverted + + /// + /// svint8_t svbsl2n[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svbsl2n[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svbsl2n[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svbsl2n[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svbsl2n[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbsl2n[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbsl2n[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbsl2n[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// CountMatchingElements : Count matching elements + + /// + /// svuint32_t svhistcnt[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// HISTCNT Zresult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CountMatchingElements(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svhistcnt[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// HISTCNT Zresult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CountMatchingElements(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svhistcnt[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// HISTCNT Zresult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CountMatchingElements(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svhistcnt[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// HISTCNT Zresult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CountMatchingElements(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CountMatchingElementsIn128BitSegments : Count matching elements in 128-bit segments + + /// + /// svuint8_t svhistseg[_s8](svint8_t op1, svint8_t op2) + /// HISTSEG Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector CountMatchingElementsIn128BitSegments(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svhistseg[_u8](svuint8_t op1, svuint8_t op2) + /// HISTSEG Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector CountMatchingElementsIn128BitSegments(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CreateWhileGreaterThanMask : While decrementing scalar is greater than + + /// + /// svbool_t svwhilegt_b8[_s32](int32_t op1, int32_t op2) + /// WHILEGT Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b8[_s64](int64_t op1, int64_t op2) + /// WHILEGT Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b8[_u32](uint32_t op1, uint32_t op2) + /// WHILEHI Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b8[_u64](uint64_t op1, uint64_t op2) + /// WHILEHI Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b16[_s32](int32_t op1, int32_t op2) + /// WHILEGT Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b16[_s64](int64_t op1, int64_t op2) + /// WHILEGT Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b16[_u32](uint32_t op1, uint32_t op2) + /// WHILEHI Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b16[_u64](uint64_t op1, uint64_t op2) + /// WHILEHI Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b32[_s32](int32_t op1, int32_t op2) + /// WHILEGT Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b32[_s64](int64_t op1, int64_t op2) + /// WHILEGT Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b32[_u32](uint32_t op1, uint32_t op2) + /// WHILEHI Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b32[_u64](uint64_t op1, uint64_t op2) + /// WHILEHI Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b64[_s32](int32_t op1, int32_t op2) + /// WHILEGT Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b64[_s64](int64_t op1, int64_t op2) + /// WHILEGT Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b64[_u32](uint32_t op1, uint32_t op2) + /// WHILEHI Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilegt_b64[_u64](uint64_t op1, uint64_t op2) + /// WHILEHI Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + + /// CreateWhileGreaterThanOrEqualMask : While decrementing scalar is greater than or equal to + + /// + /// svbool_t svwhilege_b8[_s32](int32_t op1, int32_t op2) + /// WHILEGE Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b8[_s64](int64_t op1, int64_t op2) + /// WHILEGE Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b8[_u32](uint32_t op1, uint32_t op2) + /// WHILEHS Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b8[_u64](uint64_t op1, uint64_t op2) + /// WHILEHS Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b16[_s32](int32_t op1, int32_t op2) + /// WHILEGE Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b16[_s64](int64_t op1, int64_t op2) + /// WHILEGE Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b16[_u32](uint32_t op1, uint32_t op2) + /// WHILEHS Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b16[_u64](uint64_t op1, uint64_t op2) + /// WHILEHS Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b32[_s32](int32_t op1, int32_t op2) + /// WHILEGE Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b32[_s64](int64_t op1, int64_t op2) + /// WHILEGE Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b32[_u32](uint32_t op1, uint32_t op2) + /// WHILEHS Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b32[_u64](uint64_t op1, uint64_t op2) + /// WHILEHS Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b64[_s32](int32_t op1, int32_t op2) + /// WHILEGE Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(int left, int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b64[_s64](int64_t op1, int64_t op2) + /// WHILEGE Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(long left, long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b64[_u32](uint32_t op1, uint32_t op2) + /// WHILEHS Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(uint left, uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilege_b64[_u64](uint64_t op1, uint64_t op2) + /// WHILEHS Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(ulong left, ulong right) { throw new PlatformNotSupportedException(); } + + + /// CreateWhileReadAfterWriteMask : While free of read-after-write conflicts + + /// + /// svbool_t svwhilerw[_s8](const int8_t *op1, const int8_t *op2) + /// WHILERW Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const sbyte left, const sbyte right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilerw[_s16](const int16_t *op1, const int16_t *op2) + /// WHILERW Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const short left, const short right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilerw[_s32](const int32_t *op1, const int32_t *op2) + /// WHILERW Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const int left, const int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilerw[_s64](const int64_t *op1, const int64_t *op2) + /// WHILERW Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const long left, const long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilerw[_u8](const uint8_t *op1, const uint8_t *op2) + /// WHILERW Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const byte left, const byte right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilerw[_u16](const uint16_t *op1, const uint16_t *op2) + /// WHILERW Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const ushort left, const ushort right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilerw[_u32](const uint32_t *op1, const uint32_t *op2) + /// WHILERW Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const uint left, const uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilerw[_u64](const uint64_t *op1, const uint64_t *op2) + /// WHILERW Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const ulong left, const ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilerw[_f32](const float32_t *op1, const float32_t *op2) + /// WHILERW Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const float left, const float right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilerw[_f64](const float64_t *op1, const float64_t *op2) + /// WHILERW Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const double left, const double right) { throw new PlatformNotSupportedException(); } + + + /// CreateWhileWriteAfterReadMask : While free of write-after-read conflicts + + /// + /// svbool_t svwhilewr[_s8](const int8_t *op1, const int8_t *op2) + /// WHILEWR Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const sbyte left, const sbyte right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilewr[_s16](const int16_t *op1, const int16_t *op2) + /// WHILEWR Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const short left, const short right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilewr[_s32](const int32_t *op1, const int32_t *op2) + /// WHILEWR Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const int left, const int right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilewr[_s64](const int64_t *op1, const int64_t *op2) + /// WHILEWR Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const long left, const long right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilewr[_u8](const uint8_t *op1, const uint8_t *op2) + /// WHILEWR Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const byte left, const byte right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilewr[_u16](const uint16_t *op1, const uint16_t *op2) + /// WHILEWR Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const ushort left, const ushort right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilewr[_u32](const uint32_t *op1, const uint32_t *op2) + /// WHILEWR Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const uint left, const uint right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilewr[_u64](const uint64_t *op1, const uint64_t *op2) + /// WHILEWR Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const ulong left, const ulong right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilewr[_f32](const float32_t *op1, const float32_t *op2) + /// WHILEWR Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const float left, const float right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svwhilewr[_f64](const float64_t *op1, const float64_t *op2) + /// WHILEWR Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const double left, const double right) { throw new PlatformNotSupportedException(); } + + + /// DotProductComplex : Complex dot product + + /// + /// svint32_t svcdot[_s32](svint32_t op1, svint8_t op2, svint8_t op3, uint64_t imm_rotation) + /// CDOT Ztied1.S, Zop2.B, Zop3.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; CDOT Zresult.S, Zop2.B, Zop3.B, #imm_rotation + /// + public static unsafe Vector DotProductComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svcdot_lane[_s32](svint32_t op1, svint8_t op2, svint8_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CDOT Ztied1.S, Zop2.B, Zop3.B[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CDOT Zresult.S, Zop2.B, Zop3.B[imm_index], #imm_rotation + /// + public static unsafe Vector DotProductComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svcdot[_s64](svint64_t op1, svint16_t op2, svint16_t op3, uint64_t imm_rotation) + /// CDOT Ztied1.D, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; CDOT Zresult.D, Zop2.H, Zop3.H, #imm_rotation + /// + public static unsafe Vector DotProductComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svcdot_lane[_s64](svint64_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CDOT Ztied1.D, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CDOT Zresult.D, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// + public static unsafe Vector DotProductComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + + /// DownConvertNarrowingUpper : Down convert and narrow (top) + + /// + /// svfloat32_t svcvtnt_f32[_f64]_m(svfloat32_t even, svbool_t pg, svfloat64_t op) + /// FCVTNT Ztied.S, Pg/M, Zop.D + /// svfloat32_t svcvtnt_f32[_f64]_x(svfloat32_t even, svbool_t pg, svfloat64_t op) + /// FCVTNT Ztied.S, Pg/M, Zop.D + /// + public static unsafe Vector DownConvertNarrowingUpper(Vector value) { throw new PlatformNotSupportedException(); } + + + /// DownConvertRoundingOdd : Down convert, rounding to odd + + /// + /// svfloat32_t svcvtx_f32[_f64]_m(svfloat32_t inactive, svbool_t pg, svfloat64_t op) + /// FCVTX Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVTX Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvtx_f32[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVTX Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVTX Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvtx_f32[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTX Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector DownConvertRoundingOdd(Vector value) { throw new PlatformNotSupportedException(); } + + + /// DownConvertRoundingOddUpper : Down convert, rounding to odd (top) + + /// + /// svfloat32_t svcvtxnt_f32[_f64]_m(svfloat32_t even, svbool_t pg, svfloat64_t op) + /// FCVTXNT Ztied.S, Pg/M, Zop.D + /// svfloat32_t svcvtxnt_f32[_f64]_x(svfloat32_t even, svbool_t pg, svfloat64_t op) + /// FCVTXNT Ztied.S, Pg/M, Zop.D + /// + public static unsafe Vector DownConvertRoundingOddUpper(Vector value) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorByteSignExtendNonTemporal : Load 8-bit data and sign-extend, non-temporal + + /// + /// svint32_t svldnt1sb_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDNT1SB Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1sb_gather_[u32]offset_s32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LDNT1SB Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1sb_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1SB Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sb_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1SB Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sb_gather_[s64]offset_s64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LDNT1SB Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sb_gather_[u64]offset_s64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LDNT1SB Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sb_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SB Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1sb_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDNT1SB Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1sb_gather_[u32]offset_u32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LDNT1SB Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1sb_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1SB Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sb_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1SB Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sb_gather_[s64]offset_u64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LDNT1SB Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sb_gather_[u64]offset_u64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LDNT1SB Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sb_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SB Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorByteZeroExtendNonTemporal : Load 8-bit data and zero-extend, non-temporal + + /// + /// svint32_t svldnt1ub_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDNT1B Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1ub_gather_[u32]offset_s32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LDNT1B Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1ub_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1B Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1ub_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1B Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1ub_gather_[s64]offset_s64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LDNT1B Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1ub_gather_[u64]offset_s64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LDNT1B Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1ub_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1B Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1ub_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDNT1B Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1ub_gather_[u32]offset_u32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LDNT1B Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1ub_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1B Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1ub_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1B Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1ub_gather_[s64]offset_u64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LDNT1B Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1ub_gather_[u64]offset_u64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LDNT1B Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1ub_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1B Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt16SignExtendNonTemporal : Load 16-bit data and sign-extend, non-temporal + + /// + /// svint32_t svldnt1sh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1sh_gather_[u32]offset_s32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LDNT1SH Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1sh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1sh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sh_gather_[s64]offset_s64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sh_gather_[u64]offset_s64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sh_gather_[s64]index_s64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sh_gather_[u64]index_s64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1sh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1sh_gather_[u32]offset_u32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LDNT1SH Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1sh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1sh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sh_gather_[s64]offset_u64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sh_gather_[u64]offset_u64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sh_gather_[s64]index_u64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sh_gather_[u64]index_u64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt16ZeroExtendNonTemporal : Load 16-bit data and zero-extend, non-temporal + + /// + /// svint32_t svldnt1uh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1uh_gather_[u32]offset_s32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LDNT1H Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1uh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1uh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uh_gather_[s64]offset_s64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uh_gather_[u64]offset_s64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uh_gather_[s64]index_s64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uh_gather_[u64]index_s64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1uh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1uh_gather_[u32]offset_u32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LDNT1H Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1uh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1uh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uh_gather_[s64]offset_u64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uh_gather_[u64]offset_u64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uh_gather_[s64]index_u64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uh_gather_[u64]index_u64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt32SignExtendNonTemporal : Load 32-bit data and sign-extend, non-temporal + + /// + /// svint64_t svldnt1sw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sw_gather_[s64]offset_s64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sw_gather_[u64]offset_s64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sw_gather_[s64]index_s64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sw_gather_[u64]index_s64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1sw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sw_gather_[s64]offset_u64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sw_gather_[u64]offset_u64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sw_gather_[s64]index_u64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sw_gather_[u64]index_u64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1sw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorInt32ZeroExtendNonTemporal : Load 32-bit data and zero-extend, non-temporal + + /// + /// svint64_t svldnt1uw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uw_gather_[s64]offset_s64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uw_gather_[u64]offset_s64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uw_gather_[s64]index_s64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uw_gather_[u64]index_s64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1uw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uw_gather_[s64]offset_u64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uw_gather_[u64]offset_u64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uw_gather_[s64]index_u64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uw_gather_[u64]index_u64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1uw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// GatherVectorNonTemporal : Unextended load, non-temporal + + /// + /// svint32_t svldnt1_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1_gather_[u32]offset[_s32](svbool_t pg, const int32_t *base, svuint32_t offsets) + /// LDNT1W Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const int *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svldnt1_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1_gather_[s64]offset[_s64](svbool_t pg, const int64_t *base, svint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const long *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1_gather_[u64]offset[_s64](svbool_t pg, const int64_t *base, svuint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const long *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1_gather_[s64]index[_s64](svbool_t pg, const int64_t *base, svint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const long *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1_gather_[u64]index[_s64](svbool_t pg, const int64_t *base, svuint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const long *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svldnt1_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1_gather_[u32]offset[_u32](svbool_t pg, const uint32_t *base, svuint32_t offsets) + /// LDNT1W Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const uint *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svldnt1_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1_gather_[s64]offset[_u64](svbool_t pg, const uint64_t *base, svint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const ulong *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1_gather_[u64]offset[_u64](svbool_t pg, const uint64_t *base, svuint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const ulong *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1_gather_[s64]index[_u64](svbool_t pg, const uint64_t *base, svint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const ulong *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1_gather_[u64]index[_u64](svbool_t pg, const uint64_t *base, svuint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const ulong *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svldnt1_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldnt1_gather[_u32base]_f32(svbool_t pg, svuint32_t bases) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldnt1_gather_[u32]offset[_f32](svbool_t pg, const float32_t *base, svuint32_t offsets) + /// LDNT1W Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const float *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldnt1_gather[_u32base]_offset_f32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svldnt1_gather[_u32base]_index_f32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldnt1_gather_[s64]offset[_f64](svbool_t pg, const float64_t *base, svint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const double *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldnt1_gather_[s64]index[_f64](svbool_t pg, const float64_t *base, svint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const double *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldnt1_gather[_u64base]_f64(svbool_t pg, svuint64_t bases) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldnt1_gather_[u64]offset[_f64](svbool_t pg, const float64_t *base, svuint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const double *base, Vector offsets) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldnt1_gather_[u64]index[_f64](svbool_t pg, const float64_t *base, svuint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const double *base, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldnt1_gather[_u64base]_offset_f64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svldnt1_gather[_u64base]_index_f64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) { throw new PlatformNotSupportedException(); } + + + /// HalvingAdd : Halving add + + /// + /// svint8_t svhadd[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhadd[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SHADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhadd[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SHADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svhadd[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhadd[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SHADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhadd[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SHADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svhadd[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhadd[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SHADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhadd[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SHADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svhadd[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhadd[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SHADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhadd[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SHADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svhadd[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhadd[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UHADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhadd[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UHADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svhadd[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhadd[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UHADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhadd[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UHADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svhadd[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhadd[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UHADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhadd[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UHADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svhadd[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhadd[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UHADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhadd[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UHADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// HalvingSubtract : Halving subtract + + /// + /// svint8_t svhsub[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhsub[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SHSUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhsub[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SHSUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svhsub[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhsub[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SHSUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhsub[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SHSUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svhsub[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhsub[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SHSUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhsub[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SHSUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svhsub[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhsub[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SHSUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhsub[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SHSUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svhsub[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhsub[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UHSUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhsub[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UHSUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svhsub[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhsub[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UHSUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhsub[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UHSUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svhsub[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhsub[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UHSUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhsub[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UHSUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svhsub[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhsub[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UHSUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhsub[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UHSUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// HalvingSubtractReversed : Halving subtract reversed + + /// + /// svint8_t svhsubr[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhsubr[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SHSUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhsubr[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SHSUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svhsubr[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhsubr[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SHSUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhsubr[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SHSUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svhsubr[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhsubr[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SHSUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhsubr[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SHSUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svhsubr[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhsubr[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SHSUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhsubr[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SHSUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svhsubr[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhsubr[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UHSUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhsubr[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UHSUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svhsubr[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhsubr[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UHSUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhsubr[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UHSUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svhsubr[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhsubr[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UHSUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhsubr[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UHSUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svhsubr[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhsubr[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UHSUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhsubr[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UHSUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// InterleavingXorLowerUpper : Interleaving exclusive OR (bottom, top) + + /// + /// svint8_t sveorbt[_s8](svint8_t odd, svint8_t op1, svint8_t op2) + /// EORBT Ztied.B, Zop1.B, Zop2.B + /// MOVPRFX Zresult, Zodd; EORBT Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t sveorbt[_s16](svint16_t odd, svint16_t op1, svint16_t op2) + /// EORBT Ztied.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zodd; EORBT Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t sveorbt[_s32](svint32_t odd, svint32_t op1, svint32_t op2) + /// EORBT Ztied.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zodd; EORBT Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t sveorbt[_s64](svint64_t odd, svint64_t op1, svint64_t op2) + /// EORBT Ztied.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zodd; EORBT Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t sveorbt[_u8](svuint8_t odd, svuint8_t op1, svuint8_t op2) + /// EORBT Ztied.B, Zop1.B, Zop2.B + /// MOVPRFX Zresult, Zodd; EORBT Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t sveorbt[_u16](svuint16_t odd, svuint16_t op1, svuint16_t op2) + /// EORBT Ztied.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zodd; EORBT Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t sveorbt[_u32](svuint32_t odd, svuint32_t op1, svuint32_t op2) + /// EORBT Ztied.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zodd; EORBT Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t sveorbt[_u64](svuint64_t odd, svuint64_t op1, svuint64_t op2) + /// EORBT Ztied.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zodd; EORBT Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// InterleavingXorUpperLower : Interleaving exclusive OR (top, bottom) + + /// + /// svint8_t sveortb[_s8](svint8_t even, svint8_t op1, svint8_t op2) + /// EORTB Ztied.B, Zop1.B, Zop2.B + /// MOVPRFX Zresult, Zeven; EORTB Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t sveortb[_s16](svint16_t even, svint16_t op1, svint16_t op2) + /// EORTB Ztied.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zeven; EORTB Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t sveortb[_s32](svint32_t even, svint32_t op1, svint32_t op2) + /// EORTB Ztied.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zeven; EORTB Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t sveortb[_s64](svint64_t even, svint64_t op1, svint64_t op2) + /// EORTB Ztied.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zeven; EORTB Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t sveortb[_u8](svuint8_t even, svuint8_t op1, svuint8_t op2) + /// EORTB Ztied.B, Zop1.B, Zop2.B + /// MOVPRFX Zresult, Zeven; EORTB Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t sveortb[_u16](svuint16_t even, svuint16_t op1, svuint16_t op2) + /// EORTB Ztied.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zeven; EORTB Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t sveortb[_u32](svuint32_t even, svuint32_t op1, svuint32_t op2) + /// EORTB Ztied.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zeven; EORTB Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t sveortb[_u64](svuint64_t even, svuint64_t op1, svuint64_t op2) + /// EORTB Ztied.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zeven; EORTB Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Log2 : Base 2 logarithm as integer + + /// + /// svint32_t svlogb[_f32]_m(svint32_t inactive, svbool_t pg, svfloat32_t op) + /// FLOGB Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FLOGB Zresult.S, Pg/M, Zop.S + /// svint32_t svlogb[_f32]_x(svbool_t pg, svfloat32_t op) + /// FLOGB Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FLOGB Zresult.S, Pg/M, Zop.S + /// svint32_t svlogb[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FLOGB Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Log2(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svlogb[_f64]_m(svint64_t inactive, svbool_t pg, svfloat64_t op) + /// FLOGB Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FLOGB Zresult.D, Pg/M, Zop.D + /// svint64_t svlogb[_f64]_x(svbool_t pg, svfloat64_t op) + /// FLOGB Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FLOGB Zresult.D, Pg/M, Zop.D + /// svint64_t svlogb[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FLOGB Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Log2(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Match : Detect any matching elements + + /// + /// svbool_t svmatch[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// MATCH Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector Match(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svmatch[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// MATCH Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector Match(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svmatch[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MATCH Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector Match(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svmatch[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MATCH Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector Match(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MaxNumberPairwise : Maximum number pairwise + + /// + /// svfloat32_t svmaxnmp[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXNMP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmaxnmp[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXNMP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MaxNumberPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmaxnmp[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXNMP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmaxnmp[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXNMP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MaxNumberPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MaxPairwise : Maximum pairwise + + /// + /// svint8_t svmaxp[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMAXP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmaxp[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMAXP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svmaxp[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmaxp[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmaxp[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmaxp[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmaxp[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmaxp[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svmaxp[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMAXP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmaxp[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMAXP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmaxp[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmaxp[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmaxp[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmaxp[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmaxp[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmaxp[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmaxp[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmaxp[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svmaxp[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmaxp[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MinNumberPairwise : Minimum number pairwise + + /// + /// svfloat32_t svminnmp[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINNMP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svminnmp[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINNMP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MinNumberPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svminnmp[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINNMP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svminnmp[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINNMP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MinNumberPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MinPairwise : Minimum pairwise + + /// + /// svint8_t svminp[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMINP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMINP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svminp[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMINP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMINP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svminp[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svminp[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svminp[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svminp[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svminp[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svminp[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svminp[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMINP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMINP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svminp[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMINP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMINP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svminp[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svminp[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svminp[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svminp[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svminp[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svminp[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svminp[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svminp[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svminp[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svminp[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MoveWideningLower : Move long (bottom) + + /// + /// svint16_t svmovlb[_s16](svint8_t op) + /// SSHLLB Zresult.H, Zop.B, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmovlb[_s32](svint16_t op) + /// SSHLLB Zresult.S, Zop.H, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmovlb[_s64](svint32_t op) + /// SSHLLB Zresult.D, Zop.S, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmovlb[_u16](svuint8_t op) + /// USHLLB Zresult.H, Zop.B, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmovlb[_u32](svuint16_t op) + /// USHLLB Zresult.S, Zop.H, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmovlb[_u64](svuint32_t op) + /// USHLLB Zresult.D, Zop.S, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) { throw new PlatformNotSupportedException(); } + + + /// MoveWideningUpper : Move long (top) + + /// + /// svint16_t svmovlt[_s16](svint8_t op) + /// SSHLLT Zresult.H, Zop.B, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmovlt[_s32](svint16_t op) + /// SSHLLT Zresult.S, Zop.H, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmovlt[_s64](svint32_t op) + /// SSHLLT Zresult.D, Zop.S, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmovlt[_u16](svuint8_t op) + /// USHLLT Zresult.H, Zop.B, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmovlt[_u32](svuint16_t op) + /// USHLLT Zresult.S, Zop.H, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmovlt[_u64](svuint32_t op) + /// USHLLT Zresult.D, Zop.S, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Multiply : Multiply + + /// + /// svint16_t svmul_lane[_s16](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// MUL Zresult.H, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmul_lane[_s32](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// MUL Zresult.S, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmul_lane[_s64](svint64_t op1, svint64_t op2, uint64_t imm_index) + /// MUL Zresult.D, Zop1.D, Zop2.D[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmul_lane[_u16](svuint16_t op1, svuint16_t op2, uint64_t imm_index) + /// MUL Zresult.H, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmul_lane[_u32](svuint32_t op1, svuint32_t op2, uint64_t imm_index) + /// MUL Zresult.S, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmul_lane[_u64](svuint64_t op1, svuint64_t op2, uint64_t imm_index) + /// MUL Zresult.D, Zop1.D, Zop2.D[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) { throw new PlatformNotSupportedException(); } + + + /// MultiplyAdd : Multiply-add, addend first + + /// + /// svint16_t svmla_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// MLA Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmla_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// MLA Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmla_lane[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_index) + /// MLA Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmla_lane[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// MLA Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmla_lane[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// MLA Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmla_lane[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3, uint64_t imm_index) + /// MLA Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MultiplyAddRotateComplex : Complex multiply-add with rotate + + /// + /// svint8_t svcmla[_s8](svint8_t op1, svint8_t op2, svint8_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.B, Zop2.B, Zop3.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.B, Zop2.B, Zop3.B, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svcmla[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.H, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.H, Zop2.H, Zop3.H, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svcmla_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CMLA Ztied1.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svcmla[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.S, Zop2.S, Zop3.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.S, Zop2.S, Zop3.S, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svcmla_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CMLA Ztied1.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svcmla[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.D, Zop2.D, Zop3.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.D, Zop2.D, Zop3.D, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svcmla[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.B, Zop2.B, Zop3.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.B, Zop2.B, Zop3.B, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svcmla[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.H, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.H, Zop2.H, Zop3.H, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svcmla_lane[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CMLA Ztied1.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svcmla[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.S, Zop2.S, Zop3.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.S, Zop2.S, Zop3.S, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svcmla_lane[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CMLA Ztied1.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svcmla[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.D, Zop2.D, Zop3.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.D, Zop2.D, Zop3.D, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + + /// MultiplyAddWideningLower : Multiply-add long (bottom) + + /// + /// svint16_t svmlalb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SMLALB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SMLALB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmlalb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SMLALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SMLALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmlalb_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SMLALB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SMLALB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmlalb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SMLALB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SMLALB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmlalb_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SMLALB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SMLALB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmlalb[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UMLALB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UMLALB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmlalb[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UMLALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UMLALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmlalb_lane[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// UMLALB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; UMLALB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmlalb[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UMLALB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UMLALB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmlalb_lane[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// UMLALB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; UMLALB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MultiplyAddWideningUpper : Multiply-add long (top) + + /// + /// svint16_t svmlalt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SMLALT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SMLALT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmlalt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SMLALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SMLALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmlalt_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SMLALT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SMLALT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmlalt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SMLALT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SMLALT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmlalt_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SMLALT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SMLALT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmlalt[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UMLALT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UMLALT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmlalt[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UMLALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UMLALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmlalt_lane[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// UMLALT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; UMLALT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmlalt[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UMLALT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UMLALT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmlalt_lane[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// UMLALT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; UMLALT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MultiplySubtract : Multiply-subtract, minuend first + + /// + /// svint16_t svmls_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// MLS Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmls_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// MLS Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmls_lane[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_index) + /// MLS Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmls_lane[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// MLS Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmls_lane[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// MLS Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmls_lane[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3, uint64_t imm_index) + /// MLS Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MultiplySubtractWideningLower : Multiply-subtract long (bottom) + + /// + /// svint16_t svmlslb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SMLSLB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SMLSLB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmlslb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SMLSLB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SMLSLB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmlslb_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SMLSLB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SMLSLB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmlslb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SMLSLB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SMLSLB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmlslb_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SMLSLB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SMLSLB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmlslb[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UMLSLB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UMLSLB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmlslb[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UMLSLB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UMLSLB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmlslb_lane[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// UMLSLB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; UMLSLB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmlslb[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UMLSLB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UMLSLB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmlslb_lane[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// UMLSLB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; UMLSLB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MultiplySubtractWideningUpper : Multiply-subtract long (top) + + /// + /// svint16_t svmlslt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SMLSLT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SMLSLT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmlslt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SMLSLT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SMLSLT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmlslt_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SMLSLT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SMLSLT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmlslt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SMLSLT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SMLSLT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmlslt_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SMLSLT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SMLSLT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmlslt[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UMLSLT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UMLSLT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmlslt[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UMLSLT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UMLSLT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmlslt_lane[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// UMLSLT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; UMLSLT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmlslt[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UMLSLT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UMLSLT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmlslt_lane[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// UMLSLT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; UMLSLT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MultiplyWideningLower : Multiply long (bottom) + + /// + /// svint16_t svmullb[_s16](svint8_t op1, svint8_t op2) + /// SMULLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmullb[_s32](svint16_t op1, svint16_t op2) + /// SMULLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmullb_lane[_s32](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SMULLB Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector MultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmullb[_s64](svint32_t op1, svint32_t op2) + /// SMULLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmullb_lane[_s64](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SMULLB Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector MultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmullb[_u16](svuint8_t op1, svuint8_t op2) + /// UMULLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmullb[_u32](svuint16_t op1, svuint16_t op2) + /// UMULLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmullb_lane[_u32](svuint16_t op1, svuint16_t op2, uint64_t imm_index) + /// UMULLB Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector MultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmullb[_u64](svuint32_t op1, svuint32_t op2) + /// UMULLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmullb_lane[_u64](svuint32_t op1, svuint32_t op2, uint64_t imm_index) + /// UMULLB Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector MultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MultiplyWideningUpper : Multiply long (top) + + /// + /// svint16_t svmullt[_s16](svint8_t op1, svint8_t op2) + /// SMULLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmullt[_s32](svint16_t op1, svint16_t op2) + /// SMULLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svmullt_lane[_s32](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SMULLT Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector MultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmullt[_s64](svint32_t op1, svint32_t op2) + /// SMULLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svmullt_lane[_s64](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SMULLT Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector MultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svmullt[_u16](svuint8_t op1, svuint8_t op2) + /// UMULLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmullt[_u32](svuint16_t op1, svuint16_t op2) + /// UMULLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmullt_lane[_u32](svuint16_t op1, svuint16_t op2, uint64_t imm_index) + /// UMULLT Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector MultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmullt[_u64](svuint32_t op1, svuint32_t op2) + /// UMULLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svmullt_lane[_u64](svuint32_t op1, svuint32_t op2, uint64_t imm_index) + /// UMULLT Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector MultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// NoMatch : Detect no matching elements + + /// + /// svbool_t svnmatch[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// NMATCH Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector NoMatch(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnmatch[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// NMATCH Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector NoMatch(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnmatch[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// NMATCH Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector NoMatch(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbool_t svnmatch[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// NMATCH Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector NoMatch(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// PolynomialMultiply : Polynomial multiply + + /// + /// svuint8_t svpmul[_u8](svuint8_t op1, svuint8_t op2) + /// PMUL Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector PolynomialMultiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// PolynomialMultiplyWideningLower : Polynomial multiply long (bottom) + + /// + /// svuint8_t svpmullb_pair[_u8](svuint8_t op1, svuint8_t op2) + /// PMULLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector PolynomialMultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svpmullb[_u16](svuint8_t op1, svuint8_t op2) + /// PMULLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector PolynomialMultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svpmullb_pair[_u32](svuint32_t op1, svuint32_t op2) + /// PMULLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector PolynomialMultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svpmullb[_u64](svuint32_t op1, svuint32_t op2) + /// PMULLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector PolynomialMultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// PolynomialMultiplyWideningUpper : Polynomial multiply long (top) + + /// + /// svuint8_t svpmullt_pair[_u8](svuint8_t op1, svuint8_t op2) + /// PMULLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector PolynomialMultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svpmullt[_u16](svuint8_t op1, svuint8_t op2) + /// PMULLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector PolynomialMultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svpmullt_pair[_u32](svuint32_t op1, svuint32_t op2) + /// PMULLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector PolynomialMultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svpmullt[_u64](svuint32_t op1, svuint32_t op2) + /// PMULLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector PolynomialMultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalEstimate : Reciprocal estimate + + /// + /// svuint32_t svrecpe[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// URECPE Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; URECPE Zresult.S, Pg/M, Zop.S + /// svuint32_t svrecpe[_u32]_x(svbool_t pg, svuint32_t op) + /// URECPE Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; URECPE Zresult.S, Pg/M, Zop.S + /// svuint32_t svrecpe[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; URECPE Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReciprocalEstimate(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalSqrtEstimate : Reciprocal square root estimate + + /// + /// svuint32_t svrsqrte[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// URSQRTE Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; URSQRTE Zresult.S, Pg/M, Zop.S + /// svuint32_t svrsqrte[_u32]_x(svbool_t pg, svuint32_t op) + /// URSQRTE Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; URSQRTE Zresult.S, Pg/M, Zop.S + /// svuint32_t svrsqrte[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; URSQRTE Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReciprocalSqrtEstimate(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundingAddHighNarowingLower : Rounding add narrow high part (bottom) + + /// + /// svint8_t svraddhnb[_s16](svint16_t op1, svint16_t op2) + /// RADDHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svraddhnb[_s32](svint32_t op1, svint32_t op2) + /// RADDHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svraddhnb[_s64](svint64_t op1, svint64_t op2) + /// RADDHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svraddhnb[_u16](svuint16_t op1, svuint16_t op2) + /// RADDHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svraddhnb[_u32](svuint32_t op1, svuint32_t op2) + /// RADDHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svraddhnb[_u64](svuint64_t op1, svuint64_t op2) + /// RADDHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// RoundingAddHighNarowingUpper : Rounding add narrow high part (top) + + /// + /// svint8_t svraddhnt[_s16](svint8_t even, svint16_t op1, svint16_t op2) + /// RADDHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svraddhnt[_s32](svint16_t even, svint32_t op1, svint32_t op2) + /// RADDHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svraddhnt[_s64](svint32_t even, svint64_t op1, svint64_t op2) + /// RADDHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svraddhnt[_u16](svuint8_t even, svuint16_t op1, svuint16_t op2) + /// RADDHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svraddhnt[_u32](svuint16_t even, svuint32_t op1, svuint32_t op2) + /// RADDHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svraddhnt[_u64](svuint32_t even, svuint64_t op1, svuint64_t op2) + /// RADDHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// RoundingHalvingAdd : Rounding halving add + + /// + /// svint8_t svrhadd[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SRHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svrhadd[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SRHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SRHADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svrhadd[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SRHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SRHADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svrhadd[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SRHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svrhadd[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SRHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SRHADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svrhadd[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SRHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SRHADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrhadd[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SRHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svrhadd[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SRHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SRHADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svrhadd[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SRHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SRHADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svrhadd[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SRHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svrhadd[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SRHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SRHADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svrhadd[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SRHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SRHADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svrhadd[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// URHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; URHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svrhadd[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// URHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// URHADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; URHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svrhadd[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; URHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; URHADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrhadd[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// URHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; URHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svrhadd[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// URHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// URHADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; URHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svrhadd[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; URHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; URHADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrhadd[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// URHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; URHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svrhadd[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// URHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// URHADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; URHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svrhadd[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; URHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; URHADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svrhadd[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// URHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; URHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svrhadd[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// URHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// URHADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; URHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svrhadd[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; URHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; URHADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// RoundingShiftLeft : Rounding shift left + + /// + /// svint8_t svrshl[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svrshl[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SRSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svrshl[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SRSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svrshl[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svrshl[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SRSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svrshl[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SRSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrshl[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svrshl[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SRSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svrshl[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SRSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svrshl[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svrshl[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SRSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svrshl[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SRSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svrshl[_u8]_m(svbool_t pg, svuint8_t op1, svint8_t op2) + /// URSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; URSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svrshl[_u8]_x(svbool_t pg, svuint8_t op1, svint8_t op2) + /// URSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// URSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; URSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svrshl[_u8]_z(svbool_t pg, svuint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; URSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; URSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrshl[_u16]_m(svbool_t pg, svuint16_t op1, svint16_t op2) + /// URSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; URSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svrshl[_u16]_x(svbool_t pg, svuint16_t op1, svint16_t op2) + /// URSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// URSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; URSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svrshl[_u16]_z(svbool_t pg, svuint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; URSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; URSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrshl[_u32]_m(svbool_t pg, svuint32_t op1, svint32_t op2) + /// URSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; URSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svrshl[_u32]_x(svbool_t pg, svuint32_t op1, svint32_t op2) + /// URSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// URSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; URSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svrshl[_u32]_z(svbool_t pg, svuint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; URSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; URSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svrshl[_u64]_m(svbool_t pg, svuint64_t op1, svint64_t op2) + /// URSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; URSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svrshl[_u64]_x(svbool_t pg, svuint64_t op1, svint64_t op2) + /// URSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// URSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; URSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svrshl[_u64]_z(svbool_t pg, svuint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; URSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; URSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// RoundingShiftRight : Rounding shift right + + /// + /// svint8_t svrshr[_n_s8]_m(svbool_t pg, svint8_t op1, uint64_t imm2) + /// SRSHR Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// svint8_t svrshr[_n_s8]_x(svbool_t pg, svint8_t op1, uint64_t imm2) + /// SRSHR Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// svint8_t svrshr[_n_s8]_z(svbool_t pg, svint8_t op1, uint64_t imm2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SRSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svrshr[_n_s16]_m(svbool_t pg, svint16_t op1, uint64_t imm2) + /// SRSHR Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// svint16_t svrshr[_n_s16]_x(svbool_t pg, svint16_t op1, uint64_t imm2) + /// SRSHR Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// svint16_t svrshr[_n_s16]_z(svbool_t pg, svint16_t op1, uint64_t imm2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SRSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrshr[_n_s32]_m(svbool_t pg, svint32_t op1, uint64_t imm2) + /// SRSHR Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// svint32_t svrshr[_n_s32]_x(svbool_t pg, svint32_t op1, uint64_t imm2) + /// SRSHR Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// svint32_t svrshr[_n_s32]_z(svbool_t pg, svint32_t op1, uint64_t imm2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SRSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svrshr[_n_s64]_m(svbool_t pg, svint64_t op1, uint64_t imm2) + /// SRSHR Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// svint64_t svrshr[_n_s64]_x(svbool_t pg, svint64_t op1, uint64_t imm2) + /// SRSHR Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// svint64_t svrshr[_n_s64]_z(svbool_t pg, svint64_t op1, uint64_t imm2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SRSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svrshr[_n_u8]_m(svbool_t pg, svuint8_t op1, uint64_t imm2) + /// URSHR Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// svuint8_t svrshr[_n_u8]_x(svbool_t pg, svuint8_t op1, uint64_t imm2) + /// URSHR Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// svuint8_t svrshr[_n_u8]_z(svbool_t pg, svuint8_t op1, uint64_t imm2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; URSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrshr[_n_u16]_m(svbool_t pg, svuint16_t op1, uint64_t imm2) + /// URSHR Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// svuint16_t svrshr[_n_u16]_x(svbool_t pg, svuint16_t op1, uint64_t imm2) + /// URSHR Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// svuint16_t svrshr[_n_u16]_z(svbool_t pg, svuint16_t op1, uint64_t imm2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; URSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrshr[_n_u32]_m(svbool_t pg, svuint32_t op1, uint64_t imm2) + /// URSHR Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// svuint32_t svrshr[_n_u32]_x(svbool_t pg, svuint32_t op1, uint64_t imm2) + /// URSHR Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// svuint32_t svrshr[_n_u32]_z(svbool_t pg, svuint32_t op1, uint64_t imm2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; URSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svrshr[_n_u64]_m(svbool_t pg, svuint64_t op1, uint64_t imm2) + /// URSHR Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// svuint64_t svrshr[_n_u64]_x(svbool_t pg, svuint64_t op1, uint64_t imm2) + /// URSHR Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// svuint64_t svrshr[_n_u64]_z(svbool_t pg, svuint64_t op1, uint64_t imm2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; URSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// RoundingShiftRightAndAccumulate : Rounding shift right and accumulate + + /// + /// svint8_t svrsra[_n_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// SRSRA Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; SRSRA Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svrsra[_n_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// SRSRA Ztied1.H, Zop2.H, #imm3 + /// MOVPRFX Zresult, Zop1; SRSRA Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrsra[_n_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// SRSRA Ztied1.S, Zop2.S, #imm3 + /// MOVPRFX Zresult, Zop1; SRSRA Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svrsra[_n_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// SRSRA Ztied1.D, Zop2.D, #imm3 + /// MOVPRFX Zresult, Zop1; SRSRA Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svrsra[_n_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// URSRA Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; URSRA Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrsra[_n_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// URSRA Ztied1.H, Zop2.H, #imm3 + /// MOVPRFX Zresult, Zop1; URSRA Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrsra[_n_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// URSRA Ztied1.S, Zop2.S, #imm3 + /// MOVPRFX Zresult, Zop1; URSRA Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svrsra[_n_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// URSRA Ztied1.D, Zop2.D, #imm3 + /// MOVPRFX Zresult, Zop1; URSRA Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + + /// RoundingShiftRightNarrowingLower : Rounding shift right narrow (bottom) + + /// + /// svint8_t svrshrnb[_n_s16](svint16_t op1, uint64_t imm2) + /// RSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svrshrnb[_n_s32](svint32_t op1, uint64_t imm2) + /// RSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrshrnb[_n_s64](svint64_t op1, uint64_t imm2) + /// RSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svrshrnb[_n_u16](svuint16_t op1, uint64_t imm2) + /// RSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrshrnb[_n_u32](svuint32_t op1, uint64_t imm2) + /// RSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrshrnb[_n_u64](svuint64_t op1, uint64_t imm2) + /// RSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// RoundingShiftRightNarrowingUpper : Rounding shift right narrow (top) + + /// + /// svint8_t svrshrnt[_n_s16](svint8_t even, svint16_t op1, uint64_t imm2) + /// RSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svrshrnt[_n_s32](svint16_t even, svint32_t op1, uint64_t imm2) + /// RSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrshrnt[_n_s64](svint32_t even, svint64_t op1, uint64_t imm2) + /// RSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svrshrnt[_n_u16](svuint8_t even, svuint16_t op1, uint64_t imm2) + /// RSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrshrnt[_n_u32](svuint16_t even, svuint32_t op1, uint64_t imm2) + /// RSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrshrnt[_n_u64](svuint32_t even, svuint64_t op1, uint64_t imm2) + /// RSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// RoundingSubtractHighNarowingLower : Rounding subtract narrow high part (bottom) + + /// + /// svint8_t svrsubhnb[_s16](svint16_t op1, svint16_t op2) + /// RSUBHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svrsubhnb[_s32](svint32_t op1, svint32_t op2) + /// RSUBHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrsubhnb[_s64](svint64_t op1, svint64_t op2) + /// RSUBHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svrsubhnb[_u16](svuint16_t op1, svuint16_t op2) + /// RSUBHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrsubhnb[_u32](svuint32_t op1, svuint32_t op2) + /// RSUBHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrsubhnb[_u64](svuint64_t op1, svuint64_t op2) + /// RSUBHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// RoundingSubtractHighNarowingUpper : Rounding subtract narrow high part (top) + + /// + /// svint8_t svrsubhnt[_s16](svint8_t even, svint16_t op1, svint16_t op2) + /// RSUBHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svrsubhnt[_s32](svint16_t even, svint32_t op1, svint32_t op2) + /// RSUBHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svrsubhnt[_s64](svint32_t even, svint64_t op1, svint64_t op2) + /// RSUBHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svrsubhnt[_u16](svuint8_t even, svuint16_t op1, svuint16_t op2) + /// RSUBHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svrsubhnt[_u32](svuint16_t even, svuint32_t op1, svuint32_t op2) + /// RSUBHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svrsubhnt[_u64](svuint32_t even, svuint64_t op1, svuint64_t op2) + /// RSUBHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SaturatingAbs : Saturating absolute value + + /// + /// svint8_t svqabs[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// SQABS Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; SQABS Zresult.B, Pg/M, Zop.B + /// svint8_t svqabs[_s8]_x(svbool_t pg, svint8_t op) + /// SQABS Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; SQABS Zresult.B, Pg/M, Zop.B + /// svint8_t svqabs[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; SQABS Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector SaturatingAbs(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqabs[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// SQABS Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; SQABS Zresult.H, Pg/M, Zop.H + /// svint16_t svqabs[_s16]_x(svbool_t pg, svint16_t op) + /// SQABS Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; SQABS Zresult.H, Pg/M, Zop.H + /// svint16_t svqabs[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; SQABS Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector SaturatingAbs(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqabs[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// SQABS Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SQABS Zresult.S, Pg/M, Zop.S + /// svint32_t svqabs[_s32]_x(svbool_t pg, svint32_t op) + /// SQABS Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SQABS Zresult.S, Pg/M, Zop.S + /// svint32_t svqabs[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SQABS Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector SaturatingAbs(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqabs[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// SQABS Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SQABS Zresult.D, Pg/M, Zop.D + /// svint64_t svqabs[_s64]_x(svbool_t pg, svint64_t op) + /// SQABS Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SQABS Zresult.D, Pg/M, Zop.D + /// svint64_t svqabs[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SQABS Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector SaturatingAbs(Vector value) { throw new PlatformNotSupportedException(); } + + + /// SaturatingComplexAddRotate : Saturating complex add with rotate + + /// + /// svint8_t svqcadd[_s8](svint8_t op1, svint8_t op2, uint64_t imm_rotation) + /// SQCADD Ztied1.B, Ztied1.B, Zop2.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQCADD Zresult.B, Zresult.B, Zop2.B, #imm_rotation + /// + public static unsafe Vector SaturatingComplexAddRotate(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqcadd[_s16](svint16_t op1, svint16_t op2, uint64_t imm_rotation) + /// SQCADD Ztied1.H, Ztied1.H, Zop2.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQCADD Zresult.H, Zresult.H, Zop2.H, #imm_rotation + /// + public static unsafe Vector SaturatingComplexAddRotate(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqcadd[_s32](svint32_t op1, svint32_t op2, uint64_t imm_rotation) + /// SQCADD Ztied1.S, Ztied1.S, Zop2.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQCADD Zresult.S, Zresult.S, Zop2.S, #imm_rotation + /// + public static unsafe Vector SaturatingComplexAddRotate(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqcadd[_s64](svint64_t op1, svint64_t op2, uint64_t imm_rotation) + /// SQCADD Ztied1.D, Ztied1.D, Zop2.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQCADD Zresult.D, Zresult.D, Zop2.D, #imm_rotation + /// + public static unsafe Vector SaturatingComplexAddRotate(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDoublingMultiplyAddWideningLower : Saturating doubling multiply-add long (bottom) + + /// + /// svint16_t svqdmlalb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLALB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLALB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmlalb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmlalb_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQDMLALB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLALB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmlalb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLALB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLALB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmlalb_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQDMLALB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLALB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDoublingMultiplyAddWideningLowerUpper : Saturating doubling multiply-add long (bottom × top) + + /// + /// svint16_t svqdmlalbt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLALBT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLALBT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLowerUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmlalbt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLALBT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLALBT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLowerUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmlalbt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLALBT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLALBT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLowerUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDoublingMultiplyAddWideningUpper : Saturating doubling multiply-add long (top) + + /// + /// svint16_t svqdmlalt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLALT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLALT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmlalt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmlalt_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQDMLALT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLALT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmlalt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLALT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLALT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmlalt_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQDMLALT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLALT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDoublingMultiplyHigh : Saturating doubling multiply high + + /// + /// svint8_t svqdmulh[_s8](svint8_t op1, svint8_t op2) + /// SQDMULH Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqdmulh[_s16](svint16_t op1, svint16_t op2) + /// SQDMULH Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqdmulh_lane[_s16](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SQDMULH Zresult.H, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmulh[_s32](svint32_t op1, svint32_t op2) + /// SQDMULH Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmulh_lane[_s32](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SQDMULH Zresult.S, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmulh[_s64](svint64_t op1, svint64_t op2) + /// SQDMULH Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmulh_lane[_s64](svint64_t op1, svint64_t op2, uint64_t imm_index) + /// SQDMULH Zresult.D, Zop1.D, Zop2.D[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDoublingMultiplySubtractWideningLower : Saturating doubling multiply-subtract long (bottom) + + /// + /// svint16_t svqdmlslb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLSLB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLSLB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmlslb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLSLB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLSLB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmlslb_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQDMLSLB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLSLB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmlslb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLSLB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLSLB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmlslb_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQDMLSLB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLSLB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDoublingMultiplySubtractWideningLowerUpper : Saturating doubling multiply-subtract long (bottom × top) + + /// + /// svint16_t svqdmlslbt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLSLBT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLSLBT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLowerUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmlslbt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLSLBT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLSLBT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLowerUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmlslbt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLSLBT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLSLBT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLowerUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDoublingMultiplySubtractWideningUpper : Saturating doubling multiply-subtract long (top) + + /// + /// svint16_t svqdmlslt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLSLT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLSLT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmlslt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLSLT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLSLT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmlslt_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQDMLSLT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLSLT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmlslt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLSLT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLSLT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmlslt_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQDMLSLT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLSLT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDoublingMultiplyWideningLower : Saturating doubling multiply long (bottom) + + /// + /// svint16_t svqdmullb[_s16](svint8_t op1, svint8_t op2) + /// SQDMULLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmullb[_s32](svint16_t op1, svint16_t op2) + /// SQDMULLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmullb_lane[_s32](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SQDMULLB Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmullb[_s64](svint32_t op1, svint32_t op2) + /// SQDMULLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmullb_lane[_s64](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SQDMULLB Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// SaturatingDoublingMultiplyWideningUpper : Saturating doubling multiply long (top) + + /// + /// svint16_t svqdmullt[_s16](svint8_t op1, svint8_t op2) + /// SQDMULLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmullt[_s32](svint16_t op1, svint16_t op2) + /// SQDMULLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqdmullt_lane[_s32](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SQDMULLT Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmullt[_s64](svint32_t op1, svint32_t op2) + /// SQDMULLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqdmullt_lane[_s64](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SQDMULLT Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// SaturatingExtractNarrowingLower : Saturating extract narrow (bottom) + + /// + /// svint8_t svqxtnb[_s16](svint16_t op) + /// SQXTNB Zresult.B, Zop.H + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqxtnb[_s32](svint32_t op) + /// SQXTNB Zresult.H, Zop.S + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqxtnb[_s64](svint64_t op) + /// SQXTNB Zresult.S, Zop.D + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqxtnb[_u16](svuint16_t op) + /// UQXTNB Zresult.B, Zop.H + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqxtnb[_u32](svuint32_t op) + /// UQXTNB Zresult.H, Zop.S + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqxtnb[_u64](svuint64_t op) + /// UQXTNB Zresult.S, Zop.D + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) { throw new PlatformNotSupportedException(); } + + + /// SaturatingExtractNarrowingUpper : Saturating extract narrow (top) + + /// + /// svint8_t svqxtnt[_s16](svint8_t even, svint16_t op) + /// SQXTNT Ztied.B, Zop.H + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqxtnt[_s32](svint16_t even, svint32_t op) + /// SQXTNT Ztied.H, Zop.S + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqxtnt[_s64](svint32_t even, svint64_t op) + /// SQXTNT Ztied.S, Zop.D + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqxtnt[_u16](svuint8_t even, svuint16_t op) + /// UQXTNT Ztied.B, Zop.H + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqxtnt[_u32](svuint16_t even, svuint32_t op) + /// UQXTNT Ztied.H, Zop.S + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqxtnt[_u64](svuint32_t even, svuint64_t op) + /// UQXTNT Ztied.S, Zop.D + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) { throw new PlatformNotSupportedException(); } + + + /// SaturatingExtractUnsignedNarrowingLower : Saturating extract unsigned narrow (bottom) + + /// + /// svuint8_t svqxtunb[_s16](svint16_t op) + /// SQXTUNB Zresult.B, Zop.H + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqxtunb[_s32](svint32_t op) + /// SQXTUNB Zresult.H, Zop.S + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingLower(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqxtunb[_s64](svint64_t op) + /// SQXTUNB Zresult.S, Zop.D + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingLower(Vector value) { throw new PlatformNotSupportedException(); } + + + /// SaturatingExtractUnsignedNarrowingUpper : Saturating extract unsigned narrow (top) + + /// + /// svuint8_t svqxtunt[_s16](svuint8_t even, svint16_t op) + /// SQXTUNT Ztied.B, Zop.H + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingUpper(Vector even, Vector op) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqxtunt[_s32](svuint16_t even, svint32_t op) + /// SQXTUNT Ztied.H, Zop.S + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingUpper(Vector even, Vector op) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqxtunt[_s64](svuint32_t even, svint64_t op) + /// SQXTUNT Ztied.S, Zop.D + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingUpper(Vector even, Vector op) { throw new PlatformNotSupportedException(); } + + + /// SaturatingNegate : Saturating negate + + /// + /// svint8_t svqneg[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// SQNEG Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; SQNEG Zresult.B, Pg/M, Zop.B + /// svint8_t svqneg[_s8]_x(svbool_t pg, svint8_t op) + /// SQNEG Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; SQNEG Zresult.B, Pg/M, Zop.B + /// svint8_t svqneg[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; SQNEG Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector SaturatingNegate(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqneg[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// SQNEG Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; SQNEG Zresult.H, Pg/M, Zop.H + /// svint16_t svqneg[_s16]_x(svbool_t pg, svint16_t op) + /// SQNEG Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; SQNEG Zresult.H, Pg/M, Zop.H + /// svint16_t svqneg[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; SQNEG Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector SaturatingNegate(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqneg[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// SQNEG Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SQNEG Zresult.S, Pg/M, Zop.S + /// svint32_t svqneg[_s32]_x(svbool_t pg, svint32_t op) + /// SQNEG Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SQNEG Zresult.S, Pg/M, Zop.S + /// svint32_t svqneg[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SQNEG Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector SaturatingNegate(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqneg[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// SQNEG Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SQNEG Zresult.D, Pg/M, Zop.D + /// svint64_t svqneg[_s64]_x(svbool_t pg, svint64_t op) + /// SQNEG Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SQNEG Zresult.D, Pg/M, Zop.D + /// svint64_t svqneg[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SQNEG Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector SaturatingNegate(Vector value) { throw new PlatformNotSupportedException(); } + + + /// SaturatingRoundingDoublingComplexMultiplyAddHighRotate : Saturating rounding doubling complex multiply-add high with rotate + + /// + /// svint8_t svqrdcmlah[_s8](svint8_t op1, svint8_t op2, svint8_t op3, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.B, Zop2.B, Zop3.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.B, Zop2.B, Zop3.B, #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrdcmlah[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.H, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.H, Zop2.H, Zop3.H, #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrdcmlah_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrdcmlah[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.S, Zop2.S, Zop3.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.S, Zop2.S, Zop3.S, #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrdcmlah_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqrdcmlah[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.D, Zop2.D, Zop3.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.D, Zop2.D, Zop3.D, #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + + /// SaturatingRoundingDoublingMultiplyAddHigh : Saturating rounding doubling multiply-add high + + /// + /// svint8_t svqrdmlah[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// SQRDMLAH Ztied1.B, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.B, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrdmlah[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// SQRDMLAH Ztied1.H, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.H, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrdmlah_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQRDMLAH Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrdmlah[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// SQRDMLAH Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrdmlah_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQRDMLAH Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqrdmlah[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// SQRDMLAH Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqrdmlah_lane[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_index) + /// SQRDMLAH Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// SaturatingRoundingDoublingMultiplyHigh : Saturating rounding doubling multiply high + + /// + /// svint8_t svqrdmulh[_s8](svint8_t op1, svint8_t op2) + /// SQRDMULH Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrdmulh[_s16](svint16_t op1, svint16_t op2) + /// SQRDMULH Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrdmulh_lane[_s16](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SQRDMULH Zresult.H, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrdmulh[_s32](svint32_t op1, svint32_t op2) + /// SQRDMULH Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrdmulh_lane[_s32](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SQRDMULH Zresult.S, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqrdmulh[_s64](svint64_t op1, svint64_t op2) + /// SQRDMULH Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqrdmulh_lane[_s64](svint64_t op1, svint64_t op2, uint64_t imm_index) + /// SQRDMULH Zresult.D, Zop1.D, Zop2.D[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// SaturatingRoundingDoublingMultiplySubtractHigh : Saturating rounding doubling multiply-subtract high + + /// + /// svint8_t svqrdmlsh[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// SQRDMLSH Ztied1.B, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.B, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrdmlsh[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// SQRDMLSH Ztied1.H, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.H, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrdmlsh_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQRDMLSH Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrdmlsh[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// SQRDMLSH Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrdmlsh_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQRDMLSH Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqrdmlsh[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// SQRDMLSH Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqrdmlsh_lane[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_index) + /// SQRDMLSH Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// SaturatingRoundingShiftLeft : Saturating rounding shift left + + /// + /// svint8_t svqrshl[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqrshl[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SQRSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqrshl[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SQRSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrshl[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqrshl[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SQRSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqrshl[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SQRSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrshl[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqrshl[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SQRSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqrshl[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SQRSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqrshl[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqrshl[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SQRSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqrshl[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SQRSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqrshl[_u8]_m(svbool_t pg, svuint8_t op1, svint8_t op2) + /// UQRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqrshl[_u8]_x(svbool_t pg, svuint8_t op1, svint8_t op2) + /// UQRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UQRSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqrshl[_u8]_z(svbool_t pg, svuint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UQRSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqrshl[_u16]_m(svbool_t pg, svuint16_t op1, svint16_t op2) + /// UQRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqrshl[_u16]_x(svbool_t pg, svuint16_t op1, svint16_t op2) + /// UQRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UQRSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqrshl[_u16]_z(svbool_t pg, svuint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UQRSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqrshl[_u32]_m(svbool_t pg, svuint32_t op1, svint32_t op2) + /// UQRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqrshl[_u32]_x(svbool_t pg, svuint32_t op1, svint32_t op2) + /// UQRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UQRSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqrshl[_u32]_z(svbool_t pg, svuint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UQRSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqrshl[_u64]_m(svbool_t pg, svuint64_t op1, svint64_t op2) + /// UQRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqrshl[_u64]_x(svbool_t pg, svuint64_t op1, svint64_t op2) + /// UQRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UQRSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqrshl[_u64]_z(svbool_t pg, svuint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UQRSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SaturatingRoundingShiftRightNarrowingLower : Saturating rounding shift right narrow (bottom) + + /// + /// svint8_t svqrshrnb[_n_s16](svint16_t op1, uint64_t imm2) + /// SQRSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrshrnb[_n_s32](svint32_t op1, uint64_t imm2) + /// SQRSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrshrnb[_n_s64](svint64_t op1, uint64_t imm2) + /// SQRSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqrshrnb[_n_u16](svuint16_t op1, uint64_t imm2) + /// UQRSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqrshrnb[_n_u32](svuint32_t op1, uint64_t imm2) + /// UQRSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqrshrnb[_n_u64](svuint64_t op1, uint64_t imm2) + /// UQRSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// SaturatingRoundingShiftRightNarrowingUpper : Saturating rounding shift right narrow (top) + + /// + /// svint8_t svqrshrnt[_n_s16](svint8_t even, svint16_t op1, uint64_t imm2) + /// SQRSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqrshrnt[_n_s32](svint16_t even, svint32_t op1, uint64_t imm2) + /// SQRSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqrshrnt[_n_s64](svint32_t even, svint64_t op1, uint64_t imm2) + /// SQRSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqrshrnt[_n_u16](svuint8_t even, svuint16_t op1, uint64_t imm2) + /// UQRSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqrshrnt[_n_u32](svuint16_t even, svuint32_t op1, uint64_t imm2) + /// UQRSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqrshrnt[_n_u64](svuint32_t even, svuint64_t op1, uint64_t imm2) + /// UQRSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// SaturatingRoundingShiftRightUnsignedNarrowingLower : Saturating rounding shift right unsigned narrow (bottom) + + /// + /// svuint8_t svqrshrunb[_n_s16](svint16_t op1, uint64_t imm2) + /// SQRSHRUNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqrshrunb[_n_s32](svint32_t op1, uint64_t imm2) + /// SQRSHRUNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqrshrunb[_n_s64](svint64_t op1, uint64_t imm2) + /// SQRSHRUNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// SaturatingRoundingShiftRightUnsignedNarrowingUpper : Saturating rounding shift right unsigned narrow (top) + + /// + /// svuint8_t svqrshrunt[_n_s16](svuint8_t even, svint16_t op1, uint64_t imm2) + /// SQRSHRUNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqrshrunt[_n_s32](svuint16_t even, svint32_t op1, uint64_t imm2) + /// SQRSHRUNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqrshrunt[_n_s64](svuint32_t even, svint64_t op1, uint64_t imm2) + /// SQRSHRUNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// SaturatingShiftLeft : Saturating shift left + + /// + /// svint8_t svqshl[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqshl[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SQSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqshl[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SQSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqshl[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqshl[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SQSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqshl[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SQSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqshl[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqshl[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SQSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqshl[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SQSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqshl[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqshl[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SQSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqshl[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SQSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqshl[_u8]_m(svbool_t pg, svuint8_t op1, svint8_t op2) + /// UQSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqshl[_u8]_x(svbool_t pg, svuint8_t op1, svint8_t op2) + /// UQSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UQSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqshl[_u8]_z(svbool_t pg, svuint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UQSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqshl[_u16]_m(svbool_t pg, svuint16_t op1, svint16_t op2) + /// UQSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqshl[_u16]_x(svbool_t pg, svuint16_t op1, svint16_t op2) + /// UQSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UQSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqshl[_u16]_z(svbool_t pg, svuint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UQSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqshl[_u32]_m(svbool_t pg, svuint32_t op1, svint32_t op2) + /// UQSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqshl[_u32]_x(svbool_t pg, svuint32_t op1, svint32_t op2) + /// UQSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UQSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqshl[_u32]_z(svbool_t pg, svuint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UQSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqshl[_u64]_m(svbool_t pg, svuint64_t op1, svint64_t op2) + /// UQSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqshl[_u64]_x(svbool_t pg, svuint64_t op1, svint64_t op2) + /// UQSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UQSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqshl[_u64]_z(svbool_t pg, svuint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UQSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SaturatingShiftLeftUnsigned : Saturating shift left unsigned + + /// + /// svuint8_t svqshlu[_n_s8]_m(svbool_t pg, svint8_t op1, uint64_t imm2) + /// SQSHLU Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.B, Pg/M, Zresult.B, #imm2 + /// svuint8_t svqshlu[_n_s8]_x(svbool_t pg, svint8_t op1, uint64_t imm2) + /// SQSHLU Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.B, Pg/M, Zresult.B, #imm2 + /// svuint8_t svqshlu[_n_s8]_z(svbool_t pg, svint8_t op1, uint64_t imm2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQSHLU Zresult.B, Pg/M, Zresult.B, #imm2 + /// + public static unsafe Vector SaturatingShiftLeftUnsigned(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqshlu[_n_s16]_m(svbool_t pg, svint16_t op1, uint64_t imm2) + /// SQSHLU Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.H, Pg/M, Zresult.H, #imm2 + /// svuint16_t svqshlu[_n_s16]_x(svbool_t pg, svint16_t op1, uint64_t imm2) + /// SQSHLU Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.H, Pg/M, Zresult.H, #imm2 + /// svuint16_t svqshlu[_n_s16]_z(svbool_t pg, svint16_t op1, uint64_t imm2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQSHLU Zresult.H, Pg/M, Zresult.H, #imm2 + /// + public static unsafe Vector SaturatingShiftLeftUnsigned(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqshlu[_n_s32]_m(svbool_t pg, svint32_t op1, uint64_t imm2) + /// SQSHLU Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.S, Pg/M, Zresult.S, #imm2 + /// svuint32_t svqshlu[_n_s32]_x(svbool_t pg, svint32_t op1, uint64_t imm2) + /// SQSHLU Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.S, Pg/M, Zresult.S, #imm2 + /// svuint32_t svqshlu[_n_s32]_z(svbool_t pg, svint32_t op1, uint64_t imm2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQSHLU Zresult.S, Pg/M, Zresult.S, #imm2 + /// + public static unsafe Vector SaturatingShiftLeftUnsigned(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqshlu[_n_s64]_m(svbool_t pg, svint64_t op1, uint64_t imm2) + /// SQSHLU Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.D, Pg/M, Zresult.D, #imm2 + /// svuint64_t svqshlu[_n_s64]_x(svbool_t pg, svint64_t op1, uint64_t imm2) + /// SQSHLU Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.D, Pg/M, Zresult.D, #imm2 + /// svuint64_t svqshlu[_n_s64]_z(svbool_t pg, svint64_t op1, uint64_t imm2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQSHLU Zresult.D, Pg/M, Zresult.D, #imm2 + /// + public static unsafe Vector SaturatingShiftLeftUnsigned(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// SaturatingShiftRightNarrowingLower : Saturating shift right narrow (bottom) + + /// + /// svint8_t svqshrnb[_n_s16](svint16_t op1, uint64_t imm2) + /// SQSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqshrnb[_n_s32](svint32_t op1, uint64_t imm2) + /// SQSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqshrnb[_n_s64](svint64_t op1, uint64_t imm2) + /// SQSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqshrnb[_n_u16](svuint16_t op1, uint64_t imm2) + /// UQSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqshrnb[_n_u32](svuint32_t op1, uint64_t imm2) + /// UQSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqshrnb[_n_u64](svuint64_t op1, uint64_t imm2) + /// UQSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// SaturatingShiftRightNarrowingUpper : Saturating shift right narrow (top) + + /// + /// svint8_t svqshrnt[_n_s16](svint8_t even, svint16_t op1, uint64_t imm2) + /// SQSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqshrnt[_n_s32](svint16_t even, svint32_t op1, uint64_t imm2) + /// SQSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqshrnt[_n_s64](svint32_t even, svint64_t op1, uint64_t imm2) + /// SQSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqshrnt[_n_u16](svuint8_t even, svuint16_t op1, uint64_t imm2) + /// UQSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqshrnt[_n_u32](svuint16_t even, svuint32_t op1, uint64_t imm2) + /// UQSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqshrnt[_n_u64](svuint32_t even, svuint64_t op1, uint64_t imm2) + /// UQSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// SaturatingShiftRightUnsignedNarrowingLower : Saturating shift right unsigned narrow (bottom) + + /// + /// svuint8_t svqshrunb[_n_s16](svint16_t op1, uint64_t imm2) + /// SQSHRUNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqshrunb[_n_s32](svint32_t op1, uint64_t imm2) + /// SQSHRUNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqshrunb[_n_s64](svint64_t op1, uint64_t imm2) + /// SQSHRUNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// SaturatingShiftRightUnsignedNarrowingUpper : Saturating shift right unsigned narrow (top) + + /// + /// svuint8_t svqshrunt[_n_s16](svuint8_t even, svint16_t op1, uint64_t imm2) + /// SQSHRUNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqshrunt[_n_s32](svuint16_t even, svint32_t op1, uint64_t imm2) + /// SQSHRUNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqshrunt[_n_s64](svuint32_t even, svint64_t op1, uint64_t imm2) + /// SQSHRUNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// ScatterInt32NarrowToInt16 : Truncate to 16 bits and store, non-temporal + + /// + /// void svstnt1h_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterInt32NarrowToSByte : Truncate to 8 bits and store, non-temporal + + /// + /// void svstnt1b_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// STNT1B Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterInt32NarrowToSByte(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterInt64NarrowToInt16 : Truncate to 16 bits and store, non-temporal + + /// + /// void svstnt1h_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter_[s64]offset[_s64](svbool_t pg, int16_t *base, svint64_t offsets, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, short *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter_[s64]index[_s64](svbool_t pg, int16_t *base, svint64_t indices, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, short *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter_[s64]offset[_u64](svbool_t pg, uint16_t *base, svint64_t offsets, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, ushort *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter_[s64]index[_u64](svbool_t pg, uint16_t *base, svint64_t indices, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, ushort *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterInt64NarrowToInt32 : Truncate to 32 bits and store, non-temporal + + /// + /// void svstnt1w_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter_[s64]offset[_s64](svbool_t pg, int32_t *base, svint64_t offsets, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, int *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter_[s64]index[_s64](svbool_t pg, int32_t *base, svint64_t indices, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, int *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter_[s64]offset[_u64](svbool_t pg, uint32_t *base, svint64_t offsets, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, uint *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter_[s64]index[_u64](svbool_t pg, uint32_t *base, svint64_t indices, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, uint *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterInt64NarrowToSByte : Truncate to 8 bits and store, non-temporal + + /// + /// void svstnt1b_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// STNT1B Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1b_scatter_[s64]offset[_s64](svbool_t pg, int8_t *base, svint64_t offsets, svint64_t data) + /// STNT1B Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, sbyte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1b_scatter_[s64]offset[_u64](svbool_t pg, uint8_t *base, svint64_t offsets, svuint64_t data) + /// STNT1B Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, byte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterNonTemporal : Non-truncating store, non-temporal + + /// + /// void svstnt1_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[u32]offset[_s32](svbool_t pg, int32_t *base, svuint32_t offsets, svint32_t data) + /// STNT1W Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, int *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u32base]_index[_s32](svbool_t pg, svuint32_t bases, int64_t index, svint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[s64]offset[_s64](svbool_t pg, int64_t *base, svint64_t offsets, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, long *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[u64]offset[_s64](svbool_t pg, int64_t *base, svuint64_t offsets, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, long *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[s64]index[_s64](svbool_t pg, int64_t *base, svint64_t indices, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, long *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[u64]index[_s64](svbool_t pg, int64_t *base, svuint64_t indices, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, long *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[u32]offset[_u32](svbool_t pg, uint32_t *base, svuint32_t offsets, svuint32_t data) + /// STNT1W Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, uint *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u32base]_index[_u32](svbool_t pg, svuint32_t bases, int64_t index, svuint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[s64]offset[_u64](svbool_t pg, uint64_t *base, svint64_t offsets, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, ulong *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[u64]offset[_u64](svbool_t pg, uint64_t *base, svuint64_t offsets, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, ulong *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[s64]index[_u64](svbool_t pg, uint64_t *base, svint64_t indices, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, ulong *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[u64]index[_u64](svbool_t pg, uint64_t *base, svuint64_t indices, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, ulong *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u32base_f32](svbool_t pg, svuint32_t bases, svfloat32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[u32]offset[_f32](svbool_t pg, float32_t *base, svuint32_t offsets, svfloat32_t data) + /// STNT1W Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, float *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u32base]_offset[_f32](svbool_t pg, svuint32_t bases, int64_t offset, svfloat32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u32base]_index[_f32](svbool_t pg, svuint32_t bases, int64_t index, svfloat32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[s64]offset[_f64](svbool_t pg, float64_t *base, svint64_t offsets, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, double *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[s64]index[_f64](svbool_t pg, float64_t *base, svint64_t indices, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, double *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u64base_f64](svbool_t pg, svuint64_t bases, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[u64]offset[_f64](svbool_t pg, float64_t *base, svuint64_t offsets, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, double *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter_[u64]index[_f64](svbool_t pg, float64_t *base, svuint64_t indices, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, double *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u64base]_offset[_f64](svbool_t pg, svuint64_t bases, int64_t offset, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1_scatter[_u64base]_index[_f64](svbool_t pg, svuint64_t bases, int64_t index, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterTruncate16NonTemporalUInt16 : Truncate to 16 bits and store, non-temporal + + /// + /// void svstnt1h_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter[_u32base]_index[_s32](svbool_t pg, svuint32_t bases, int64_t index, svint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter[_u32base]_index[_u32](svbool_t pg, svuint32_t bases, int64_t index, svuint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterTruncate32NonTemporalUInt32 : Truncate to 32 bits and store, non-temporal + + /// + /// void svstnt1w_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate32NonTemporalUInt32(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate32NonTemporalUInt32(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate32NonTemporalUInt32(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate32NonTemporalUInt32(Vector mask, Vector bases, long index, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterTruncate8NonTemporalByte : Truncate to 8 bits and store, non-temporal + + /// + /// void svstnt1b_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// STNT1B Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate8NonTemporalByte(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1b_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// STNT1B Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate8NonTemporalByte(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1b_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// STNT1B Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate8NonTemporalByte(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1b_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// STNT1B Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate8NonTemporalByte(Vector mask, Vector bases, long offset, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterUInt32NarrowToByte : Truncate to 8 bits and store, non-temporal + + /// + /// void svstnt1b_scatter_[u32]offset[_s32](svbool_t pg, int8_t *base, svuint32_t offsets, svint32_t data) + /// STNT1B Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, sbyte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1b_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// STNT1B Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1b_scatter_[u32]offset[_u32](svbool_t pg, uint8_t *base, svuint32_t offsets, svuint32_t data) + /// STNT1B Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, byte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterUInt32NarrowToUInt16 : Truncate to 16 bits and store, non-temporal + + /// + /// void svstnt1h_scatter_[u32]offset[_s32](svbool_t pg, int16_t *base, svuint32_t offsets, svint32_t data) + /// STNT1H Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, short *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter_[u32]offset[_u32](svbool_t pg, uint16_t *base, svuint32_t offsets, svuint32_t data) + /// STNT1H Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, ushort *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterUInt64NarrowToByte : Truncate to 8 bits and store, non-temporal + + /// + /// void svstnt1b_scatter_[u64]offset[_s64](svbool_t pg, int8_t *base, svuint64_t offsets, svint64_t data) + /// STNT1B Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, sbyte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1b_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// STNT1B Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1b_scatter_[u64]offset[_u64](svbool_t pg, uint8_t *base, svuint64_t offsets, svuint64_t data) + /// STNT1B Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, byte *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterUInt64NarrowToUInt16 : Truncate to 16 bits and store, non-temporal + + /// + /// void svstnt1h_scatter_[u64]offset[_s64](svbool_t pg, int16_t *base, svuint64_t offsets, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, short *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter_[u64]index[_s64](svbool_t pg, int16_t *base, svuint64_t indices, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, short *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter_[u64]offset[_u64](svbool_t pg, uint16_t *base, svuint64_t offsets, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, ushort *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1h_scatter_[u64]index[_u64](svbool_t pg, uint16_t *base, svuint64_t indices, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, ushort *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ScatterUInt64NarrowToUInt32 : Truncate to 32 bits and store, non-temporal + + /// + /// void svstnt1w_scatter_[u64]offset[_s64](svbool_t pg, int32_t *base, svuint64_t offsets, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, int *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter_[u64]index[_s64](svbool_t pg, int32_t *base, svuint64_t indices, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, int *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, Vector bases, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter_[u64]offset[_u64](svbool_t pg, uint32_t *base, svuint64_t offsets, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, uint *base, Vector offsets, Vector data) { throw new PlatformNotSupportedException(); } + + /// + /// void svstnt1w_scatter_[u64]index[_u64](svbool_t pg, uint32_t *base, svuint64_t indices, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, uint *base, Vector indices, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ShiftLeftAndInsert : Shift left and insert + + /// + /// svint8_t svsli[_n_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// SLI Ztied1.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svsli[_n_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// SLI Ztied1.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsli[_n_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// SLI Ztied1.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsli[_n_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// SLI Ztied1.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svsli[_n_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// SLI Ztied1.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsli[_n_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// SLI Ztied1.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsli[_n_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// SLI Ztied1.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsli[_n_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// SLI Ztied1.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + + /// ShiftLeftWideningLower : Shift left long (bottom) + + /// + /// svint16_t svshllb[_n_s16](svint8_t op1, uint64_t imm2) + /// SSHLLB Zresult.H, Zop1.B, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svshllb[_n_s32](svint16_t op1, uint64_t imm2) + /// SSHLLB Zresult.S, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svshllb[_n_s64](svint32_t op1, uint64_t imm2) + /// SSHLLB Zresult.D, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svshllb[_n_u16](svuint8_t op1, uint64_t imm2) + /// USHLLB Zresult.H, Zop1.B, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svshllb[_n_u32](svuint16_t op1, uint64_t imm2) + /// USHLLB Zresult.S, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svshllb[_n_u64](svuint32_t op1, uint64_t imm2) + /// USHLLB Zresult.D, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// ShiftLeftWideningUpper : Shift left long (top) + + /// + /// svint16_t svshllt[_n_s16](svint8_t op1, uint64_t imm2) + /// SSHLLT Zresult.H, Zop1.B, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svshllt[_n_s32](svint16_t op1, uint64_t imm2) + /// SSHLLT Zresult.S, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svshllt[_n_s64](svint32_t op1, uint64_t imm2) + /// SSHLLT Zresult.D, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svshllt[_n_u16](svuint8_t op1, uint64_t imm2) + /// USHLLT Zresult.H, Zop1.B, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svshllt[_n_u32](svuint16_t op1, uint64_t imm2) + /// USHLLT Zresult.S, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svshllt[_n_u64](svuint32_t op1, uint64_t imm2) + /// USHLLT Zresult.D, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// ShiftRightAndAccumulate : Shift right and accumulate + + /// + /// svint8_t svsra[_n_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// SSRA Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; SSRA Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svsra[_n_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// SSRA Ztied1.H, Zop2.H, #imm3 + /// MOVPRFX Zresult, Zop1; SSRA Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsra[_n_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// SSRA Ztied1.S, Zop2.S, #imm3 + /// MOVPRFX Zresult, Zop1; SSRA Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsra[_n_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// SSRA Ztied1.D, Zop2.D, #imm3 + /// MOVPRFX Zresult, Zop1; SSRA Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svsra[_n_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// USRA Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; USRA Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsra[_n_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// USRA Ztied1.H, Zop2.H, #imm3 + /// MOVPRFX Zresult, Zop1; USRA Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsra[_n_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// USRA Ztied1.S, Zop2.S, #imm3 + /// MOVPRFX Zresult, Zop1; USRA Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsra[_n_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// USRA Ztied1.D, Zop2.D, #imm3 + /// MOVPRFX Zresult, Zop1; USRA Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + + /// ShiftRightAndInsert : Shift right and insert + + /// + /// svint8_t svsri[_n_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// SRI Ztied1.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svsri[_n_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// SRI Ztied1.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsri[_n_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// SRI Ztied1.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsri[_n_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// SRI Ztied1.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svsri[_n_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// SRI Ztied1.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsri[_n_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// SRI Ztied1.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsri[_n_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// SRI Ztied1.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsri[_n_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// SRI Ztied1.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + + /// ShiftRightNarrowingLower : Shift right narrow (bottom) + + /// + /// svint8_t svshrnb[_n_s16](svint16_t op1, uint64_t imm2) + /// SHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svshrnb[_n_s32](svint32_t op1, uint64_t imm2) + /// SHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svshrnb[_n_s64](svint64_t op1, uint64_t imm2) + /// SHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svshrnb[_n_u16](svuint16_t op1, uint64_t imm2) + /// SHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svshrnb[_n_u32](svuint32_t op1, uint64_t imm2) + /// SHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svshrnb[_n_u64](svuint64_t op1, uint64_t imm2) + /// SHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// ShiftRightNarrowingUpper : Shift right narrow (top) + + /// + /// svint8_t svshrnt[_n_s16](svint8_t even, svint16_t op1, uint64_t imm2) + /// SHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svshrnt[_n_s32](svint16_t even, svint32_t op1, uint64_t imm2) + /// SHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svshrnt[_n_s64](svint32_t even, svint64_t op1, uint64_t imm2) + /// SHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svshrnt[_n_u16](svuint8_t even, svuint16_t op1, uint64_t imm2) + /// SHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svshrnt[_n_u32](svuint16_t even, svuint32_t op1, uint64_t imm2) + /// SHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svshrnt[_n_u64](svuint32_t even, svuint64_t op1, uint64_t imm2) + /// SHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) { throw new PlatformNotSupportedException(); } + + + /// SubtractHighNarowingLower : Subtract narrow high part (bottom) + + /// + /// svint8_t svsubhnb[_s16](svint16_t op1, svint16_t op2) + /// SUBHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svsubhnb[_s32](svint32_t op1, svint32_t op2) + /// SUBHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsubhnb[_s64](svint64_t op1, svint64_t op2) + /// SUBHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svsubhnb[_u16](svuint16_t op1, svuint16_t op2) + /// SUBHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsubhnb[_u32](svuint32_t op1, svuint32_t op2) + /// SUBHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsubhnb[_u64](svuint64_t op1, svuint64_t op2) + /// SUBHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractHighNarowingUpper : Subtract narrow high part (top) + + /// + /// svint8_t svsubhnt[_s16](svint8_t even, svint16_t op1, svint16_t op2) + /// SUBHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svsubhnt[_s32](svint16_t even, svint32_t op1, svint32_t op2) + /// SUBHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsubhnt[_s64](svint32_t even, svint64_t op1, svint64_t op2) + /// SUBHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svsubhnt[_u16](svuint8_t even, svuint16_t op1, svuint16_t op2) + /// SUBHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsubhnt[_u32](svuint16_t even, svuint32_t op1, svuint32_t op2) + /// SUBHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsubhnt[_u64](svuint32_t even, svuint64_t op1, svuint64_t op2) + /// SUBHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractSaturate : Saturating subtract + + /// + /// svint8_t svqsub[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SQSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqsub[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SQSUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SQSUB Zresult.B, Zop1.B, Zop2.B + /// svint8_t svqsub[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SQSUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqsub[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SQSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqsub[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SQSUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SQSUB Zresult.H, Zop1.H, Zop2.H + /// svint16_t svqsub[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SQSUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqsub[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SQSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqsub[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SQSUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SQSUB Zresult.S, Zop1.S, Zop2.S + /// svint32_t svqsub[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SQSUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqsub[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SQSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqsub[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SQSUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SQSUB Zresult.D, Zop1.D, Zop2.D + /// svint64_t svqsub[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SQSUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqsub[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UQSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqsub[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UQSUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// UQSUB Zresult.B, Zop1.B, Zop2.B + /// svuint8_t svqsub[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UQSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UQSUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqsub[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UQSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqsub[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UQSUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// UQSUB Zresult.H, Zop1.H, Zop2.H + /// svuint16_t svqsub[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UQSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UQSUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqsub[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UQSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqsub[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UQSUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// UQSUB Zresult.S, Zop1.S, Zop2.S + /// svuint32_t svqsub[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UQSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UQSUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqsub[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UQSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqsub[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UQSUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// UQSUB Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svqsub[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UQSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UQSUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractSaturateReversed : Saturating subtract reversed + + /// + /// svint8_t svqsubr[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SQSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqsubr[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SQSUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SQSUB Zresult.B, Zop2.B, Zop1.B + /// svint8_t svqsubr[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SQSUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svqsubr[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SQSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqsubr[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SQSUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SQSUB Zresult.H, Zop2.H, Zop1.H + /// svint16_t svqsubr[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SQSUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svqsubr[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SQSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqsubr[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SQSUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SQSUB Zresult.S, Zop2.S, Zop1.S + /// svint32_t svqsubr[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SQSUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svqsubr[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SQSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqsubr[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SQSUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SQSUB Zresult.D, Zop2.D, Zop1.D + /// svint64_t svqsubr[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SQSUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svqsubr[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UQSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqsubr[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UQSUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// UQSUB Zresult.B, Zop2.B, Zop1.B + /// svuint8_t svqsubr[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UQSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UQSUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svqsubr[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UQSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqsubr[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UQSUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// UQSUB Zresult.H, Zop2.H, Zop1.H + /// svuint16_t svqsubr[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UQSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UQSUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svqsubr[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UQSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqsubr[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UQSUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// UQSUB Zresult.S, Zop2.S, Zop1.S + /// svuint32_t svqsubr[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UQSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UQSUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svqsubr[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UQSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqsubr[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UQSUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// UQSUB Zresult.D, Zop2.D, Zop1.D + /// svuint64_t svqsubr[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UQSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UQSUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractWideLower : Subtract wide (bottom) + + /// + /// svint16_t svsubwb[_s16](svint16_t op1, svint8_t op2) + /// SSUBWB Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsubwb[_s32](svint32_t op1, svint16_t op2) + /// SSUBWB Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsubwb[_s64](svint64_t op1, svint32_t op2) + /// SSUBWB Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsubwb[_u16](svuint16_t op1, svuint8_t op2) + /// USUBWB Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsubwb[_u32](svuint32_t op1, svuint16_t op2) + /// USUBWB Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsubwb[_u64](svuint64_t op1, svuint32_t op2) + /// USUBWB Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractWideUpper : Subtract wide (top) + + /// + /// svint16_t svsubwt[_s16](svint16_t op1, svint8_t op2) + /// SSUBWT Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsubwt[_s32](svint32_t op1, svint16_t op2) + /// SSUBWT Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsubwt[_s64](svint64_t op1, svint32_t op2) + /// SSUBWT Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsubwt[_u16](svuint16_t op1, svuint8_t op2) + /// USUBWT Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsubwt[_u32](svuint32_t op1, svuint16_t op2) + /// USUBWT Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsubwt[_u64](svuint64_t op1, svuint32_t op2) + /// USUBWT Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractWideningLower : Subtract long (bottom) + + /// + /// svint16_t svsublb[_s16](svint8_t op1, svint8_t op2) + /// SSUBLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsublb[_s32](svint16_t op1, svint16_t op2) + /// SSUBLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsublb[_s64](svint32_t op1, svint32_t op2) + /// SSUBLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsublb[_u16](svuint8_t op1, svuint8_t op2) + /// USUBLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsublb[_u32](svuint16_t op1, svuint16_t op2) + /// USUBLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsublb[_u64](svuint32_t op1, svuint32_t op2) + /// USUBLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractWideningLowerUpper : Subtract long (bottom - top) + + /// + /// svint16_t svsublbt[_s16](svint8_t op1, svint8_t op2) + /// SSUBLBT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningLowerUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsublbt[_s32](svint16_t op1, svint16_t op2) + /// SSUBLBT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningLowerUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsublbt[_s64](svint32_t op1, svint32_t op2) + /// SSUBLBT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningLowerUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractWideningUpper : Subtract long (top) + + /// + /// svint16_t svsublt[_s16](svint8_t op1, svint8_t op2) + /// SSUBLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsublt[_s32](svint16_t op1, svint16_t op2) + /// SSUBLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsublt[_s64](svint32_t op1, svint32_t op2) + /// SSUBLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svsublt[_u16](svuint8_t op1, svuint8_t op2) + /// USUBLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svsublt[_u32](svuint16_t op1, svuint16_t op2) + /// USUBLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsublt[_u64](svuint32_t op1, svuint32_t op2) + /// USUBLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractWideningUpperLower : Subtract long (top - bottom) + + /// + /// svint16_t svsubltb[_s16](svint8_t op1, svint8_t op2) + /// SSUBLTB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningUpperLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsubltb[_s32](svint16_t op1, svint16_t op2) + /// SSUBLTB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningUpperLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svsubltb[_s64](svint32_t op1, svint32_t op2) + /// SSUBLTB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningUpperLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractWithBorrowWideningLower : Subtract with borrow long (bottom) + + /// + /// svuint32_t svsbclb[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// SBCLB Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SBCLB Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector SubtractWithBorrowWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsbclb[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// SBCLB Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; SBCLB Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector SubtractWithBorrowWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// SubtractWithBorrowWideningUpper : Subtract with borrow long (top) + + /// + /// svuint32_t svsbclt[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// SBCLT Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SBCLT Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector SubtractWithBorrowWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svsbclt[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// SBCLT Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; SBCLT Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector SubtractWithBorrowWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// UpConvertWideningUpper : Up convert long (top) + + /// + /// svfloat64_t svcvtlt_f64[_f32]_m(svfloat64_t inactive, svbool_t pg, svfloat32_t op) + /// FCVTLT Ztied.D, Pg/M, Zop.S + /// svfloat64_t svcvtlt_f64[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVTLT Ztied.D, Pg/M, Ztied.S + /// + public static unsafe Vector UpConvertWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + + /// VectorTableLookup : Table lookup in two-vector table + + /// + /// svint8_t svtbl2[_s8](svint8x2_t data, svuint8_t indices) + /// TBL Zresult.B, {Zdata0.B, Zdata1.B}, Zindices.B + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svtbl2[_s16](svint16x2_t data, svuint16_t indices) + /// TBL Zresult.H, {Zdata0.H, Zdata1.H}, Zindices.H + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svtbl2[_s32](svint32x2_t data, svuint32_t indices) + /// TBL Zresult.S, {Zdata0.S, Zdata1.S}, Zindices.S + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svtbl2[_s64](svint64x2_t data, svuint64_t indices) + /// TBL Zresult.D, {Zdata0.D, Zdata1.D}, Zindices.D + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svtbl2[_u8](svuint8x2_t data, svuint8_t indices) + /// TBL Zresult.B, {Zdata0.B, Zdata1.B}, Zindices.B + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svtbl2[_u16](svuint16x2_t data, svuint16_t indices) + /// TBL Zresult.H, {Zdata0.H, Zdata1.H}, Zindices.H + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svtbl2[_u32](svuint32x2_t data, svuint32_t indices) + /// TBL Zresult.S, {Zdata0.S, Zdata1.S}, Zindices.S + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svtbl2[_u64](svuint64x2_t data, svuint64_t indices) + /// TBL Zresult.D, {Zdata0.D, Zdata1.D}, Zindices.D + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svtbl2[_f32](svfloat32x2_t data, svuint32_t indices) + /// TBL Zresult.S, {Zdata0.S, Zdata1.S}, Zindices.S + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svtbl2[_f64](svfloat64x2_t data, svuint64_t indices) + /// TBL Zresult.D, {Zdata0.D, Zdata1.D}, Zindices.D + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + + /// VectorTableLookupExtension : Table lookup in single-vector table (merging) + + /// + /// svint8_t svtbx[_s8](svint8_t fallback, svint8_t data, svuint8_t indices) + /// TBX Ztied.B, Zdata.B, Zindices.B + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svtbx[_s16](svint16_t fallback, svint16_t data, svuint16_t indices) + /// TBX Ztied.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svtbx[_s32](svint32_t fallback, svint32_t data, svuint32_t indices) + /// TBX Ztied.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svtbx[_s64](svint64_t fallback, svint64_t data, svuint64_t indices) + /// TBX Ztied.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svtbx[_u8](svuint8_t fallback, svuint8_t data, svuint8_t indices) + /// TBX Ztied.B, Zdata.B, Zindices.B + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svtbx[_u16](svuint16_t fallback, svuint16_t data, svuint16_t indices) + /// TBX Ztied.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svtbx[_u32](svuint32_t fallback, svuint32_t data, svuint32_t indices) + /// TBX Ztied.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svtbx[_u64](svuint64_t fallback, svuint64_t data, svuint64_t indices) + /// TBX Ztied.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svtbx[_f32](svfloat32_t fallback, svfloat32_t data, svuint32_t indices) + /// TBX Ztied.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svtbx[_f64](svfloat64_t fallback, svfloat64_t data, svuint64_t indices) + /// TBX Ztied.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + + /// Xor : Bitwise exclusive OR of three vectors + + /// + /// svint8_t sveor3[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t sveor3[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t sveor3[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t sveor3[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t sveor3[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t sveor3[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t sveor3[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t sveor3[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// XorRotateRight : Bitwise exclusive OR and rotate right + + /// + /// svint8_t svxar[_n_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// XAR Ztied1.B, Ztied1.B, Zop2.B, #imm3 + /// XAR Ztied2.B, Ztied2.B, Zop1.B, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.B, Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svxar[_n_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// XAR Ztied1.H, Ztied1.H, Zop2.H, #imm3 + /// XAR Ztied2.H, Ztied2.H, Zop1.H, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.H, Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svxar[_n_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// XAR Ztied1.S, Ztied1.S, Zop2.S, #imm3 + /// XAR Ztied2.S, Ztied2.S, Zop1.S, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.S, Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svxar[_n_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// XAR Ztied1.D, Ztied1.D, Zop2.D, #imm3 + /// XAR Ztied2.D, Ztied2.D, Zop1.D, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.D, Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svxar[_n_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// XAR Ztied1.B, Ztied1.B, Zop2.B, #imm3 + /// XAR Ztied2.B, Ztied2.B, Zop1.B, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.B, Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svxar[_n_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// XAR Ztied1.H, Ztied1.H, Zop2.H, #imm3 + /// XAR Ztied2.H, Ztied2.H, Zop1.H, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.H, Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svxar[_n_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// XAR Ztied1.S, Ztied1.S, Zop2.S, #imm3 + /// XAR Ztied2.S, Ztied2.S, Zop1.S, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.S, Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svxar[_n_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// XAR Ztied1.D, Ztied1.D, Zop2.D, #imm3 + /// XAR Ztied2.D, Ztied2.D, Zop1.D, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.D, Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.cs new file mode 100644 index 0000000000000..6693e76c74e29 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.cs @@ -0,0 +1,7720 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class Sve2 : AdvSimd + { + internal Sve2() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// AbsoluteDifferenceAdd : Absolute difference and accumulate + + /// + /// svint8_t svaba[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// SABA Ztied1.B, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SABA Zresult.B, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAdd(op1, op2, op3); + + /// + /// svint16_t svaba[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// SABA Ztied1.H, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SABA Zresult.H, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAdd(op1, op2, op3); + + /// + /// svint32_t svaba[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// SABA Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SABA Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAdd(op1, op2, op3); + + /// + /// svint64_t svaba[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// SABA Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; SABA Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAdd(op1, op2, op3); + + /// + /// svuint8_t svaba[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// UABA Ztied1.B, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UABA Zresult.B, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAdd(op1, op2, op3); + + /// + /// svuint16_t svaba[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// UABA Ztied1.H, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UABA Zresult.H, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAdd(op1, op2, op3); + + /// + /// svuint32_t svaba[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// UABA Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UABA Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAdd(op1, op2, op3); + + /// + /// svuint64_t svaba[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// UABA Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; UABA Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector AbsoluteDifferenceAdd(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAdd(op1, op2, op3); + + + /// AbsoluteDifferenceAddWideningLower : Absolute difference and accumulate long (bottom) + + /// + /// svint16_t svabalb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SABALB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SABALB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningLower(op1, op2, op3); + + /// + /// svint32_t svabalb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SABALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SABALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningLower(op1, op2, op3); + + /// + /// svint64_t svabalb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SABALB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SABALB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningLower(op1, op2, op3); + + /// + /// svuint16_t svabalb[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UABALB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UABALB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningLower(op1, op2, op3); + + /// + /// svuint32_t svabalb[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UABALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UABALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningLower(op1, op2, op3); + + /// + /// svuint64_t svabalb[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UABALB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UABALB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAddWideningLower(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningLower(op1, op2, op3); + + + /// AbsoluteDifferenceAddWideningUpper : Absolute difference and accumulate long (top) + + /// + /// svint16_t svabalt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SABALT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SABALT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningUpper(op1, op2, op3); + + /// + /// svint32_t svabalt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SABALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SABALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningUpper(op1, op2, op3); + + /// + /// svint64_t svabalt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SABALT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SABALT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningUpper(op1, op2, op3); + + /// + /// svuint16_t svabalt[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UABALT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UABALT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningUpper(op1, op2, op3); + + /// + /// svuint32_t svabalt[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UABALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UABALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningUpper(op1, op2, op3); + + /// + /// svuint64_t svabalt[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UABALT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UABALT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector AbsoluteDifferenceAddWideningUpper(Vector op1, Vector op2, Vector op3) => AbsoluteDifferenceAddWideningUpper(op1, op2, op3); + + + /// AbsoluteDifferenceWideningLower : Absolute difference long (bottom) + + /// + /// svint16_t svabdlb[_s16](svint8_t op1, svint8_t op2) + /// SABDLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + + /// + /// svint32_t svabdlb[_s32](svint16_t op1, svint16_t op2) + /// SABDLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + + /// + /// svint64_t svabdlb[_s64](svint32_t op1, svint32_t op2) + /// SABDLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + + /// + /// svuint16_t svabdlb[_u16](svuint8_t op1, svuint8_t op2) + /// UABDLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + + /// + /// svuint32_t svabdlb[_u32](svuint16_t op1, svuint16_t op2) + /// UABDLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + + /// + /// svuint64_t svabdlb[_u64](svuint32_t op1, svuint32_t op2) + /// UABDLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + + + /// AbsoluteDifferenceWideningUpper : Absolute difference long (top) + + /// + /// svint16_t svabdlt[_s16](svint8_t op1, svint8_t op2) + /// SABDLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + + /// + /// svint32_t svabdlt[_s32](svint16_t op1, svint16_t op2) + /// SABDLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + + /// + /// svint64_t svabdlt[_s64](svint32_t op1, svint32_t op2) + /// SABDLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + + /// + /// svuint16_t svabdlt[_u16](svuint8_t op1, svuint8_t op2) + /// UABDLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + + /// + /// svuint32_t svabdlt[_u32](svuint16_t op1, svuint16_t op2) + /// UABDLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + + /// + /// svuint64_t svabdlt[_u64](svuint32_t op1, svuint32_t op2) + /// UABDLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + + + /// AddCarryWideningLower : Add with carry long (bottom) + + /// + /// svuint32_t svadclb[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// ADCLB Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; ADCLB Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector AddCarryWideningLower(Vector op1, Vector op2, Vector op3) => AddCarryWideningLower(op1, op2, op3); + + /// + /// svuint64_t svadclb[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// ADCLB Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; ADCLB Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector AddCarryWideningLower(Vector op1, Vector op2, Vector op3) => AddCarryWideningLower(op1, op2, op3); + + + /// AddCarryWideningUpper : Add with carry long (top) + + /// + /// svuint32_t svadclt[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// ADCLT Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; ADCLT Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector AddCarryWideningUpper(Vector op1, Vector op2, Vector op3) => AddCarryWideningUpper(op1, op2, op3); + + /// + /// svuint64_t svadclt[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// ADCLT Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; ADCLT Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector AddCarryWideningUpper(Vector op1, Vector op2, Vector op3) => AddCarryWideningUpper(op1, op2, op3); + + + /// AddHighNarowingLower : Add narrow high part (bottom) + + /// + /// svint8_t svaddhnb[_s16](svint16_t op1, svint16_t op2) + /// ADDHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) => AddHighNarowingLower(left, right); + + /// + /// svint16_t svaddhnb[_s32](svint32_t op1, svint32_t op2) + /// ADDHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) => AddHighNarowingLower(left, right); + + /// + /// svint32_t svaddhnb[_s64](svint64_t op1, svint64_t op2) + /// ADDHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) => AddHighNarowingLower(left, right); + + /// + /// svuint8_t svaddhnb[_u16](svuint16_t op1, svuint16_t op2) + /// ADDHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) => AddHighNarowingLower(left, right); + + /// + /// svuint16_t svaddhnb[_u32](svuint32_t op1, svuint32_t op2) + /// ADDHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) => AddHighNarowingLower(left, right); + + /// + /// svuint32_t svaddhnb[_u64](svuint64_t op1, svuint64_t op2) + /// ADDHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector AddHighNarowingLower(Vector left, Vector right) => AddHighNarowingLower(left, right); + + + /// AddHighNarowingUpper : Add narrow high part (top) + + /// + /// svint8_t svaddhnt[_s16](svint8_t even, svint16_t op1, svint16_t op2) + /// ADDHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) => AddHighNarowingUpper(even, left, right); + + /// + /// svint16_t svaddhnt[_s32](svint16_t even, svint32_t op1, svint32_t op2) + /// ADDHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) => AddHighNarowingUpper(even, left, right); + + /// + /// svint32_t svaddhnt[_s64](svint32_t even, svint64_t op1, svint64_t op2) + /// ADDHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) => AddHighNarowingUpper(even, left, right); + + /// + /// svuint8_t svaddhnt[_u16](svuint8_t even, svuint16_t op1, svuint16_t op2) + /// ADDHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) => AddHighNarowingUpper(even, left, right); + + /// + /// svuint16_t svaddhnt[_u32](svuint16_t even, svuint32_t op1, svuint32_t op2) + /// ADDHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) => AddHighNarowingUpper(even, left, right); + + /// + /// svuint32_t svaddhnt[_u64](svuint32_t even, svuint64_t op1, svuint64_t op2) + /// ADDHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector AddHighNarowingUpper(Vector even, Vector left, Vector right) => AddHighNarowingUpper(even, left, right); + + + /// AddPairwise : Add pairwise + + /// + /// svint8_t svaddp[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// ADDP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADDP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svaddp[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// ADDP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADDP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + /// + /// svint16_t svaddp[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// ADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svaddp[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// ADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + /// + /// svint32_t svaddp[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// ADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svaddp[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// ADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + /// + /// svint64_t svaddp[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// ADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svaddp[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// ADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + /// + /// svuint8_t svaddp[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ADDP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADDP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svaddp[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// ADDP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; ADDP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + /// + /// svuint16_t svaddp[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svaddp[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// ADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; ADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + /// + /// svuint32_t svaddp[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svaddp[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// ADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; ADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + /// + /// svuint64_t svaddp[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svaddp[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// ADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; ADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + /// + /// svfloat32_t svaddp[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svaddp[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FADDP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FADDP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + /// + /// svfloat64_t svaddp[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svaddp[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FADDP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FADDP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + + /// AddPairwiseWidening : Add and accumulate long pairwise + + /// + /// svint16_t svadalp[_s16]_m(svbool_t pg, svint16_t op1, svint8_t op2) + /// SADALP Ztied1.H, Pg/M, Zop2.B + /// MOVPRFX Zresult, Zop1; SADALP Zresult.H, Pg/M, Zop2.B + /// svint16_t svadalp[_s16]_x(svbool_t pg, svint16_t op1, svint8_t op2) + /// SADALP Ztied1.H, Pg/M, Zop2.B + /// MOVPRFX Zresult, Zop1; SADALP Zresult.H, Pg/M, Zop2.B + /// svint16_t svadalp[_s16]_z(svbool_t pg, svint16_t op1, svint8_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SADALP Zresult.H, Pg/M, Zop2.B + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) => AddPairwiseWidening(left, right); + + /// + /// svint32_t svadalp[_s32]_m(svbool_t pg, svint32_t op1, svint16_t op2) + /// SADALP Ztied1.S, Pg/M, Zop2.H + /// MOVPRFX Zresult, Zop1; SADALP Zresult.S, Pg/M, Zop2.H + /// svint32_t svadalp[_s32]_x(svbool_t pg, svint32_t op1, svint16_t op2) + /// SADALP Ztied1.S, Pg/M, Zop2.H + /// MOVPRFX Zresult, Zop1; SADALP Zresult.S, Pg/M, Zop2.H + /// svint32_t svadalp[_s32]_z(svbool_t pg, svint32_t op1, svint16_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SADALP Zresult.S, Pg/M, Zop2.H + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) => AddPairwiseWidening(left, right); + + /// + /// svint64_t svadalp[_s64]_m(svbool_t pg, svint64_t op1, svint32_t op2) + /// SADALP Ztied1.D, Pg/M, Zop2.S + /// MOVPRFX Zresult, Zop1; SADALP Zresult.D, Pg/M, Zop2.S + /// svint64_t svadalp[_s64]_x(svbool_t pg, svint64_t op1, svint32_t op2) + /// SADALP Ztied1.D, Pg/M, Zop2.S + /// MOVPRFX Zresult, Zop1; SADALP Zresult.D, Pg/M, Zop2.S + /// svint64_t svadalp[_s64]_z(svbool_t pg, svint64_t op1, svint32_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SADALP Zresult.D, Pg/M, Zop2.S + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) => AddPairwiseWidening(left, right); + + /// + /// svuint16_t svadalp[_u16]_m(svbool_t pg, svuint16_t op1, svuint8_t op2) + /// UADALP Ztied1.H, Pg/M, Zop2.B + /// MOVPRFX Zresult, Zop1; UADALP Zresult.H, Pg/M, Zop2.B + /// svuint16_t svadalp[_u16]_x(svbool_t pg, svuint16_t op1, svuint8_t op2) + /// UADALP Ztied1.H, Pg/M, Zop2.B + /// MOVPRFX Zresult, Zop1; UADALP Zresult.H, Pg/M, Zop2.B + /// svuint16_t svadalp[_u16]_z(svbool_t pg, svuint16_t op1, svuint8_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UADALP Zresult.H, Pg/M, Zop2.B + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) => AddPairwiseWidening(left, right); + + /// + /// svuint32_t svadalp[_u32]_m(svbool_t pg, svuint32_t op1, svuint16_t op2) + /// UADALP Ztied1.S, Pg/M, Zop2.H + /// MOVPRFX Zresult, Zop1; UADALP Zresult.S, Pg/M, Zop2.H + /// svuint32_t svadalp[_u32]_x(svbool_t pg, svuint32_t op1, svuint16_t op2) + /// UADALP Ztied1.S, Pg/M, Zop2.H + /// MOVPRFX Zresult, Zop1; UADALP Zresult.S, Pg/M, Zop2.H + /// svuint32_t svadalp[_u32]_z(svbool_t pg, svuint32_t op1, svuint16_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UADALP Zresult.S, Pg/M, Zop2.H + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) => AddPairwiseWidening(left, right); + + /// + /// svuint64_t svadalp[_u64]_m(svbool_t pg, svuint64_t op1, svuint32_t op2) + /// UADALP Ztied1.D, Pg/M, Zop2.S + /// MOVPRFX Zresult, Zop1; UADALP Zresult.D, Pg/M, Zop2.S + /// svuint64_t svadalp[_u64]_x(svbool_t pg, svuint64_t op1, svuint32_t op2) + /// UADALP Ztied1.D, Pg/M, Zop2.S + /// MOVPRFX Zresult, Zop1; UADALP Zresult.D, Pg/M, Zop2.S + /// svuint64_t svadalp[_u64]_z(svbool_t pg, svuint64_t op1, svuint32_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UADALP Zresult.D, Pg/M, Zop2.S + /// + public static unsafe Vector AddPairwiseWidening(Vector left, Vector right) => AddPairwiseWidening(left, right); + + + /// AddRotateComplex : Complex add with rotate + + /// + /// svint8_t svcadd[_s8](svint8_t op1, svint8_t op2, uint64_t imm_rotation) + /// CADD Ztied1.B, Ztied1.B, Zop2.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.B, Zresult.B, Zop2.B, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + /// + /// svint16_t svcadd[_s16](svint16_t op1, svint16_t op2, uint64_t imm_rotation) + /// CADD Ztied1.H, Ztied1.H, Zop2.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.H, Zresult.H, Zop2.H, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + /// + /// svint32_t svcadd[_s32](svint32_t op1, svint32_t op2, uint64_t imm_rotation) + /// CADD Ztied1.S, Ztied1.S, Zop2.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.S, Zresult.S, Zop2.S, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + /// + /// svint64_t svcadd[_s64](svint64_t op1, svint64_t op2, uint64_t imm_rotation) + /// CADD Ztied1.D, Ztied1.D, Zop2.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.D, Zresult.D, Zop2.D, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + /// + /// svuint8_t svcadd[_u8](svuint8_t op1, svuint8_t op2, uint64_t imm_rotation) + /// CADD Ztied1.B, Ztied1.B, Zop2.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.B, Zresult.B, Zop2.B, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + /// + /// svuint16_t svcadd[_u16](svuint16_t op1, svuint16_t op2, uint64_t imm_rotation) + /// CADD Ztied1.H, Ztied1.H, Zop2.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.H, Zresult.H, Zop2.H, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + /// + /// svuint32_t svcadd[_u32](svuint32_t op1, svuint32_t op2, uint64_t imm_rotation) + /// CADD Ztied1.S, Ztied1.S, Zop2.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.S, Zresult.S, Zop2.S, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + /// + /// svuint64_t svcadd[_u64](svuint64_t op1, svuint64_t op2, uint64_t imm_rotation) + /// CADD Ztied1.D, Ztied1.D, Zop2.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; CADD Zresult.D, Zresult.D, Zop2.D, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + + /// AddSaturate : Saturating add + + /// + /// svint8_t svqadd[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqadd[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SQADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SQADD Zresult.B, Zop1.B, Zop2.B + /// svint8_t svqadd[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SQADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svint16_t svqadd[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqadd[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SQADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SQADD Zresult.H, Zop1.H, Zop2.H + /// svint16_t svqadd[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SQADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svint32_t svqadd[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqadd[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SQADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SQADD Zresult.S, Zop1.S, Zop2.S + /// svint32_t svqadd[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SQADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svint64_t svqadd[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqadd[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SQADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SQADD Zresult.D, Zop1.D, Zop2.D + /// svint64_t svqadd[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SQADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svuint8_t svqadd[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqadd[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UQADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// UQADD Zresult.B, Zop1.B, Zop2.B + /// svuint8_t svqadd[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UQADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svuint16_t svqadd[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqadd[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UQADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// UQADD Zresult.H, Zop1.H, Zop2.H + /// svuint16_t svqadd[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UQADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svuint32_t svqadd[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqadd[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UQADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// UQADD Zresult.S, Zop1.S, Zop2.S + /// svuint32_t svqadd[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UQADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + /// + /// svuint64_t svqadd[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqadd[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UQADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// UQADD Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svqadd[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UQADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector AddSaturate(Vector left, Vector right) => AddSaturate(left, right); + + + /// AddSaturateWithSignedAddend : Saturating add with signed addend + + /// + /// svuint8_t svsqadd[_u8]_m(svbool_t pg, svuint8_t op1, svint8_t op2) + /// USQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; USQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svsqadd[_u8]_x(svbool_t pg, svuint8_t op1, svint8_t op2) + /// USQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; USQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svsqadd[_u8]_z(svbool_t pg, svuint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; USQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector AddSaturateWithSignedAddend(Vector left, Vector right) => AddSaturateWithSignedAddend(left, right); + + /// + /// svuint16_t svsqadd[_u16]_m(svbool_t pg, svuint16_t op1, svint16_t op2) + /// USQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; USQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svsqadd[_u16]_x(svbool_t pg, svuint16_t op1, svint16_t op2) + /// USQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; USQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svsqadd[_u16]_z(svbool_t pg, svuint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; USQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector AddSaturateWithSignedAddend(Vector left, Vector right) => AddSaturateWithSignedAddend(left, right); + + /// + /// svuint32_t svsqadd[_u32]_m(svbool_t pg, svuint32_t op1, svint32_t op2) + /// USQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; USQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svsqadd[_u32]_x(svbool_t pg, svuint32_t op1, svint32_t op2) + /// USQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; USQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svsqadd[_u32]_z(svbool_t pg, svuint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; USQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector AddSaturateWithSignedAddend(Vector left, Vector right) => AddSaturateWithSignedAddend(left, right); + + /// + /// svuint64_t svsqadd[_u64]_m(svbool_t pg, svuint64_t op1, svint64_t op2) + /// USQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; USQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svsqadd[_u64]_x(svbool_t pg, svuint64_t op1, svint64_t op2) + /// USQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; USQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svsqadd[_u64]_z(svbool_t pg, svuint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; USQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector AddSaturateWithSignedAddend(Vector left, Vector right) => AddSaturateWithSignedAddend(left, right); + + + /// AddSaturateWithUnsignedAddend : Saturating add with unsigned addend + + /// + /// svint8_t svuqadd[_s8]_m(svbool_t pg, svint8_t op1, svuint8_t op2) + /// SUQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svuqadd[_s8]_x(svbool_t pg, svint8_t op1, svuint8_t op2) + /// SUQADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svuqadd[_s8]_z(svbool_t pg, svint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SUQADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector AddSaturateWithUnsignedAddend(Vector left, Vector right) => AddSaturateWithUnsignedAddend(left, right); + + /// + /// svint16_t svuqadd[_s16]_m(svbool_t pg, svint16_t op1, svuint16_t op2) + /// SUQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svuqadd[_s16]_x(svbool_t pg, svint16_t op1, svuint16_t op2) + /// SUQADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svuqadd[_s16]_z(svbool_t pg, svint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SUQADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector AddSaturateWithUnsignedAddend(Vector left, Vector right) => AddSaturateWithUnsignedAddend(left, right); + + /// + /// svint32_t svuqadd[_s32]_m(svbool_t pg, svint32_t op1, svuint32_t op2) + /// SUQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svuqadd[_s32]_x(svbool_t pg, svint32_t op1, svuint32_t op2) + /// SUQADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svuqadd[_s32]_z(svbool_t pg, svint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SUQADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector AddSaturateWithUnsignedAddend(Vector left, Vector right) => AddSaturateWithUnsignedAddend(left, right); + + /// + /// svint64_t svuqadd[_s64]_m(svbool_t pg, svint64_t op1, svuint64_t op2) + /// SUQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svuqadd[_s64]_x(svbool_t pg, svint64_t op1, svuint64_t op2) + /// SUQADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SUQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svuqadd[_s64]_z(svbool_t pg, svint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SUQADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector AddSaturateWithUnsignedAddend(Vector left, Vector right) => AddSaturateWithUnsignedAddend(left, right); + + + /// AddWideLower : Add wide (bottom) + + /// + /// svint16_t svaddwb[_s16](svint16_t op1, svint8_t op2) + /// SADDWB Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) => AddWideLower(left, right); + + /// + /// svint32_t svaddwb[_s32](svint32_t op1, svint16_t op2) + /// SADDWB Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) => AddWideLower(left, right); + + /// + /// svint64_t svaddwb[_s64](svint64_t op1, svint32_t op2) + /// SADDWB Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) => AddWideLower(left, right); + + /// + /// svuint16_t svaddwb[_u16](svuint16_t op1, svuint8_t op2) + /// UADDWB Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) => AddWideLower(left, right); + + /// + /// svuint32_t svaddwb[_u32](svuint32_t op1, svuint16_t op2) + /// UADDWB Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) => AddWideLower(left, right); + + /// + /// svuint64_t svaddwb[_u64](svuint64_t op1, svuint32_t op2) + /// UADDWB Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector AddWideLower(Vector left, Vector right) => AddWideLower(left, right); + + + /// AddWideUpper : Add wide (top) + + /// + /// svint16_t svaddwt[_s16](svint16_t op1, svint8_t op2) + /// SADDWT Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) => AddWideUpper(left, right); + + /// + /// svint32_t svaddwt[_s32](svint32_t op1, svint16_t op2) + /// SADDWT Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) => AddWideUpper(left, right); + + /// + /// svint64_t svaddwt[_s64](svint64_t op1, svint32_t op2) + /// SADDWT Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) => AddWideUpper(left, right); + + /// + /// svuint16_t svaddwt[_u16](svuint16_t op1, svuint8_t op2) + /// UADDWT Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) => AddWideUpper(left, right); + + /// + /// svuint32_t svaddwt[_u32](svuint32_t op1, svuint16_t op2) + /// UADDWT Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) => AddWideUpper(left, right); + + /// + /// svuint64_t svaddwt[_u64](svuint64_t op1, svuint32_t op2) + /// UADDWT Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector AddWideUpper(Vector left, Vector right) => AddWideUpper(left, right); + + + /// AddWideningLower : Add long (bottom) + + /// + /// svint16_t svaddlb[_s16](svint8_t op1, svint8_t op2) + /// SADDLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) => AddWideningLower(left, right); + + /// + /// svint32_t svaddlb[_s32](svint16_t op1, svint16_t op2) + /// SADDLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) => AddWideningLower(left, right); + + /// + /// svint64_t svaddlb[_s64](svint32_t op1, svint32_t op2) + /// SADDLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) => AddWideningLower(left, right); + + /// + /// svuint16_t svaddlb[_u16](svuint8_t op1, svuint8_t op2) + /// UADDLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) => AddWideningLower(left, right); + + /// + /// svuint32_t svaddlb[_u32](svuint16_t op1, svuint16_t op2) + /// UADDLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) => AddWideningLower(left, right); + + /// + /// svuint64_t svaddlb[_u64](svuint32_t op1, svuint32_t op2) + /// UADDLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AddWideningLower(Vector left, Vector right) => AddWideningLower(left, right); + + + /// AddWideningLowerUpper : Add long (bottom + top) + + /// + /// svint16_t svaddlbt[_s16](svint8_t op1, svint8_t op2) + /// SADDLBT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AddWideningLowerUpper(Vector left, Vector right) => AddWideningLowerUpper(left, right); + + /// + /// svint32_t svaddlbt[_s32](svint16_t op1, svint16_t op2) + /// SADDLBT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AddWideningLowerUpper(Vector left, Vector right) => AddWideningLowerUpper(left, right); + + /// + /// svint64_t svaddlbt[_s64](svint32_t op1, svint32_t op2) + /// SADDLBT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AddWideningLowerUpper(Vector left, Vector right) => AddWideningLowerUpper(left, right); + + + /// AddWideningUpper : Add long (top) + + /// + /// svint16_t svaddlt[_s16](svint8_t op1, svint8_t op2) + /// SADDLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) => AddWideningUpper(left, right); + + /// + /// svint32_t svaddlt[_s32](svint16_t op1, svint16_t op2) + /// SADDLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) => AddWideningUpper(left, right); + + /// + /// svint64_t svaddlt[_s64](svint32_t op1, svint32_t op2) + /// SADDLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) => AddWideningUpper(left, right); + + /// + /// svuint16_t svaddlt[_u16](svuint8_t op1, svuint8_t op2) + /// UADDLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) => AddWideningUpper(left, right); + + /// + /// svuint32_t svaddlt[_u32](svuint16_t op1, svuint16_t op2) + /// UADDLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) => AddWideningUpper(left, right); + + /// + /// svuint64_t svaddlt[_u64](svuint32_t op1, svuint32_t op2) + /// UADDLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector AddWideningUpper(Vector left, Vector right) => AddWideningUpper(left, right); + + + /// BitwiseClearXor : Bitwise clear and exclusive OR + + /// + /// svint8_t svbcax[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) => BitwiseClearXor(op1, op2, op3); + + /// + /// svint16_t svbcax[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) => BitwiseClearXor(op1, op2, op3); + + /// + /// svint32_t svbcax[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) => BitwiseClearXor(op1, op2, op3); + + /// + /// svint64_t svbcax[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) => BitwiseClearXor(op1, op2, op3); + + /// + /// svuint8_t svbcax[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) => BitwiseClearXor(op1, op2, op3); + + /// + /// svuint16_t svbcax[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) => BitwiseClearXor(op1, op2, op3); + + /// + /// svuint32_t svbcax[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) => BitwiseClearXor(op1, op2, op3); + + /// + /// svuint64_t svbcax[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BCAX Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BCAX Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseClearXor(Vector op1, Vector op2, Vector op3) => BitwiseClearXor(op1, op2, op3); + + + /// BitwiseSelect : Bitwise select + + /// + /// svint8_t svbsl[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) => BitwiseSelect(op1, op2, op3); + + /// + /// svint16_t svbsl[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) => BitwiseSelect(op1, op2, op3); + + /// + /// svint32_t svbsl[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) => BitwiseSelect(op1, op2, op3); + + /// + /// svint64_t svbsl[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) => BitwiseSelect(op1, op2, op3); + + /// + /// svuint8_t svbsl[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) => BitwiseSelect(op1, op2, op3); + + /// + /// svuint16_t svbsl[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) => BitwiseSelect(op1, op2, op3); + + /// + /// svuint32_t svbsl[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) => BitwiseSelect(op1, op2, op3); + + /// + /// svuint64_t svbsl[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector op1, Vector op2, Vector op3) => BitwiseSelect(op1, op2, op3); + + + /// BitwiseSelectFirstInverted : Bitwise select with first input inverted + + /// + /// svint8_t svbsl1n[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectFirstInverted(op1, op2, op3); + + /// + /// svint16_t svbsl1n[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectFirstInverted(op1, op2, op3); + + /// + /// svint32_t svbsl1n[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectFirstInverted(op1, op2, op3); + + /// + /// svint64_t svbsl1n[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectFirstInverted(op1, op2, op3); + + /// + /// svuint8_t svbsl1n[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectFirstInverted(op1, op2, op3); + + /// + /// svuint16_t svbsl1n[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectFirstInverted(op1, op2, op3); + + /// + /// svuint32_t svbsl1n[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectFirstInverted(op1, op2, op3); + + /// + /// svuint64_t svbsl1n[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL1N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectFirstInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectFirstInverted(op1, op2, op3); + + + /// BitwiseSelectInverted : Bitwise select + + /// + /// svint8_t svnbsl[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectInverted(op1, op2, op3); + + /// + /// svint16_t svnbsl[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectInverted(op1, op2, op3); + + /// + /// svint32_t svnbsl[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectInverted(op1, op2, op3); + + /// + /// svint64_t svnbsl[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectInverted(op1, op2, op3); + + /// + /// svuint8_t svnbsl[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectInverted(op1, op2, op3); + + /// + /// svuint16_t svnbsl[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectInverted(op1, op2, op3); + + /// + /// svuint32_t svnbsl[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectInverted(op1, op2, op3); + + /// + /// svuint64_t svnbsl[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// NBSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; NBSL Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectInverted(op1, op2, op3); + + + /// BitwiseSelectSecondInverted : Bitwise select with second input inverted + + /// + /// svint8_t svbsl2n[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectSecondInverted(op1, op2, op3); + + /// + /// svint16_t svbsl2n[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectSecondInverted(op1, op2, op3); + + /// + /// svint32_t svbsl2n[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectSecondInverted(op1, op2, op3); + + /// + /// svint64_t svbsl2n[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectSecondInverted(op1, op2, op3); + + /// + /// svuint8_t svbsl2n[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectSecondInverted(op1, op2, op3); + + /// + /// svuint16_t svbsl2n[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectSecondInverted(op1, op2, op3); + + /// + /// svuint32_t svbsl2n[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectSecondInverted(op1, op2, op3); + + /// + /// svuint64_t svbsl2n[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; BSL2N Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectSecondInverted(Vector op1, Vector op2, Vector op3) => BitwiseSelectSecondInverted(op1, op2, op3); + + + /// CountMatchingElements : Count matching elements + + /// + /// svuint32_t svhistcnt[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// HISTCNT Zresult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CountMatchingElements(Vector mask, Vector left, Vector right) => CountMatchingElements(mask, left, right); + + /// + /// svuint32_t svhistcnt[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// HISTCNT Zresult.S, Pg/Z, Zop1.S, Zop2.S + /// + public static unsafe Vector CountMatchingElements(Vector mask, Vector left, Vector right) => CountMatchingElements(mask, left, right); + + /// + /// svuint64_t svhistcnt[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// HISTCNT Zresult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CountMatchingElements(Vector mask, Vector left, Vector right) => CountMatchingElements(mask, left, right); + + /// + /// svuint64_t svhistcnt[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// HISTCNT Zresult.D, Pg/Z, Zop1.D, Zop2.D + /// + public static unsafe Vector CountMatchingElements(Vector mask, Vector left, Vector right) => CountMatchingElements(mask, left, right); + + + /// CountMatchingElementsIn128BitSegments : Count matching elements in 128-bit segments + + /// + /// svuint8_t svhistseg[_s8](svint8_t op1, svint8_t op2) + /// HISTSEG Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector CountMatchingElementsIn128BitSegments(Vector left, Vector right) => CountMatchingElementsIn128BitSegments(left, right); + + /// + /// svuint8_t svhistseg[_u8](svuint8_t op1, svuint8_t op2) + /// HISTSEG Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector CountMatchingElementsIn128BitSegments(Vector left, Vector right) => CountMatchingElementsIn128BitSegments(left, right); + + + /// CreateWhileGreaterThanMask : While decrementing scalar is greater than + + /// + /// svbool_t svwhilegt_b8[_s32](int32_t op1, int32_t op2) + /// WHILEGT Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(int left, int right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b8[_s64](int64_t op1, int64_t op2) + /// WHILEGT Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(long left, long right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b8[_u32](uint32_t op1, uint32_t op2) + /// WHILEHI Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(uint left, uint right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b8[_u64](uint64_t op1, uint64_t op2) + /// WHILEHI Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(ulong left, ulong right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b16[_s32](int32_t op1, int32_t op2) + /// WHILEGT Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(int left, int right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b16[_s64](int64_t op1, int64_t op2) + /// WHILEGT Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(long left, long right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b16[_u32](uint32_t op1, uint32_t op2) + /// WHILEHI Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(uint left, uint right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b16[_u64](uint64_t op1, uint64_t op2) + /// WHILEHI Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(ulong left, ulong right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b32[_s32](int32_t op1, int32_t op2) + /// WHILEGT Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(int left, int right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b32[_s64](int64_t op1, int64_t op2) + /// WHILEGT Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(long left, long right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b32[_u32](uint32_t op1, uint32_t op2) + /// WHILEHI Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(uint left, uint right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b32[_u64](uint64_t op1, uint64_t op2) + /// WHILEHI Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(ulong left, ulong right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b64[_s32](int32_t op1, int32_t op2) + /// WHILEGT Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(int left, int right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b64[_s64](int64_t op1, int64_t op2) + /// WHILEGT Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(long left, long right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b64[_u32](uint32_t op1, uint32_t op2) + /// WHILEHI Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(uint left, uint right) => CreateWhileGreaterThanMask(left, right); + + /// + /// svbool_t svwhilegt_b64[_u64](uint64_t op1, uint64_t op2) + /// WHILEHI Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanMask(ulong left, ulong right) => CreateWhileGreaterThanMask(left, right); + + + /// CreateWhileGreaterThanOrEqualMask : While decrementing scalar is greater than or equal to + + /// + /// svbool_t svwhilege_b8[_s32](int32_t op1, int32_t op2) + /// WHILEGE Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(int left, int right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b8[_s64](int64_t op1, int64_t op2) + /// WHILEGE Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(long left, long right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b8[_u32](uint32_t op1, uint32_t op2) + /// WHILEHS Presult.B, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(uint left, uint right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b8[_u64](uint64_t op1, uint64_t op2) + /// WHILEHS Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(ulong left, ulong right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b16[_s32](int32_t op1, int32_t op2) + /// WHILEGE Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(int left, int right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b16[_s64](int64_t op1, int64_t op2) + /// WHILEGE Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(long left, long right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b16[_u32](uint32_t op1, uint32_t op2) + /// WHILEHS Presult.H, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(uint left, uint right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b16[_u64](uint64_t op1, uint64_t op2) + /// WHILEHS Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(ulong left, ulong right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b32[_s32](int32_t op1, int32_t op2) + /// WHILEGE Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(int left, int right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b32[_s64](int64_t op1, int64_t op2) + /// WHILEGE Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(long left, long right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b32[_u32](uint32_t op1, uint32_t op2) + /// WHILEHS Presult.S, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(uint left, uint right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b32[_u64](uint64_t op1, uint64_t op2) + /// WHILEHS Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(ulong left, ulong right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b64[_s32](int32_t op1, int32_t op2) + /// WHILEGE Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(int left, int right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b64[_s64](int64_t op1, int64_t op2) + /// WHILEGE Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(long left, long right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b64[_u32](uint32_t op1, uint32_t op2) + /// WHILEHS Presult.D, Wop1, Wop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(uint left, uint right) => CreateWhileGreaterThanOrEqualMask(left, right); + + /// + /// svbool_t svwhilege_b64[_u64](uint64_t op1, uint64_t op2) + /// WHILEHS Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileGreaterThanOrEqualMask(ulong left, ulong right) => CreateWhileGreaterThanOrEqualMask(left, right); + + + /// CreateWhileReadAfterWriteMask : While free of read-after-write conflicts + + /// + /// svbool_t svwhilerw[_s8](const int8_t *op1, const int8_t *op2) + /// WHILERW Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const sbyte left, const sbyte right) => CreateWhileReadAfterWriteMask(sbyte, sbyte); + + /// + /// svbool_t svwhilerw[_s16](const int16_t *op1, const int16_t *op2) + /// WHILERW Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const short left, const short right) => CreateWhileReadAfterWriteMask(short, short); + + /// + /// svbool_t svwhilerw[_s32](const int32_t *op1, const int32_t *op2) + /// WHILERW Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const int left, const int right) => CreateWhileReadAfterWriteMask(int, int); + + /// + /// svbool_t svwhilerw[_s64](const int64_t *op1, const int64_t *op2) + /// WHILERW Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const long left, const long right) => CreateWhileReadAfterWriteMask(long, long); + + /// + /// svbool_t svwhilerw[_u8](const uint8_t *op1, const uint8_t *op2) + /// WHILERW Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const byte left, const byte right) => CreateWhileReadAfterWriteMask(byte, byte); + + /// + /// svbool_t svwhilerw[_u16](const uint16_t *op1, const uint16_t *op2) + /// WHILERW Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const ushort left, const ushort right) => CreateWhileReadAfterWriteMask(ushort, ushort); + + /// + /// svbool_t svwhilerw[_u32](const uint32_t *op1, const uint32_t *op2) + /// WHILERW Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const uint left, const uint right) => CreateWhileReadAfterWriteMask(uint, uint); + + /// + /// svbool_t svwhilerw[_u64](const uint64_t *op1, const uint64_t *op2) + /// WHILERW Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const ulong left, const ulong right) => CreateWhileReadAfterWriteMask(ulong, ulong); + + /// + /// svbool_t svwhilerw[_f32](const float32_t *op1, const float32_t *op2) + /// WHILERW Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const float left, const float right) => CreateWhileReadAfterWriteMask(float, float); + + /// + /// svbool_t svwhilerw[_f64](const float64_t *op1, const float64_t *op2) + /// WHILERW Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const double left, const double right) => CreateWhileReadAfterWriteMask(double, double); + + + /// CreateWhileWriteAfterReadMask : While free of write-after-read conflicts + + /// + /// svbool_t svwhilewr[_s8](const int8_t *op1, const int8_t *op2) + /// WHILEWR Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const sbyte left, const sbyte right) => CreateWhileWriteAfterReadMask(sbyte, sbyte); + + /// + /// svbool_t svwhilewr[_s16](const int16_t *op1, const int16_t *op2) + /// WHILEWR Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const short left, const short right) => CreateWhileWriteAfterReadMask(short, short); + + /// + /// svbool_t svwhilewr[_s32](const int32_t *op1, const int32_t *op2) + /// WHILEWR Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const int left, const int right) => CreateWhileWriteAfterReadMask(int, int); + + /// + /// svbool_t svwhilewr[_s64](const int64_t *op1, const int64_t *op2) + /// WHILEWR Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const long left, const long right) => CreateWhileWriteAfterReadMask(long, long); + + /// + /// svbool_t svwhilewr[_u8](const uint8_t *op1, const uint8_t *op2) + /// WHILEWR Presult.B, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const byte left, const byte right) => CreateWhileWriteAfterReadMask(byte, byte); + + /// + /// svbool_t svwhilewr[_u16](const uint16_t *op1, const uint16_t *op2) + /// WHILEWR Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const ushort left, const ushort right) => CreateWhileWriteAfterReadMask(ushort, ushort); + + /// + /// svbool_t svwhilewr[_u32](const uint32_t *op1, const uint32_t *op2) + /// WHILEWR Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const uint left, const uint right) => CreateWhileWriteAfterReadMask(uint, uint); + + /// + /// svbool_t svwhilewr[_u64](const uint64_t *op1, const uint64_t *op2) + /// WHILEWR Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const ulong left, const ulong right) => CreateWhileWriteAfterReadMask(ulong, ulong); + + /// + /// svbool_t svwhilewr[_f32](const float32_t *op1, const float32_t *op2) + /// WHILEWR Presult.S, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const float left, const float right) => CreateWhileWriteAfterReadMask(float, float); + + /// + /// svbool_t svwhilewr[_f64](const float64_t *op1, const float64_t *op2) + /// WHILEWR Presult.D, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const double left, const double right) => CreateWhileWriteAfterReadMask(double, double); + + + /// DotProductComplex : Complex dot product + + /// + /// svint32_t svcdot[_s32](svint32_t op1, svint8_t op2, svint8_t op3, uint64_t imm_rotation) + /// CDOT Ztied1.S, Zop2.B, Zop3.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; CDOT Zresult.S, Zop2.B, Zop3.B, #imm_rotation + /// + public static unsafe Vector DotProductComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => DotProductComplex(op1, op2, op3, imm_rotation); + + /// + /// svint32_t svcdot_lane[_s32](svint32_t op1, svint8_t op2, svint8_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CDOT Ztied1.S, Zop2.B, Zop3.B[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CDOT Zresult.S, Zop2.B, Zop3.B[imm_index], #imm_rotation + /// + public static unsafe Vector DotProductComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) => DotProductComplex(op1, op2, op3, imm_index, imm_rotation); + + /// + /// svint64_t svcdot[_s64](svint64_t op1, svint16_t op2, svint16_t op3, uint64_t imm_rotation) + /// CDOT Ztied1.D, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; CDOT Zresult.D, Zop2.H, Zop3.H, #imm_rotation + /// + public static unsafe Vector DotProductComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => DotProductComplex(op1, op2, op3, imm_rotation); + + /// + /// svint64_t svcdot_lane[_s64](svint64_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CDOT Ztied1.D, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CDOT Zresult.D, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// + public static unsafe Vector DotProductComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) => DotProductComplex(op1, op2, op3, imm_index, imm_rotation); + + + /// DownConvertNarrowingUpper : Down convert and narrow (top) + + /// + /// svfloat32_t svcvtnt_f32[_f64]_m(svfloat32_t even, svbool_t pg, svfloat64_t op) + /// FCVTNT Ztied.S, Pg/M, Zop.D + /// svfloat32_t svcvtnt_f32[_f64]_x(svfloat32_t even, svbool_t pg, svfloat64_t op) + /// FCVTNT Ztied.S, Pg/M, Zop.D + /// + public static unsafe Vector DownConvertNarrowingUpper(Vector value) => DownConvertNarrowingUpper(value); + + + /// DownConvertRoundingOdd : Down convert, rounding to odd + + /// + /// svfloat32_t svcvtx_f32[_f64]_m(svfloat32_t inactive, svbool_t pg, svfloat64_t op) + /// FCVTX Ztied.S, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVTX Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvtx_f32[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVTX Ztied.S, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVTX Zresult.S, Pg/M, Zop.D + /// svfloat32_t svcvtx_f32[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTX Zresult.S, Pg/M, Zop.D + /// + public static unsafe Vector DownConvertRoundingOdd(Vector value) => DownConvertRoundingOdd(value); + + + /// DownConvertRoundingOddUpper : Down convert, rounding to odd (top) + + /// + /// svfloat32_t svcvtxnt_f32[_f64]_m(svfloat32_t even, svbool_t pg, svfloat64_t op) + /// FCVTXNT Ztied.S, Pg/M, Zop.D + /// svfloat32_t svcvtxnt_f32[_f64]_x(svfloat32_t even, svbool_t pg, svfloat64_t op) + /// FCVTXNT Ztied.S, Pg/M, Zop.D + /// + public static unsafe Vector DownConvertRoundingOddUpper(Vector value) => DownConvertRoundingOddUpper(value); + + + /// GatherVectorByteSignExtendNonTemporal : Load 8-bit data and sign-extend, non-temporal + + /// + /// svint32_t svldnt1sb_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDNT1SB Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases) => GatherVectorByteSignExtendNonTemporal(mask, bases); + + /// + /// svint32_t svldnt1sb_gather_[u32]offset_s32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LDNT1SB Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendNonTemporal(mask, sbyte, offsets); + + /// + /// svint32_t svldnt1sb_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1SB Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtendNonTemporal(mask, bases, offset); + + /// + /// svint64_t svldnt1sb_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1SB Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases) => GatherVectorByteSignExtendNonTemporal(mask, bases); + + /// + /// svint64_t svldnt1sb_gather_[s64]offset_s64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LDNT1SB Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendNonTemporal(mask, sbyte, offsets); + + /// + /// svint64_t svldnt1sb_gather_[u64]offset_s64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LDNT1SB Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendNonTemporal(mask, sbyte, offsets); + + /// + /// svint64_t svldnt1sb_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SB Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtendNonTemporal(mask, bases, offset); + + /// + /// svuint32_t svldnt1sb_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDNT1SB Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases) => GatherVectorByteSignExtendNonTemporal(mask, bases); + + /// + /// svuint32_t svldnt1sb_gather_[u32]offset_u32(svbool_t pg, const int8_t *base, svuint32_t offsets) + /// LDNT1SB Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendNonTemporal(mask, sbyte, offsets); + + /// + /// svuint32_t svldnt1sb_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1SB Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtendNonTemporal(mask, bases, offset); + + /// + /// svuint64_t svldnt1sb_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1SB Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases) => GatherVectorByteSignExtendNonTemporal(mask, bases); + + /// + /// svuint64_t svldnt1sb_gather_[s64]offset_u64(svbool_t pg, const int8_t *base, svint64_t offsets) + /// LDNT1SB Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendNonTemporal(mask, sbyte, offsets); + + /// + /// svuint64_t svldnt1sb_gather_[u64]offset_u64(svbool_t pg, const int8_t *base, svuint64_t offsets) + /// LDNT1SB Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, const sbyte *base, Vector offsets) => GatherVectorByteSignExtendNonTemporal(mask, sbyte, offsets); + + /// + /// svuint64_t svldnt1sb_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SB Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorByteSignExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorByteSignExtendNonTemporal(mask, bases, offset); + + + /// GatherVectorByteZeroExtendNonTemporal : Load 8-bit data and zero-extend, non-temporal + + /// + /// svint32_t svldnt1ub_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDNT1B Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases) => GatherVectorByteZeroExtendNonTemporal(mask, bases); + + /// + /// svint32_t svldnt1ub_gather_[u32]offset_s32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LDNT1B Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendNonTemporal(mask, byte, offsets); + + /// + /// svint32_t svldnt1ub_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1B Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtendNonTemporal(mask, bases, offset); + + /// + /// svint64_t svldnt1ub_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1B Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases) => GatherVectorByteZeroExtendNonTemporal(mask, bases); + + /// + /// svint64_t svldnt1ub_gather_[s64]offset_s64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LDNT1B Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendNonTemporal(mask, byte, offsets); + + /// + /// svint64_t svldnt1ub_gather_[u64]offset_s64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LDNT1B Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendNonTemporal(mask, byte, offsets); + + /// + /// svint64_t svldnt1ub_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1B Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtendNonTemporal(mask, bases, offset); + + /// + /// svuint32_t svldnt1ub_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDNT1B Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases) => GatherVectorByteZeroExtendNonTemporal(mask, bases); + + /// + /// svuint32_t svldnt1ub_gather_[u32]offset_u32(svbool_t pg, const uint8_t *base, svuint32_t offsets) + /// LDNT1B Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendNonTemporal(mask, byte, offsets); + + /// + /// svuint32_t svldnt1ub_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1B Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtendNonTemporal(mask, bases, offset); + + /// + /// svuint64_t svldnt1ub_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1B Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases) => GatherVectorByteZeroExtendNonTemporal(mask, bases); + + /// + /// svuint64_t svldnt1ub_gather_[s64]offset_u64(svbool_t pg, const uint8_t *base, svint64_t offsets) + /// LDNT1B Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendNonTemporal(mask, byte, offsets); + + /// + /// svuint64_t svldnt1ub_gather_[u64]offset_u64(svbool_t pg, const uint8_t *base, svuint64_t offsets) + /// LDNT1B Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, const byte *base, Vector offsets) => GatherVectorByteZeroExtendNonTemporal(mask, byte, offsets); + + /// + /// svuint64_t svldnt1ub_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1B Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorByteZeroExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorByteZeroExtendNonTemporal(mask, bases, offset); + + + /// GatherVectorInt16SignExtendNonTemporal : Load 16-bit data and sign-extend, non-temporal + + /// + /// svint32_t svldnt1sh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt16SignExtendNonTemporal(mask, bases); + + /// + /// svint32_t svldnt1sh_gather_[u32]offset_s32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LDNT1SH Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendNonTemporal(mask, short, offsets); + + /// + /// svint32_t svldnt1sh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtendNonTemporal(mask, bases, offset); + + /// + /// svint32_t svldnt1sh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtendNonTemporal(mask, bases, index); + + /// + /// svint64_t svldnt1sh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt16SignExtendNonTemporal(mask, bases); + + /// + /// svint64_t svldnt1sh_gather_[s64]offset_s64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendNonTemporal(mask, short, offsets); + + /// + /// svint64_t svldnt1sh_gather_[u64]offset_s64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendNonTemporal(mask, short, offsets); + + /// + /// svint64_t svldnt1sh_gather_[s64]index_s64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendNonTemporal(mask, short, indices); + + /// + /// svint64_t svldnt1sh_gather_[u64]index_s64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendNonTemporal(mask, short, indices); + + /// + /// svint64_t svldnt1sh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtendNonTemporal(mask, bases, offset); + + /// + /// svint64_t svldnt1sh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtendNonTemporal(mask, bases, index); + + /// + /// svuint32_t svldnt1sh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt16SignExtendNonTemporal(mask, bases); + + /// + /// svuint32_t svldnt1sh_gather_[u32]offset_u32(svbool_t pg, const int16_t *base, svuint32_t offsets) + /// LDNT1SH Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendNonTemporal(mask, short, offsets); + + /// + /// svuint32_t svldnt1sh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtendNonTemporal(mask, bases, offset); + + /// + /// svuint32_t svldnt1sh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1SH Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtendNonTemporal(mask, bases, index); + + /// + /// svuint64_t svldnt1sh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt16SignExtendNonTemporal(mask, bases); + + /// + /// svuint64_t svldnt1sh_gather_[s64]offset_u64(svbool_t pg, const int16_t *base, svint64_t offsets) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendNonTemporal(mask, short, offsets); + + /// + /// svuint64_t svldnt1sh_gather_[u64]offset_u64(svbool_t pg, const int16_t *base, svuint64_t offsets) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector offsets) => GatherVectorInt16SignExtendNonTemporal(mask, short, offsets); + + /// + /// svuint64_t svldnt1sh_gather_[s64]index_u64(svbool_t pg, const int16_t *base, svint64_t indices) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendNonTemporal(mask, short, indices); + + /// + /// svuint64_t svldnt1sh_gather_[u64]index_u64(svbool_t pg, const int16_t *base, svuint64_t indices) + /// LDNT1SH Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, const short *base, Vector indices) => GatherVectorInt16SignExtendNonTemporal(mask, short, indices); + + /// + /// svuint64_t svldnt1sh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt16SignExtendNonTemporal(mask, bases, offset); + + /// + /// svuint64_t svldnt1sh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1SH Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16SignExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt16SignExtendNonTemporal(mask, bases, index); + + + /// GatherVectorInt16ZeroExtendNonTemporal : Load 16-bit data and zero-extend, non-temporal + + /// + /// svint32_t svldnt1uh_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases); + + /// + /// svint32_t svldnt1uh_gather_[u32]offset_s32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LDNT1H Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendNonTemporal(mask, ushort, offsets); + + /// + /// svint32_t svldnt1uh_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases, offset); + + /// + /// svint32_t svldnt1uh_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases, index); + + /// + /// svint64_t svldnt1uh_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases); + + /// + /// svint64_t svldnt1uh_gather_[s64]offset_s64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendNonTemporal(mask, ushort, offsets); + + /// + /// svint64_t svldnt1uh_gather_[u64]offset_s64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendNonTemporal(mask, ushort, offsets); + + /// + /// svint64_t svldnt1uh_gather_[s64]index_s64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendNonTemporal(mask, ushort, indices); + + /// + /// svint64_t svldnt1uh_gather_[u64]index_s64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendNonTemporal(mask, ushort, indices); + + /// + /// svint64_t svldnt1uh_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases, offset); + + /// + /// svint64_t svldnt1uh_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases, index); + + /// + /// svuint32_t svldnt1uh_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases); + + /// + /// svuint32_t svldnt1uh_gather_[u32]offset_u32(svbool_t pg, const uint16_t *base, svuint32_t offsets) + /// LDNT1H Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendNonTemporal(mask, ushort, offsets); + + /// + /// svuint32_t svldnt1uh_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases, offset); + + /// + /// svuint32_t svldnt1uh_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1H Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases, index); + + /// + /// svuint64_t svldnt1uh_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases); + + /// + /// svuint64_t svldnt1uh_gather_[s64]offset_u64(svbool_t pg, const uint16_t *base, svint64_t offsets) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendNonTemporal(mask, ushort, offsets); + + /// + /// svuint64_t svldnt1uh_gather_[u64]offset_u64(svbool_t pg, const uint16_t *base, svuint64_t offsets) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector offsets) => GatherVectorInt16ZeroExtendNonTemporal(mask, ushort, offsets); + + /// + /// svuint64_t svldnt1uh_gather_[s64]index_u64(svbool_t pg, const uint16_t *base, svint64_t indices) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendNonTemporal(mask, ushort, indices); + + /// + /// svuint64_t svldnt1uh_gather_[u64]index_u64(svbool_t pg, const uint16_t *base, svuint64_t indices) + /// LDNT1H Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, const ushort *base, Vector indices) => GatherVectorInt16ZeroExtendNonTemporal(mask, ushort, indices); + + /// + /// svuint64_t svldnt1uh_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases, offset); + + /// + /// svuint64_t svldnt1uh_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1H Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt16ZeroExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt16ZeroExtendNonTemporal(mask, bases, index); + + + /// GatherVectorInt32SignExtendNonTemporal : Load 32-bit data and sign-extend, non-temporal + + /// + /// svint64_t svldnt1sw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt32SignExtendNonTemporal(mask, bases); + + /// + /// svint64_t svldnt1sw_gather_[s64]offset_s64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtendNonTemporal(mask, int, offsets); + + /// + /// svint64_t svldnt1sw_gather_[u64]offset_s64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtendNonTemporal(mask, int, offsets); + + /// + /// svint64_t svldnt1sw_gather_[s64]index_s64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtendNonTemporal(mask, int, indices); + + /// + /// svint64_t svldnt1sw_gather_[u64]index_s64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtendNonTemporal(mask, int, indices); + + /// + /// svint64_t svldnt1sw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt32SignExtendNonTemporal(mask, bases, offset); + + /// + /// svint64_t svldnt1sw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt32SignExtendNonTemporal(mask, bases, index); + + /// + /// svuint64_t svldnt1sw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt32SignExtendNonTemporal(mask, bases); + + /// + /// svuint64_t svldnt1sw_gather_[s64]offset_u64(svbool_t pg, const int32_t *base, svint64_t offsets) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtendNonTemporal(mask, int, offsets); + + /// + /// svuint64_t svldnt1sw_gather_[u64]offset_u64(svbool_t pg, const int32_t *base, svuint64_t offsets) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector offsets) => GatherVectorInt32SignExtendNonTemporal(mask, int, offsets); + + /// + /// svuint64_t svldnt1sw_gather_[s64]index_u64(svbool_t pg, const int32_t *base, svint64_t indices) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtendNonTemporal(mask, int, indices); + + /// + /// svuint64_t svldnt1sw_gather_[u64]index_u64(svbool_t pg, const int32_t *base, svuint64_t indices) + /// LDNT1SW Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, const int *base, Vector indices) => GatherVectorInt32SignExtendNonTemporal(mask, int, indices); + + /// + /// svuint64_t svldnt1sw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt32SignExtendNonTemporal(mask, bases, offset); + + /// + /// svuint64_t svldnt1sw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1SW Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32SignExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt32SignExtendNonTemporal(mask, bases, index); + + + /// GatherVectorInt32ZeroExtendNonTemporal : Load 32-bit data and zero-extend, non-temporal + + /// + /// svint64_t svldnt1uw_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt32ZeroExtendNonTemporal(mask, bases); + + /// + /// svint64_t svldnt1uw_gather_[s64]offset_s64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtendNonTemporal(mask, uint, offsets); + + /// + /// svint64_t svldnt1uw_gather_[u64]offset_s64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtendNonTemporal(mask, uint, offsets); + + /// + /// svint64_t svldnt1uw_gather_[s64]index_s64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtendNonTemporal(mask, uint, indices); + + /// + /// svint64_t svldnt1uw_gather_[u64]index_s64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtendNonTemporal(mask, uint, indices); + + /// + /// svint64_t svldnt1uw_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt32ZeroExtendNonTemporal(mask, bases, offset); + + /// + /// svint64_t svldnt1uw_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt32ZeroExtendNonTemporal(mask, bases, index); + + /// + /// svuint64_t svldnt1uw_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases) => GatherVectorInt32ZeroExtendNonTemporal(mask, bases); + + /// + /// svuint64_t svldnt1uw_gather_[s64]offset_u64(svbool_t pg, const uint32_t *base, svint64_t offsets) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtendNonTemporal(mask, uint, offsets); + + /// + /// svuint64_t svldnt1uw_gather_[u64]offset_u64(svbool_t pg, const uint32_t *base, svuint64_t offsets) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector offsets) => GatherVectorInt32ZeroExtendNonTemporal(mask, uint, offsets); + + /// + /// svuint64_t svldnt1uw_gather_[s64]index_u64(svbool_t pg, const uint32_t *base, svint64_t indices) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtendNonTemporal(mask, uint, indices); + + /// + /// svuint64_t svldnt1uw_gather_[u64]index_u64(svbool_t pg, const uint32_t *base, svuint64_t indices) + /// LDNT1W Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, const uint *base, Vector indices) => GatherVectorInt32ZeroExtendNonTemporal(mask, uint, indices); + + /// + /// svuint64_t svldnt1uw_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorInt32ZeroExtendNonTemporal(mask, bases, offset); + + /// + /// svuint64_t svldnt1uw_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1W Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorInt32ZeroExtendNonTemporal(Vector mask, Vector bases, long index) => GatherVectorInt32ZeroExtendNonTemporal(mask, bases, index); + + + /// GatherVectorNonTemporal : Unextended load, non-temporal + + /// + /// svint32_t svldnt1_gather[_u32base]_s32(svbool_t pg, svuint32_t bases) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) => GatherVectorNonTemporal(mask, bases); + + /// + /// svint32_t svldnt1_gather_[u32]offset[_s32](svbool_t pg, const int32_t *base, svuint32_t offsets) + /// LDNT1W Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const int *base, Vector offsets) => GatherVectorNonTemporal(mask, int, offsets); + + /// + /// svint32_t svldnt1_gather[_u32base]_offset_s32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorNonTemporal(mask, bases, offset); + + /// + /// svint32_t svldnt1_gather[_u32base]_index_s32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) => GatherVectorNonTemporal(mask, bases, index); + + /// + /// svint64_t svldnt1_gather[_u64base]_s64(svbool_t pg, svuint64_t bases) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) => GatherVectorNonTemporal(mask, bases); + + /// + /// svint64_t svldnt1_gather_[s64]offset[_s64](svbool_t pg, const int64_t *base, svint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const long *base, Vector offsets) => GatherVectorNonTemporal(mask, long, offsets); + + /// + /// svint64_t svldnt1_gather_[u64]offset[_s64](svbool_t pg, const int64_t *base, svuint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const long *base, Vector offsets) => GatherVectorNonTemporal(mask, long, offsets); + + /// + /// svint64_t svldnt1_gather_[s64]index[_s64](svbool_t pg, const int64_t *base, svint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const long *base, Vector indices) => GatherVectorNonTemporal(mask, long, indices); + + /// + /// svint64_t svldnt1_gather_[u64]index[_s64](svbool_t pg, const int64_t *base, svuint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const long *base, Vector indices) => GatherVectorNonTemporal(mask, long, indices); + + /// + /// svint64_t svldnt1_gather[_u64base]_offset_s64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorNonTemporal(mask, bases, offset); + + /// + /// svint64_t svldnt1_gather[_u64base]_index_s64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) => GatherVectorNonTemporal(mask, bases, index); + + /// + /// svuint32_t svldnt1_gather[_u32base]_u32(svbool_t pg, svuint32_t bases) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) => GatherVectorNonTemporal(mask, bases); + + /// + /// svuint32_t svldnt1_gather_[u32]offset[_u32](svbool_t pg, const uint32_t *base, svuint32_t offsets) + /// LDNT1W Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const uint *base, Vector offsets) => GatherVectorNonTemporal(mask, uint, offsets); + + /// + /// svuint32_t svldnt1_gather[_u32base]_offset_u32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorNonTemporal(mask, bases, offset); + + /// + /// svuint32_t svldnt1_gather[_u32base]_index_u32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) => GatherVectorNonTemporal(mask, bases, index); + + /// + /// svuint64_t svldnt1_gather[_u64base]_u64(svbool_t pg, svuint64_t bases) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) => GatherVectorNonTemporal(mask, bases); + + /// + /// svuint64_t svldnt1_gather_[s64]offset[_u64](svbool_t pg, const uint64_t *base, svint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const ulong *base, Vector offsets) => GatherVectorNonTemporal(mask, ulong, offsets); + + /// + /// svuint64_t svldnt1_gather_[u64]offset[_u64](svbool_t pg, const uint64_t *base, svuint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const ulong *base, Vector offsets) => GatherVectorNonTemporal(mask, ulong, offsets); + + /// + /// svuint64_t svldnt1_gather_[s64]index[_u64](svbool_t pg, const uint64_t *base, svint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const ulong *base, Vector indices) => GatherVectorNonTemporal(mask, ulong, indices); + + /// + /// svuint64_t svldnt1_gather_[u64]index[_u64](svbool_t pg, const uint64_t *base, svuint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const ulong *base, Vector indices) => GatherVectorNonTemporal(mask, ulong, indices); + + /// + /// svuint64_t svldnt1_gather[_u64base]_offset_u64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorNonTemporal(mask, bases, offset); + + /// + /// svuint64_t svldnt1_gather[_u64base]_index_u64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) => GatherVectorNonTemporal(mask, bases, index); + + /// + /// svfloat32_t svldnt1_gather[_u32base]_f32(svbool_t pg, svuint32_t bases) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) => GatherVectorNonTemporal(mask, bases); + + /// + /// svfloat32_t svldnt1_gather_[u32]offset[_f32](svbool_t pg, const float32_t *base, svuint32_t offsets) + /// LDNT1W Zresult.S, Pg/Z, [Zoffsets.S, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const float *base, Vector offsets) => GatherVectorNonTemporal(mask, float, offsets); + + /// + /// svfloat32_t svldnt1_gather[_u32base]_offset_f32(svbool_t pg, svuint32_t bases, int64_t offset) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorNonTemporal(mask, bases, offset); + + /// + /// svfloat32_t svldnt1_gather[_u32base]_index_f32(svbool_t pg, svuint32_t bases, int64_t index) + /// LDNT1W Zresult.S, Pg/Z, [Zbases.S, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) => GatherVectorNonTemporal(mask, bases, index); + + /// + /// svfloat64_t svldnt1_gather_[s64]offset[_f64](svbool_t pg, const float64_t *base, svint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const double *base, Vector offsets) => GatherVectorNonTemporal(mask, double, offsets); + + /// + /// svfloat64_t svldnt1_gather_[s64]index[_f64](svbool_t pg, const float64_t *base, svint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const double *base, Vector indices) => GatherVectorNonTemporal(mask, double, indices); + + /// + /// svfloat64_t svldnt1_gather[_u64base]_f64(svbool_t pg, svuint64_t bases) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, XZR] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases) => GatherVectorNonTemporal(mask, bases); + + /// + /// svfloat64_t svldnt1_gather_[u64]offset[_f64](svbool_t pg, const float64_t *base, svuint64_t offsets) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const double *base, Vector offsets) => GatherVectorNonTemporal(mask, double, offsets); + + /// + /// svfloat64_t svldnt1_gather_[u64]index[_f64](svbool_t pg, const float64_t *base, svuint64_t indices) + /// LDNT1D Zresult.D, Pg/Z, [Zoffsets.D, Xbase] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, const double *base, Vector indices) => GatherVectorNonTemporal(mask, double, indices); + + /// + /// svfloat64_t svldnt1_gather[_u64base]_offset_f64(svbool_t pg, svuint64_t bases, int64_t offset) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long offset) => GatherVectorNonTemporal(mask, bases, offset); + + /// + /// svfloat64_t svldnt1_gather[_u64base]_index_f64(svbool_t pg, svuint64_t bases, int64_t index) + /// LDNT1D Zresult.D, Pg/Z, [Zbases.D, Xoffset] + /// + public static unsafe Vector GatherVectorNonTemporal(Vector mask, Vector bases, long index) => GatherVectorNonTemporal(mask, bases, index); + + + /// HalvingAdd : Halving add + + /// + /// svint8_t svhadd[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhadd[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SHADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhadd[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SHADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) => HalvingAdd(left, right); + + /// + /// svint16_t svhadd[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhadd[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SHADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhadd[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SHADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) => HalvingAdd(left, right); + + /// + /// svint32_t svhadd[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhadd[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SHADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhadd[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SHADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) => HalvingAdd(left, right); + + /// + /// svint64_t svhadd[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhadd[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SHADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhadd[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SHADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) => HalvingAdd(left, right); + + /// + /// svuint8_t svhadd[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhadd[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UHADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhadd[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UHADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) => HalvingAdd(left, right); + + /// + /// svuint16_t svhadd[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhadd[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UHADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhadd[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UHADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) => HalvingAdd(left, right); + + /// + /// svuint32_t svhadd[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhadd[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UHADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhadd[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UHADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) => HalvingAdd(left, right); + + /// + /// svuint64_t svhadd[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhadd[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UHADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhadd[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UHADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingAdd(Vector left, Vector right) => HalvingAdd(left, right); + + + /// HalvingSubtract : Halving subtract + + /// + /// svint8_t svhsub[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhsub[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SHSUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhsub[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SHSUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) => HalvingSubtract(left, right); + + /// + /// svint16_t svhsub[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhsub[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SHSUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhsub[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SHSUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) => HalvingSubtract(left, right); + + /// + /// svint32_t svhsub[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhsub[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SHSUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhsub[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SHSUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) => HalvingSubtract(left, right); + + /// + /// svint64_t svhsub[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhsub[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SHSUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhsub[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SHSUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) => HalvingSubtract(left, right); + + /// + /// svuint8_t svhsub[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhsub[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UHSUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhsub[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UHSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UHSUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) => HalvingSubtract(left, right); + + /// + /// svuint16_t svhsub[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhsub[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UHSUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhsub[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UHSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UHSUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) => HalvingSubtract(left, right); + + /// + /// svuint32_t svhsub[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhsub[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UHSUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhsub[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UHSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UHSUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) => HalvingSubtract(left, right); + + /// + /// svuint64_t svhsub[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhsub[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UHSUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhsub[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UHSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UHSUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingSubtract(Vector left, Vector right) => HalvingSubtract(left, right); + + + /// HalvingSubtractReversed : Halving subtract reversed + + /// + /// svint8_t svhsubr[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhsubr[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SHSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SHSUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svhsubr[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SHSUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) => HalvingSubtractReversed(left, right); + + /// + /// svint16_t svhsubr[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhsubr[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SHSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SHSUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svhsubr[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SHSUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) => HalvingSubtractReversed(left, right); + + /// + /// svint32_t svhsubr[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhsubr[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SHSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SHSUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svhsubr[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SHSUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) => HalvingSubtractReversed(left, right); + + /// + /// svint64_t svhsubr[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhsubr[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SHSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SHSUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svhsubr[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SHSUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) => HalvingSubtractReversed(left, right); + + /// + /// svuint8_t svhsubr[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhsubr[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UHSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UHSUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svhsubr[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UHSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UHSUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) => HalvingSubtractReversed(left, right); + + /// + /// svuint16_t svhsubr[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhsubr[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UHSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UHSUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svhsubr[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UHSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UHSUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) => HalvingSubtractReversed(left, right); + + /// + /// svuint32_t svhsubr[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhsubr[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UHSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UHSUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svhsubr[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UHSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UHSUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) => HalvingSubtractReversed(left, right); + + /// + /// svuint64_t svhsubr[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhsubr[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UHSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UHSUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svhsubr[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UHSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UHSUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector HalvingSubtractReversed(Vector left, Vector right) => HalvingSubtractReversed(left, right); + + + /// InterleavingXorLowerUpper : Interleaving exclusive OR (bottom, top) + + /// + /// svint8_t sveorbt[_s8](svint8_t odd, svint8_t op1, svint8_t op2) + /// EORBT Ztied.B, Zop1.B, Zop2.B + /// MOVPRFX Zresult, Zodd; EORBT Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) => InterleavingXorLowerUpper(odd, left, right); + + /// + /// svint16_t sveorbt[_s16](svint16_t odd, svint16_t op1, svint16_t op2) + /// EORBT Ztied.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zodd; EORBT Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) => InterleavingXorLowerUpper(odd, left, right); + + /// + /// svint32_t sveorbt[_s32](svint32_t odd, svint32_t op1, svint32_t op2) + /// EORBT Ztied.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zodd; EORBT Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) => InterleavingXorLowerUpper(odd, left, right); + + /// + /// svint64_t sveorbt[_s64](svint64_t odd, svint64_t op1, svint64_t op2) + /// EORBT Ztied.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zodd; EORBT Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) => InterleavingXorLowerUpper(odd, left, right); + + /// + /// svuint8_t sveorbt[_u8](svuint8_t odd, svuint8_t op1, svuint8_t op2) + /// EORBT Ztied.B, Zop1.B, Zop2.B + /// MOVPRFX Zresult, Zodd; EORBT Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) => InterleavingXorLowerUpper(odd, left, right); + + /// + /// svuint16_t sveorbt[_u16](svuint16_t odd, svuint16_t op1, svuint16_t op2) + /// EORBT Ztied.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zodd; EORBT Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) => InterleavingXorLowerUpper(odd, left, right); + + /// + /// svuint32_t sveorbt[_u32](svuint32_t odd, svuint32_t op1, svuint32_t op2) + /// EORBT Ztied.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zodd; EORBT Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) => InterleavingXorLowerUpper(odd, left, right); + + /// + /// svuint64_t sveorbt[_u64](svuint64_t odd, svuint64_t op1, svuint64_t op2) + /// EORBT Ztied.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zodd; EORBT Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector InterleavingXorLowerUpper(Vector odd, Vector left, Vector right) => InterleavingXorLowerUpper(odd, left, right); + + + /// InterleavingXorUpperLower : Interleaving exclusive OR (top, bottom) + + /// + /// svint8_t sveortb[_s8](svint8_t even, svint8_t op1, svint8_t op2) + /// EORTB Ztied.B, Zop1.B, Zop2.B + /// MOVPRFX Zresult, Zeven; EORTB Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) => InterleavingXorUpperLower(even, left, right); + + /// + /// svint16_t sveortb[_s16](svint16_t even, svint16_t op1, svint16_t op2) + /// EORTB Ztied.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zeven; EORTB Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) => InterleavingXorUpperLower(even, left, right); + + /// + /// svint32_t sveortb[_s32](svint32_t even, svint32_t op1, svint32_t op2) + /// EORTB Ztied.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zeven; EORTB Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) => InterleavingXorUpperLower(even, left, right); + + /// + /// svint64_t sveortb[_s64](svint64_t even, svint64_t op1, svint64_t op2) + /// EORTB Ztied.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zeven; EORTB Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) => InterleavingXorUpperLower(even, left, right); + + /// + /// svuint8_t sveortb[_u8](svuint8_t even, svuint8_t op1, svuint8_t op2) + /// EORTB Ztied.B, Zop1.B, Zop2.B + /// MOVPRFX Zresult, Zeven; EORTB Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) => InterleavingXorUpperLower(even, left, right); + + /// + /// svuint16_t sveortb[_u16](svuint16_t even, svuint16_t op1, svuint16_t op2) + /// EORTB Ztied.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zeven; EORTB Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) => InterleavingXorUpperLower(even, left, right); + + /// + /// svuint32_t sveortb[_u32](svuint32_t even, svuint32_t op1, svuint32_t op2) + /// EORTB Ztied.S, Zop1.S, Zop2.S + /// MOVPRFX Zresult, Zeven; EORTB Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) => InterleavingXorUpperLower(even, left, right); + + /// + /// svuint64_t sveortb[_u64](svuint64_t even, svuint64_t op1, svuint64_t op2) + /// EORTB Ztied.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zeven; EORTB Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector InterleavingXorUpperLower(Vector even, Vector left, Vector right) => InterleavingXorUpperLower(even, left, right); + + + /// Log2 : Base 2 logarithm as integer + + /// + /// svint32_t svlogb[_f32]_m(svint32_t inactive, svbool_t pg, svfloat32_t op) + /// FLOGB Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FLOGB Zresult.S, Pg/M, Zop.S + /// svint32_t svlogb[_f32]_x(svbool_t pg, svfloat32_t op) + /// FLOGB Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FLOGB Zresult.S, Pg/M, Zop.S + /// svint32_t svlogb[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FLOGB Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector Log2(Vector value) => Log2(value); + + /// + /// svint64_t svlogb[_f64]_m(svint64_t inactive, svbool_t pg, svfloat64_t op) + /// FLOGB Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FLOGB Zresult.D, Pg/M, Zop.D + /// svint64_t svlogb[_f64]_x(svbool_t pg, svfloat64_t op) + /// FLOGB Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FLOGB Zresult.D, Pg/M, Zop.D + /// svint64_t svlogb[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FLOGB Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector Log2(Vector value) => Log2(value); + + + /// Match : Detect any matching elements + + /// + /// svbool_t svmatch[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// MATCH Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector Match(Vector mask, Vector left, Vector right) => Match(mask, left, right); + + /// + /// svbool_t svmatch[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// MATCH Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector Match(Vector mask, Vector left, Vector right) => Match(mask, left, right); + + /// + /// svbool_t svmatch[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MATCH Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector Match(Vector mask, Vector left, Vector right) => Match(mask, left, right); + + /// + /// svbool_t svmatch[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MATCH Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector Match(Vector mask, Vector left, Vector right) => Match(mask, left, right); + + + /// MaxNumberPairwise : Maximum number pairwise + + /// + /// svfloat32_t svmaxnmp[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXNMP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmaxnmp[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXNMP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MaxNumberPairwise(Vector left, Vector right) => MaxNumberPairwise(left, right); + + /// + /// svfloat64_t svmaxnmp[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXNMP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmaxnmp[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXNMP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MaxNumberPairwise(Vector left, Vector right) => MaxNumberPairwise(left, right); + + + /// MaxPairwise : Maximum pairwise + + /// + /// svint8_t svmaxp[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMAXP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svmaxp[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMAXP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + /// + /// svint16_t svmaxp[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svmaxp[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + /// + /// svint32_t svmaxp[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svmaxp[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + /// + /// svint64_t svmaxp[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svmaxp[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + /// + /// svuint8_t svmaxp[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMAXP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svmaxp[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMAXP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + /// + /// svuint16_t svmaxp[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svmaxp[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + /// + /// svuint32_t svmaxp[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svmaxp[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + /// + /// svuint64_t svmaxp[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svmaxp[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + /// + /// svfloat32_t svmaxp[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svmaxp[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMAXP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + /// + /// svfloat64_t svmaxp[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svmaxp[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMAXP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + + /// MinNumberPairwise : Minimum number pairwise + + /// + /// svfloat32_t svminnmp[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINNMP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svminnmp[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINNMP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MinNumberPairwise(Vector left, Vector right) => MinNumberPairwise(left, right); + + /// + /// svfloat64_t svminnmp[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINNMP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svminnmp[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINNMP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MinNumberPairwise(Vector left, Vector right) => MinNumberPairwise(left, right); + + + /// MinPairwise : Minimum pairwise + + /// + /// svint8_t svminp[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMINP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMINP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svminp[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SMINP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SMINP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + /// + /// svint16_t svminp[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svminp[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + /// + /// svint32_t svminp[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svminp[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + /// + /// svint64_t svminp[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svminp[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + /// + /// svuint8_t svminp[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMINP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMINP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svminp[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UMINP Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UMINP Zresult.B, Pg/M, Zresult.B, Zop2.B + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + /// + /// svuint16_t svminp[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svminp[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + /// + /// svuint32_t svminp[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svminp[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + /// + /// svuint64_t svminp[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svminp[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + /// + /// svfloat32_t svminp[_f32]_m(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svfloat32_t svminp[_f32]_x(svbool_t pg, svfloat32_t op1, svfloat32_t op2) + /// FMINP Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; FMINP Zresult.S, Pg/M, Zresult.S, Zop2.S + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + /// + /// svfloat64_t svminp[_f64]_m(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svfloat64_t svminp[_f64]_x(svbool_t pg, svfloat64_t op1, svfloat64_t op2) + /// FMINP Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; FMINP Zresult.D, Pg/M, Zresult.D, Zop2.D + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + + /// MoveWideningLower : Move long (bottom) + + /// + /// svint16_t svmovlb[_s16](svint8_t op) + /// SSHLLB Zresult.H, Zop.B, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) => MoveWideningLower(value); + + /// + /// svint32_t svmovlb[_s32](svint16_t op) + /// SSHLLB Zresult.S, Zop.H, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) => MoveWideningLower(value); + + /// + /// svint64_t svmovlb[_s64](svint32_t op) + /// SSHLLB Zresult.D, Zop.S, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) => MoveWideningLower(value); + + /// + /// svuint16_t svmovlb[_u16](svuint8_t op) + /// USHLLB Zresult.H, Zop.B, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) => MoveWideningLower(value); + + /// + /// svuint32_t svmovlb[_u32](svuint16_t op) + /// USHLLB Zresult.S, Zop.H, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) => MoveWideningLower(value); + + /// + /// svuint64_t svmovlb[_u64](svuint32_t op) + /// USHLLB Zresult.D, Zop.S, #0 + /// + public static unsafe Vector MoveWideningLower(Vector value) => MoveWideningLower(value); + + + /// MoveWideningUpper : Move long (top) + + /// + /// svint16_t svmovlt[_s16](svint8_t op) + /// SSHLLT Zresult.H, Zop.B, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) => MoveWideningUpper(value); + + /// + /// svint32_t svmovlt[_s32](svint16_t op) + /// SSHLLT Zresult.S, Zop.H, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) => MoveWideningUpper(value); + + /// + /// svint64_t svmovlt[_s64](svint32_t op) + /// SSHLLT Zresult.D, Zop.S, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) => MoveWideningUpper(value); + + /// + /// svuint16_t svmovlt[_u16](svuint8_t op) + /// USHLLT Zresult.H, Zop.B, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) => MoveWideningUpper(value); + + /// + /// svuint32_t svmovlt[_u32](svuint16_t op) + /// USHLLT Zresult.S, Zop.H, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) => MoveWideningUpper(value); + + /// + /// svuint64_t svmovlt[_u64](svuint32_t op) + /// USHLLT Zresult.D, Zop.S, #0 + /// + public static unsafe Vector MoveWideningUpper(Vector value) => MoveWideningUpper(value); + + + /// Multiply : Multiply + + /// + /// svint16_t svmul_lane[_s16](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// MUL Zresult.H, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) => Multiply(left, right, index); + + /// + /// svint32_t svmul_lane[_s32](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// MUL Zresult.S, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) => Multiply(left, right, index); + + /// + /// svint64_t svmul_lane[_s64](svint64_t op1, svint64_t op2, uint64_t imm_index) + /// MUL Zresult.D, Zop1.D, Zop2.D[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) => Multiply(left, right, index); + + /// + /// svuint16_t svmul_lane[_u16](svuint16_t op1, svuint16_t op2, uint64_t imm_index) + /// MUL Zresult.H, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) => Multiply(left, right, index); + + /// + /// svuint32_t svmul_lane[_u32](svuint32_t op1, svuint32_t op2, uint64_t imm_index) + /// MUL Zresult.S, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) => Multiply(left, right, index); + + /// + /// svuint64_t svmul_lane[_u64](svuint64_t op1, svuint64_t op2, uint64_t imm_index) + /// MUL Zresult.D, Zop1.D, Zop2.D[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) => Multiply(left, right, index); + + + /// MultiplyAdd : Multiply-add, addend first + + /// + /// svint16_t svmla_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// MLA Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) => MultiplyAdd(addend, left, right, imm_index); + + /// + /// svint32_t svmla_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// MLA Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) => MultiplyAdd(addend, left, right, imm_index); + + /// + /// svint64_t svmla_lane[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_index) + /// MLA Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) => MultiplyAdd(addend, left, right, imm_index); + + /// + /// svuint16_t svmla_lane[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// MLA Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) => MultiplyAdd(addend, left, right, imm_index); + + /// + /// svuint32_t svmla_lane[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// MLA Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) => MultiplyAdd(addend, left, right, imm_index); + + /// + /// svuint64_t svmla_lane[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3, uint64_t imm_index) + /// MLA Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; MLA Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector MultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) => MultiplyAdd(addend, left, right, imm_index); + + + /// MultiplyAddRotateComplex : Complex multiply-add with rotate + + /// + /// svint8_t svcmla[_s8](svint8_t op1, svint8_t op2, svint8_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.B, Zop2.B, Zop3.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.B, Zop2.B, Zop3.B, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + /// + /// svint16_t svcmla[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.H, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.H, Zop2.H, Zop3.H, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + /// + /// svint16_t svcmla_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CMLA Ztied1.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_index, imm_rotation); + + /// + /// svint32_t svcmla[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.S, Zop2.S, Zop3.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.S, Zop2.S, Zop3.S, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + /// + /// svint32_t svcmla_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CMLA Ztied1.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_index, imm_rotation); + + /// + /// svint64_t svcmla[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.D, Zop2.D, Zop3.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.D, Zop2.D, Zop3.D, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + /// + /// svuint8_t svcmla[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.B, Zop2.B, Zop3.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.B, Zop2.B, Zop3.B, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + /// + /// svuint16_t svcmla[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.H, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.H, Zop2.H, Zop3.H, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + /// + /// svuint16_t svcmla_lane[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CMLA Ztied1.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_index, imm_rotation); + + /// + /// svuint32_t svcmla[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.S, Zop2.S, Zop3.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.S, Zop2.S, Zop3.S, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + /// + /// svuint32_t svcmla_lane[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// CMLA Ztied1.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_index, imm_rotation); + + /// + /// svuint64_t svcmla[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3, uint64_t imm_rotation) + /// CMLA Ztied1.D, Zop2.D, Zop3.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; CMLA Zresult.D, Zop2.D, Zop3.D, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + + /// MultiplyAddWideningLower : Multiply-add long (bottom) + + /// + /// svint16_t svmlalb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SMLALB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SMLALB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningLower(op1, op2, op3); + + /// + /// svint32_t svmlalb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SMLALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SMLALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningLower(op1, op2, op3); + + /// + /// svint32_t svmlalb_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SMLALB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SMLALB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplyAddWideningLower(op1, op2, op3, imm_index); + + /// + /// svint64_t svmlalb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SMLALB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SMLALB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningLower(op1, op2, op3); + + /// + /// svint64_t svmlalb_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SMLALB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SMLALB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplyAddWideningLower(op1, op2, op3, imm_index); + + /// + /// svuint16_t svmlalb[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UMLALB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UMLALB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningLower(op1, op2, op3); + + /// + /// svuint32_t svmlalb[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UMLALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UMLALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningLower(op1, op2, op3); + + /// + /// svuint32_t svmlalb_lane[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// UMLALB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; UMLALB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplyAddWideningLower(op1, op2, op3, imm_index); + + /// + /// svuint64_t svmlalb[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UMLALB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UMLALB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningLower(op1, op2, op3); + + /// + /// svuint64_t svmlalb_lane[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// UMLALB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; UMLALB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplyAddWideningLower(op1, op2, op3, imm_index); + + + /// MultiplyAddWideningUpper : Multiply-add long (top) + + /// + /// svint16_t svmlalt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SMLALT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SMLALT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningUpper(op1, op2, op3); + + /// + /// svint32_t svmlalt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SMLALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SMLALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningUpper(op1, op2, op3); + + /// + /// svint32_t svmlalt_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SMLALT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SMLALT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplyAddWideningUpper(op1, op2, op3, imm_index); + + /// + /// svint64_t svmlalt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SMLALT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SMLALT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningUpper(op1, op2, op3); + + /// + /// svint64_t svmlalt_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SMLALT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SMLALT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplyAddWideningUpper(op1, op2, op3, imm_index); + + /// + /// svuint16_t svmlalt[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UMLALT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UMLALT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningUpper(op1, op2, op3); + + /// + /// svuint32_t svmlalt[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UMLALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UMLALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningUpper(op1, op2, op3); + + /// + /// svuint32_t svmlalt_lane[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// UMLALT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; UMLALT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplyAddWideningUpper(op1, op2, op3, imm_index); + + /// + /// svuint64_t svmlalt[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UMLALT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UMLALT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningUpper(op1, op2, op3); + + /// + /// svuint64_t svmlalt_lane[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// UMLALT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; UMLALT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplyAddWideningUpper(op1, op2, op3, imm_index); + + + /// MultiplySubtract : Multiply-subtract, minuend first + + /// + /// svint16_t svmls_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// MLS Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) => MultiplySubtract(minuend, left, right, imm_index); + + /// + /// svint32_t svmls_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// MLS Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) => MultiplySubtract(minuend, left, right, imm_index); + + /// + /// svint64_t svmls_lane[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_index) + /// MLS Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) => MultiplySubtract(minuend, left, right, imm_index); + + /// + /// svuint16_t svmls_lane[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// MLS Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) => MultiplySubtract(minuend, left, right, imm_index); + + /// + /// svuint32_t svmls_lane[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// MLS Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) => MultiplySubtract(minuend, left, right, imm_index); + + /// + /// svuint64_t svmls_lane[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3, uint64_t imm_index) + /// MLS Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; MLS Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector MultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) => MultiplySubtract(minuend, left, right, imm_index); + + + /// MultiplySubtractWideningLower : Multiply-subtract long (bottom) + + /// + /// svint16_t svmlslb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SMLSLB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SMLSLB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningLower(op1, op2, op3); + + /// + /// svint32_t svmlslb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SMLSLB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SMLSLB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningLower(op1, op2, op3); + + /// + /// svint32_t svmlslb_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SMLSLB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SMLSLB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplySubtractWideningLower(op1, op2, op3, imm_index); + + /// + /// svint64_t svmlslb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SMLSLB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SMLSLB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningLower(op1, op2, op3); + + /// + /// svint64_t svmlslb_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SMLSLB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SMLSLB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplySubtractWideningLower(op1, op2, op3, imm_index); + + /// + /// svuint16_t svmlslb[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UMLSLB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UMLSLB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningLower(op1, op2, op3); + + /// + /// svuint32_t svmlslb[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UMLSLB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UMLSLB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningLower(op1, op2, op3); + + /// + /// svuint32_t svmlslb_lane[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// UMLSLB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; UMLSLB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplySubtractWideningLower(op1, op2, op3, imm_index); + + /// + /// svuint64_t svmlslb[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UMLSLB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UMLSLB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningLower(op1, op2, op3); + + /// + /// svuint64_t svmlslb_lane[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// UMLSLB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; UMLSLB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplySubtractWideningLower(op1, op2, op3, imm_index); + + + /// MultiplySubtractWideningUpper : Multiply-subtract long (top) + + /// + /// svint16_t svmlslt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SMLSLT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SMLSLT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningUpper(op1, op2, op3); + + /// + /// svint32_t svmlslt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SMLSLT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SMLSLT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningUpper(op1, op2, op3); + + /// + /// svint32_t svmlslt_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SMLSLT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SMLSLT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplySubtractWideningUpper(op1, op2, op3, imm_index); + + /// + /// svint64_t svmlslt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SMLSLT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SMLSLT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningUpper(op1, op2, op3); + + /// + /// svint64_t svmlslt_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SMLSLT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SMLSLT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplySubtractWideningUpper(op1, op2, op3, imm_index); + + /// + /// svuint16_t svmlslt[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) + /// UMLSLT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UMLSLT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningUpper(op1, op2, op3); + + /// + /// svuint32_t svmlslt[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) + /// UMLSLT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; UMLSLT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningUpper(op1, op2, op3); + + /// + /// svuint32_t svmlslt_lane[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3, uint64_t imm_index) + /// UMLSLT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; UMLSLT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplySubtractWideningUpper(op1, op2, op3, imm_index); + + /// + /// svuint64_t svmlslt[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) + /// UMLSLT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; UMLSLT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningUpper(op1, op2, op3); + + /// + /// svuint64_t svmlslt_lane[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3, uint64_t imm_index) + /// UMLSLT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; UMLSLT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplySubtractWideningUpper(op1, op2, op3, imm_index); + + + /// MultiplyWideningLower : Multiply long (bottom) + + /// + /// svint16_t svmullb[_s16](svint8_t op1, svint8_t op2) + /// SMULLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) => MultiplyWideningLower(left, right); + + /// + /// svint32_t svmullb[_s32](svint16_t op1, svint16_t op2) + /// SMULLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) => MultiplyWideningLower(left, right); + + /// + /// svint32_t svmullb_lane[_s32](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SMULLB Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector MultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) => MultiplyWideningLower(op1, op2, imm_index); + + /// + /// svint64_t svmullb[_s64](svint32_t op1, svint32_t op2) + /// SMULLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) => MultiplyWideningLower(left, right); + + /// + /// svint64_t svmullb_lane[_s64](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SMULLB Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector MultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) => MultiplyWideningLower(op1, op2, imm_index); + + /// + /// svuint16_t svmullb[_u16](svuint8_t op1, svuint8_t op2) + /// UMULLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) => MultiplyWideningLower(left, right); + + /// + /// svuint32_t svmullb[_u32](svuint16_t op1, svuint16_t op2) + /// UMULLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) => MultiplyWideningLower(left, right); + + /// + /// svuint32_t svmullb_lane[_u32](svuint16_t op1, svuint16_t op2, uint64_t imm_index) + /// UMULLB Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector MultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) => MultiplyWideningLower(op1, op2, imm_index); + + /// + /// svuint64_t svmullb[_u64](svuint32_t op1, svuint32_t op2) + /// UMULLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector MultiplyWideningLower(Vector left, Vector right) => MultiplyWideningLower(left, right); + + /// + /// svuint64_t svmullb_lane[_u64](svuint32_t op1, svuint32_t op2, uint64_t imm_index) + /// UMULLB Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector MultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) => MultiplyWideningLower(op1, op2, imm_index); + + + /// MultiplyWideningUpper : Multiply long (top) + + /// + /// svint16_t svmullt[_s16](svint8_t op1, svint8_t op2) + /// SMULLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) => MultiplyWideningUpper(left, right); + + /// + /// svint32_t svmullt[_s32](svint16_t op1, svint16_t op2) + /// SMULLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) => MultiplyWideningUpper(left, right); + + /// + /// svint32_t svmullt_lane[_s32](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SMULLT Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector MultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) => MultiplyWideningUpper(op1, op2, imm_index); + + /// + /// svint64_t svmullt[_s64](svint32_t op1, svint32_t op2) + /// SMULLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) => MultiplyWideningUpper(left, right); + + /// + /// svint64_t svmullt_lane[_s64](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SMULLT Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector MultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) => MultiplyWideningUpper(op1, op2, imm_index); + + /// + /// svuint16_t svmullt[_u16](svuint8_t op1, svuint8_t op2) + /// UMULLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) => MultiplyWideningUpper(left, right); + + /// + /// svuint32_t svmullt[_u32](svuint16_t op1, svuint16_t op2) + /// UMULLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) => MultiplyWideningUpper(left, right); + + /// + /// svuint32_t svmullt_lane[_u32](svuint16_t op1, svuint16_t op2, uint64_t imm_index) + /// UMULLT Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector MultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) => MultiplyWideningUpper(op1, op2, imm_index); + + /// + /// svuint64_t svmullt[_u64](svuint32_t op1, svuint32_t op2) + /// UMULLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector MultiplyWideningUpper(Vector left, Vector right) => MultiplyWideningUpper(left, right); + + /// + /// svuint64_t svmullt_lane[_u64](svuint32_t op1, svuint32_t op2, uint64_t imm_index) + /// UMULLT Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector MultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) => MultiplyWideningUpper(op1, op2, imm_index); + + + /// NoMatch : Detect no matching elements + + /// + /// svbool_t svnmatch[_s8](svbool_t pg, svint8_t op1, svint8_t op2) + /// NMATCH Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector NoMatch(Vector mask, Vector left, Vector right) => NoMatch(mask, left, right); + + /// + /// svbool_t svnmatch[_s16](svbool_t pg, svint16_t op1, svint16_t op2) + /// NMATCH Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector NoMatch(Vector mask, Vector left, Vector right) => NoMatch(mask, left, right); + + /// + /// svbool_t svnmatch[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) + /// NMATCH Presult.B, Pg/Z, Zop1.B, Zop2.B + /// + public static unsafe Vector NoMatch(Vector mask, Vector left, Vector right) => NoMatch(mask, left, right); + + /// + /// svbool_t svnmatch[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) + /// NMATCH Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector NoMatch(Vector mask, Vector left, Vector right) => NoMatch(mask, left, right); + + + /// PolynomialMultiply : Polynomial multiply + + /// + /// svuint8_t svpmul[_u8](svuint8_t op1, svuint8_t op2) + /// PMUL Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector PolynomialMultiply(Vector left, Vector right) => PolynomialMultiply(left, right); + + + /// PolynomialMultiplyWideningLower : Polynomial multiply long (bottom) + + /// + /// svuint8_t svpmullb_pair[_u8](svuint8_t op1, svuint8_t op2) + /// PMULLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector PolynomialMultiplyWideningLower(Vector left, Vector right) => PolynomialMultiplyWideningLower(left, right); + + /// + /// svuint16_t svpmullb[_u16](svuint8_t op1, svuint8_t op2) + /// PMULLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector PolynomialMultiplyWideningLower(Vector left, Vector right) => PolynomialMultiplyWideningLower(left, right); + + /// + /// svuint32_t svpmullb_pair[_u32](svuint32_t op1, svuint32_t op2) + /// PMULLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector PolynomialMultiplyWideningLower(Vector left, Vector right) => PolynomialMultiplyWideningLower(left, right); + + /// + /// svuint64_t svpmullb[_u64](svuint32_t op1, svuint32_t op2) + /// PMULLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector PolynomialMultiplyWideningLower(Vector left, Vector right) => PolynomialMultiplyWideningLower(left, right); + + + /// PolynomialMultiplyWideningUpper : Polynomial multiply long (top) + + /// + /// svuint8_t svpmullt_pair[_u8](svuint8_t op1, svuint8_t op2) + /// PMULLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector PolynomialMultiplyWideningUpper(Vector left, Vector right) => PolynomialMultiplyWideningUpper(left, right); + + /// + /// svuint16_t svpmullt[_u16](svuint8_t op1, svuint8_t op2) + /// PMULLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector PolynomialMultiplyWideningUpper(Vector left, Vector right) => PolynomialMultiplyWideningUpper(left, right); + + /// + /// svuint32_t svpmullt_pair[_u32](svuint32_t op1, svuint32_t op2) + /// PMULLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector PolynomialMultiplyWideningUpper(Vector left, Vector right) => PolynomialMultiplyWideningUpper(left, right); + + /// + /// svuint64_t svpmullt[_u64](svuint32_t op1, svuint32_t op2) + /// PMULLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector PolynomialMultiplyWideningUpper(Vector left, Vector right) => PolynomialMultiplyWideningUpper(left, right); + + + /// ReciprocalEstimate : Reciprocal estimate + + /// + /// svuint32_t svrecpe[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// URECPE Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; URECPE Zresult.S, Pg/M, Zop.S + /// svuint32_t svrecpe[_u32]_x(svbool_t pg, svuint32_t op) + /// URECPE Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; URECPE Zresult.S, Pg/M, Zop.S + /// svuint32_t svrecpe[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; URECPE Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReciprocalEstimate(Vector value) => ReciprocalEstimate(value); + + + /// ReciprocalSqrtEstimate : Reciprocal square root estimate + + /// + /// svuint32_t svrsqrte[_u32]_m(svuint32_t inactive, svbool_t pg, svuint32_t op) + /// URSQRTE Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; URSQRTE Zresult.S, Pg/M, Zop.S + /// svuint32_t svrsqrte[_u32]_x(svbool_t pg, svuint32_t op) + /// URSQRTE Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; URSQRTE Zresult.S, Pg/M, Zop.S + /// svuint32_t svrsqrte[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; URSQRTE Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector ReciprocalSqrtEstimate(Vector value) => ReciprocalSqrtEstimate(value); + + + /// RoundingAddHighNarowingLower : Rounding add narrow high part (bottom) + + /// + /// svint8_t svraddhnb[_s16](svint16_t op1, svint16_t op2) + /// RADDHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) => RoundingAddHighNarowingLower(left, right); + + /// + /// svint16_t svraddhnb[_s32](svint32_t op1, svint32_t op2) + /// RADDHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) => RoundingAddHighNarowingLower(left, right); + + /// + /// svint32_t svraddhnb[_s64](svint64_t op1, svint64_t op2) + /// RADDHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) => RoundingAddHighNarowingLower(left, right); + + /// + /// svuint8_t svraddhnb[_u16](svuint16_t op1, svuint16_t op2) + /// RADDHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) => RoundingAddHighNarowingLower(left, right); + + /// + /// svuint16_t svraddhnb[_u32](svuint32_t op1, svuint32_t op2) + /// RADDHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) => RoundingAddHighNarowingLower(left, right); + + /// + /// svuint32_t svraddhnb[_u64](svuint64_t op1, svuint64_t op2) + /// RADDHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingAddHighNarowingLower(Vector left, Vector right) => RoundingAddHighNarowingLower(left, right); + + + /// RoundingAddHighNarowingUpper : Rounding add narrow high part (top) + + /// + /// svint8_t svraddhnt[_s16](svint8_t even, svint16_t op1, svint16_t op2) + /// RADDHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingAddHighNarowingUpper(even, left, right); + + /// + /// svint16_t svraddhnt[_s32](svint16_t even, svint32_t op1, svint32_t op2) + /// RADDHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingAddHighNarowingUpper(even, left, right); + + /// + /// svint32_t svraddhnt[_s64](svint32_t even, svint64_t op1, svint64_t op2) + /// RADDHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingAddHighNarowingUpper(even, left, right); + + /// + /// svuint8_t svraddhnt[_u16](svuint8_t even, svuint16_t op1, svuint16_t op2) + /// RADDHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingAddHighNarowingUpper(even, left, right); + + /// + /// svuint16_t svraddhnt[_u32](svuint16_t even, svuint32_t op1, svuint32_t op2) + /// RADDHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingAddHighNarowingUpper(even, left, right); + + /// + /// svuint32_t svraddhnt[_u64](svuint32_t even, svuint64_t op1, svuint64_t op2) + /// RADDHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingAddHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingAddHighNarowingUpper(even, left, right); + + + /// RoundingHalvingAdd : Rounding halving add + + /// + /// svint8_t svrhadd[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SRHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svrhadd[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SRHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SRHADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svrhadd[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SRHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SRHADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) => RoundingHalvingAdd(left, right); + + /// + /// svint16_t svrhadd[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SRHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svrhadd[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SRHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SRHADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svrhadd[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SRHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SRHADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) => RoundingHalvingAdd(left, right); + + /// + /// svint32_t svrhadd[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SRHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svrhadd[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SRHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SRHADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svrhadd[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SRHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SRHADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) => RoundingHalvingAdd(left, right); + + /// + /// svint64_t svrhadd[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SRHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svrhadd[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SRHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SRHADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SRHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svrhadd[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SRHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SRHADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) => RoundingHalvingAdd(left, right); + + /// + /// svuint8_t svrhadd[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// URHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; URHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svrhadd[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// URHADD Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// URHADD Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; URHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svrhadd[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; URHADD Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; URHADD Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) => RoundingHalvingAdd(left, right); + + /// + /// svuint16_t svrhadd[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// URHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; URHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svrhadd[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// URHADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// URHADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; URHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svrhadd[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; URHADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; URHADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) => RoundingHalvingAdd(left, right); + + /// + /// svuint32_t svrhadd[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// URHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; URHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svrhadd[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// URHADD Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// URHADD Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; URHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svrhadd[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; URHADD Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; URHADD Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) => RoundingHalvingAdd(left, right); + + /// + /// svuint64_t svrhadd[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// URHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; URHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svrhadd[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// URHADD Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// URHADD Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; URHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svrhadd[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; URHADD Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; URHADD Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector RoundingHalvingAdd(Vector left, Vector right) => RoundingHalvingAdd(left, right); + + + /// RoundingShiftLeft : Rounding shift left + + /// + /// svint8_t svrshl[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svrshl[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SRSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svrshl[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SRSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) => RoundingShiftLeft(left, right); + + /// + /// svint16_t svrshl[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svrshl[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SRSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svrshl[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SRSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) => RoundingShiftLeft(left, right); + + /// + /// svint32_t svrshl[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svrshl[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SRSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svrshl[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SRSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) => RoundingShiftLeft(left, right); + + /// + /// svint64_t svrshl[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svrshl[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SRSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svrshl[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SRSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) => RoundingShiftLeft(left, right); + + /// + /// svuint8_t svrshl[_u8]_m(svbool_t pg, svuint8_t op1, svint8_t op2) + /// URSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; URSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svrshl[_u8]_x(svbool_t pg, svuint8_t op1, svint8_t op2) + /// URSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// URSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; URSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svrshl[_u8]_z(svbool_t pg, svuint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; URSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; URSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) => RoundingShiftLeft(left, right); + + /// + /// svuint16_t svrshl[_u16]_m(svbool_t pg, svuint16_t op1, svint16_t op2) + /// URSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; URSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svrshl[_u16]_x(svbool_t pg, svuint16_t op1, svint16_t op2) + /// URSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// URSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; URSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svrshl[_u16]_z(svbool_t pg, svuint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; URSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; URSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) => RoundingShiftLeft(left, right); + + /// + /// svuint32_t svrshl[_u32]_m(svbool_t pg, svuint32_t op1, svint32_t op2) + /// URSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; URSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svrshl[_u32]_x(svbool_t pg, svuint32_t op1, svint32_t op2) + /// URSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// URSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; URSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svrshl[_u32]_z(svbool_t pg, svuint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; URSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; URSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) => RoundingShiftLeft(left, right); + + /// + /// svuint64_t svrshl[_u64]_m(svbool_t pg, svuint64_t op1, svint64_t op2) + /// URSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; URSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svrshl[_u64]_x(svbool_t pg, svuint64_t op1, svint64_t op2) + /// URSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// URSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; URSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svrshl[_u64]_z(svbool_t pg, svuint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; URSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; URSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector RoundingShiftLeft(Vector left, Vector right) => RoundingShiftLeft(left, right); + + + /// RoundingShiftRight : Rounding shift right + + /// + /// svint8_t svrshr[_n_s8]_m(svbool_t pg, svint8_t op1, uint64_t imm2) + /// SRSHR Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// svint8_t svrshr[_n_s8]_x(svbool_t pg, svint8_t op1, uint64_t imm2) + /// SRSHR Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// svint8_t svrshr[_n_s8]_z(svbool_t pg, svint8_t op1, uint64_t imm2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SRSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) => RoundingShiftRight(op1, imm2); + + /// + /// svint16_t svrshr[_n_s16]_m(svbool_t pg, svint16_t op1, uint64_t imm2) + /// SRSHR Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// svint16_t svrshr[_n_s16]_x(svbool_t pg, svint16_t op1, uint64_t imm2) + /// SRSHR Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// svint16_t svrshr[_n_s16]_z(svbool_t pg, svint16_t op1, uint64_t imm2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SRSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) => RoundingShiftRight(op1, imm2); + + /// + /// svint32_t svrshr[_n_s32]_m(svbool_t pg, svint32_t op1, uint64_t imm2) + /// SRSHR Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// svint32_t svrshr[_n_s32]_x(svbool_t pg, svint32_t op1, uint64_t imm2) + /// SRSHR Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// svint32_t svrshr[_n_s32]_z(svbool_t pg, svint32_t op1, uint64_t imm2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SRSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) => RoundingShiftRight(op1, imm2); + + /// + /// svint64_t svrshr[_n_s64]_m(svbool_t pg, svint64_t op1, uint64_t imm2) + /// SRSHR Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// svint64_t svrshr[_n_s64]_x(svbool_t pg, svint64_t op1, uint64_t imm2) + /// SRSHR Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; SRSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// svint64_t svrshr[_n_s64]_z(svbool_t pg, svint64_t op1, uint64_t imm2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SRSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) => RoundingShiftRight(op1, imm2); + + /// + /// svuint8_t svrshr[_n_u8]_m(svbool_t pg, svuint8_t op1, uint64_t imm2) + /// URSHR Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// svuint8_t svrshr[_n_u8]_x(svbool_t pg, svuint8_t op1, uint64_t imm2) + /// URSHR Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// svuint8_t svrshr[_n_u8]_z(svbool_t pg, svuint8_t op1, uint64_t imm2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; URSHR Zresult.B, Pg/M, Zresult.B, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) => RoundingShiftRight(op1, imm2); + + /// + /// svuint16_t svrshr[_n_u16]_m(svbool_t pg, svuint16_t op1, uint64_t imm2) + /// URSHR Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// svuint16_t svrshr[_n_u16]_x(svbool_t pg, svuint16_t op1, uint64_t imm2) + /// URSHR Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// svuint16_t svrshr[_n_u16]_z(svbool_t pg, svuint16_t op1, uint64_t imm2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; URSHR Zresult.H, Pg/M, Zresult.H, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) => RoundingShiftRight(op1, imm2); + + /// + /// svuint32_t svrshr[_n_u32]_m(svbool_t pg, svuint32_t op1, uint64_t imm2) + /// URSHR Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// svuint32_t svrshr[_n_u32]_x(svbool_t pg, svuint32_t op1, uint64_t imm2) + /// URSHR Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// svuint32_t svrshr[_n_u32]_z(svbool_t pg, svuint32_t op1, uint64_t imm2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; URSHR Zresult.S, Pg/M, Zresult.S, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) => RoundingShiftRight(op1, imm2); + + /// + /// svuint64_t svrshr[_n_u64]_m(svbool_t pg, svuint64_t op1, uint64_t imm2) + /// URSHR Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// svuint64_t svrshr[_n_u64]_x(svbool_t pg, svuint64_t op1, uint64_t imm2) + /// URSHR Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; URSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// svuint64_t svrshr[_n_u64]_z(svbool_t pg, svuint64_t op1, uint64_t imm2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; URSHR Zresult.D, Pg/M, Zresult.D, #imm2 + /// + public static unsafe Vector RoundingShiftRight(Vector op1, ulong imm2) => RoundingShiftRight(op1, imm2); + + + /// RoundingShiftRightAndAccumulate : Rounding shift right and accumulate + + /// + /// svint8_t svrsra[_n_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// SRSRA Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; SRSRA Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => RoundingShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svint16_t svrsra[_n_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// SRSRA Ztied1.H, Zop2.H, #imm3 + /// MOVPRFX Zresult, Zop1; SRSRA Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => RoundingShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svint32_t svrsra[_n_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// SRSRA Ztied1.S, Zop2.S, #imm3 + /// MOVPRFX Zresult, Zop1; SRSRA Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => RoundingShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svint64_t svrsra[_n_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// SRSRA Ztied1.D, Zop2.D, #imm3 + /// MOVPRFX Zresult, Zop1; SRSRA Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => RoundingShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svuint8_t svrsra[_n_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// URSRA Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; URSRA Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => RoundingShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svuint16_t svrsra[_n_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// URSRA Ztied1.H, Zop2.H, #imm3 + /// MOVPRFX Zresult, Zop1; URSRA Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => RoundingShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svuint32_t svrsra[_n_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// URSRA Ztied1.S, Zop2.S, #imm3 + /// MOVPRFX Zresult, Zop1; URSRA Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => RoundingShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svuint64_t svrsra[_n_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// URSRA Ztied1.D, Zop2.D, #imm3 + /// MOVPRFX Zresult, Zop1; URSRA Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector RoundingShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => RoundingShiftRightAndAccumulate(op1, op2, imm3); + + + /// RoundingShiftRightNarrowingLower : Rounding shift right narrow (bottom) + + /// + /// svint8_t svrshrnb[_n_s16](svint16_t op1, uint64_t imm2) + /// RSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => RoundingShiftRightNarrowingLower(op1, imm2); + + /// + /// svint16_t svrshrnb[_n_s32](svint32_t op1, uint64_t imm2) + /// RSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => RoundingShiftRightNarrowingLower(op1, imm2); + + /// + /// svint32_t svrshrnb[_n_s64](svint64_t op1, uint64_t imm2) + /// RSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => RoundingShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint8_t svrshrnb[_n_u16](svuint16_t op1, uint64_t imm2) + /// RSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => RoundingShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint16_t svrshrnb[_n_u32](svuint32_t op1, uint64_t imm2) + /// RSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => RoundingShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint32_t svrshrnb[_n_u64](svuint64_t op1, uint64_t imm2) + /// RSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => RoundingShiftRightNarrowingLower(op1, imm2); + + + /// RoundingShiftRightNarrowingUpper : Rounding shift right narrow (top) + + /// + /// svint8_t svrshrnt[_n_s16](svint8_t even, svint16_t op1, uint64_t imm2) + /// RSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => RoundingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svint16_t svrshrnt[_n_s32](svint16_t even, svint32_t op1, uint64_t imm2) + /// RSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => RoundingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svint32_t svrshrnt[_n_s64](svint32_t even, svint64_t op1, uint64_t imm2) + /// RSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => RoundingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint8_t svrshrnt[_n_u16](svuint8_t even, svuint16_t op1, uint64_t imm2) + /// RSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => RoundingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint16_t svrshrnt[_n_u32](svuint16_t even, svuint32_t op1, uint64_t imm2) + /// RSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => RoundingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint32_t svrshrnt[_n_u64](svuint32_t even, svuint64_t op1, uint64_t imm2) + /// RSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector RoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => RoundingShiftRightNarrowingUpper(even, op1, imm2); + + + /// RoundingSubtractHighNarowingLower : Rounding subtract narrow high part (bottom) + + /// + /// svint8_t svrsubhnb[_s16](svint16_t op1, svint16_t op2) + /// RSUBHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) => RoundingSubtractHighNarowingLower(left, right); + + /// + /// svint16_t svrsubhnb[_s32](svint32_t op1, svint32_t op2) + /// RSUBHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) => RoundingSubtractHighNarowingLower(left, right); + + /// + /// svint32_t svrsubhnb[_s64](svint64_t op1, svint64_t op2) + /// RSUBHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) => RoundingSubtractHighNarowingLower(left, right); + + /// + /// svuint8_t svrsubhnb[_u16](svuint16_t op1, svuint16_t op2) + /// RSUBHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) => RoundingSubtractHighNarowingLower(left, right); + + /// + /// svuint16_t svrsubhnb[_u32](svuint32_t op1, svuint32_t op2) + /// RSUBHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) => RoundingSubtractHighNarowingLower(left, right); + + /// + /// svuint32_t svrsubhnb[_u64](svuint64_t op1, svuint64_t op2) + /// RSUBHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingSubtractHighNarowingLower(Vector left, Vector right) => RoundingSubtractHighNarowingLower(left, right); + + + /// RoundingSubtractHighNarowingUpper : Rounding subtract narrow high part (top) + + /// + /// svint8_t svrsubhnt[_s16](svint8_t even, svint16_t op1, svint16_t op2) + /// RSUBHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingSubtractHighNarowingUpper(even, left, right); + + /// + /// svint16_t svrsubhnt[_s32](svint16_t even, svint32_t op1, svint32_t op2) + /// RSUBHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingSubtractHighNarowingUpper(even, left, right); + + /// + /// svint32_t svrsubhnt[_s64](svint32_t even, svint64_t op1, svint64_t op2) + /// RSUBHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingSubtractHighNarowingUpper(even, left, right); + + /// + /// svuint8_t svrsubhnt[_u16](svuint8_t even, svuint16_t op1, svuint16_t op2) + /// RSUBHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingSubtractHighNarowingUpper(even, left, right); + + /// + /// svuint16_t svrsubhnt[_u32](svuint16_t even, svuint32_t op1, svuint32_t op2) + /// RSUBHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingSubtractHighNarowingUpper(even, left, right); + + /// + /// svuint32_t svrsubhnt[_u64](svuint32_t even, svuint64_t op1, svuint64_t op2) + /// RSUBHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector RoundingSubtractHighNarowingUpper(Vector even, Vector left, Vector right) => RoundingSubtractHighNarowingUpper(even, left, right); + + + /// SaturatingAbs : Saturating absolute value + + /// + /// svint8_t svqabs[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// SQABS Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; SQABS Zresult.B, Pg/M, Zop.B + /// svint8_t svqabs[_s8]_x(svbool_t pg, svint8_t op) + /// SQABS Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; SQABS Zresult.B, Pg/M, Zop.B + /// svint8_t svqabs[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; SQABS Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector SaturatingAbs(Vector value) => SaturatingAbs(value); + + /// + /// svint16_t svqabs[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// SQABS Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; SQABS Zresult.H, Pg/M, Zop.H + /// svint16_t svqabs[_s16]_x(svbool_t pg, svint16_t op) + /// SQABS Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; SQABS Zresult.H, Pg/M, Zop.H + /// svint16_t svqabs[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; SQABS Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector SaturatingAbs(Vector value) => SaturatingAbs(value); + + /// + /// svint32_t svqabs[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// SQABS Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SQABS Zresult.S, Pg/M, Zop.S + /// svint32_t svqabs[_s32]_x(svbool_t pg, svint32_t op) + /// SQABS Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SQABS Zresult.S, Pg/M, Zop.S + /// svint32_t svqabs[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SQABS Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector SaturatingAbs(Vector value) => SaturatingAbs(value); + + /// + /// svint64_t svqabs[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// SQABS Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SQABS Zresult.D, Pg/M, Zop.D + /// svint64_t svqabs[_s64]_x(svbool_t pg, svint64_t op) + /// SQABS Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SQABS Zresult.D, Pg/M, Zop.D + /// svint64_t svqabs[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SQABS Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector SaturatingAbs(Vector value) => SaturatingAbs(value); + + + /// SaturatingComplexAddRotate : Saturating complex add with rotate + + /// + /// svint8_t svqcadd[_s8](svint8_t op1, svint8_t op2, uint64_t imm_rotation) + /// SQCADD Ztied1.B, Ztied1.B, Zop2.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQCADD Zresult.B, Zresult.B, Zop2.B, #imm_rotation + /// + public static unsafe Vector SaturatingComplexAddRotate(Vector op1, Vector op2, ulong imm_rotation) => SaturatingComplexAddRotate(op1, op2, imm_rotation); + + /// + /// svint16_t svqcadd[_s16](svint16_t op1, svint16_t op2, uint64_t imm_rotation) + /// SQCADD Ztied1.H, Ztied1.H, Zop2.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQCADD Zresult.H, Zresult.H, Zop2.H, #imm_rotation + /// + public static unsafe Vector SaturatingComplexAddRotate(Vector op1, Vector op2, ulong imm_rotation) => SaturatingComplexAddRotate(op1, op2, imm_rotation); + + /// + /// svint32_t svqcadd[_s32](svint32_t op1, svint32_t op2, uint64_t imm_rotation) + /// SQCADD Ztied1.S, Ztied1.S, Zop2.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQCADD Zresult.S, Zresult.S, Zop2.S, #imm_rotation + /// + public static unsafe Vector SaturatingComplexAddRotate(Vector op1, Vector op2, ulong imm_rotation) => SaturatingComplexAddRotate(op1, op2, imm_rotation); + + /// + /// svint64_t svqcadd[_s64](svint64_t op1, svint64_t op2, uint64_t imm_rotation) + /// SQCADD Ztied1.D, Ztied1.D, Zop2.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQCADD Zresult.D, Zresult.D, Zop2.D, #imm_rotation + /// + public static unsafe Vector SaturatingComplexAddRotate(Vector op1, Vector op2, ulong imm_rotation) => SaturatingComplexAddRotate(op1, op2, imm_rotation); + + + /// SaturatingDoublingMultiplyAddWideningLower : Saturating doubling multiply-add long (bottom) + + /// + /// svint16_t svqdmlalb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLALB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLALB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplyAddWideningLower(op1, op2, op3); + + /// + /// svint32_t svqdmlalb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplyAddWideningLower(op1, op2, op3); + + /// + /// svint32_t svqdmlalb_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQDMLALB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLALB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingDoublingMultiplyAddWideningLower(op1, op2, op3, imm_index); + + /// + /// svint64_t svqdmlalb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLALB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLALB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplyAddWideningLower(op1, op2, op3); + + /// + /// svint64_t svqdmlalb_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQDMLALB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLALB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingDoublingMultiplyAddWideningLower(op1, op2, op3, imm_index); + + + /// SaturatingDoublingMultiplyAddWideningLowerUpper : Saturating doubling multiply-add long (bottom × top) + + /// + /// svint16_t svqdmlalbt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLALBT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLALBT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLowerUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplyAddWideningLowerUpper(op1, op2, op3); + + /// + /// svint32_t svqdmlalbt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLALBT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLALBT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLowerUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplyAddWideningLowerUpper(op1, op2, op3); + + /// + /// svint64_t svqdmlalbt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLALBT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLALBT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningLowerUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplyAddWideningLowerUpper(op1, op2, op3); + + + /// SaturatingDoublingMultiplyAddWideningUpper : Saturating doubling multiply-add long (top) + + /// + /// svint16_t svqdmlalt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLALT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLALT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplyAddWideningUpper(op1, op2, op3); + + /// + /// svint32_t svqdmlalt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplyAddWideningUpper(op1, op2, op3); + + /// + /// svint32_t svqdmlalt_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQDMLALT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLALT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingDoublingMultiplyAddWideningUpper(op1, op2, op3, imm_index); + + /// + /// svint64_t svqdmlalt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLALT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLALT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplyAddWideningUpper(op1, op2, op3); + + /// + /// svint64_t svqdmlalt_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQDMLALT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLALT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingDoublingMultiplyAddWideningUpper(op1, op2, op3, imm_index); + + + /// SaturatingDoublingMultiplyHigh : Saturating doubling multiply high + + /// + /// svint8_t svqdmulh[_s8](svint8_t op1, svint8_t op2) + /// SQDMULH Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector left, Vector right) => SaturatingDoublingMultiplyHigh(left, right); + + /// + /// svint16_t svqdmulh[_s16](svint16_t op1, svint16_t op2) + /// SQDMULH Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector left, Vector right) => SaturatingDoublingMultiplyHigh(left, right); + + /// + /// svint16_t svqdmulh_lane[_s16](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SQDMULH Zresult.H, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) => SaturatingDoublingMultiplyHigh(op1, op2, imm_index); + + /// + /// svint32_t svqdmulh[_s32](svint32_t op1, svint32_t op2) + /// SQDMULH Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector left, Vector right) => SaturatingDoublingMultiplyHigh(left, right); + + /// + /// svint32_t svqdmulh_lane[_s32](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SQDMULH Zresult.S, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) => SaturatingDoublingMultiplyHigh(op1, op2, imm_index); + + /// + /// svint64_t svqdmulh[_s64](svint64_t op1, svint64_t op2) + /// SQDMULH Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector left, Vector right) => SaturatingDoublingMultiplyHigh(left, right); + + /// + /// svint64_t svqdmulh_lane[_s64](svint64_t op1, svint64_t op2, uint64_t imm_index) + /// SQDMULH Zresult.D, Zop1.D, Zop2.D[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) => SaturatingDoublingMultiplyHigh(op1, op2, imm_index); + + + /// SaturatingDoublingMultiplySubtractWideningLower : Saturating doubling multiply-subtract long (bottom) + + /// + /// svint16_t svqdmlslb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLSLB Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLSLB Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplySubtractWideningLower(op1, op2, op3); + + /// + /// svint32_t svqdmlslb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLSLB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLSLB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplySubtractWideningLower(op1, op2, op3); + + /// + /// svint32_t svqdmlslb_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQDMLSLB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLSLB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingDoublingMultiplySubtractWideningLower(op1, op2, op3, imm_index); + + /// + /// svint64_t svqdmlslb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLSLB Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLSLB Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplySubtractWideningLower(op1, op2, op3); + + /// + /// svint64_t svqdmlslb_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQDMLSLB Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLSLB Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingDoublingMultiplySubtractWideningLower(op1, op2, op3, imm_index); + + + /// SaturatingDoublingMultiplySubtractWideningLowerUpper : Saturating doubling multiply-subtract long (bottom × top) + + /// + /// svint16_t svqdmlslbt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLSLBT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLSLBT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLowerUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplySubtractWideningLowerUpper(op1, op2, op3); + + /// + /// svint32_t svqdmlslbt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLSLBT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLSLBT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLowerUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplySubtractWideningLowerUpper(op1, op2, op3); + + /// + /// svint64_t svqdmlslbt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLSLBT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLSLBT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningLowerUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplySubtractWideningLowerUpper(op1, op2, op3); + + + /// SaturatingDoublingMultiplySubtractWideningUpper : Saturating doubling multiply-subtract long (top) + + /// + /// svint16_t svqdmlslt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) + /// SQDMLSLT Ztied1.H, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQDMLSLT Zresult.H, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplySubtractWideningUpper(op1, op2, op3); + + /// + /// svint32_t svqdmlslt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) + /// SQDMLSLT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQDMLSLT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplySubtractWideningUpper(op1, op2, op3); + + /// + /// svint32_t svqdmlslt_lane[_s32](svint32_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQDMLSLT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLSLT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingDoublingMultiplySubtractWideningUpper(op1, op2, op3, imm_index); + + /// + /// svint64_t svqdmlslt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) + /// SQDMLSLT Ztied1.D, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQDMLSLT Zresult.D, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) => SaturatingDoublingMultiplySubtractWideningUpper(op1, op2, op3); + + /// + /// svint64_t svqdmlslt_lane[_s64](svint64_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQDMLSLT Ztied1.D, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQDMLSLT Zresult.D, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingDoublingMultiplySubtractWideningUpper(op1, op2, op3, imm_index); + + + /// SaturatingDoublingMultiplyWideningLower : Saturating doubling multiply long (bottom) + + /// + /// svint16_t svqdmullb[_s16](svint8_t op1, svint8_t op2) + /// SQDMULLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningLower(Vector left, Vector right) => SaturatingDoublingMultiplyWideningLower(left, right); + + /// + /// svint32_t svqdmullb[_s32](svint16_t op1, svint16_t op2) + /// SQDMULLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningLower(Vector left, Vector right) => SaturatingDoublingMultiplyWideningLower(left, right); + + /// + /// svint32_t svqdmullb_lane[_s32](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SQDMULLB Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) => SaturatingDoublingMultiplyWideningLower(op1, op2, imm_index); + + /// + /// svint64_t svqdmullb[_s64](svint32_t op1, svint32_t op2) + /// SQDMULLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningLower(Vector left, Vector right) => SaturatingDoublingMultiplyWideningLower(left, right); + + /// + /// svint64_t svqdmullb_lane[_s64](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SQDMULLB Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningLower(Vector op1, Vector op2, ulong imm_index) => SaturatingDoublingMultiplyWideningLower(op1, op2, imm_index); + + + /// SaturatingDoublingMultiplyWideningUpper : Saturating doubling multiply long (top) + + /// + /// svint16_t svqdmullt[_s16](svint8_t op1, svint8_t op2) + /// SQDMULLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningUpper(Vector left, Vector right) => SaturatingDoublingMultiplyWideningUpper(left, right); + + /// + /// svint32_t svqdmullt[_s32](svint16_t op1, svint16_t op2) + /// SQDMULLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningUpper(Vector left, Vector right) => SaturatingDoublingMultiplyWideningUpper(left, right); + + /// + /// svint32_t svqdmullt_lane[_s32](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SQDMULLT Zresult.S, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) => SaturatingDoublingMultiplyWideningUpper(op1, op2, imm_index); + + /// + /// svint64_t svqdmullt[_s64](svint32_t op1, svint32_t op2) + /// SQDMULLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningUpper(Vector left, Vector right) => SaturatingDoublingMultiplyWideningUpper(left, right); + + /// + /// svint64_t svqdmullt_lane[_s64](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SQDMULLT Zresult.D, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector SaturatingDoublingMultiplyWideningUpper(Vector op1, Vector op2, ulong imm_index) => SaturatingDoublingMultiplyWideningUpper(op1, op2, imm_index); + + + /// SaturatingExtractNarrowingLower : Saturating extract narrow (bottom) + + /// + /// svint8_t svqxtnb[_s16](svint16_t op) + /// SQXTNB Zresult.B, Zop.H + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) => SaturatingExtractNarrowingLower(value); + + /// + /// svint16_t svqxtnb[_s32](svint32_t op) + /// SQXTNB Zresult.H, Zop.S + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) => SaturatingExtractNarrowingLower(value); + + /// + /// svint32_t svqxtnb[_s64](svint64_t op) + /// SQXTNB Zresult.S, Zop.D + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) => SaturatingExtractNarrowingLower(value); + + /// + /// svuint8_t svqxtnb[_u16](svuint16_t op) + /// UQXTNB Zresult.B, Zop.H + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) => SaturatingExtractNarrowingLower(value); + + /// + /// svuint16_t svqxtnb[_u32](svuint32_t op) + /// UQXTNB Zresult.H, Zop.S + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) => SaturatingExtractNarrowingLower(value); + + /// + /// svuint32_t svqxtnb[_u64](svuint64_t op) + /// UQXTNB Zresult.S, Zop.D + /// + public static unsafe Vector SaturatingExtractNarrowingLower(Vector value) => SaturatingExtractNarrowingLower(value); + + + /// SaturatingExtractNarrowingUpper : Saturating extract narrow (top) + + /// + /// svint8_t svqxtnt[_s16](svint8_t even, svint16_t op) + /// SQXTNT Ztied.B, Zop.H + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) => SaturatingExtractNarrowingUpper(even, op); + + /// + /// svint16_t svqxtnt[_s32](svint16_t even, svint32_t op) + /// SQXTNT Ztied.H, Zop.S + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) => SaturatingExtractNarrowingUpper(even, op); + + /// + /// svint32_t svqxtnt[_s64](svint32_t even, svint64_t op) + /// SQXTNT Ztied.S, Zop.D + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) => SaturatingExtractNarrowingUpper(even, op); + + /// + /// svuint8_t svqxtnt[_u16](svuint8_t even, svuint16_t op) + /// UQXTNT Ztied.B, Zop.H + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) => SaturatingExtractNarrowingUpper(even, op); + + /// + /// svuint16_t svqxtnt[_u32](svuint16_t even, svuint32_t op) + /// UQXTNT Ztied.H, Zop.S + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) => SaturatingExtractNarrowingUpper(even, op); + + /// + /// svuint32_t svqxtnt[_u64](svuint32_t even, svuint64_t op) + /// UQXTNT Ztied.S, Zop.D + /// + public static unsafe Vector SaturatingExtractNarrowingUpper(Vector even, Vector op) => SaturatingExtractNarrowingUpper(even, op); + + + /// SaturatingExtractUnsignedNarrowingLower : Saturating extract unsigned narrow (bottom) + + /// + /// svuint8_t svqxtunb[_s16](svint16_t op) + /// SQXTUNB Zresult.B, Zop.H + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingLower(Vector value) => SaturatingExtractUnsignedNarrowingLower(value); + + /// + /// svuint16_t svqxtunb[_s32](svint32_t op) + /// SQXTUNB Zresult.H, Zop.S + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingLower(Vector value) => SaturatingExtractUnsignedNarrowingLower(value); + + /// + /// svuint32_t svqxtunb[_s64](svint64_t op) + /// SQXTUNB Zresult.S, Zop.D + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingLower(Vector value) => SaturatingExtractUnsignedNarrowingLower(value); + + + /// SaturatingExtractUnsignedNarrowingUpper : Saturating extract unsigned narrow (top) + + /// + /// svuint8_t svqxtunt[_s16](svuint8_t even, svint16_t op) + /// SQXTUNT Ztied.B, Zop.H + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingUpper(Vector even, Vector op) => SaturatingExtractUnsignedNarrowingUpper(even, op); + + /// + /// svuint16_t svqxtunt[_s32](svuint16_t even, svint32_t op) + /// SQXTUNT Ztied.H, Zop.S + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingUpper(Vector even, Vector op) => SaturatingExtractUnsignedNarrowingUpper(even, op); + + /// + /// svuint32_t svqxtunt[_s64](svuint32_t even, svint64_t op) + /// SQXTUNT Ztied.S, Zop.D + /// + public static unsafe Vector SaturatingExtractUnsignedNarrowingUpper(Vector even, Vector op) => SaturatingExtractUnsignedNarrowingUpper(even, op); + + + /// SaturatingNegate : Saturating negate + + /// + /// svint8_t svqneg[_s8]_m(svint8_t inactive, svbool_t pg, svint8_t op) + /// SQNEG Ztied.B, Pg/M, Zop.B + /// MOVPRFX Zresult, Zinactive; SQNEG Zresult.B, Pg/M, Zop.B + /// svint8_t svqneg[_s8]_x(svbool_t pg, svint8_t op) + /// SQNEG Ztied.B, Pg/M, Ztied.B + /// MOVPRFX Zresult, Zop; SQNEG Zresult.B, Pg/M, Zop.B + /// svint8_t svqneg[_s8]_z(svbool_t pg, svint8_t op) + /// MOVPRFX Zresult.B, Pg/Z, Zop.B; SQNEG Zresult.B, Pg/M, Zop.B + /// + public static unsafe Vector SaturatingNegate(Vector value) => SaturatingNegate(value); + + /// + /// svint16_t svqneg[_s16]_m(svint16_t inactive, svbool_t pg, svint16_t op) + /// SQNEG Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; SQNEG Zresult.H, Pg/M, Zop.H + /// svint16_t svqneg[_s16]_x(svbool_t pg, svint16_t op) + /// SQNEG Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; SQNEG Zresult.H, Pg/M, Zop.H + /// svint16_t svqneg[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; SQNEG Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector SaturatingNegate(Vector value) => SaturatingNegate(value); + + /// + /// svint32_t svqneg[_s32]_m(svint32_t inactive, svbool_t pg, svint32_t op) + /// SQNEG Ztied.S, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SQNEG Zresult.S, Pg/M, Zop.S + /// svint32_t svqneg[_s32]_x(svbool_t pg, svint32_t op) + /// SQNEG Ztied.S, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SQNEG Zresult.S, Pg/M, Zop.S + /// svint32_t svqneg[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SQNEG Zresult.S, Pg/M, Zop.S + /// + public static unsafe Vector SaturatingNegate(Vector value) => SaturatingNegate(value); + + /// + /// svint64_t svqneg[_s64]_m(svint64_t inactive, svbool_t pg, svint64_t op) + /// SQNEG Ztied.D, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SQNEG Zresult.D, Pg/M, Zop.D + /// svint64_t svqneg[_s64]_x(svbool_t pg, svint64_t op) + /// SQNEG Ztied.D, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SQNEG Zresult.D, Pg/M, Zop.D + /// svint64_t svqneg[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SQNEG Zresult.D, Pg/M, Zop.D + /// + public static unsafe Vector SaturatingNegate(Vector value) => SaturatingNegate(value); + + + /// SaturatingRoundingDoublingComplexMultiplyAddHighRotate : Saturating rounding doubling complex multiply-add high with rotate + + /// + /// svint8_t svqrdcmlah[_s8](svint8_t op1, svint8_t op2, svint8_t op3, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.B, Zop2.B, Zop3.B, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.B, Zop2.B, Zop3.B, #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => SaturatingRoundingDoublingComplexMultiplyAddHighRotate(op1, op2, op3, imm_rotation); + + /// + /// svint16_t svqrdcmlah[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.H, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.H, Zop2.H, Zop3.H, #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => SaturatingRoundingDoublingComplexMultiplyAddHighRotate(op1, op2, op3, imm_rotation); + + /// + /// svint16_t svqrdcmlah_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) => SaturatingRoundingDoublingComplexMultiplyAddHighRotate(op1, op2, op3, imm_index, imm_rotation); + + /// + /// svint32_t svqrdcmlah[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.S, Zop2.S, Zop3.S, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.S, Zop2.S, Zop3.S, #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => SaturatingRoundingDoublingComplexMultiplyAddHighRotate(op1, op2, op3, imm_rotation); + + /// + /// svint32_t svqrdcmlah_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.S, Zop2.S, Zop3.S[imm_index], #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) => SaturatingRoundingDoublingComplexMultiplyAddHighRotate(op1, op2, op3, imm_index, imm_rotation); + + /// + /// svint64_t svqrdcmlah[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_rotation) + /// SQRDCMLAH Ztied1.D, Zop2.D, Zop3.D, #imm_rotation + /// MOVPRFX Zresult, Zop1; SQRDCMLAH Zresult.D, Zop2.D, Zop3.D, #imm_rotation + /// + public static unsafe Vector SaturatingRoundingDoublingComplexMultiplyAddHighRotate(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => SaturatingRoundingDoublingComplexMultiplyAddHighRotate(op1, op2, op3, imm_rotation); + + + /// SaturatingRoundingDoublingMultiplyAddHigh : Saturating rounding doubling multiply-add high + + /// + /// svint8_t svqrdmlah[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// SQRDMLAH Ztied1.B, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.B, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3) => SaturatingRoundingDoublingMultiplyAddHigh(op1, op2, op3); + + /// + /// svint16_t svqrdmlah[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// SQRDMLAH Ztied1.H, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.H, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3) => SaturatingRoundingDoublingMultiplyAddHigh(op1, op2, op3); + + /// + /// svint16_t svqrdmlah_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQRDMLAH Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingRoundingDoublingMultiplyAddHigh(op1, op2, op3, imm_index); + + /// + /// svint32_t svqrdmlah[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// SQRDMLAH Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3) => SaturatingRoundingDoublingMultiplyAddHigh(op1, op2, op3); + + /// + /// svint32_t svqrdmlah_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQRDMLAH Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingRoundingDoublingMultiplyAddHigh(op1, op2, op3, imm_index); + + /// + /// svint64_t svqrdmlah[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// SQRDMLAH Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3) => SaturatingRoundingDoublingMultiplyAddHigh(op1, op2, op3); + + /// + /// svint64_t svqrdmlah_lane[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_index) + /// SQRDMLAH Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLAH Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyAddHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingRoundingDoublingMultiplyAddHigh(op1, op2, op3, imm_index); + + + /// SaturatingRoundingDoublingMultiplyHigh : Saturating rounding doubling multiply high + + /// + /// svint8_t svqrdmulh[_s8](svint8_t op1, svint8_t op2) + /// SQRDMULH Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector left, Vector right) => SaturatingRoundingDoublingMultiplyHigh(left, right); + + /// + /// svint16_t svqrdmulh[_s16](svint16_t op1, svint16_t op2) + /// SQRDMULH Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector left, Vector right) => SaturatingRoundingDoublingMultiplyHigh(left, right); + + /// + /// svint16_t svqrdmulh_lane[_s16](svint16_t op1, svint16_t op2, uint64_t imm_index) + /// SQRDMULH Zresult.H, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) => SaturatingRoundingDoublingMultiplyHigh(op1, op2, imm_index); + + /// + /// svint32_t svqrdmulh[_s32](svint32_t op1, svint32_t op2) + /// SQRDMULH Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector left, Vector right) => SaturatingRoundingDoublingMultiplyHigh(left, right); + + /// + /// svint32_t svqrdmulh_lane[_s32](svint32_t op1, svint32_t op2, uint64_t imm_index) + /// SQRDMULH Zresult.S, Zop1.S, Zop2.S[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) => SaturatingRoundingDoublingMultiplyHigh(op1, op2, imm_index); + + /// + /// svint64_t svqrdmulh[_s64](svint64_t op1, svint64_t op2) + /// SQRDMULH Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector left, Vector right) => SaturatingRoundingDoublingMultiplyHigh(left, right); + + /// + /// svint64_t svqrdmulh_lane[_s64](svint64_t op1, svint64_t op2, uint64_t imm_index) + /// SQRDMULH Zresult.D, Zop1.D, Zop2.D[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplyHigh(Vector op1, Vector op2, ulong imm_index) => SaturatingRoundingDoublingMultiplyHigh(op1, op2, imm_index); + + + /// SaturatingRoundingDoublingMultiplySubtractHigh : Saturating rounding doubling multiply-subtract high + + /// + /// svint8_t svqrdmlsh[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// SQRDMLSH Ztied1.B, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.B, Zop2.B, Zop3.B + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3) => SaturatingRoundingDoublingMultiplySubtractHigh(op1, op2, op3); + + /// + /// svint16_t svqrdmlsh[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// SQRDMLSH Ztied1.H, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.H, Zop2.H, Zop3.H + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3) => SaturatingRoundingDoublingMultiplySubtractHigh(op1, op2, op3); + + /// + /// svint16_t svqrdmlsh_lane[_s16](svint16_t op1, svint16_t op2, svint16_t op3, uint64_t imm_index) + /// SQRDMLSH Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingRoundingDoublingMultiplySubtractHigh(op1, op2, op3, imm_index); + + /// + /// svint32_t svqrdmlsh[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// SQRDMLSH Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3) => SaturatingRoundingDoublingMultiplySubtractHigh(op1, op2, op3); + + /// + /// svint32_t svqrdmlsh_lane[_s32](svint32_t op1, svint32_t op2, svint32_t op3, uint64_t imm_index) + /// SQRDMLSH Ztied1.S, Zop2.S, Zop3.S[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.S, Zop2.S, Zop3.S[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingRoundingDoublingMultiplySubtractHigh(op1, op2, op3, imm_index); + + /// + /// svint64_t svqrdmlsh[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// SQRDMLSH Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3) => SaturatingRoundingDoublingMultiplySubtractHigh(op1, op2, op3); + + /// + /// svint64_t svqrdmlsh_lane[_s64](svint64_t op1, svint64_t op2, svint64_t op3, uint64_t imm_index) + /// SQRDMLSH Ztied1.D, Zop2.D, Zop3.D[imm_index] + /// MOVPRFX Zresult, Zop1; SQRDMLSH Zresult.D, Zop2.D, Zop3.D[imm_index] + /// + public static unsafe Vector SaturatingRoundingDoublingMultiplySubtractHigh(Vector op1, Vector op2, Vector op3, ulong imm_index) => SaturatingRoundingDoublingMultiplySubtractHigh(op1, op2, op3, imm_index); + + + /// SaturatingRoundingShiftLeft : Saturating rounding shift left + + /// + /// svint8_t svqrshl[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqrshl[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SQRSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqrshl[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SQRSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) => SaturatingRoundingShiftLeft(left, right); + + /// + /// svint16_t svqrshl[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqrshl[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SQRSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqrshl[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SQRSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) => SaturatingRoundingShiftLeft(left, right); + + /// + /// svint32_t svqrshl[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqrshl[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SQRSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqrshl[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SQRSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) => SaturatingRoundingShiftLeft(left, right); + + /// + /// svint64_t svqrshl[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqrshl[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SQRSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqrshl[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SQRSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) => SaturatingRoundingShiftLeft(left, right); + + /// + /// svuint8_t svqrshl[_u8]_m(svbool_t pg, svuint8_t op1, svint8_t op2) + /// UQRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqrshl[_u8]_x(svbool_t pg, svuint8_t op1, svint8_t op2) + /// UQRSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UQRSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqrshl[_u8]_z(svbool_t pg, svuint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UQRSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UQRSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) => SaturatingRoundingShiftLeft(left, right); + + /// + /// svuint16_t svqrshl[_u16]_m(svbool_t pg, svuint16_t op1, svint16_t op2) + /// UQRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqrshl[_u16]_x(svbool_t pg, svuint16_t op1, svint16_t op2) + /// UQRSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UQRSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqrshl[_u16]_z(svbool_t pg, svuint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UQRSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UQRSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) => SaturatingRoundingShiftLeft(left, right); + + /// + /// svuint32_t svqrshl[_u32]_m(svbool_t pg, svuint32_t op1, svint32_t op2) + /// UQRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqrshl[_u32]_x(svbool_t pg, svuint32_t op1, svint32_t op2) + /// UQRSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UQRSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqrshl[_u32]_z(svbool_t pg, svuint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UQRSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UQRSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) => SaturatingRoundingShiftLeft(left, right); + + /// + /// svuint64_t svqrshl[_u64]_m(svbool_t pg, svuint64_t op1, svint64_t op2) + /// UQRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqrshl[_u64]_x(svbool_t pg, svuint64_t op1, svint64_t op2) + /// UQRSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UQRSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqrshl[_u64]_z(svbool_t pg, svuint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UQRSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UQRSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SaturatingRoundingShiftLeft(Vector left, Vector right) => SaturatingRoundingShiftLeft(left, right); + + + /// SaturatingRoundingShiftRightNarrowingLower : Saturating rounding shift right narrow (bottom) + + /// + /// svint8_t svqrshrnb[_n_s16](svint16_t op1, uint64_t imm2) + /// SQRSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingLower(op1, imm2); + + /// + /// svint16_t svqrshrnb[_n_s32](svint32_t op1, uint64_t imm2) + /// SQRSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingLower(op1, imm2); + + /// + /// svint32_t svqrshrnb[_n_s64](svint64_t op1, uint64_t imm2) + /// SQRSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint8_t svqrshrnb[_n_u16](svuint16_t op1, uint64_t imm2) + /// UQRSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint16_t svqrshrnb[_n_u32](svuint32_t op1, uint64_t imm2) + /// UQRSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint32_t svqrshrnb[_n_u64](svuint64_t op1, uint64_t imm2) + /// UQRSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingLower(op1, imm2); + + + /// SaturatingRoundingShiftRightNarrowingUpper : Saturating rounding shift right narrow (top) + + /// + /// svint8_t svqrshrnt[_n_s16](svint8_t even, svint16_t op1, uint64_t imm2) + /// SQRSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svint16_t svqrshrnt[_n_s32](svint16_t even, svint32_t op1, uint64_t imm2) + /// SQRSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svint32_t svqrshrnt[_n_s64](svint32_t even, svint64_t op1, uint64_t imm2) + /// SQRSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint8_t svqrshrnt[_n_u16](svuint8_t even, svuint16_t op1, uint64_t imm2) + /// UQRSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint16_t svqrshrnt[_n_u32](svuint16_t even, svuint32_t op1, uint64_t imm2) + /// UQRSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint32_t svqrshrnt[_n_u64](svuint32_t even, svuint64_t op1, uint64_t imm2) + /// UQRSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingRoundingShiftRightNarrowingUpper(even, op1, imm2); + + + /// SaturatingRoundingShiftRightUnsignedNarrowingLower : Saturating rounding shift right unsigned narrow (bottom) + + /// + /// svuint8_t svqrshrunb[_n_s16](svint16_t op1, uint64_t imm2) + /// SQRSHRUNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) => SaturatingRoundingShiftRightUnsignedNarrowingLower(op1, imm2); + + /// + /// svuint16_t svqrshrunb[_n_s32](svint32_t op1, uint64_t imm2) + /// SQRSHRUNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) => SaturatingRoundingShiftRightUnsignedNarrowingLower(op1, imm2); + + /// + /// svuint32_t svqrshrunb[_n_s64](svint64_t op1, uint64_t imm2) + /// SQRSHRUNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) => SaturatingRoundingShiftRightUnsignedNarrowingLower(op1, imm2); + + + /// SaturatingRoundingShiftRightUnsignedNarrowingUpper : Saturating rounding shift right unsigned narrow (top) + + /// + /// svuint8_t svqrshrunt[_n_s16](svuint8_t even, svint16_t op1, uint64_t imm2) + /// SQRSHRUNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingRoundingShiftRightUnsignedNarrowingUpper(even, op1, imm2); + + /// + /// svuint16_t svqrshrunt[_n_s32](svuint16_t even, svint32_t op1, uint64_t imm2) + /// SQRSHRUNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingRoundingShiftRightUnsignedNarrowingUpper(even, op1, imm2); + + /// + /// svuint32_t svqrshrunt[_n_s64](svuint32_t even, svint64_t op1, uint64_t imm2) + /// SQRSHRUNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingRoundingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingRoundingShiftRightUnsignedNarrowingUpper(even, op1, imm2); + + + /// SaturatingShiftLeft : Saturating shift left + + /// + /// svint8_t svqshl[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqshl[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SQSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqshl[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SQSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) => SaturatingShiftLeft(left, right); + + /// + /// svint16_t svqshl[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqshl[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SQSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqshl[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SQSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) => SaturatingShiftLeft(left, right); + + /// + /// svint32_t svqshl[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqshl[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SQSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqshl[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SQSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) => SaturatingShiftLeft(left, right); + + /// + /// svint64_t svqshl[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqshl[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SQSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; SQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqshl[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SQSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) => SaturatingShiftLeft(left, right); + + /// + /// svuint8_t svqshl[_u8]_m(svbool_t pg, svuint8_t op1, svint8_t op2) + /// UQSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqshl[_u8]_x(svbool_t pg, svuint8_t op1, svint8_t op2) + /// UQSHL Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UQSHLR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqshl[_u8]_z(svbool_t pg, svuint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UQSHL Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UQSHLR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) => SaturatingShiftLeft(left, right); + + /// + /// svuint16_t svqshl[_u16]_m(svbool_t pg, svuint16_t op1, svint16_t op2) + /// UQSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqshl[_u16]_x(svbool_t pg, svuint16_t op1, svint16_t op2) + /// UQSHL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UQSHLR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqshl[_u16]_z(svbool_t pg, svuint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UQSHL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UQSHLR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) => SaturatingShiftLeft(left, right); + + /// + /// svuint32_t svqshl[_u32]_m(svbool_t pg, svuint32_t op1, svint32_t op2) + /// UQSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqshl[_u32]_x(svbool_t pg, svuint32_t op1, svint32_t op2) + /// UQSHL Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UQSHLR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqshl[_u32]_z(svbool_t pg, svuint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UQSHL Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UQSHLR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) => SaturatingShiftLeft(left, right); + + /// + /// svuint64_t svqshl[_u64]_m(svbool_t pg, svuint64_t op1, svint64_t op2) + /// UQSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqshl[_u64]_x(svbool_t pg, svuint64_t op1, svint64_t op2) + /// UQSHL Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UQSHLR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// MOVPRFX Zresult, Zop1; UQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqshl[_u64]_z(svbool_t pg, svuint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UQSHL Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UQSHLR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SaturatingShiftLeft(Vector left, Vector right) => SaturatingShiftLeft(left, right); + + + /// SaturatingShiftLeftUnsigned : Saturating shift left unsigned + + /// + /// svuint8_t svqshlu[_n_s8]_m(svbool_t pg, svint8_t op1, uint64_t imm2) + /// SQSHLU Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.B, Pg/M, Zresult.B, #imm2 + /// svuint8_t svqshlu[_n_s8]_x(svbool_t pg, svint8_t op1, uint64_t imm2) + /// SQSHLU Ztied1.B, Pg/M, Ztied1.B, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.B, Pg/M, Zresult.B, #imm2 + /// svuint8_t svqshlu[_n_s8]_z(svbool_t pg, svint8_t op1, uint64_t imm2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQSHLU Zresult.B, Pg/M, Zresult.B, #imm2 + /// + public static unsafe Vector SaturatingShiftLeftUnsigned(Vector op1, ulong imm2) => SaturatingShiftLeftUnsigned(op1, imm2); + + /// + /// svuint16_t svqshlu[_n_s16]_m(svbool_t pg, svint16_t op1, uint64_t imm2) + /// SQSHLU Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.H, Pg/M, Zresult.H, #imm2 + /// svuint16_t svqshlu[_n_s16]_x(svbool_t pg, svint16_t op1, uint64_t imm2) + /// SQSHLU Ztied1.H, Pg/M, Ztied1.H, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.H, Pg/M, Zresult.H, #imm2 + /// svuint16_t svqshlu[_n_s16]_z(svbool_t pg, svint16_t op1, uint64_t imm2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQSHLU Zresult.H, Pg/M, Zresult.H, #imm2 + /// + public static unsafe Vector SaturatingShiftLeftUnsigned(Vector op1, ulong imm2) => SaturatingShiftLeftUnsigned(op1, imm2); + + /// + /// svuint32_t svqshlu[_n_s32]_m(svbool_t pg, svint32_t op1, uint64_t imm2) + /// SQSHLU Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.S, Pg/M, Zresult.S, #imm2 + /// svuint32_t svqshlu[_n_s32]_x(svbool_t pg, svint32_t op1, uint64_t imm2) + /// SQSHLU Ztied1.S, Pg/M, Ztied1.S, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.S, Pg/M, Zresult.S, #imm2 + /// svuint32_t svqshlu[_n_s32]_z(svbool_t pg, svint32_t op1, uint64_t imm2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQSHLU Zresult.S, Pg/M, Zresult.S, #imm2 + /// + public static unsafe Vector SaturatingShiftLeftUnsigned(Vector op1, ulong imm2) => SaturatingShiftLeftUnsigned(op1, imm2); + + /// + /// svuint64_t svqshlu[_n_s64]_m(svbool_t pg, svint64_t op1, uint64_t imm2) + /// SQSHLU Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.D, Pg/M, Zresult.D, #imm2 + /// svuint64_t svqshlu[_n_s64]_x(svbool_t pg, svint64_t op1, uint64_t imm2) + /// SQSHLU Ztied1.D, Pg/M, Ztied1.D, #imm2 + /// MOVPRFX Zresult, Zop1; SQSHLU Zresult.D, Pg/M, Zresult.D, #imm2 + /// svuint64_t svqshlu[_n_s64]_z(svbool_t pg, svint64_t op1, uint64_t imm2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQSHLU Zresult.D, Pg/M, Zresult.D, #imm2 + /// + public static unsafe Vector SaturatingShiftLeftUnsigned(Vector op1, ulong imm2) => SaturatingShiftLeftUnsigned(op1, imm2); + + + /// SaturatingShiftRightNarrowingLower : Saturating shift right narrow (bottom) + + /// + /// svint8_t svqshrnb[_n_s16](svint16_t op1, uint64_t imm2) + /// SQSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingShiftRightNarrowingLower(op1, imm2); + + /// + /// svint16_t svqshrnb[_n_s32](svint32_t op1, uint64_t imm2) + /// SQSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingShiftRightNarrowingLower(op1, imm2); + + /// + /// svint32_t svqshrnb[_n_s64](svint64_t op1, uint64_t imm2) + /// SQSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint8_t svqshrnb[_n_u16](svuint16_t op1, uint64_t imm2) + /// UQSHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint16_t svqshrnb[_n_u32](svuint32_t op1, uint64_t imm2) + /// UQSHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint32_t svqshrnb[_n_u64](svuint64_t op1, uint64_t imm2) + /// UQSHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingLower(Vector op1, ulong imm2) => SaturatingShiftRightNarrowingLower(op1, imm2); + + + /// SaturatingShiftRightNarrowingUpper : Saturating shift right narrow (top) + + /// + /// svint8_t svqshrnt[_n_s16](svint8_t even, svint16_t op1, uint64_t imm2) + /// SQSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svint16_t svqshrnt[_n_s32](svint16_t even, svint32_t op1, uint64_t imm2) + /// SQSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svint32_t svqshrnt[_n_s64](svint32_t even, svint64_t op1, uint64_t imm2) + /// SQSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint8_t svqshrnt[_n_u16](svuint8_t even, svuint16_t op1, uint64_t imm2) + /// UQSHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint16_t svqshrnt[_n_u32](svuint16_t even, svuint32_t op1, uint64_t imm2) + /// UQSHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint32_t svqshrnt[_n_u64](svuint32_t even, svuint64_t op1, uint64_t imm2) + /// UQSHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingShiftRightNarrowingUpper(even, op1, imm2); + + + /// SaturatingShiftRightUnsignedNarrowingLower : Saturating shift right unsigned narrow (bottom) + + /// + /// svuint8_t svqshrunb[_n_s16](svint16_t op1, uint64_t imm2) + /// SQSHRUNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) => SaturatingShiftRightUnsignedNarrowingLower(op1, imm2); + + /// + /// svuint16_t svqshrunb[_n_s32](svint32_t op1, uint64_t imm2) + /// SQSHRUNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) => SaturatingShiftRightUnsignedNarrowingLower(op1, imm2); + + /// + /// svuint32_t svqshrunb[_n_s64](svint64_t op1, uint64_t imm2) + /// SQSHRUNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingLower(Vector op1, ulong imm2) => SaturatingShiftRightUnsignedNarrowingLower(op1, imm2); + + + /// SaturatingShiftRightUnsignedNarrowingUpper : Saturating shift right unsigned narrow (top) + + /// + /// svuint8_t svqshrunt[_n_s16](svuint8_t even, svint16_t op1, uint64_t imm2) + /// SQSHRUNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingShiftRightUnsignedNarrowingUpper(even, op1, imm2); + + /// + /// svuint16_t svqshrunt[_n_s32](svuint16_t even, svint32_t op1, uint64_t imm2) + /// SQSHRUNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingShiftRightUnsignedNarrowingUpper(even, op1, imm2); + + /// + /// svuint32_t svqshrunt[_n_s64](svuint32_t even, svint64_t op1, uint64_t imm2) + /// SQSHRUNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector SaturatingShiftRightUnsignedNarrowingUpper(Vector even, Vector op1, ulong imm2) => SaturatingShiftRightUnsignedNarrowingUpper(even, op1, imm2); + + + /// ScatterInt32NarrowToInt16 : Truncate to 16 bits and store, non-temporal + + /// + /// void svstnt1h_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterInt32NarrowToInt16(Vector mask, Vector bases, Vector data) => ScatterInt32NarrowToInt16(mask, bases, data); + + + /// ScatterInt32NarrowToSByte : Truncate to 8 bits and store, non-temporal + + /// + /// void svstnt1b_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// STNT1B Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterInt32NarrowToSByte(Vector mask, Vector bases, Vector data) => ScatterInt32NarrowToSByte(mask, bases, data); + + + /// ScatterInt64NarrowToInt16 : Truncate to 16 bits and store, non-temporal + + /// + /// void svstnt1h_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, Vector bases, Vector data) => ScatterInt64NarrowToInt16(mask, bases, data); + + /// + /// void svstnt1h_scatter_[s64]offset[_s64](svbool_t pg, int16_t *base, svint64_t offsets, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, short *base, Vector offsets, Vector data) => ScatterInt64NarrowToInt16(mask, *base, offsets, data); + + /// + /// void svstnt1h_scatter_[s64]index[_s64](svbool_t pg, int16_t *base, svint64_t indices, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, short *base, Vector indices, Vector data) => ScatterInt64NarrowToInt16(mask, *base, indices, data); + + /// + /// void svstnt1h_scatter_[s64]offset[_u64](svbool_t pg, uint16_t *base, svint64_t offsets, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, ushort *base, Vector offsets, Vector data) => ScatterInt64NarrowToInt16(mask, *base, offsets, data); + + /// + /// void svstnt1h_scatter_[s64]index[_u64](svbool_t pg, uint16_t *base, svint64_t indices, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt16(Vector mask, ushort *base, Vector indices, Vector data) => ScatterInt64NarrowToInt16(mask, *base, indices, data); + + + /// ScatterInt64NarrowToInt32 : Truncate to 32 bits and store, non-temporal + + /// + /// void svstnt1w_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, Vector bases, Vector data) => ScatterInt64NarrowToInt32(mask, bases, data); + + /// + /// void svstnt1w_scatter_[s64]offset[_s64](svbool_t pg, int32_t *base, svint64_t offsets, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, int *base, Vector offsets, Vector data) => ScatterInt64NarrowToInt32(mask, *base, offsets, data); + + /// + /// void svstnt1w_scatter_[s64]index[_s64](svbool_t pg, int32_t *base, svint64_t indices, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, int *base, Vector indices, Vector data) => ScatterInt64NarrowToInt32(mask, *base, indices, data); + + /// + /// void svstnt1w_scatter_[s64]offset[_u64](svbool_t pg, uint32_t *base, svint64_t offsets, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, uint *base, Vector offsets, Vector data) => ScatterInt64NarrowToInt32(mask, *base, offsets, data); + + /// + /// void svstnt1w_scatter_[s64]index[_u64](svbool_t pg, uint32_t *base, svint64_t indices, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToInt32(Vector mask, uint *base, Vector indices, Vector data) => ScatterInt64NarrowToInt32(mask, *base, indices, data); + + + /// ScatterInt64NarrowToSByte : Truncate to 8 bits and store, non-temporal + + /// + /// void svstnt1b_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// STNT1B Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, Vector bases, Vector data) => ScatterInt64NarrowToSByte(mask, bases, data); + + /// + /// void svstnt1b_scatter_[s64]offset[_s64](svbool_t pg, int8_t *base, svint64_t offsets, svint64_t data) + /// STNT1B Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, sbyte *base, Vector offsets, Vector data) => ScatterInt64NarrowToSByte(mask, *base, offsets, data); + + /// + /// void svstnt1b_scatter_[s64]offset[_u64](svbool_t pg, uint8_t *base, svint64_t offsets, svuint64_t data) + /// STNT1B Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterInt64NarrowToSByte(Vector mask, byte *base, Vector offsets, Vector data) => ScatterInt64NarrowToSByte(mask, *base, offsets, data); + + + /// ScatterNonTemporal : Non-truncating store, non-temporal + + /// + /// void svstnt1_scatter[_u32base_s32](svbool_t pg, svuint32_t bases, svint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) => ScatterNonTemporal(mask, bases, data); + + /// + /// void svstnt1_scatter_[u32]offset[_s32](svbool_t pg, int32_t *base, svuint32_t offsets, svint32_t data) + /// STNT1W Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, int *base, Vector offsets, Vector data) => ScatterNonTemporal(mask, *base, offsets, data); + + /// + /// void svstnt1_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) => ScatterNonTemporal(mask, bases, offset, data); + + /// + /// void svstnt1_scatter[_u32base]_index[_s32](svbool_t pg, svuint32_t bases, int64_t index, svint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) => ScatterNonTemporal(mask, bases, index, data); + + /// + /// void svstnt1_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) => ScatterNonTemporal(mask, bases, data); + + /// + /// void svstnt1_scatter_[s64]offset[_s64](svbool_t pg, int64_t *base, svint64_t offsets, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, long *base, Vector offsets, Vector data) => ScatterNonTemporal(mask, *base, offsets, data); + + /// + /// void svstnt1_scatter_[u64]offset[_s64](svbool_t pg, int64_t *base, svuint64_t offsets, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, long *base, Vector offsets, Vector data) => ScatterNonTemporal(mask, *base, offsets, data); + + /// + /// void svstnt1_scatter_[s64]index[_s64](svbool_t pg, int64_t *base, svint64_t indices, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, long *base, Vector indices, Vector data) => ScatterNonTemporal(mask, *base, indices, data); + + /// + /// void svstnt1_scatter_[u64]index[_s64](svbool_t pg, int64_t *base, svuint64_t indices, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, long *base, Vector indices, Vector data) => ScatterNonTemporal(mask, *base, indices, data); + + /// + /// void svstnt1_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) => ScatterNonTemporal(mask, bases, offset, data); + + /// + /// void svstnt1_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) => ScatterNonTemporal(mask, bases, index, data); + + /// + /// void svstnt1_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) => ScatterNonTemporal(mask, bases, data); + + /// + /// void svstnt1_scatter_[u32]offset[_u32](svbool_t pg, uint32_t *base, svuint32_t offsets, svuint32_t data) + /// STNT1W Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, uint *base, Vector offsets, Vector data) => ScatterNonTemporal(mask, *base, offsets, data); + + /// + /// void svstnt1_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) => ScatterNonTemporal(mask, bases, offset, data); + + /// + /// void svstnt1_scatter[_u32base]_index[_u32](svbool_t pg, svuint32_t bases, int64_t index, svuint32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) => ScatterNonTemporal(mask, bases, index, data); + + /// + /// void svstnt1_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) => ScatterNonTemporal(mask, bases, data); + + /// + /// void svstnt1_scatter_[s64]offset[_u64](svbool_t pg, uint64_t *base, svint64_t offsets, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, ulong *base, Vector offsets, Vector data) => ScatterNonTemporal(mask, *base, offsets, data); + + /// + /// void svstnt1_scatter_[u64]offset[_u64](svbool_t pg, uint64_t *base, svuint64_t offsets, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, ulong *base, Vector offsets, Vector data) => ScatterNonTemporal(mask, *base, offsets, data); + + /// + /// void svstnt1_scatter_[s64]index[_u64](svbool_t pg, uint64_t *base, svint64_t indices, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, ulong *base, Vector indices, Vector data) => ScatterNonTemporal(mask, *base, indices, data); + + /// + /// void svstnt1_scatter_[u64]index[_u64](svbool_t pg, uint64_t *base, svuint64_t indices, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, ulong *base, Vector indices, Vector data) => ScatterNonTemporal(mask, *base, indices, data); + + /// + /// void svstnt1_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) => ScatterNonTemporal(mask, bases, offset, data); + + /// + /// void svstnt1_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) => ScatterNonTemporal(mask, bases, index, data); + + /// + /// void svstnt1_scatter[_u32base_f32](svbool_t pg, svuint32_t bases, svfloat32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) => ScatterNonTemporal(mask, bases, data); + + /// + /// void svstnt1_scatter_[u32]offset[_f32](svbool_t pg, float32_t *base, svuint32_t offsets, svfloat32_t data) + /// STNT1W Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, float *base, Vector offsets, Vector data) => ScatterNonTemporal(mask, *base, offsets, data); + + /// + /// void svstnt1_scatter[_u32base]_offset[_f32](svbool_t pg, svuint32_t bases, int64_t offset, svfloat32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) => ScatterNonTemporal(mask, bases, offset, data); + + /// + /// void svstnt1_scatter[_u32base]_index[_f32](svbool_t pg, svuint32_t bases, int64_t index, svfloat32_t data) + /// STNT1W Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) => ScatterNonTemporal(mask, bases, index, data); + + /// + /// void svstnt1_scatter_[s64]offset[_f64](svbool_t pg, float64_t *base, svint64_t offsets, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, double *base, Vector offsets, Vector data) => ScatterNonTemporal(mask, *base, offsets, data); + + /// + /// void svstnt1_scatter_[s64]index[_f64](svbool_t pg, float64_t *base, svint64_t indices, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, double *base, Vector indices, Vector data) => ScatterNonTemporal(mask, *base, indices, data); + + /// + /// void svstnt1_scatter[_u64base_f64](svbool_t pg, svuint64_t bases, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, Vector data) => ScatterNonTemporal(mask, bases, data); + + /// + /// void svstnt1_scatter_[u64]offset[_f64](svbool_t pg, float64_t *base, svuint64_t offsets, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, double *base, Vector offsets, Vector data) => ScatterNonTemporal(mask, *base, offsets, data); + + /// + /// void svstnt1_scatter_[u64]index[_f64](svbool_t pg, float64_t *base, svuint64_t indices, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterNonTemporal(Vector mask, double *base, Vector indices, Vector data) => ScatterNonTemporal(mask, *base, indices, data); + + /// + /// void svstnt1_scatter[_u64base]_offset[_f64](svbool_t pg, svuint64_t bases, int64_t offset, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long offset, Vector data) => ScatterNonTemporal(mask, bases, offset, data); + + /// + /// void svstnt1_scatter[_u64base]_index[_f64](svbool_t pg, svuint64_t bases, int64_t index, svfloat64_t data) + /// STNT1D Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterNonTemporal(Vector mask, Vector bases, long index, Vector data) => ScatterNonTemporal(mask, bases, index, data); + + + /// ScatterTruncate16NonTemporalUInt16 : Truncate to 16 bits and store, non-temporal + + /// + /// void svstnt1h_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate16NonTemporalUInt16(mask, bases, offset, data); + + /// + /// void svstnt1h_scatter[_u32base]_index[_s32](svbool_t pg, svuint32_t bases, int64_t index, svint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate16NonTemporalUInt16(mask, bases, index, data); + + /// + /// void svstnt1h_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate16NonTemporalUInt16(mask, bases, offset, data); + + /// + /// void svstnt1h_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate16NonTemporalUInt16(mask, bases, index, data); + + /// + /// void svstnt1h_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate16NonTemporalUInt16(mask, bases, offset, data); + + /// + /// void svstnt1h_scatter[_u32base]_index[_u32](svbool_t pg, svuint32_t bases, int64_t index, svuint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate16NonTemporalUInt16(mask, bases, index, data); + + /// + /// void svstnt1h_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate16NonTemporalUInt16(mask, bases, offset, data); + + /// + /// void svstnt1h_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate16NonTemporalUInt16(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate16NonTemporalUInt16(mask, bases, index, data); + + + /// ScatterTruncate32NonTemporalUInt32 : Truncate to 32 bits and store, non-temporal + + /// + /// void svstnt1w_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate32NonTemporalUInt32(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate32NonTemporalUInt32(mask, bases, offset, data); + + /// + /// void svstnt1w_scatter[_u64base]_index[_s64](svbool_t pg, svuint64_t bases, int64_t index, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate32NonTemporalUInt32(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate32NonTemporalUInt32(mask, bases, index, data); + + /// + /// void svstnt1w_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate32NonTemporalUInt32(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate32NonTemporalUInt32(mask, bases, offset, data); + + /// + /// void svstnt1w_scatter[_u64base]_index[_u64](svbool_t pg, svuint64_t bases, int64_t index, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate32NonTemporalUInt32(Vector mask, Vector bases, long index, Vector data) => ScatterTruncate32NonTemporalUInt32(mask, bases, index, data); + + + /// ScatterTruncate8NonTemporalByte : Truncate to 8 bits and store, non-temporal + + /// + /// void svstnt1b_scatter[_u32base]_offset[_s32](svbool_t pg, svuint32_t bases, int64_t offset, svint32_t data) + /// STNT1B Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate8NonTemporalByte(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate8NonTemporalByte(mask, bases, offset, data); + + /// + /// void svstnt1b_scatter[_u64base]_offset[_s64](svbool_t pg, svuint64_t bases, int64_t offset, svint64_t data) + /// STNT1B Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate8NonTemporalByte(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate8NonTemporalByte(mask, bases, offset, data); + + /// + /// void svstnt1b_scatter[_u32base]_offset[_u32](svbool_t pg, svuint32_t bases, int64_t offset, svuint32_t data) + /// STNT1B Zdata.S, Pg, [Zbases.S, Xoffset] + /// + public static unsafe void ScatterTruncate8NonTemporalByte(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate8NonTemporalByte(mask, bases, offset, data); + + /// + /// void svstnt1b_scatter[_u64base]_offset[_u64](svbool_t pg, svuint64_t bases, int64_t offset, svuint64_t data) + /// STNT1B Zdata.D, Pg, [Zbases.D, Xoffset] + /// + public static unsafe void ScatterTruncate8NonTemporalByte(Vector mask, Vector bases, long offset, Vector data) => ScatterTruncate8NonTemporalByte(mask, bases, offset, data); + + + /// ScatterUInt32NarrowToByte : Truncate to 8 bits and store, non-temporal + + /// + /// void svstnt1b_scatter_[u32]offset[_s32](svbool_t pg, int8_t *base, svuint32_t offsets, svint32_t data) + /// STNT1B Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, sbyte *base, Vector offsets, Vector data) => ScatterUInt32NarrowToByte(mask, *base, offsets, data); + + /// + /// void svstnt1b_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// STNT1B Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, Vector bases, Vector data) => ScatterUInt32NarrowToByte(mask, bases, data); + + /// + /// void svstnt1b_scatter_[u32]offset[_u32](svbool_t pg, uint8_t *base, svuint32_t offsets, svuint32_t data) + /// STNT1B Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterUInt32NarrowToByte(Vector mask, byte *base, Vector offsets, Vector data) => ScatterUInt32NarrowToByte(mask, *base, offsets, data); + + + /// ScatterUInt32NarrowToUInt16 : Truncate to 16 bits and store, non-temporal + + /// + /// void svstnt1h_scatter_[u32]offset[_s32](svbool_t pg, int16_t *base, svuint32_t offsets, svint32_t data) + /// STNT1H Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, short *base, Vector offsets, Vector data) => ScatterUInt32NarrowToUInt16(mask, *base, offsets, data); + + /// + /// void svstnt1h_scatter[_u32base_u32](svbool_t pg, svuint32_t bases, svuint32_t data) + /// STNT1H Zdata.S, Pg, [Zbases.S, XZR] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, Vector bases, Vector data) => ScatterUInt32NarrowToUInt16(mask, bases, data); + + /// + /// void svstnt1h_scatter_[u32]offset[_u32](svbool_t pg, uint16_t *base, svuint32_t offsets, svuint32_t data) + /// STNT1H Zdata.S, Pg, [Zoffsets.S, Xbase] + /// + public static unsafe void ScatterUInt32NarrowToUInt16(Vector mask, ushort *base, Vector offsets, Vector data) => ScatterUInt32NarrowToUInt16(mask, *base, offsets, data); + + + /// ScatterUInt64NarrowToByte : Truncate to 8 bits and store, non-temporal + + /// + /// void svstnt1b_scatter_[u64]offset[_s64](svbool_t pg, int8_t *base, svuint64_t offsets, svint64_t data) + /// STNT1B Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, sbyte *base, Vector offsets, Vector data) => ScatterUInt64NarrowToByte(mask, *base, offsets, data); + + /// + /// void svstnt1b_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// STNT1B Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, Vector bases, Vector data) => ScatterUInt64NarrowToByte(mask, bases, data); + + /// + /// void svstnt1b_scatter_[u64]offset[_u64](svbool_t pg, uint8_t *base, svuint64_t offsets, svuint64_t data) + /// STNT1B Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToByte(Vector mask, byte *base, Vector offsets, Vector data) => ScatterUInt64NarrowToByte(mask, *base, offsets, data); + + + /// ScatterUInt64NarrowToUInt16 : Truncate to 16 bits and store, non-temporal + + /// + /// void svstnt1h_scatter_[u64]offset[_s64](svbool_t pg, int16_t *base, svuint64_t offsets, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, short *base, Vector offsets, Vector data) => ScatterUInt64NarrowToUInt16(mask, *base, offsets, data); + + /// + /// void svstnt1h_scatter_[u64]index[_s64](svbool_t pg, int16_t *base, svuint64_t indices, svint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, short *base, Vector indices, Vector data) => ScatterUInt64NarrowToUInt16(mask, *base, indices, data); + + /// + /// void svstnt1h_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, Vector bases, Vector data) => ScatterUInt64NarrowToUInt16(mask, bases, data); + + /// + /// void svstnt1h_scatter_[u64]offset[_u64](svbool_t pg, uint16_t *base, svuint64_t offsets, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, ushort *base, Vector offsets, Vector data) => ScatterUInt64NarrowToUInt16(mask, *base, offsets, data); + + /// + /// void svstnt1h_scatter_[u64]index[_u64](svbool_t pg, uint16_t *base, svuint64_t indices, svuint64_t data) + /// STNT1H Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt16(Vector mask, ushort *base, Vector indices, Vector data) => ScatterUInt64NarrowToUInt16(mask, *base, indices, data); + + + /// ScatterUInt64NarrowToUInt32 : Truncate to 32 bits and store, non-temporal + + /// + /// void svstnt1w_scatter_[u64]offset[_s64](svbool_t pg, int32_t *base, svuint64_t offsets, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, int *base, Vector offsets, Vector data) => ScatterUInt64NarrowToUInt32(mask, *base, offsets, data); + + /// + /// void svstnt1w_scatter_[u64]index[_s64](svbool_t pg, int32_t *base, svuint64_t indices, svint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, int *base, Vector indices, Vector data) => ScatterUInt64NarrowToUInt32(mask, *base, indices, data); + + /// + /// void svstnt1w_scatter[_u64base_u64](svbool_t pg, svuint64_t bases, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zbases.D, XZR] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, Vector bases, Vector data) => ScatterUInt64NarrowToUInt32(mask, bases, data); + + /// + /// void svstnt1w_scatter_[u64]offset[_u64](svbool_t pg, uint32_t *base, svuint64_t offsets, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, uint *base, Vector offsets, Vector data) => ScatterUInt64NarrowToUInt32(mask, *base, offsets, data); + + /// + /// void svstnt1w_scatter_[u64]index[_u64](svbool_t pg, uint32_t *base, svuint64_t indices, svuint64_t data) + /// STNT1W Zdata.D, Pg, [Zoffsets.D, Xbase] + /// + public static unsafe void ScatterUInt64NarrowToUInt32(Vector mask, uint *base, Vector indices, Vector data) => ScatterUInt64NarrowToUInt32(mask, *base, indices, data); + + + /// ShiftLeftAndInsert : Shift left and insert + + /// + /// svint8_t svsli[_n_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// SLI Ztied1.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftLeftAndInsert(op1, op2, imm3); + + /// + /// svint16_t svsli[_n_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// SLI Ztied1.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftLeftAndInsert(op1, op2, imm3); + + /// + /// svint32_t svsli[_n_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// SLI Ztied1.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftLeftAndInsert(op1, op2, imm3); + + /// + /// svint64_t svsli[_n_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// SLI Ztied1.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftLeftAndInsert(op1, op2, imm3); + + /// + /// svuint8_t svsli[_n_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// SLI Ztied1.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftLeftAndInsert(op1, op2, imm3); + + /// + /// svuint16_t svsli[_n_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// SLI Ztied1.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftLeftAndInsert(op1, op2, imm3); + + /// + /// svuint32_t svsli[_n_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// SLI Ztied1.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftLeftAndInsert(op1, op2, imm3); + + /// + /// svuint64_t svsli[_n_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// SLI Ztied1.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftLeftAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftLeftAndInsert(op1, op2, imm3); + + + /// ShiftLeftWideningLower : Shift left long (bottom) + + /// + /// svint16_t svshllb[_n_s16](svint8_t op1, uint64_t imm2) + /// SSHLLB Zresult.H, Zop1.B, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) => ShiftLeftWideningLower(op1, imm2); + + /// + /// svint32_t svshllb[_n_s32](svint16_t op1, uint64_t imm2) + /// SSHLLB Zresult.S, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) => ShiftLeftWideningLower(op1, imm2); + + /// + /// svint64_t svshllb[_n_s64](svint32_t op1, uint64_t imm2) + /// SSHLLB Zresult.D, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) => ShiftLeftWideningLower(op1, imm2); + + /// + /// svuint16_t svshllb[_n_u16](svuint8_t op1, uint64_t imm2) + /// USHLLB Zresult.H, Zop1.B, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) => ShiftLeftWideningLower(op1, imm2); + + /// + /// svuint32_t svshllb[_n_u32](svuint16_t op1, uint64_t imm2) + /// USHLLB Zresult.S, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) => ShiftLeftWideningLower(op1, imm2); + + /// + /// svuint64_t svshllb[_n_u64](svuint32_t op1, uint64_t imm2) + /// USHLLB Zresult.D, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftLeftWideningLower(Vector op1, ulong imm2) => ShiftLeftWideningLower(op1, imm2); + + + /// ShiftLeftWideningUpper : Shift left long (top) + + /// + /// svint16_t svshllt[_n_s16](svint8_t op1, uint64_t imm2) + /// SSHLLT Zresult.H, Zop1.B, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) => ShiftLeftWideningUpper(op1, imm2); + + /// + /// svint32_t svshllt[_n_s32](svint16_t op1, uint64_t imm2) + /// SSHLLT Zresult.S, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) => ShiftLeftWideningUpper(op1, imm2); + + /// + /// svint64_t svshllt[_n_s64](svint32_t op1, uint64_t imm2) + /// SSHLLT Zresult.D, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) => ShiftLeftWideningUpper(op1, imm2); + + /// + /// svuint16_t svshllt[_n_u16](svuint8_t op1, uint64_t imm2) + /// USHLLT Zresult.H, Zop1.B, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) => ShiftLeftWideningUpper(op1, imm2); + + /// + /// svuint32_t svshllt[_n_u32](svuint16_t op1, uint64_t imm2) + /// USHLLT Zresult.S, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) => ShiftLeftWideningUpper(op1, imm2); + + /// + /// svuint64_t svshllt[_n_u64](svuint32_t op1, uint64_t imm2) + /// USHLLT Zresult.D, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftLeftWideningUpper(Vector op1, ulong imm2) => ShiftLeftWideningUpper(op1, imm2); + + + /// ShiftRightAndAccumulate : Shift right and accumulate + + /// + /// svint8_t svsra[_n_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// SSRA Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; SSRA Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => ShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svint16_t svsra[_n_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// SSRA Ztied1.H, Zop2.H, #imm3 + /// MOVPRFX Zresult, Zop1; SSRA Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => ShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svint32_t svsra[_n_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// SSRA Ztied1.S, Zop2.S, #imm3 + /// MOVPRFX Zresult, Zop1; SSRA Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => ShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svint64_t svsra[_n_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// SSRA Ztied1.D, Zop2.D, #imm3 + /// MOVPRFX Zresult, Zop1; SSRA Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => ShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svuint8_t svsra[_n_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// USRA Ztied1.B, Zop2.B, #imm3 + /// MOVPRFX Zresult, Zop1; USRA Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => ShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svuint16_t svsra[_n_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// USRA Ztied1.H, Zop2.H, #imm3 + /// MOVPRFX Zresult, Zop1; USRA Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => ShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svuint32_t svsra[_n_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// USRA Ztied1.S, Zop2.S, #imm3 + /// MOVPRFX Zresult, Zop1; USRA Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => ShiftRightAndAccumulate(op1, op2, imm3); + + /// + /// svuint64_t svsra[_n_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// USRA Ztied1.D, Zop2.D, #imm3 + /// MOVPRFX Zresult, Zop1; USRA Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftRightAndAccumulate(Vector op1, Vector op2, ulong imm3) => ShiftRightAndAccumulate(op1, op2, imm3); + + + /// ShiftRightAndInsert : Shift right and insert + + /// + /// svint8_t svsri[_n_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// SRI Ztied1.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftRightAndInsert(op1, op2, imm3); + + /// + /// svint16_t svsri[_n_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// SRI Ztied1.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftRightAndInsert(op1, op2, imm3); + + /// + /// svint32_t svsri[_n_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// SRI Ztied1.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftRightAndInsert(op1, op2, imm3); + + /// + /// svint64_t svsri[_n_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// SRI Ztied1.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftRightAndInsert(op1, op2, imm3); + + /// + /// svuint8_t svsri[_n_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// SRI Ztied1.B, Zop2.B, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftRightAndInsert(op1, op2, imm3); + + /// + /// svuint16_t svsri[_n_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// SRI Ztied1.H, Zop2.H, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftRightAndInsert(op1, op2, imm3); + + /// + /// svuint32_t svsri[_n_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// SRI Ztied1.S, Zop2.S, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftRightAndInsert(op1, op2, imm3); + + /// + /// svuint64_t svsri[_n_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// SRI Ztied1.D, Zop2.D, #imm3 + /// + public static unsafe Vector ShiftRightAndInsert(Vector op1, Vector op2, ulong imm3) => ShiftRightAndInsert(op1, op2, imm3); + + + /// ShiftRightNarrowingLower : Shift right narrow (bottom) + + /// + /// svint8_t svshrnb[_n_s16](svint16_t op1, uint64_t imm2) + /// SHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) => ShiftRightNarrowingLower(op1, imm2); + + /// + /// svint16_t svshrnb[_n_s32](svint32_t op1, uint64_t imm2) + /// SHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) => ShiftRightNarrowingLower(op1, imm2); + + /// + /// svint32_t svshrnb[_n_s64](svint64_t op1, uint64_t imm2) + /// SHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) => ShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint8_t svshrnb[_n_u16](svuint16_t op1, uint64_t imm2) + /// SHRNB Zresult.B, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) => ShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint16_t svshrnb[_n_u32](svuint32_t op1, uint64_t imm2) + /// SHRNB Zresult.H, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) => ShiftRightNarrowingLower(op1, imm2); + + /// + /// svuint32_t svshrnb[_n_u64](svuint64_t op1, uint64_t imm2) + /// SHRNB Zresult.S, Zop1.D, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingLower(Vector op1, ulong imm2) => ShiftRightNarrowingLower(op1, imm2); + + + /// ShiftRightNarrowingUpper : Shift right narrow (top) + + /// + /// svint8_t svshrnt[_n_s16](svint8_t even, svint16_t op1, uint64_t imm2) + /// SHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => ShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svint16_t svshrnt[_n_s32](svint16_t even, svint32_t op1, uint64_t imm2) + /// SHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => ShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svint32_t svshrnt[_n_s64](svint32_t even, svint64_t op1, uint64_t imm2) + /// SHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => ShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint8_t svshrnt[_n_u16](svuint8_t even, svuint16_t op1, uint64_t imm2) + /// SHRNT Ztied.B, Zop1.H, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => ShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint16_t svshrnt[_n_u32](svuint16_t even, svuint32_t op1, uint64_t imm2) + /// SHRNT Ztied.H, Zop1.S, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => ShiftRightNarrowingUpper(even, op1, imm2); + + /// + /// svuint32_t svshrnt[_n_u64](svuint32_t even, svuint64_t op1, uint64_t imm2) + /// SHRNT Ztied.S, Zop1.D, #imm2 + /// + public static unsafe Vector ShiftRightNarrowingUpper(Vector even, Vector op1, ulong imm2) => ShiftRightNarrowingUpper(even, op1, imm2); + + + /// SubtractHighNarowingLower : Subtract narrow high part (bottom) + + /// + /// svint8_t svsubhnb[_s16](svint16_t op1, svint16_t op2) + /// SUBHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) => SubtractHighNarowingLower(left, right); + + /// + /// svint16_t svsubhnb[_s32](svint32_t op1, svint32_t op2) + /// SUBHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) => SubtractHighNarowingLower(left, right); + + /// + /// svint32_t svsubhnb[_s64](svint64_t op1, svint64_t op2) + /// SUBHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) => SubtractHighNarowingLower(left, right); + + /// + /// svuint8_t svsubhnb[_u16](svuint16_t op1, svuint16_t op2) + /// SUBHNB Zresult.B, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) => SubtractHighNarowingLower(left, right); + + /// + /// svuint16_t svsubhnb[_u32](svuint32_t op1, svuint32_t op2) + /// SUBHNB Zresult.H, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) => SubtractHighNarowingLower(left, right); + + /// + /// svuint32_t svsubhnb[_u64](svuint64_t op1, svuint64_t op2) + /// SUBHNB Zresult.S, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractHighNarowingLower(Vector left, Vector right) => SubtractHighNarowingLower(left, right); + + + /// SubtractHighNarowingUpper : Subtract narrow high part (top) + + /// + /// svint8_t svsubhnt[_s16](svint8_t even, svint16_t op1, svint16_t op2) + /// SUBHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) => SubtractHighNarowingUpper(even, left, right); + + /// + /// svint16_t svsubhnt[_s32](svint16_t even, svint32_t op1, svint32_t op2) + /// SUBHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) => SubtractHighNarowingUpper(even, left, right); + + /// + /// svint32_t svsubhnt[_s64](svint32_t even, svint64_t op1, svint64_t op2) + /// SUBHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) => SubtractHighNarowingUpper(even, left, right); + + /// + /// svuint8_t svsubhnt[_u16](svuint8_t even, svuint16_t op1, svuint16_t op2) + /// SUBHNT Ztied.B, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) => SubtractHighNarowingUpper(even, left, right); + + /// + /// svuint16_t svsubhnt[_u32](svuint16_t even, svuint32_t op1, svuint32_t op2) + /// SUBHNT Ztied.H, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) => SubtractHighNarowingUpper(even, left, right); + + /// + /// svuint32_t svsubhnt[_u64](svuint32_t even, svuint64_t op1, svuint64_t op2) + /// SUBHNT Ztied.S, Zop1.D, Zop2.D + /// + public static unsafe Vector SubtractHighNarowingUpper(Vector even, Vector left, Vector right) => SubtractHighNarowingUpper(even, left, right); + + + /// SubtractSaturate : Saturating subtract + + /// + /// svint8_t svqsub[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SQSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqsub[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SQSUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SQSUB Zresult.B, Zop1.B, Zop2.B + /// svint8_t svqsub[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SQSUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svint16_t svqsub[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SQSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqsub[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SQSUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SQSUB Zresult.H, Zop1.H, Zop2.H + /// svint16_t svqsub[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SQSUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svint32_t svqsub[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SQSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqsub[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SQSUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SQSUB Zresult.S, Zop1.S, Zop2.S + /// svint32_t svqsub[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SQSUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svint64_t svqsub[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SQSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqsub[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SQSUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SQSUB Zresult.D, Zop1.D, Zop2.D + /// svint64_t svqsub[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SQSUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svuint8_t svqsub[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UQSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqsub[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQSUB Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UQSUBR Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// UQSUB Zresult.B, Zop1.B, Zop2.B + /// svuint8_t svqsub[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UQSUB Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UQSUBR Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svuint16_t svqsub[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UQSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqsub[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UQSUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// UQSUB Zresult.H, Zop1.H, Zop2.H + /// svuint16_t svqsub[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UQSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UQSUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svuint32_t svqsub[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UQSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqsub[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQSUB Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UQSUBR Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// UQSUB Zresult.S, Zop1.S, Zop2.S + /// svuint32_t svqsub[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UQSUB Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UQSUBR Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + /// + /// svuint64_t svqsub[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UQSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqsub[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQSUB Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UQSUBR Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// UQSUB Zresult.D, Zop1.D, Zop2.D + /// svuint64_t svqsub[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UQSUB Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UQSUBR Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractSaturate(Vector left, Vector right) => SubtractSaturate(left, right); + + + /// SubtractSaturateReversed : Saturating subtract reversed + + /// + /// svint8_t svqsubr[_s8]_m(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; SQSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svint8_t svqsubr[_s8]_x(svbool_t pg, svint8_t op1, svint8_t op2) + /// SQSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// SQSUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// SQSUB Zresult.B, Zop2.B, Zop1.B + /// svint8_t svqsubr[_s8]_z(svbool_t pg, svint8_t op1, svint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; SQSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; SQSUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) => SubtractSaturateReversed(left, right); + + /// + /// svint16_t svqsubr[_s16]_m(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SQSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svint16_t svqsubr[_s16]_x(svbool_t pg, svint16_t op1, svint16_t op2) + /// SQSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// SQSUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// SQSUB Zresult.H, Zop2.H, Zop1.H + /// svint16_t svqsubr[_s16]_z(svbool_t pg, svint16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; SQSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; SQSUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) => SubtractSaturateReversed(left, right); + + /// + /// svint32_t svqsubr[_s32]_m(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; SQSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svint32_t svqsubr[_s32]_x(svbool_t pg, svint32_t op1, svint32_t op2) + /// SQSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// SQSUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// SQSUB Zresult.S, Zop2.S, Zop1.S + /// svint32_t svqsubr[_s32]_z(svbool_t pg, svint32_t op1, svint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; SQSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; SQSUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) => SubtractSaturateReversed(left, right); + + /// + /// svint64_t svqsubr[_s64]_m(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; SQSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svint64_t svqsubr[_s64]_x(svbool_t pg, svint64_t op1, svint64_t op2) + /// SQSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// SQSUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// SQSUB Zresult.D, Zop2.D, Zop1.D + /// svint64_t svqsubr[_s64]_z(svbool_t pg, svint64_t op1, svint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; SQSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; SQSUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) => SubtractSaturateReversed(left, right); + + /// + /// svuint8_t svqsubr[_u8]_m(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// MOVPRFX Zresult, Zop1; UQSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// svuint8_t svqsubr[_u8]_x(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// UQSUBR Ztied1.B, Pg/M, Ztied1.B, Zop2.B + /// UQSUB Ztied2.B, Pg/M, Ztied2.B, Zop1.B + /// UQSUB Zresult.B, Zop2.B, Zop1.B + /// svuint8_t svqsubr[_u8]_z(svbool_t pg, svuint8_t op1, svuint8_t op2) + /// MOVPRFX Zresult.B, Pg/Z, Zop1.B; UQSUBR Zresult.B, Pg/M, Zresult.B, Zop2.B + /// MOVPRFX Zresult.B, Pg/Z, Zop2.B; UQSUB Zresult.B, Pg/M, Zresult.B, Zop1.B + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) => SubtractSaturateReversed(left, right); + + /// + /// svuint16_t svqsubr[_u16]_m(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; UQSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svuint16_t svqsubr[_u16]_x(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// UQSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// UQSUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// UQSUB Zresult.H, Zop2.H, Zop1.H + /// svuint16_t svqsubr[_u16]_z(svbool_t pg, svuint16_t op1, svuint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; UQSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; UQSUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) => SubtractSaturateReversed(left, right); + + /// + /// svuint32_t svqsubr[_u32]_m(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// MOVPRFX Zresult, Zop1; UQSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// svuint32_t svqsubr[_u32]_x(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// UQSUBR Ztied1.S, Pg/M, Ztied1.S, Zop2.S + /// UQSUB Ztied2.S, Pg/M, Ztied2.S, Zop1.S + /// UQSUB Zresult.S, Zop2.S, Zop1.S + /// svuint32_t svqsubr[_u32]_z(svbool_t pg, svuint32_t op1, svuint32_t op2) + /// MOVPRFX Zresult.S, Pg/Z, Zop1.S; UQSUBR Zresult.S, Pg/M, Zresult.S, Zop2.S + /// MOVPRFX Zresult.S, Pg/Z, Zop2.S; UQSUB Zresult.S, Pg/M, Zresult.S, Zop1.S + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) => SubtractSaturateReversed(left, right); + + /// + /// svuint64_t svqsubr[_u64]_m(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; UQSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// svuint64_t svqsubr[_u64]_x(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// UQSUBR Ztied1.D, Pg/M, Ztied1.D, Zop2.D + /// UQSUB Ztied2.D, Pg/M, Ztied2.D, Zop1.D + /// UQSUB Zresult.D, Zop2.D, Zop1.D + /// svuint64_t svqsubr[_u64]_z(svbool_t pg, svuint64_t op1, svuint64_t op2) + /// MOVPRFX Zresult.D, Pg/Z, Zop1.D; UQSUBR Zresult.D, Pg/M, Zresult.D, Zop2.D + /// MOVPRFX Zresult.D, Pg/Z, Zop2.D; UQSUB Zresult.D, Pg/M, Zresult.D, Zop1.D + /// + public static unsafe Vector SubtractSaturateReversed(Vector left, Vector right) => SubtractSaturateReversed(left, right); + + + /// SubtractWideLower : Subtract wide (bottom) + + /// + /// svint16_t svsubwb[_s16](svint16_t op1, svint8_t op2) + /// SSUBWB Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) => SubtractWideLower(left, right); + + /// + /// svint32_t svsubwb[_s32](svint32_t op1, svint16_t op2) + /// SSUBWB Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) => SubtractWideLower(left, right); + + /// + /// svint64_t svsubwb[_s64](svint64_t op1, svint32_t op2) + /// SSUBWB Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) => SubtractWideLower(left, right); + + /// + /// svuint16_t svsubwb[_u16](svuint16_t op1, svuint8_t op2) + /// USUBWB Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) => SubtractWideLower(left, right); + + /// + /// svuint32_t svsubwb[_u32](svuint32_t op1, svuint16_t op2) + /// USUBWB Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) => SubtractWideLower(left, right); + + /// + /// svuint64_t svsubwb[_u64](svuint64_t op1, svuint32_t op2) + /// USUBWB Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector SubtractWideLower(Vector left, Vector right) => SubtractWideLower(left, right); + + + /// SubtractWideUpper : Subtract wide (top) + + /// + /// svint16_t svsubwt[_s16](svint16_t op1, svint8_t op2) + /// SSUBWT Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) => SubtractWideUpper(left, right); + + /// + /// svint32_t svsubwt[_s32](svint32_t op1, svint16_t op2) + /// SSUBWT Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) => SubtractWideUpper(left, right); + + /// + /// svint64_t svsubwt[_s64](svint64_t op1, svint32_t op2) + /// SSUBWT Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) => SubtractWideUpper(left, right); + + /// + /// svuint16_t svsubwt[_u16](svuint16_t op1, svuint8_t op2) + /// USUBWT Zresult.H, Zop1.H, Zop2.B + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) => SubtractWideUpper(left, right); + + /// + /// svuint32_t svsubwt[_u32](svuint32_t op1, svuint16_t op2) + /// USUBWT Zresult.S, Zop1.S, Zop2.H + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) => SubtractWideUpper(left, right); + + /// + /// svuint64_t svsubwt[_u64](svuint64_t op1, svuint32_t op2) + /// USUBWT Zresult.D, Zop1.D, Zop2.S + /// + public static unsafe Vector SubtractWideUpper(Vector left, Vector right) => SubtractWideUpper(left, right); + + + /// SubtractWideningLower : Subtract long (bottom) + + /// + /// svint16_t svsublb[_s16](svint8_t op1, svint8_t op2) + /// SSUBLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) => SubtractWideningLower(left, right); + + /// + /// svint32_t svsublb[_s32](svint16_t op1, svint16_t op2) + /// SSUBLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) => SubtractWideningLower(left, right); + + /// + /// svint64_t svsublb[_s64](svint32_t op1, svint32_t op2) + /// SSUBLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) => SubtractWideningLower(left, right); + + /// + /// svuint16_t svsublb[_u16](svuint8_t op1, svuint8_t op2) + /// USUBLB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) => SubtractWideningLower(left, right); + + /// + /// svuint32_t svsublb[_u32](svuint16_t op1, svuint16_t op2) + /// USUBLB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) => SubtractWideningLower(left, right); + + /// + /// svuint64_t svsublb[_u64](svuint32_t op1, svuint32_t op2) + /// USUBLB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningLower(Vector left, Vector right) => SubtractWideningLower(left, right); + + + /// SubtractWideningLowerUpper : Subtract long (bottom - top) + + /// + /// svint16_t svsublbt[_s16](svint8_t op1, svint8_t op2) + /// SSUBLBT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningLowerUpper(Vector left, Vector right) => SubtractWideningLowerUpper(left, right); + + /// + /// svint32_t svsublbt[_s32](svint16_t op1, svint16_t op2) + /// SSUBLBT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningLowerUpper(Vector left, Vector right) => SubtractWideningLowerUpper(left, right); + + /// + /// svint64_t svsublbt[_s64](svint32_t op1, svint32_t op2) + /// SSUBLBT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningLowerUpper(Vector left, Vector right) => SubtractWideningLowerUpper(left, right); + + + /// SubtractWideningUpper : Subtract long (top) + + /// + /// svint16_t svsublt[_s16](svint8_t op1, svint8_t op2) + /// SSUBLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) => SubtractWideningUpper(left, right); + + /// + /// svint32_t svsublt[_s32](svint16_t op1, svint16_t op2) + /// SSUBLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) => SubtractWideningUpper(left, right); + + /// + /// svint64_t svsublt[_s64](svint32_t op1, svint32_t op2) + /// SSUBLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) => SubtractWideningUpper(left, right); + + /// + /// svuint16_t svsublt[_u16](svuint8_t op1, svuint8_t op2) + /// USUBLT Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) => SubtractWideningUpper(left, right); + + /// + /// svuint32_t svsublt[_u32](svuint16_t op1, svuint16_t op2) + /// USUBLT Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) => SubtractWideningUpper(left, right); + + /// + /// svuint64_t svsublt[_u64](svuint32_t op1, svuint32_t op2) + /// USUBLT Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningUpper(Vector left, Vector right) => SubtractWideningUpper(left, right); + + + /// SubtractWideningUpperLower : Subtract long (top - bottom) + + /// + /// svint16_t svsubltb[_s16](svint8_t op1, svint8_t op2) + /// SSUBLTB Zresult.H, Zop1.B, Zop2.B + /// + public static unsafe Vector SubtractWideningUpperLower(Vector left, Vector right) => SubtractWideningUpperLower(left, right); + + /// + /// svint32_t svsubltb[_s32](svint16_t op1, svint16_t op2) + /// SSUBLTB Zresult.S, Zop1.H, Zop2.H + /// + public static unsafe Vector SubtractWideningUpperLower(Vector left, Vector right) => SubtractWideningUpperLower(left, right); + + /// + /// svint64_t svsubltb[_s64](svint32_t op1, svint32_t op2) + /// SSUBLTB Zresult.D, Zop1.S, Zop2.S + /// + public static unsafe Vector SubtractWideningUpperLower(Vector left, Vector right) => SubtractWideningUpperLower(left, right); + + + /// SubtractWithBorrowWideningLower : Subtract with borrow long (bottom) + + /// + /// svuint32_t svsbclb[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// SBCLB Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SBCLB Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector SubtractWithBorrowWideningLower(Vector op1, Vector op2, Vector op3) => SubtractWithBorrowWideningLower(op1, op2, op3); + + /// + /// svuint64_t svsbclb[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// SBCLB Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; SBCLB Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector SubtractWithBorrowWideningLower(Vector op1, Vector op2, Vector op3) => SubtractWithBorrowWideningLower(op1, op2, op3); + + + /// SubtractWithBorrowWideningUpper : Subtract with borrow long (top) + + /// + /// svuint32_t svsbclt[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// SBCLT Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; SBCLT Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector SubtractWithBorrowWideningUpper(Vector op1, Vector op2, Vector op3) => SubtractWithBorrowWideningUpper(op1, op2, op3); + + /// + /// svuint64_t svsbclt[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// SBCLT Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; SBCLT Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector SubtractWithBorrowWideningUpper(Vector op1, Vector op2, Vector op3) => SubtractWithBorrowWideningUpper(op1, op2, op3); + + + /// UpConvertWideningUpper : Up convert long (top) + + /// + /// svfloat64_t svcvtlt_f64[_f32]_m(svfloat64_t inactive, svbool_t pg, svfloat32_t op) + /// FCVTLT Ztied.D, Pg/M, Zop.S + /// svfloat64_t svcvtlt_f64[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVTLT Ztied.D, Pg/M, Ztied.S + /// + public static unsafe Vector UpConvertWideningUpper(Vector value) => UpConvertWideningUpper(value); + + + /// VectorTableLookup : Table lookup in two-vector table + + /// + /// svint8_t svtbl2[_s8](svint8x2_t data, svuint8_t indices) + /// TBL Zresult.B, {Zdata0.B, Zdata1.B}, Zindices.B + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + /// + /// svint16_t svtbl2[_s16](svint16x2_t data, svuint16_t indices) + /// TBL Zresult.H, {Zdata0.H, Zdata1.H}, Zindices.H + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + /// + /// svint32_t svtbl2[_s32](svint32x2_t data, svuint32_t indices) + /// TBL Zresult.S, {Zdata0.S, Zdata1.S}, Zindices.S + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + /// + /// svint64_t svtbl2[_s64](svint64x2_t data, svuint64_t indices) + /// TBL Zresult.D, {Zdata0.D, Zdata1.D}, Zindices.D + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + /// + /// svuint8_t svtbl2[_u8](svuint8x2_t data, svuint8_t indices) + /// TBL Zresult.B, {Zdata0.B, Zdata1.B}, Zindices.B + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + /// + /// svuint16_t svtbl2[_u16](svuint16x2_t data, svuint16_t indices) + /// TBL Zresult.H, {Zdata0.H, Zdata1.H}, Zindices.H + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + /// + /// svuint32_t svtbl2[_u32](svuint32x2_t data, svuint32_t indices) + /// TBL Zresult.S, {Zdata0.S, Zdata1.S}, Zindices.S + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + /// + /// svuint64_t svtbl2[_u64](svuint64x2_t data, svuint64_t indices) + /// TBL Zresult.D, {Zdata0.D, Zdata1.D}, Zindices.D + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + /// + /// svfloat32_t svtbl2[_f32](svfloat32x2_t data, svuint32_t indices) + /// TBL Zresult.S, {Zdata0.S, Zdata1.S}, Zindices.S + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + /// + /// svfloat64_t svtbl2[_f64](svfloat64x2_t data, svuint64_t indices) + /// TBL Zresult.D, {Zdata0.D, Zdata1.D}, Zindices.D + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + + /// VectorTableLookupExtension : Table lookup in single-vector table (merging) + + /// + /// svint8_t svtbx[_s8](svint8_t fallback, svint8_t data, svuint8_t indices) + /// TBX Ztied.B, Zdata.B, Zindices.B + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + /// + /// svint16_t svtbx[_s16](svint16_t fallback, svint16_t data, svuint16_t indices) + /// TBX Ztied.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + /// + /// svint32_t svtbx[_s32](svint32_t fallback, svint32_t data, svuint32_t indices) + /// TBX Ztied.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + /// + /// svint64_t svtbx[_s64](svint64_t fallback, svint64_t data, svuint64_t indices) + /// TBX Ztied.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + /// + /// svuint8_t svtbx[_u8](svuint8_t fallback, svuint8_t data, svuint8_t indices) + /// TBX Ztied.B, Zdata.B, Zindices.B + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + /// + /// svuint16_t svtbx[_u16](svuint16_t fallback, svuint16_t data, svuint16_t indices) + /// TBX Ztied.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + /// + /// svuint32_t svtbx[_u32](svuint32_t fallback, svuint32_t data, svuint32_t indices) + /// TBX Ztied.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + /// + /// svuint64_t svtbx[_u64](svuint64_t fallback, svuint64_t data, svuint64_t indices) + /// TBX Ztied.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + /// + /// svfloat32_t svtbx[_f32](svfloat32_t fallback, svfloat32_t data, svuint32_t indices) + /// TBX Ztied.S, Zdata.S, Zindices.S + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + /// + /// svfloat64_t svtbx[_f64](svfloat64_t fallback, svfloat64_t data, svuint64_t indices) + /// TBX Ztied.D, Zdata.D, Zindices.D + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + + /// Xor : Bitwise exclusive OR of three vectors + + /// + /// svint8_t sveor3[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) => Xor(op1, op2, op3); + + /// + /// svint16_t sveor3[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) => Xor(op1, op2, op3); + + /// + /// svint32_t sveor3[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) => Xor(op1, op2, op3); + + /// + /// svint64_t sveor3[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) => Xor(op1, op2, op3); + + /// + /// svuint8_t sveor3[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) => Xor(op1, op2, op3); + + /// + /// svuint16_t sveor3[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) => Xor(op1, op2, op3); + + /// + /// svuint32_t sveor3[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) => Xor(op1, op2, op3); + + /// + /// svuint64_t sveor3[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// EOR3 Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// EOR3 Ztied2.D, Ztied2.D, Zop3.D, Zop1.D + /// EOR3 Ztied3.D, Ztied3.D, Zop1.D, Zop2.D + /// MOVPRFX Zresult, Zop1; EOR3 Zresult.D, Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector Xor(Vector op1, Vector op2, Vector op3) => Xor(op1, op2, op3); + + + /// XorRotateRight : Bitwise exclusive OR and rotate right + + /// + /// svint8_t svxar[_n_s8](svint8_t op1, svint8_t op2, uint64_t imm3) + /// XAR Ztied1.B, Ztied1.B, Zop2.B, #imm3 + /// XAR Ztied2.B, Ztied2.B, Zop1.B, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.B, Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) => XorRotateRight(op1, op2, imm3); + + /// + /// svint16_t svxar[_n_s16](svint16_t op1, svint16_t op2, uint64_t imm3) + /// XAR Ztied1.H, Ztied1.H, Zop2.H, #imm3 + /// XAR Ztied2.H, Ztied2.H, Zop1.H, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.H, Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) => XorRotateRight(op1, op2, imm3); + + /// + /// svint32_t svxar[_n_s32](svint32_t op1, svint32_t op2, uint64_t imm3) + /// XAR Ztied1.S, Ztied1.S, Zop2.S, #imm3 + /// XAR Ztied2.S, Ztied2.S, Zop1.S, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.S, Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) => XorRotateRight(op1, op2, imm3); + + /// + /// svint64_t svxar[_n_s64](svint64_t op1, svint64_t op2, uint64_t imm3) + /// XAR Ztied1.D, Ztied1.D, Zop2.D, #imm3 + /// XAR Ztied2.D, Ztied2.D, Zop1.D, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.D, Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) => XorRotateRight(op1, op2, imm3); + + /// + /// svuint8_t svxar[_n_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) + /// XAR Ztied1.B, Ztied1.B, Zop2.B, #imm3 + /// XAR Ztied2.B, Ztied2.B, Zop1.B, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.B, Zresult.B, Zop2.B, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) => XorRotateRight(op1, op2, imm3); + + /// + /// svuint16_t svxar[_n_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) + /// XAR Ztied1.H, Ztied1.H, Zop2.H, #imm3 + /// XAR Ztied2.H, Ztied2.H, Zop1.H, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.H, Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) => XorRotateRight(op1, op2, imm3); + + /// + /// svuint32_t svxar[_n_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) + /// XAR Ztied1.S, Ztied1.S, Zop2.S, #imm3 + /// XAR Ztied2.S, Ztied2.S, Zop1.S, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.S, Zresult.S, Zop2.S, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) => XorRotateRight(op1, op2, imm3); + + /// + /// svuint64_t svxar[_n_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) + /// XAR Ztied1.D, Ztied1.D, Zop2.D, #imm3 + /// XAR Ztied2.D, Ztied2.D, Zop1.D, #imm3 + /// MOVPRFX Zresult, Zop1; XAR Zresult.D, Zresult.D, Zop2.D, #imm3 + /// + public static unsafe Vector XorRotateRight(Vector op1, Vector op2, ulong imm3) => XorRotateRight(op1, op2, imm3); + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveAes.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveAes.PlatformNotSupported.cs new file mode 100644 index 0000000000000..b16c02ce927fe --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveAes.PlatformNotSupported.cs @@ -0,0 +1,80 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveAes : AdvSimd + { + internal SveAes() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// AesInverseMixColumns : AES inverse mix columns + + /// + /// svuint8_t svaesimc[_u8](svuint8_t op) + /// AESIMC Ztied.B, Ztied.B + /// + public static unsafe Vector AesInverseMixColumns(Vector value) { throw new PlatformNotSupportedException(); } + + + /// AesMixColumns : AES mix columns + + /// + /// svuint8_t svaesmc[_u8](svuint8_t op) + /// AESMC Ztied.B, Ztied.B + /// + public static unsafe Vector AesMixColumns(Vector value) { throw new PlatformNotSupportedException(); } + + + /// AesSingleRoundDecryption : AES single round decryption + + /// + /// svuint8_t svaesd[_u8](svuint8_t op1, svuint8_t op2) + /// AESD Ztied1.B, Ztied1.B, Zop2.B + /// AESD Ztied2.B, Ztied2.B, Zop1.B + /// + public static unsafe Vector AesSingleRoundDecryption(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AesSingleRoundEncryption : AES single round encryption + + /// + /// svuint8_t svaese[_u8](svuint8_t op1, svuint8_t op2) + /// AESE Ztied1.B, Ztied1.B, Zop2.B + /// AESE Ztied2.B, Ztied2.B, Zop1.B + /// + public static unsafe Vector AesSingleRoundEncryption(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// PolynomialMultiplyWideningLower : Polynomial multiply long (bottom) + + /// + /// svuint64_t svpmullb_pair[_u64](svuint64_t op1, svuint64_t op2) + /// PMULLB Zresult.Q, Zop1.D, Zop2.D + /// + public static unsafe Vector PolynomialMultiplyWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// PolynomialMultiplyWideningUpper : Polynomial multiply long (top) + + /// + /// svuint64_t svpmullt_pair[_u64](svuint64_t op1, svuint64_t op2) + /// PMULLT Zresult.Q, Zop1.D, Zop2.D + /// + public static unsafe Vector PolynomialMultiplyWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveAes.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveAes.cs new file mode 100644 index 0000000000000..907930b7feec7 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveAes.cs @@ -0,0 +1,80 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveAes : AdvSimd + { + internal SveAes() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// AesInverseMixColumns : AES inverse mix columns + + /// + /// svuint8_t svaesimc[_u8](svuint8_t op) + /// AESIMC Ztied.B, Ztied.B + /// + public static unsafe Vector AesInverseMixColumns(Vector value) => AesInverseMixColumns(value); + + + /// AesMixColumns : AES mix columns + + /// + /// svuint8_t svaesmc[_u8](svuint8_t op) + /// AESMC Ztied.B, Ztied.B + /// + public static unsafe Vector AesMixColumns(Vector value) => AesMixColumns(value); + + + /// AesSingleRoundDecryption : AES single round decryption + + /// + /// svuint8_t svaesd[_u8](svuint8_t op1, svuint8_t op2) + /// AESD Ztied1.B, Ztied1.B, Zop2.B + /// AESD Ztied2.B, Ztied2.B, Zop1.B + /// + public static unsafe Vector AesSingleRoundDecryption(Vector left, Vector right) => AesSingleRoundDecryption(left, right); + + + /// AesSingleRoundEncryption : AES single round encryption + + /// + /// svuint8_t svaese[_u8](svuint8_t op1, svuint8_t op2) + /// AESE Ztied1.B, Ztied1.B, Zop2.B + /// AESE Ztied2.B, Ztied2.B, Zop1.B + /// + public static unsafe Vector AesSingleRoundEncryption(Vector left, Vector right) => AesSingleRoundEncryption(left, right); + + + /// PolynomialMultiplyWideningLower : Polynomial multiply long (bottom) + + /// + /// svuint64_t svpmullb_pair[_u64](svuint64_t op1, svuint64_t op2) + /// PMULLB Zresult.Q, Zop1.D, Zop2.D + /// + public static unsafe Vector PolynomialMultiplyWideningLower(Vector left, Vector right) => PolynomialMultiplyWideningLower(left, right); + + + /// PolynomialMultiplyWideningUpper : Polynomial multiply long (top) + + /// + /// svuint64_t svpmullt_pair[_u64](svuint64_t op1, svuint64_t op2) + /// PMULLT Zresult.Q, Zop1.D, Zop2.D + /// + public static unsafe Vector PolynomialMultiplyWideningUpper(Vector left, Vector right) => PolynomialMultiplyWideningUpper(left, right); + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBf16.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBf16.PlatformNotSupported.cs new file mode 100644 index 0000000000000..1ab544f861eb2 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBf16.PlatformNotSupported.cs @@ -0,0 +1,484 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveBf16 : AdvSimd + { + internal SveBf16() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// Bfloat16DotProduct : BFloat16 dot product + + /// + /// svfloat32_t svbfdot[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3) + /// BFDOT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; BFDOT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector Bfloat16DotProduct(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svbfdot_lane[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3, uint64_t imm_index) + /// BFDOT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; BFDOT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector Bfloat16DotProduct(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// Bfloat16MatrixMultiplyAccumulate : BFloat16 matrix multiply-accumulate + + /// + /// svfloat32_t svbfmmla[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3) + /// BFMMLA Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; BFMMLA Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector Bfloat16MatrixMultiplyAccumulate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// Bfloat16MultiplyAddWideningToSinglePrecisionLower : BFloat16 multiply-add long to single-precision (bottom) + + /// + /// svfloat32_t svbfmlalb[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3) + /// BFMLALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; BFMLALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector Bfloat16MultiplyAddWideningToSinglePrecisionLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svbfmlalb_lane[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3, uint64_t imm_index) + /// BFMLALB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; BFMLALB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector Bfloat16MultiplyAddWideningToSinglePrecisionLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// Bfloat16MultiplyAddWideningToSinglePrecisionUpper : BFloat16 multiply-add long to single-precision (top) + + /// + /// svfloat32_t svbfmlalt[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3) + /// BFMLALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; BFMLALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector Bfloat16MultiplyAddWideningToSinglePrecisionUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svbfmlalt_lane[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3, uint64_t imm_index) + /// BFMLALT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; BFMLALT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector Bfloat16MultiplyAddWideningToSinglePrecisionUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// ConditionalExtractAfterLastActiveElement : Conditionally extract element after last + + /// + /// svbfloat16_t svclasta[_bf16](svbool_t pg, svbfloat16_t fallback, svbfloat16_t data) + /// CLASTA Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ConditionalExtractLastActiveElement : Conditionally extract last element + + /// + /// svbfloat16_t svclastb[_bf16](svbool_t pg, svbfloat16_t fallback, svbfloat16_t data) + /// CLASTB Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ConditionalSelect : Conditionally select elements + + /// + /// svbfloat16_t svsel[_bf16](svbool_t pg, svbfloat16_t op1, svbfloat16_t op2) + /// SEL Zresult.H, Pg, Zop1.H, Zop2.H + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ConvertToBFloat16 : Floating-point convert + + /// + /// svbfloat16_t svcvt_bf16[_f32]_m(svbfloat16_t inactive, svbool_t pg, svfloat32_t op) + /// BFCVT Ztied.H, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; BFCVT Zresult.H, Pg/M, Zop.S + /// svbfloat16_t svcvt_bf16[_f32]_x(svbool_t pg, svfloat32_t op) + /// BFCVT Ztied.H, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; BFCVT Zresult.H, Pg/M, Zop.S + /// svbfloat16_t svcvt_bf16[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; BFCVT Zresult.H, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToBFloat16(Vector value) { throw new PlatformNotSupportedException(); } + + + + /// CreateWhileReadAfterWriteMask : While free of read-after-write conflicts + + /// + /// svbool_t svwhilerw[_bf16](const bfloat16_t *op1, const bfloat16_t *op2) + /// WHILERW Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const bfloat16 left, const bfloat16 right) { throw new PlatformNotSupportedException(); } + + + /// CreateWhileWriteAfterReadMask : While free of write-after-read conflicts + + /// + /// svbool_t svwhilewr[_bf16](const bfloat16_t *op1, const bfloat16_t *op2) + /// WHILEWR Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const bfloat16 left, const bfloat16 right) { throw new PlatformNotSupportedException(); } + + + /// DownConvertNarrowingUpper : Down convert and narrow (top) + + /// + /// svbfloat16_t svcvtnt_bf16[_f32]_m(svbfloat16_t even, svbool_t pg, svfloat32_t op) + /// BFCVTNT Ztied.H, Pg/M, Zop.S + /// svbfloat16_t svcvtnt_bf16[_f32]_x(svbfloat16_t even, svbool_t pg, svfloat32_t op) + /// BFCVTNT Ztied.H, Pg/M, Zop.S + /// + public static unsafe Vector DownConvertNarrowingUpper(Vector value) { throw new PlatformNotSupportedException(); } + + + /// DuplicateSelectedScalarToVector : Broadcast a scalar value + + /// + /// svbfloat16_t svdup[_n]_bf16(bfloat16_t op) + /// DUP Zresult.H, #op + /// FDUP Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svbfloat16_t svdup[_n]_bf16_m(svbfloat16_t inactive, svbool_t pg, bfloat16_t op) + /// CPY Ztied.H, Pg/M, #bitcast(op) + /// FCPY Ztied.H, Pg/M, #op + /// CPY Ztied.H, Pg/M, Wop + /// CPY Ztied.H, Pg/M, Hop + /// svbfloat16_t svdup[_n]_bf16_x(svbool_t pg, bfloat16_t op) + /// CPY Zresult.H, Pg/Z, #bitcast(op) + /// DUP Zresult.H, #op + /// FCPY Zresult.H, Pg/M, #op + /// FDUP Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svbfloat16_t svdup[_n]_bf16_z(svbool_t pg, bfloat16_t op) + /// CPY Zresult.H, Pg/Z, #bitcast(op) + /// DUP Zresult.H, #0; FCPY Zresult.H, Pg/M, #op + /// DUP Zresult.H, #0; CPY Zresult.H, Pg/M, Wop + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CPY Zresult.H, Pg/M, Hop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(bfloat16 value) { throw new PlatformNotSupportedException(); } + + /// + /// svbfloat16_t svdup_lane[_bf16](svbfloat16_t data, uint16_t index) + /// DUP Zresult.H, Zdata.H[index] + /// TBL Zresult.H, Zdata.H, Zindex.H + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ushort index) { throw new PlatformNotSupportedException(); } + + /// + /// svbfloat16_t svdupq_lane[_bf16](svbfloat16_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + + /// ExtractAfterLast : Extract element after last + + /// + /// bfloat16_t svlasta[_bf16](svbool_t pg, svbfloat16_t op) + /// LASTA Wresult, Pg, Zop.H + /// LASTA Hresult, Pg, Zop.H + /// + public static unsafe bfloat16 ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ExtractLast : Extract last element + + /// + /// bfloat16_t svlastb[_bf16](svbool_t pg, svbfloat16_t op) + /// LASTB Wresult, Pg, Zop.H + /// LASTB Hresult, Pg, Zop.H + /// + public static unsafe bfloat16 ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ExtractVector : Extract vector from pair of vectors + + /// + /// svbfloat16_t svext[_bf16](svbfloat16_t op1, svbfloat16_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + + /// InsertIntoShiftedVector : Insert scalar into shifted vector + + /// + /// svbfloat16_t svinsr[_n_bf16](svbfloat16_t op1, bfloat16_t op2) + /// INSR Ztied1.H, Wop2 + /// INSR Ztied1.H, Hop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, bfloat16 right) { throw new PlatformNotSupportedException(); } + + + /// LoadVector : Unextended load + + /// + /// svbfloat16_t svld1[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const bfloat16 *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVector128AndReplicateToVector : Load and replicate 128 bits of data + + /// + /// svbfloat16_t svld1rq[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD1RQH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1RQH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1RQH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const bfloat16 *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorFirstFaulting : Unextended load, first-faulting + + /// + /// svbfloat16_t svldff1[_bf16](svbool_t pg, const bfloat16_t *base) + /// LDFF1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.H, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const bfloat16 *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorNonFaulting : Unextended load, non-faulting + + /// + /// svbfloat16_t svldnf1[_bf16](svbool_t pg, const bfloat16_t *base) + /// LDNF1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const bfloat16 *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorNonTemporal : Unextended load, non-temporal + + /// + /// svbfloat16_t svldnt1[_bf16](svbool_t pg, const bfloat16_t *base) + /// LDNT1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDNT1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const bfloat16 *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorx2 : Load two-element tuples into two vectors + + /// + /// svbfloat16x2_t svld2[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const bfloat16 *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorx3 : Load three-element tuples into three vectors + + /// + /// svbfloat16x3_t svld3[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const bfloat16 *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorx4 : Load four-element tuples into four vectors + + /// + /// svbfloat16x4_t svld4[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const bfloat16 *base) { throw new PlatformNotSupportedException(); } + + + /// PopCount : Count nonzero bits + + /// + /// svuint16_t svcnt[_bf16]_m(svuint16_t inactive, svbool_t pg, svbfloat16_t op) + /// CNT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_bf16]_x(svbool_t pg, svbfloat16_t op) + /// CNT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_bf16]_z(svbool_t pg, svbfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReverseElement : Reverse all elements + + /// + /// svbfloat16_t svrev[_bf16](svbfloat16_t op) + /// REV Zresult.H, Zop.H + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Splice : Splice two vectors under predicate control + + /// + /// svbfloat16_t svsplice[_bf16](svbool_t pg, svbfloat16_t op1, svbfloat16_t op2) + /// SPLICE Ztied1.H, Pg, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.H, Pg, Zresult.H, Zop2.H + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Store : Non-truncating store + + /// + /// void svst1[_bf16](svbool_t pg, bfloat16_t *base, svbfloat16_t data) + /// ST1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, bfloat16 *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreNonTemporal : Non-truncating store, non-temporal + + /// + /// void svstnt1[_bf16](svbool_t pg, bfloat16_t *base, svbfloat16_t data) + /// STNT1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// STNT1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, bfloat16 *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// Storex2 : Store two vectors into two-element tuples + + /// + /// void svst2[_bf16](svbool_t pg, bfloat16_t *base, svbfloat16x2_t data) + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, bfloat16 *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + + /// Storex3 : Store three vectors into three-element tuples + + /// + /// void svst3[_bf16](svbool_t pg, bfloat16_t *base, svbfloat16x3_t data) + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, bfloat16 *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + + /// Storex4 : Store four vectors into four-element tuples + + /// + /// void svst4[_bf16](svbool_t pg, bfloat16_t *base, svbfloat16x4_t data) + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, bfloat16 *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + + /// TransposeEven : Interleave even elements from two inputs + + /// + /// svbfloat16_t svtrn1[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// TRN1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// TransposeOdd : Interleave odd elements from two inputs + + /// + /// svbfloat16_t svtrn2[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// TRN2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// UnzipEven : Concatenate even elements from two inputs + + /// + /// svbfloat16_t svuzp1[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// UZP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// UnzipOdd : Concatenate odd elements from two inputs + + /// + /// svbfloat16_t svuzp2[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// UZP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// VectorTableLookup : Table lookup in single-vector table + + /// + /// svbfloat16_t svtbl[_bf16](svbfloat16_t data, svuint16_t indices) + /// TBL Zresult.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svbfloat16_t svtbl2[_bf16](svbfloat16x2_t data, svuint16_t indices) + /// TBL Zresult.H, {Zdata0.H, Zdata1.H}, Zindices.H + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + + /// VectorTableLookupExtension : Table lookup in single-vector table (merging) + + /// + /// svbfloat16_t svtbx[_bf16](svbfloat16_t fallback, svbfloat16_t data, svuint16_t indices) + /// TBX Ztied.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + + /// ZipHigh : Interleave elements from high halves of two inputs + + /// + /// svbfloat16_t svzip2[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// ZIP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ZipLow : Interleave elements from low halves of two inputs + + /// + /// svbfloat16_t svzip1[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// ZIP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBf16.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBf16.cs new file mode 100644 index 0000000000000..fe4217c31599e --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBf16.cs @@ -0,0 +1,484 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveBf16 : AdvSimd + { + internal SveBf16() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// Bfloat16DotProduct : BFloat16 dot product + + /// + /// svfloat32_t svbfdot[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3) + /// BFDOT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; BFDOT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector Bfloat16DotProduct(Vector op1, Vector op2, Vector op3) => Bfloat16DotProduct(op1, op2, op3); + + /// + /// svfloat32_t svbfdot_lane[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3, uint64_t imm_index) + /// BFDOT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; BFDOT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector Bfloat16DotProduct(Vector op1, Vector op2, Vector op3, ulong imm_index) => Bfloat16DotProduct(op1, op2, op3, imm_index); + + + /// Bfloat16MatrixMultiplyAccumulate : BFloat16 matrix multiply-accumulate + + /// + /// svfloat32_t svbfmmla[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3) + /// BFMMLA Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; BFMMLA Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector Bfloat16MatrixMultiplyAccumulate(Vector op1, Vector op2, Vector op3) => Bfloat16MatrixMultiplyAccumulate(op1, op2, op3); + + + /// Bfloat16MultiplyAddWideningToSinglePrecisionLower : BFloat16 multiply-add long to single-precision (bottom) + + /// + /// svfloat32_t svbfmlalb[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3) + /// BFMLALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; BFMLALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector Bfloat16MultiplyAddWideningToSinglePrecisionLower(Vector op1, Vector op2, Vector op3) => Bfloat16MultiplyAddWideningToSinglePrecisionLower(op1, op2, op3); + + /// + /// svfloat32_t svbfmlalb_lane[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3, uint64_t imm_index) + /// BFMLALB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; BFMLALB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector Bfloat16MultiplyAddWideningToSinglePrecisionLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => Bfloat16MultiplyAddWideningToSinglePrecisionLower(op1, op2, op3, imm_index); + + + /// Bfloat16MultiplyAddWideningToSinglePrecisionUpper : BFloat16 multiply-add long to single-precision (top) + + /// + /// svfloat32_t svbfmlalt[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3) + /// BFMLALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; BFMLALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector Bfloat16MultiplyAddWideningToSinglePrecisionUpper(Vector op1, Vector op2, Vector op3) => Bfloat16MultiplyAddWideningToSinglePrecisionUpper(op1, op2, op3); + + /// + /// svfloat32_t svbfmlalt_lane[_f32](svfloat32_t op1, svbfloat16_t op2, svbfloat16_t op3, uint64_t imm_index) + /// BFMLALT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; BFMLALT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector Bfloat16MultiplyAddWideningToSinglePrecisionUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => Bfloat16MultiplyAddWideningToSinglePrecisionUpper(op1, op2, op3, imm_index); + + + /// ConditionalExtractAfterLastActiveElement : Conditionally extract element after last + + /// + /// svbfloat16_t svclasta[_bf16](svbool_t pg, svbfloat16_t fallback, svbfloat16_t data) + /// CLASTA Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + + /// ConditionalExtractLastActiveElement : Conditionally extract last element + + /// + /// svbfloat16_t svclastb[_bf16](svbool_t pg, svbfloat16_t fallback, svbfloat16_t data) + /// CLASTB Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + + /// ConditionalSelect : Conditionally select elements + + /// + /// svbfloat16_t svsel[_bf16](svbool_t pg, svbfloat16_t op1, svbfloat16_t op2) + /// SEL Zresult.H, Pg, Zop1.H, Zop2.H + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + + /// ConvertToBFloat16 : Floating-point convert + + /// + /// svbfloat16_t svcvt_bf16[_f32]_m(svbfloat16_t inactive, svbool_t pg, svfloat32_t op) + /// BFCVT Ztied.H, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; BFCVT Zresult.H, Pg/M, Zop.S + /// svbfloat16_t svcvt_bf16[_f32]_x(svbool_t pg, svfloat32_t op) + /// BFCVT Ztied.H, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; BFCVT Zresult.H, Pg/M, Zop.S + /// svbfloat16_t svcvt_bf16[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; BFCVT Zresult.H, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToBFloat16(Vector value) => ConvertToBFloat16(value); + + + + /// CreateWhileReadAfterWriteMask : While free of read-after-write conflicts + + /// + /// svbool_t svwhilerw[_bf16](const bfloat16_t *op1, const bfloat16_t *op2) + /// WHILERW Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const bfloat16 left, const bfloat16 right) => CreateWhileReadAfterWriteMask(bfloat16, bfloat16); + + + /// CreateWhileWriteAfterReadMask : While free of write-after-read conflicts + + /// + /// svbool_t svwhilewr[_bf16](const bfloat16_t *op1, const bfloat16_t *op2) + /// WHILEWR Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const bfloat16 left, const bfloat16 right) => CreateWhileWriteAfterReadMask(bfloat16, bfloat16); + + + /// DownConvertNarrowingUpper : Down convert and narrow (top) + + /// + /// svbfloat16_t svcvtnt_bf16[_f32]_m(svbfloat16_t even, svbool_t pg, svfloat32_t op) + /// BFCVTNT Ztied.H, Pg/M, Zop.S + /// svbfloat16_t svcvtnt_bf16[_f32]_x(svbfloat16_t even, svbool_t pg, svfloat32_t op) + /// BFCVTNT Ztied.H, Pg/M, Zop.S + /// + public static unsafe Vector DownConvertNarrowingUpper(Vector value) => DownConvertNarrowingUpper(value); + + + /// DuplicateSelectedScalarToVector : Broadcast a scalar value + + /// + /// svbfloat16_t svdup[_n]_bf16(bfloat16_t op) + /// DUP Zresult.H, #op + /// FDUP Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svbfloat16_t svdup[_n]_bf16_m(svbfloat16_t inactive, svbool_t pg, bfloat16_t op) + /// CPY Ztied.H, Pg/M, #bitcast(op) + /// FCPY Ztied.H, Pg/M, #op + /// CPY Ztied.H, Pg/M, Wop + /// CPY Ztied.H, Pg/M, Hop + /// svbfloat16_t svdup[_n]_bf16_x(svbool_t pg, bfloat16_t op) + /// CPY Zresult.H, Pg/Z, #bitcast(op) + /// DUP Zresult.H, #op + /// FCPY Zresult.H, Pg/M, #op + /// FDUP Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svbfloat16_t svdup[_n]_bf16_z(svbool_t pg, bfloat16_t op) + /// CPY Zresult.H, Pg/Z, #bitcast(op) + /// DUP Zresult.H, #0; FCPY Zresult.H, Pg/M, #op + /// DUP Zresult.H, #0; CPY Zresult.H, Pg/M, Wop + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CPY Zresult.H, Pg/M, Hop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(bfloat16 value) => DuplicateSelectedScalarToVector(value); + + /// + /// svbfloat16_t svdup_lane[_bf16](svbfloat16_t data, uint16_t index) + /// DUP Zresult.H, Zdata.H[index] + /// TBL Zresult.H, Zdata.H, Zindex.H + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ushort index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svbfloat16_t svdupq_lane[_bf16](svbfloat16_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + + /// ExtractAfterLast : Extract element after last + + /// + /// bfloat16_t svlasta[_bf16](svbool_t pg, svbfloat16_t op) + /// LASTA Wresult, Pg, Zop.H + /// LASTA Hresult, Pg, Zop.H + /// + public static unsafe bfloat16 ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + + /// ExtractLast : Extract last element + + /// + /// bfloat16_t svlastb[_bf16](svbool_t pg, svbfloat16_t op) + /// LASTB Wresult, Pg, Zop.H + /// LASTB Hresult, Pg, Zop.H + /// + public static unsafe bfloat16 ExtractLast(Vector value) => ExtractLast(value); + + + /// ExtractVector : Extract vector from pair of vectors + + /// + /// svbfloat16_t svext[_bf16](svbfloat16_t op1, svbfloat16_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + + /// InsertIntoShiftedVector : Insert scalar into shifted vector + + /// + /// svbfloat16_t svinsr[_n_bf16](svbfloat16_t op1, bfloat16_t op2) + /// INSR Ztied1.H, Wop2 + /// INSR Ztied1.H, Hop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, bfloat16 right) => InsertIntoShiftedVector(left, right); + + + /// LoadVector : Unextended load + + /// + /// svbfloat16_t svld1[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const bfloat16 *base) => LoadVector(mask, bfloat16); + + + /// LoadVector128AndReplicateToVector : Load and replicate 128 bits of data + + /// + /// svbfloat16_t svld1rq[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD1RQH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1RQH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1RQH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const bfloat16 *base) => LoadVector128AndReplicateToVector(mask, bfloat16); + + + /// LoadVectorFirstFaulting : Unextended load, first-faulting + + /// + /// svbfloat16_t svldff1[_bf16](svbool_t pg, const bfloat16_t *base) + /// LDFF1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.H, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const bfloat16 *base) => LoadVectorFirstFaulting(mask, bfloat16); + + + /// LoadVectorNonFaulting : Unextended load, non-faulting + + /// + /// svbfloat16_t svldnf1[_bf16](svbool_t pg, const bfloat16_t *base) + /// LDNF1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const bfloat16 *base) => LoadVectorNonFaulting(mask, bfloat16); + + + /// LoadVectorNonTemporal : Unextended load, non-temporal + + /// + /// svbfloat16_t svldnt1[_bf16](svbool_t pg, const bfloat16_t *base) + /// LDNT1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDNT1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const bfloat16 *base) => LoadVectorNonTemporal(mask, bfloat16); + + + /// LoadVectorx2 : Load two-element tuples into two vectors + + /// + /// svbfloat16x2_t svld2[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const bfloat16 *base) => LoadVectorx2(mask, bfloat16); + + + /// LoadVectorx3 : Load three-element tuples into three vectors + + /// + /// svbfloat16x3_t svld3[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const bfloat16 *base) => LoadVectorx3(mask, bfloat16); + + + /// LoadVectorx4 : Load four-element tuples into four vectors + + /// + /// svbfloat16x4_t svld4[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const bfloat16 *base) => LoadVectorx4(mask, bfloat16); + + + /// PopCount : Count nonzero bits + + /// + /// svuint16_t svcnt[_bf16]_m(svuint16_t inactive, svbool_t pg, svbfloat16_t op) + /// CNT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_bf16]_x(svbool_t pg, svbfloat16_t op) + /// CNT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_bf16]_z(svbool_t pg, svbfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + + /// ReverseElement : Reverse all elements + + /// + /// svbfloat16_t svrev[_bf16](svbfloat16_t op) + /// REV Zresult.H, Zop.H + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + + /// Splice : Splice two vectors under predicate control + + /// + /// svbfloat16_t svsplice[_bf16](svbool_t pg, svbfloat16_t op1, svbfloat16_t op2) + /// SPLICE Ztied1.H, Pg, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.H, Pg, Zresult.H, Zop2.H + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + + /// Store : Non-truncating store + + /// + /// void svst1[_bf16](svbool_t pg, bfloat16_t *base, svbfloat16_t data) + /// ST1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, bfloat16 *base, Vector data) => Store(mask, *base, data); + + + /// StoreNonTemporal : Non-truncating store, non-temporal + + /// + /// void svstnt1[_bf16](svbool_t pg, bfloat16_t *base, svbfloat16_t data) + /// STNT1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// STNT1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, bfloat16 *base, Vector data) => StoreNonTemporal(mask, *base, data); + + + /// Storex2 : Store two vectors into two-element tuples + + /// + /// void svst2[_bf16](svbool_t pg, bfloat16_t *base, svbfloat16x2_t data) + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, bfloat16 *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + + /// Storex3 : Store three vectors into three-element tuples + + /// + /// void svst3[_bf16](svbool_t pg, bfloat16_t *base, svbfloat16x3_t data) + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, bfloat16 *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + + /// Storex4 : Store four vectors into four-element tuples + + /// + /// void svst4[_bf16](svbool_t pg, bfloat16_t *base, svbfloat16x4_t data) + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, bfloat16 *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + + /// TransposeEven : Interleave even elements from two inputs + + /// + /// svbfloat16_t svtrn1[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// TRN1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + + /// TransposeOdd : Interleave odd elements from two inputs + + /// + /// svbfloat16_t svtrn2[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// TRN2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + + /// UnzipEven : Concatenate even elements from two inputs + + /// + /// svbfloat16_t svuzp1[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// UZP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + + /// UnzipOdd : Concatenate odd elements from two inputs + + /// + /// svbfloat16_t svuzp2[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// UZP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + + /// VectorTableLookup : Table lookup in single-vector table + + /// + /// svbfloat16_t svtbl[_bf16](svbfloat16_t data, svuint16_t indices) + /// TBL Zresult.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svbfloat16_t svtbl2[_bf16](svbfloat16x2_t data, svuint16_t indices) + /// TBL Zresult.H, {Zdata0.H, Zdata1.H}, Zindices.H + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + + /// VectorTableLookupExtension : Table lookup in single-vector table (merging) + + /// + /// svbfloat16_t svtbx[_bf16](svbfloat16_t fallback, svbfloat16_t data, svuint16_t indices) + /// TBX Ztied.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + + /// ZipHigh : Interleave elements from high halves of two inputs + + /// + /// svbfloat16_t svzip2[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// ZIP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + + /// ZipLow : Interleave elements from low halves of two inputs + + /// + /// svbfloat16_t svzip1[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// ZIP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBitperm.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBitperm.PlatformNotSupported.cs new file mode 100644 index 0000000000000..be7b72987dd19 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBitperm.PlatformNotSupported.cs @@ -0,0 +1,105 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveBitperm : AdvSimd + { + internal SveBitperm() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// GatherLowerBitsFromPositionsSelectedByBitmask : Gather lower bits from positions selected by bitmask + + /// + /// svuint8_t svbext[_u8](svuint8_t op1, svuint8_t op2) + /// BEXT Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector GatherLowerBitsFromPositionsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbext[_u16](svuint16_t op1, svuint16_t op2) + /// BEXT Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector GatherLowerBitsFromPositionsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbext[_u32](svuint32_t op1, svuint32_t op2) + /// BEXT Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector GatherLowerBitsFromPositionsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbext[_u64](svuint64_t op1, svuint64_t op2) + /// BEXT Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector GatherLowerBitsFromPositionsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// GroupBitsToRightOrLeftAsSelectedByBitmask : Group bits to right or left as selected by bitmask + + /// + /// svuint8_t svbgrp[_u8](svuint8_t op1, svuint8_t op2) + /// BGRP Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector GroupBitsToRightOrLeftAsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbgrp[_u16](svuint16_t op1, svuint16_t op2) + /// BGRP Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector GroupBitsToRightOrLeftAsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbgrp[_u32](svuint32_t op1, svuint32_t op2) + /// BGRP Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector GroupBitsToRightOrLeftAsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbgrp[_u64](svuint64_t op1, svuint64_t op2) + /// BGRP Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector GroupBitsToRightOrLeftAsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ScatterLowerBitsIntoPositionsSelectedByBitmask : Scatter lower bits into positions selected by bitmask + + /// + /// svuint8_t svbdep[_u8](svuint8_t op1, svuint8_t op2) + /// BDEP Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector ScatterLowerBitsIntoPositionsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbdep[_u16](svuint16_t op1, svuint16_t op2) + /// BDEP Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ScatterLowerBitsIntoPositionsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbdep[_u32](svuint32_t op1, svuint32_t op2) + /// BDEP Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ScatterLowerBitsIntoPositionsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbdep[_u64](svuint64_t op1, svuint64_t op2) + /// BDEP Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ScatterLowerBitsIntoPositionsSelectedByBitmask(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBitperm.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBitperm.cs new file mode 100644 index 0000000000000..3c87adaa4eb75 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveBitperm.cs @@ -0,0 +1,105 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveBitperm : AdvSimd + { + internal SveBitperm() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// GatherLowerBitsFromPositionsSelectedByBitmask : Gather lower bits from positions selected by bitmask + + /// + /// svuint8_t svbext[_u8](svuint8_t op1, svuint8_t op2) + /// BEXT Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector GatherLowerBitsFromPositionsSelectedByBitmask(Vector left, Vector right) => GatherLowerBitsFromPositionsSelectedByBitmask(left, right); + + /// + /// svuint16_t svbext[_u16](svuint16_t op1, svuint16_t op2) + /// BEXT Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector GatherLowerBitsFromPositionsSelectedByBitmask(Vector left, Vector right) => GatherLowerBitsFromPositionsSelectedByBitmask(left, right); + + /// + /// svuint32_t svbext[_u32](svuint32_t op1, svuint32_t op2) + /// BEXT Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector GatherLowerBitsFromPositionsSelectedByBitmask(Vector left, Vector right) => GatherLowerBitsFromPositionsSelectedByBitmask(left, right); + + /// + /// svuint64_t svbext[_u64](svuint64_t op1, svuint64_t op2) + /// BEXT Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector GatherLowerBitsFromPositionsSelectedByBitmask(Vector left, Vector right) => GatherLowerBitsFromPositionsSelectedByBitmask(left, right); + + + /// GroupBitsToRightOrLeftAsSelectedByBitmask : Group bits to right or left as selected by bitmask + + /// + /// svuint8_t svbgrp[_u8](svuint8_t op1, svuint8_t op2) + /// BGRP Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector GroupBitsToRightOrLeftAsSelectedByBitmask(Vector left, Vector right) => GroupBitsToRightOrLeftAsSelectedByBitmask(left, right); + + /// + /// svuint16_t svbgrp[_u16](svuint16_t op1, svuint16_t op2) + /// BGRP Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector GroupBitsToRightOrLeftAsSelectedByBitmask(Vector left, Vector right) => GroupBitsToRightOrLeftAsSelectedByBitmask(left, right); + + /// + /// svuint32_t svbgrp[_u32](svuint32_t op1, svuint32_t op2) + /// BGRP Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector GroupBitsToRightOrLeftAsSelectedByBitmask(Vector left, Vector right) => GroupBitsToRightOrLeftAsSelectedByBitmask(left, right); + + /// + /// svuint64_t svbgrp[_u64](svuint64_t op1, svuint64_t op2) + /// BGRP Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector GroupBitsToRightOrLeftAsSelectedByBitmask(Vector left, Vector right) => GroupBitsToRightOrLeftAsSelectedByBitmask(left, right); + + + /// ScatterLowerBitsIntoPositionsSelectedByBitmask : Scatter lower bits into positions selected by bitmask + + /// + /// svuint8_t svbdep[_u8](svuint8_t op1, svuint8_t op2) + /// BDEP Zresult.B, Zop1.B, Zop2.B + /// + public static unsafe Vector ScatterLowerBitsIntoPositionsSelectedByBitmask(Vector left, Vector right) => ScatterLowerBitsIntoPositionsSelectedByBitmask(left, right); + + /// + /// svuint16_t svbdep[_u16](svuint16_t op1, svuint16_t op2) + /// BDEP Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ScatterLowerBitsIntoPositionsSelectedByBitmask(Vector left, Vector right) => ScatterLowerBitsIntoPositionsSelectedByBitmask(left, right); + + /// + /// svuint32_t svbdep[_u32](svuint32_t op1, svuint32_t op2) + /// BDEP Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector ScatterLowerBitsIntoPositionsSelectedByBitmask(Vector left, Vector right) => ScatterLowerBitsIntoPositionsSelectedByBitmask(left, right); + + /// + /// svuint64_t svbdep[_u64](svuint64_t op1, svuint64_t op2) + /// BDEP Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector ScatterLowerBitsIntoPositionsSelectedByBitmask(Vector left, Vector right) => ScatterLowerBitsIntoPositionsSelectedByBitmask(left, right); + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF32mm.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF32mm.PlatformNotSupported.cs new file mode 100644 index 0000000000000..a987ac04e524d --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF32mm.PlatformNotSupported.cs @@ -0,0 +1,34 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveF32mm : AdvSimd + { + internal SveF32mm() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// MatrixMultiplyAccumulate : Matrix multiply-accumulate + + /// + /// svfloat32_t svmmla[_f32](svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FMMLA Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; FMMLA Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector MatrixMultiplyAccumulate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF32mm.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF32mm.cs new file mode 100644 index 0000000000000..8f4a93c824c2b --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF32mm.cs @@ -0,0 +1,34 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveF32mm : AdvSimd + { + internal SveF32mm() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// MatrixMultiplyAccumulate : Matrix multiply-accumulate + + /// + /// svfloat32_t svmmla[_f32](svfloat32_t op1, svfloat32_t op2, svfloat32_t op3) + /// FMMLA Ztied1.S, Zop2.S, Zop3.S + /// MOVPRFX Zresult, Zop1; FMMLA Zresult.S, Zop2.S, Zop3.S + /// + public static unsafe Vector MatrixMultiplyAccumulate(Vector op1, Vector op2, Vector op3) => MatrixMultiplyAccumulate(op1, op2, op3); + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF64mm.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF64mm.PlatformNotSupported.cs new file mode 100644 index 0000000000000..710cf36383d98 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF64mm.PlatformNotSupported.cs @@ -0,0 +1,583 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveF64mm : AdvSimd + { + internal SveF64mm() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// ConcatenateEvenInt128FromTwoInputs : Concatenate even quadwords from two inputs + + /// + /// svint8_t svuzp1q[_s8](svint8_t op1, svint8_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svuzp1q[_s16](svint16_t op1, svint16_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svuzp1q[_s32](svint32_t op1, svint32_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svuzp1q[_s64](svint64_t op1, svint64_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svuzp1q[_u8](svuint8_t op1, svuint8_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svuzp1q[_u16](svuint16_t op1, svuint16_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svuzp1q[_u32](svuint32_t op1, svuint32_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svuzp1q[_u64](svuint64_t op1, svuint64_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbfloat16_t svuzp1q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svuzp1q[_f16](svfloat16_t op1, svfloat16_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svuzp1q[_f32](svfloat32_t op1, svfloat32_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svuzp1q[_f64](svfloat64_t op1, svfloat64_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ConcatenateOddInt128FromTwoInputs : Concatenate odd quadwords from two inputs + + /// + /// svint8_t svuzp2q[_s8](svint8_t op1, svint8_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svuzp2q[_s16](svint16_t op1, svint16_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svuzp2q[_s32](svint32_t op1, svint32_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svuzp2q[_s64](svint64_t op1, svint64_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svuzp2q[_u8](svuint8_t op1, svuint8_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svuzp2q[_u16](svuint16_t op1, svuint16_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svuzp2q[_u32](svuint32_t op1, svuint32_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svuzp2q[_u64](svuint64_t op1, svuint64_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbfloat16_t svuzp2q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svuzp2q[_f16](svfloat16_t op1, svfloat16_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svuzp2q[_f32](svfloat32_t op1, svfloat32_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svuzp2q[_f64](svfloat64_t op1, svfloat64_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// InterleaveEvenInt128FromTwoInputs : Interleave even quadwords from two inputs + + /// + /// svint8_t svtrn1q[_s8](svint8_t op1, svint8_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svtrn1q[_s16](svint16_t op1, svint16_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svtrn1q[_s32](svint32_t op1, svint32_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svtrn1q[_s64](svint64_t op1, svint64_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svtrn1q[_u8](svuint8_t op1, svuint8_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svtrn1q[_u16](svuint16_t op1, svuint16_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svtrn1q[_u32](svuint32_t op1, svuint32_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svtrn1q[_u64](svuint64_t op1, svuint64_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbfloat16_t svtrn1q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svtrn1q[_f16](svfloat16_t op1, svfloat16_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svtrn1q[_f32](svfloat32_t op1, svfloat32_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svtrn1q[_f64](svfloat64_t op1, svfloat64_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// InterleaveInt128FromHighHalvesOfTwoInputs : Interleave quadwords from high halves of two inputs + + /// + /// svint8_t svzip2q[_s8](svint8_t op1, svint8_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svzip2q[_s16](svint16_t op1, svint16_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svzip2q[_s32](svint32_t op1, svint32_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svzip2q[_s64](svint64_t op1, svint64_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svzip2q[_u8](svuint8_t op1, svuint8_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svzip2q[_u16](svuint16_t op1, svuint16_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svzip2q[_u32](svuint32_t op1, svuint32_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svzip2q[_u64](svuint64_t op1, svuint64_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbfloat16_t svzip2q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svzip2q[_f16](svfloat16_t op1, svfloat16_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svzip2q[_f32](svfloat32_t op1, svfloat32_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svzip2q[_f64](svfloat64_t op1, svfloat64_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// InterleaveInt128FromLowHalvesOfTwoInputs : Interleave quadwords from low halves of two inputs + + /// + /// svint8_t svzip1q[_s8](svint8_t op1, svint8_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svzip1q[_s16](svint16_t op1, svint16_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svzip1q[_s32](svint32_t op1, svint32_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svzip1q[_s64](svint64_t op1, svint64_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svzip1q[_u8](svuint8_t op1, svuint8_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svzip1q[_u16](svuint16_t op1, svuint16_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svzip1q[_u32](svuint32_t op1, svuint32_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svzip1q[_u64](svuint64_t op1, svuint64_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbfloat16_t svzip1q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svzip1q[_f16](svfloat16_t op1, svfloat16_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svzip1q[_f32](svfloat32_t op1, svfloat32_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svzip1q[_f64](svfloat64_t op1, svfloat64_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// InterleaveOddInt128FromTwoInputs : Interleave odd quadwords from two inputs + + /// + /// svint8_t svtrn2q[_s8](svint8_t op1, svint8_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svtrn2q[_s16](svint16_t op1, svint16_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svtrn2q[_s32](svint32_t op1, svint32_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svtrn2q[_s64](svint64_t op1, svint64_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svtrn2q[_u8](svuint8_t op1, svuint8_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svtrn2q[_u16](svuint16_t op1, svuint16_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svtrn2q[_u32](svuint32_t op1, svuint32_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svtrn2q[_u64](svuint64_t op1, svuint64_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svbfloat16_t svtrn2q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svtrn2q[_f16](svfloat16_t op1, svfloat16_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svtrn2q[_f32](svfloat32_t op1, svfloat32_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svtrn2q[_f64](svfloat64_t op1, svfloat64_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// LoadVector256AndReplicateToVector : Load and replicate 256 bits of data + + /// + /// svint8_t svld1ro[_s8](svbool_t pg, const int8_t *base) + /// LD1ROB Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1ROB Zresult.B, Pg/Z, [Xarray, #index] + /// LD1ROB Zresult.B, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const sbyte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svld1ro[_s16](svbool_t pg, const int16_t *base) + /// LD1ROH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1ROH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1ROH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const short *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svld1ro[_s32](svbool_t pg, const int32_t *base) + /// LD1ROW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1ROW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1ROW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const int *base) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svld1ro[_s64](svbool_t pg, const int64_t *base) + /// LD1ROD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1ROD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1ROD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const long *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint8_t svld1ro[_u8](svbool_t pg, const uint8_t *base) + /// LD1ROB Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1ROB Zresult.B, Pg/Z, [Xarray, #index] + /// LD1ROB Zresult.B, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const byte *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svld1ro[_u16](svbool_t pg, const uint16_t *base) + /// LD1ROH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1ROH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1ROH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const ushort *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svld1ro[_u32](svbool_t pg, const uint32_t *base) + /// LD1ROW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1ROW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1ROW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const uint *base) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svld1ro[_u64](svbool_t pg, const uint64_t *base) + /// LD1ROD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1ROD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1ROD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const ulong *base) { throw new PlatformNotSupportedException(); } + + /// + /// svbfloat16_t svld1ro[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD1ROH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1ROH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1ROH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const bfloat16 *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svld1ro[_f16](svbool_t pg, const float16_t *base) + /// LD1ROH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1ROH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1ROH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const half *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svld1ro[_f32](svbool_t pg, const float32_t *base) + /// LD1ROW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1ROW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1ROW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const float *base) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat64_t svld1ro[_f64](svbool_t pg, const float64_t *base) + /// LD1ROD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1ROD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1ROD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const double *base) { throw new PlatformNotSupportedException(); } + + + /// MatrixMultiplyAccumulate : Matrix multiply-accumulate + + /// + /// svfloat64_t svmmla[_f64](svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FMMLA Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; FMMLA Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector MatrixMultiplyAccumulate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF64mm.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF64mm.cs new file mode 100644 index 0000000000000..68eed7043ffff --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveF64mm.cs @@ -0,0 +1,583 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveF64mm : AdvSimd + { + internal SveF64mm() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// ConcatenateEvenInt128FromTwoInputs : Concatenate even quadwords from two inputs + + /// + /// svint8_t svuzp1q[_s8](svint8_t op1, svint8_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svint16_t svuzp1q[_s16](svint16_t op1, svint16_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svint32_t svuzp1q[_s32](svint32_t op1, svint32_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svint64_t svuzp1q[_s64](svint64_t op1, svint64_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svuint8_t svuzp1q[_u8](svuint8_t op1, svuint8_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svuint16_t svuzp1q[_u16](svuint16_t op1, svuint16_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svuint32_t svuzp1q[_u32](svuint32_t op1, svuint32_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svuint64_t svuzp1q[_u64](svuint64_t op1, svuint64_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svbfloat16_t svuzp1q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svfloat16_t svuzp1q[_f16](svfloat16_t op1, svfloat16_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svfloat32_t svuzp1q[_f32](svfloat32_t op1, svfloat32_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + /// + /// svfloat64_t svuzp1q[_f64](svfloat64_t op1, svfloat64_t op2) + /// UZP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateEvenInt128FromTwoInputs(Vector left, Vector right) => ConcatenateEvenInt128FromTwoInputs(left, right); + + + /// ConcatenateOddInt128FromTwoInputs : Concatenate odd quadwords from two inputs + + /// + /// svint8_t svuzp2q[_s8](svint8_t op1, svint8_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svint16_t svuzp2q[_s16](svint16_t op1, svint16_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svint32_t svuzp2q[_s32](svint32_t op1, svint32_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svint64_t svuzp2q[_s64](svint64_t op1, svint64_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svuint8_t svuzp2q[_u8](svuint8_t op1, svuint8_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svuint16_t svuzp2q[_u16](svuint16_t op1, svuint16_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svuint32_t svuzp2q[_u32](svuint32_t op1, svuint32_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svuint64_t svuzp2q[_u64](svuint64_t op1, svuint64_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svbfloat16_t svuzp2q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svfloat16_t svuzp2q[_f16](svfloat16_t op1, svfloat16_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svfloat32_t svuzp2q[_f32](svfloat32_t op1, svfloat32_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + /// + /// svfloat64_t svuzp2q[_f64](svfloat64_t op1, svfloat64_t op2) + /// UZP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector ConcatenateOddInt128FromTwoInputs(Vector left, Vector right) => ConcatenateOddInt128FromTwoInputs(left, right); + + + /// InterleaveEvenInt128FromTwoInputs : Interleave even quadwords from two inputs + + /// + /// svint8_t svtrn1q[_s8](svint8_t op1, svint8_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svint16_t svtrn1q[_s16](svint16_t op1, svint16_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svint32_t svtrn1q[_s32](svint32_t op1, svint32_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svint64_t svtrn1q[_s64](svint64_t op1, svint64_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svuint8_t svtrn1q[_u8](svuint8_t op1, svuint8_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svuint16_t svtrn1q[_u16](svuint16_t op1, svuint16_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svuint32_t svtrn1q[_u32](svuint32_t op1, svuint32_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svuint64_t svtrn1q[_u64](svuint64_t op1, svuint64_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svbfloat16_t svtrn1q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svfloat16_t svtrn1q[_f16](svfloat16_t op1, svfloat16_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svfloat32_t svtrn1q[_f32](svfloat32_t op1, svfloat32_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + /// + /// svfloat64_t svtrn1q[_f64](svfloat64_t op1, svfloat64_t op2) + /// TRN1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveEvenInt128FromTwoInputs(Vector left, Vector right) => InterleaveEvenInt128FromTwoInputs(left, right); + + + /// InterleaveInt128FromHighHalvesOfTwoInputs : Interleave quadwords from high halves of two inputs + + /// + /// svint8_t svzip2q[_s8](svint8_t op1, svint8_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svint16_t svzip2q[_s16](svint16_t op1, svint16_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svint32_t svzip2q[_s32](svint32_t op1, svint32_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svint64_t svzip2q[_s64](svint64_t op1, svint64_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svuint8_t svzip2q[_u8](svuint8_t op1, svuint8_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svuint16_t svzip2q[_u16](svuint16_t op1, svuint16_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svuint32_t svzip2q[_u32](svuint32_t op1, svuint32_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svuint64_t svzip2q[_u64](svuint64_t op1, svuint64_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svbfloat16_t svzip2q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svfloat16_t svzip2q[_f16](svfloat16_t op1, svfloat16_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svfloat32_t svzip2q[_f32](svfloat32_t op1, svfloat32_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + /// + /// svfloat64_t svzip2q[_f64](svfloat64_t op1, svfloat64_t op2) + /// ZIP2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromHighHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromHighHalvesOfTwoInputs(left, right); + + + /// InterleaveInt128FromLowHalvesOfTwoInputs : Interleave quadwords from low halves of two inputs + + /// + /// svint8_t svzip1q[_s8](svint8_t op1, svint8_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svint16_t svzip1q[_s16](svint16_t op1, svint16_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svint32_t svzip1q[_s32](svint32_t op1, svint32_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svint64_t svzip1q[_s64](svint64_t op1, svint64_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svuint8_t svzip1q[_u8](svuint8_t op1, svuint8_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svuint16_t svzip1q[_u16](svuint16_t op1, svuint16_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svuint32_t svzip1q[_u32](svuint32_t op1, svuint32_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svuint64_t svzip1q[_u64](svuint64_t op1, svuint64_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svbfloat16_t svzip1q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svfloat16_t svzip1q[_f16](svfloat16_t op1, svfloat16_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svfloat32_t svzip1q[_f32](svfloat32_t op1, svfloat32_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + /// + /// svfloat64_t svzip1q[_f64](svfloat64_t op1, svfloat64_t op2) + /// ZIP1 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveInt128FromLowHalvesOfTwoInputs(Vector left, Vector right) => InterleaveInt128FromLowHalvesOfTwoInputs(left, right); + + + /// InterleaveOddInt128FromTwoInputs : Interleave odd quadwords from two inputs + + /// + /// svint8_t svtrn2q[_s8](svint8_t op1, svint8_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svint16_t svtrn2q[_s16](svint16_t op1, svint16_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svint32_t svtrn2q[_s32](svint32_t op1, svint32_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svint64_t svtrn2q[_s64](svint64_t op1, svint64_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svuint8_t svtrn2q[_u8](svuint8_t op1, svuint8_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svuint16_t svtrn2q[_u16](svuint16_t op1, svuint16_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svuint32_t svtrn2q[_u32](svuint32_t op1, svuint32_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svuint64_t svtrn2q[_u64](svuint64_t op1, svuint64_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svbfloat16_t svtrn2q[_bf16](svbfloat16_t op1, svbfloat16_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svfloat16_t svtrn2q[_f16](svfloat16_t op1, svfloat16_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svfloat32_t svtrn2q[_f32](svfloat32_t op1, svfloat32_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + /// + /// svfloat64_t svtrn2q[_f64](svfloat64_t op1, svfloat64_t op2) + /// TRN2 Zresult.Q, Zop1.Q, Zop2.Q + /// + public static unsafe Vector InterleaveOddInt128FromTwoInputs(Vector left, Vector right) => InterleaveOddInt128FromTwoInputs(left, right); + + + /// LoadVector256AndReplicateToVector : Load and replicate 256 bits of data + + /// + /// svint8_t svld1ro[_s8](svbool_t pg, const int8_t *base) + /// LD1ROB Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1ROB Zresult.B, Pg/Z, [Xarray, #index] + /// LD1ROB Zresult.B, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const sbyte *base) => LoadVector256AndReplicateToVector(mask, sbyte); + + /// + /// svint16_t svld1ro[_s16](svbool_t pg, const int16_t *base) + /// LD1ROH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1ROH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1ROH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const short *base) => LoadVector256AndReplicateToVector(mask, short); + + /// + /// svint32_t svld1ro[_s32](svbool_t pg, const int32_t *base) + /// LD1ROW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1ROW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1ROW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const int *base) => LoadVector256AndReplicateToVector(mask, int); + + /// + /// svint64_t svld1ro[_s64](svbool_t pg, const int64_t *base) + /// LD1ROD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1ROD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1ROD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const long *base) => LoadVector256AndReplicateToVector(mask, long); + + /// + /// svuint8_t svld1ro[_u8](svbool_t pg, const uint8_t *base) + /// LD1ROB Zresult.B, Pg/Z, [Xarray, Xindex] + /// LD1ROB Zresult.B, Pg/Z, [Xarray, #index] + /// LD1ROB Zresult.B, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const byte *base) => LoadVector256AndReplicateToVector(mask, byte); + + /// + /// svuint16_t svld1ro[_u16](svbool_t pg, const uint16_t *base) + /// LD1ROH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1ROH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1ROH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const ushort *base) => LoadVector256AndReplicateToVector(mask, ushort); + + /// + /// svuint32_t svld1ro[_u32](svbool_t pg, const uint32_t *base) + /// LD1ROW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1ROW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1ROW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const uint *base) => LoadVector256AndReplicateToVector(mask, uint); + + /// + /// svuint64_t svld1ro[_u64](svbool_t pg, const uint64_t *base) + /// LD1ROD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1ROD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1ROD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const ulong *base) => LoadVector256AndReplicateToVector(mask, ulong); + + /// + /// svbfloat16_t svld1ro[_bf16](svbool_t pg, const bfloat16_t *base) + /// LD1ROH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1ROH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1ROH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const bfloat16 *base) => LoadVector256AndReplicateToVector(mask, bfloat16); + + /// + /// svfloat16_t svld1ro[_f16](svbool_t pg, const float16_t *base) + /// LD1ROH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1ROH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1ROH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const half *base) => LoadVector256AndReplicateToVector(mask, half); + + /// + /// svfloat32_t svld1ro[_f32](svbool_t pg, const float32_t *base) + /// LD1ROW Zresult.S, Pg/Z, [Xarray, Xindex, LSL #2] + /// LD1ROW Zresult.S, Pg/Z, [Xarray, #index * 4] + /// LD1ROW Zresult.S, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const float *base) => LoadVector256AndReplicateToVector(mask, float); + + /// + /// svfloat64_t svld1ro[_f64](svbool_t pg, const float64_t *base) + /// LD1ROD Zresult.D, Pg/Z, [Xarray, Xindex, LSL #3] + /// LD1ROD Zresult.D, Pg/Z, [Xarray, #index * 8] + /// LD1ROD Zresult.D, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector256AndReplicateToVector(Vector mask, const double *base) => LoadVector256AndReplicateToVector(mask, double); + + + /// MatrixMultiplyAccumulate : Matrix multiply-accumulate + + /// + /// svfloat64_t svmmla[_f64](svfloat64_t op1, svfloat64_t op2, svfloat64_t op3) + /// FMMLA Ztied1.D, Zop2.D, Zop3.D + /// MOVPRFX Zresult, Zop1; FMMLA Zresult.D, Zop2.D, Zop3.D + /// + public static unsafe Vector MatrixMultiplyAccumulate(Vector op1, Vector op2, Vector op3) => MatrixMultiplyAccumulate(op1, op2, op3); + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveFp16.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveFp16.PlatformNotSupported.cs new file mode 100644 index 0000000000000..c41b7037a7535 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveFp16.PlatformNotSupported.cs @@ -0,0 +1,1497 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveFp16 : AdvSimd + { + internal SveFp16() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// Abs : Absolute value + + /// + /// svfloat16_t svabs[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FABS Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FABS Zresult.H, Pg/M, Zop.H + /// svfloat16_t svabs[_f16]_x(svbool_t pg, svfloat16_t op) + /// FABS Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FABS Zresult.H, Pg/M, Zop.H + /// svfloat16_t svabs[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FABS Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Abs(Vector value) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteCompareGreaterThan : Absolute compare greater than + + /// + /// svbool_t svacgt[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FACGT Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteCompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteCompareGreaterThanOrEqual : Absolute compare greater than or equal to + + /// + /// svbool_t svacge[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FACGE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteCompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteCompareLessThan : Absolute compare less than + + /// + /// svbool_t svaclt[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FACGT Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector AbsoluteCompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteCompareLessThanOrEqual : Absolute compare less than or equal to + + /// + /// svbool_t svacle[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FACGE Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector AbsoluteCompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AbsoluteDifference : Absolute difference + + /// + /// svfloat16_t svabd[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svabd[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FABD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svabd[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FABD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Add : Add + + /// + /// svfloat16_t svadd[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svadd[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// FADD Zresult.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svadd[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Add(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddAcross : Add reduction + + /// + /// float16_t svaddv[_f16](svbool_t pg, svfloat16_t op) + /// FADDV Hresult, Pg, Zop.H + /// + public static unsafe half AddAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// AddPairwise : Add pairwise + + /// + /// svfloat16_t svaddp[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svaddp[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// AddRotateComplex : Complex add with rotate + + /// + /// svfloat16_t svcadd[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.H, Pg/M, Zresult.H, Zop2.H, #imm_rotation + /// svfloat16_t svcadd[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.H, Pg/M, Zresult.H, Zop2.H, #imm_rotation + /// svfloat16_t svcadd[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, uint64_t imm_rotation) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FCADD Zresult.H, Pg/M, Zresult.H, Zop2.H, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + + /// AddSequentialAcross : Add reduction (strictly-ordered) + + /// + /// float16_t svadda[_f16](svbool_t pg, float16_t initial, svfloat16_t op) + /// FADDA Htied, Pg, Htied, Zop.H + /// + public static unsafe half AddSequentialAcross(half initial, Vector op) { throw new PlatformNotSupportedException(); } + + + /// CompareEqual : Compare equal to + + /// + /// svbool_t svcmpeq[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMEQ Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareGreaterThan : Compare greater than + + /// + /// svbool_t svcmpgt[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMGT Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareGreaterThanOrEqual : Compare greater than or equal to + + /// + /// svbool_t svcmpge[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMGE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareLessThan : Compare less than + + /// + /// svbool_t svcmplt[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMGT Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareLessThanOrEqual : Compare less than or equal to + + /// + /// svbool_t svcmple[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMGE Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareNotEqualTo : Compare not equal to + + /// + /// svbool_t svcmpne[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMNE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// CompareUnordered : Compare unordered with + + /// + /// svbool_t svcmpuo[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMUO Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareUnordered(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ConditionalExtractAfterLastActiveElement : Conditionally extract element after last + + /// + /// svfloat16_t svclasta[_f16](svbool_t pg, svfloat16_t fallback, svfloat16_t data) + /// CLASTA Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ConditionalExtractLastActiveElement : Conditionally extract last element + + /// + /// svfloat16_t svclastb[_f16](svbool_t pg, svfloat16_t fallback, svfloat16_t data) + /// CLASTB Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) { throw new PlatformNotSupportedException(); } + + + /// ConditionalSelect : Conditionally select elements + + /// + /// svfloat16_t svsel[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// SEL Zresult.H, Pg, Zop1.H, Zop2.H + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ConvertToDouble : Floating-point convert + + /// + /// svfloat64_t svcvt_f64[_f16]_m(svfloat64_t inactive, svbool_t pg, svfloat16_t op) + /// FCVT Ztied.D, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.D, Pg/M, Zop.H + /// svfloat64_t svcvt_f64[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVT Ztied.D, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVT Zresult.D, Pg/M, Zop.H + /// svfloat64_t svcvt_f64[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVT Zresult.D, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToDouble(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToHalf : Floating-point convert + + /// + /// svfloat16_t svcvt_f16[_s16]_m(svfloat16_t inactive, svbool_t pg, svint16_t op) + /// SCVTF Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.H, Pg/M, Zop.H + /// svfloat16_t svcvt_f16[_s16]_x(svbool_t pg, svint16_t op) + /// SCVTF Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; SCVTF Zresult.H, Pg/M, Zop.H + /// svfloat16_t svcvt_f16[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; SCVTF Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToHalf(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svcvt_f16[_s32]_m(svfloat16_t inactive, svbool_t pg, svint32_t op) + /// SCVTF Ztied.H, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_s32]_x(svbool_t pg, svint32_t op) + /// SCVTF Ztied.H, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SCVTF Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SCVTF Zresult.H, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToHalf(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svcvt_f16[_s64]_m(svfloat16_t inactive, svbool_t pg, svint64_t op) + /// SCVTF Ztied.H, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_s64]_x(svbool_t pg, svint64_t op) + /// SCVTF Ztied.H, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SCVTF Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SCVTF Zresult.H, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToHalf(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svcvt_f16[_u16]_m(svfloat16_t inactive, svbool_t pg, svuint16_t op) + /// UCVTF Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.H, Pg/M, Zop.H + /// svfloat16_t svcvt_f16[_u16]_x(svbool_t pg, svuint16_t op) + /// UCVTF Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; UCVTF Zresult.H, Pg/M, Zop.H + /// svfloat16_t svcvt_f16[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; UCVTF Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToHalf(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svcvt_f16[_u32]_m(svfloat16_t inactive, svbool_t pg, svuint32_t op) + /// UCVTF Ztied.H, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_u32]_x(svbool_t pg, svuint32_t op) + /// UCVTF Ztied.H, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; UCVTF Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; UCVTF Zresult.H, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToHalf(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svcvt_f16[_u64]_m(svfloat16_t inactive, svbool_t pg, svuint64_t op) + /// UCVTF Ztied.H, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_u64]_x(svbool_t pg, svuint64_t op) + /// UCVTF Ztied.H, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; UCVTF Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UCVTF Zresult.H, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToHalf(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svcvt_f16[_f32]_m(svfloat16_t inactive, svbool_t pg, svfloat32_t op) + /// FCVT Ztied.H, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVT Ztied.H, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVT Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVT Zresult.H, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToHalf(Vector value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svcvt_f16[_f64]_m(svfloat16_t inactive, svbool_t pg, svfloat64_t op) + /// FCVT Ztied.H, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVT Ztied.H, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVT Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVT Zresult.H, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToHalf(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToInt16 : Floating-point convert + + /// + /// svint16_t svcvt_s16[_f16]_m(svint16_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.H, Pg/M, Zop.H + /// svint16_t svcvt_s16[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.H, Pg/M, Zop.H + /// svint16_t svcvt_s16[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FCVTZS Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToInt16(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToInt32 : Floating-point convert + + /// + /// svint32_t svcvt_s32[_f16]_m(svint32_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.S, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.S, Pg/M, Zop.H + /// svint32_t svcvt_s32[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.S, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.S, Pg/M, Zop.H + /// svint32_t svcvt_s32[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVTZS Zresult.S, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToInt32(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToInt64 : Floating-point convert + + /// + /// svint64_t svcvt_s64[_f16]_m(svint64_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.D, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.D, Pg/M, Zop.H + /// svint64_t svcvt_s64[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.D, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.D, Pg/M, Zop.H + /// svint64_t svcvt_s64[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZS Zresult.D, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToInt64(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToSingle : Floating-point convert + + /// + /// svfloat32_t svcvt_f32[_f16]_m(svfloat32_t inactive, svbool_t pg, svfloat16_t op) + /// FCVT Ztied.S, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.S, Pg/M, Zop.H + /// svfloat32_t svcvt_f32[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVT Ztied.S, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVT Zresult.S, Pg/M, Zop.H + /// svfloat32_t svcvt_f32[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVT Zresult.S, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToSingle(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToUInt16 : Floating-point convert + + /// + /// svuint16_t svcvt_u16[_f16]_m(svuint16_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.H, Pg/M, Zop.H + /// svuint16_t svcvt_u16[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.H, Pg/M, Zop.H + /// svuint16_t svcvt_u16[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FCVTZU Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToUInt16(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToUInt32 : Floating-point convert + + /// + /// svuint32_t svcvt_u32[_f16]_m(svuint32_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.S, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.S, Pg/M, Zop.H + /// svuint32_t svcvt_u32[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.S, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.S, Pg/M, Zop.H + /// svuint32_t svcvt_u32[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVTZU Zresult.S, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToUInt32(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ConvertToUInt64 : Floating-point convert + + /// + /// svuint64_t svcvt_u64[_f16]_m(svuint64_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.D, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.D, Pg/M, Zop.H + /// svuint64_t svcvt_u64[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.D, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.D, Pg/M, Zop.H + /// svuint64_t svcvt_u64[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZU Zresult.D, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToUInt64(Vector value) { throw new PlatformNotSupportedException(); } + + + + /// CreateWhileReadAfterWriteMask : While free of read-after-write conflicts + + /// + /// svbool_t svwhilerw[_f16](const float16_t *op1, const float16_t *op2) + /// WHILERW Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const half left, const half right) { throw new PlatformNotSupportedException(); } + + + /// CreateWhileWriteAfterReadMask : While free of write-after-read conflicts + + /// + /// svbool_t svwhilewr[_f16](const float16_t *op1, const float16_t *op2) + /// WHILEWR Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const half left, const half right) { throw new PlatformNotSupportedException(); } + + + /// Divide : Divide + + /// + /// svfloat16_t svdiv[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FDIV Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FDIV Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svdiv[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FDIV Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FDIVR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FDIV Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svdiv[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FDIV Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FDIVR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Divide(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + + /// DownConvertNarrowingUpper : Down convert and narrow (top) + + /// + /// svfloat16_t svcvtnt_f16[_f32]_m(svfloat16_t even, svbool_t pg, svfloat32_t op) + /// FCVTNT Ztied.H, Pg/M, Zop.S + /// svfloat16_t svcvtnt_f16[_f32]_x(svfloat16_t even, svbool_t pg, svfloat32_t op) + /// FCVTNT Ztied.H, Pg/M, Zop.S + /// + public static unsafe Vector DownConvertNarrowingUpper(Vector value) { throw new PlatformNotSupportedException(); } + + + /// DuplicateSelectedScalarToVector : Broadcast a scalar value + + /// + /// svfloat16_t svdup[_n]_f16(float16_t op) + /// DUP Zresult.H, #op + /// FDUP Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svfloat16_t svdup[_n]_f16_m(svfloat16_t inactive, svbool_t pg, float16_t op) + /// CPY Ztied.H, Pg/M, #bitcast(op) + /// FCPY Ztied.H, Pg/M, #op + /// CPY Ztied.H, Pg/M, Wop + /// CPY Ztied.H, Pg/M, Hop + /// svfloat16_t svdup[_n]_f16_x(svbool_t pg, float16_t op) + /// CPY Zresult.H, Pg/Z, #bitcast(op) + /// DUP Zresult.H, #op + /// FCPY Zresult.H, Pg/M, #op + /// FDUP Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svfloat16_t svdup[_n]_f16_z(svbool_t pg, float16_t op) + /// CPY Zresult.H, Pg/Z, #bitcast(op) + /// DUP Zresult.H, #0; FCPY Zresult.H, Pg/M, #op + /// DUP Zresult.H, #0; CPY Zresult.H, Pg/M, Wop + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CPY Zresult.H, Pg/M, Hop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(half value) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svdup_lane[_f16](svfloat16_t data, uint16_t index) + /// DUP Zresult.H, Zdata.H[index] + /// TBL Zresult.H, Zdata.H, Zindex.H + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ushort index) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svdupq_lane[_f16](svfloat16_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) { throw new PlatformNotSupportedException(); } + + + /// ExtractAfterLast : Extract element after last + + /// + /// float16_t svlasta[_f16](svbool_t pg, svfloat16_t op) + /// LASTA Wresult, Pg, Zop.H + /// LASTA Hresult, Pg, Zop.H + /// + public static unsafe half ExtractAfterLast(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ExtractLast : Extract last element + + /// + /// float16_t svlastb[_f16](svbool_t pg, svfloat16_t op) + /// LASTB Wresult, Pg, Zop.H + /// LASTB Hresult, Pg, Zop.H + /// + public static unsafe half ExtractLast(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ExtractVector : Extract vector from pair of vectors + + /// + /// svfloat16_t svext[_f16](svfloat16_t op1, svfloat16_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) { throw new PlatformNotSupportedException(); } + + + /// FloatingPointExponentialAccelerator : Floating-point exponential accelerator + + /// + /// svfloat16_t svexpa[_f16](svuint16_t op) + /// FEXPA Zresult.H, Zop.H + /// + public static unsafe Vector FloatingPointExponentialAccelerator(Vector value) { throw new PlatformNotSupportedException(); } + + + /// FusedMultiplyAdd : Multiply-add, addend first + + /// + /// svfloat16_t svmla[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svmla[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// FMAD Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// FMAD Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svmla[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMAD Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; FMAD Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svmla_lane[_f16](svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLA Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLA Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// FusedMultiplyAddNegate : Negated multiply-add, addend first + + /// + /// svfloat16_t svnmla[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FNMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svnmla[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FNMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// FNMAD Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// FNMAD Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svnmla[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FNMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FNMAD Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; FNMAD Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector FusedMultiplyAddNegate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// FusedMultiplySubtract : Multiply-subtract, minuend first + + /// + /// svfloat16_t svmls[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svmls[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// FMSB Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// FMSB Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svmls[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMSB Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; FMSB Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svmls_lane[_f16](svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLS Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLS Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// FusedMultiplySubtractNegate : Negated multiply-subtract, minuend first + + /// + /// svfloat16_t svnmls[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FNMLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svnmls[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FNMLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// FNMSB Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// FNMSB Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svnmls[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FNMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FNMSB Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; FNMSB Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector FusedMultiplySubtractNegate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// InsertIntoShiftedVector : Insert scalar into shifted vector + + /// + /// svfloat16_t svinsr[_n_f16](svfloat16_t op1, float16_t op2) + /// INSR Ztied1.H, Wop2 + /// INSR Ztied1.H, Hop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, half right) { throw new PlatformNotSupportedException(); } + + + /// LoadVector : Unextended load + + /// + /// svfloat16_t svld1[_f16](svbool_t pg, const float16_t *base) + /// LD1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const half *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVector128AndReplicateToVector : Load and replicate 128 bits of data + + /// + /// svfloat16_t svld1rq[_f16](svbool_t pg, const float16_t *base) + /// LD1RQH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1RQH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1RQH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const half *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorFirstFaulting : Unextended load, first-faulting + + /// + /// svfloat16_t svldff1[_f16](svbool_t pg, const float16_t *base) + /// LDFF1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.H, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const half *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorNonFaulting : Unextended load, non-faulting + + /// + /// svfloat16_t svldnf1[_f16](svbool_t pg, const float16_t *base) + /// LDNF1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const half *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorNonTemporal : Unextended load, non-temporal + + /// + /// svfloat16_t svldnt1[_f16](svbool_t pg, const float16_t *base) + /// LDNT1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDNT1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const half *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorx2 : Load two-element tuples into two vectors + + /// + /// svfloat16x2_t svld2[_f16](svbool_t pg, const float16_t *base) + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const half *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorx3 : Load three-element tuples into three vectors + + /// + /// svfloat16x3_t svld3[_f16](svbool_t pg, const float16_t *base) + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const half *base) { throw new PlatformNotSupportedException(); } + + + /// LoadVectorx4 : Load four-element tuples into four vectors + + /// + /// svfloat16x4_t svld4[_f16](svbool_t pg, const float16_t *base) + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const half *base) { throw new PlatformNotSupportedException(); } + + + /// Log2 : Base 2 logarithm as integer + + /// + /// svint16_t svlogb[_f16]_m(svint16_t inactive, svbool_t pg, svfloat16_t op) + /// FLOGB Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FLOGB Zresult.H, Pg/M, Zop.H + /// svint16_t svlogb[_f16]_x(svbool_t pg, svfloat16_t op) + /// FLOGB Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FLOGB Zresult.H, Pg/M, Zop.H + /// svint16_t svlogb[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FLOGB Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Log2(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Max : Maximum + + /// + /// svfloat16_t svmax[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmax[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMAX Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmax[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMAX Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Max(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MaxAcross : Maximum reduction to scalar + + /// + /// float16_t svmaxv[_f16](svbool_t pg, svfloat16_t op) + /// FMAXV Hresult, Pg, Zop.H + /// + public static unsafe half MaxAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// MaxNumber : Maximum number + + /// + /// svfloat16_t svmaxnm[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXNM Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmaxnm[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXNM Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMAXNM Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmaxnm[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMAXNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMAXNM Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector MaxNumber(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MaxNumberAcross : Maximum number reduction to scalar + + /// + /// float16_t svmaxnmv[_f16](svbool_t pg, svfloat16_t op) + /// FMAXNMV Hresult, Pg, Zop.H + /// + public static unsafe half MaxNumberAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// MaxNumberPairwise : Maximum number pairwise + + /// + /// svfloat16_t svmaxnmp[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXNMP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmaxnmp[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXNMP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MaxNumberPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MaxPairwise : Maximum pairwise + + /// + /// svfloat16_t svmaxp[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmaxp[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Min : Minimum + + /// + /// svfloat16_t svmin[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmin[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMIN Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmin[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMIN Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Min(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MinAcross : Minimum reduction to scalar + + /// + /// float16_t svminv[_f16](svbool_t pg, svfloat16_t op) + /// FMINV Hresult, Pg, Zop.H + /// + public static unsafe half MinAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// MinNumber : Minimum number + + /// + /// svfloat16_t svminnm[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINNM Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svminnm[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINNM Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMINNM Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svminnm[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMINNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMINNM Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector MinNumber(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MinNumberAcross : Minimum number reduction to scalar + + /// + /// float16_t svminnmv[_f16](svbool_t pg, svfloat16_t op) + /// FMINNMV Hresult, Pg, Zop.H + /// + public static unsafe half MinNumberAcross(Vector value) { throw new PlatformNotSupportedException(); } + + + /// MinNumberPairwise : Minimum number pairwise + + /// + /// svfloat16_t svminnmp[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINNMP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svminnmp[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINNMP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MinNumberPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// MinPairwise : Minimum pairwise + + /// + /// svfloat16_t svminp[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svminp[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Multiply : Multiply + + /// + /// svfloat16_t svmul[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmul[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMUL Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// FMUL Zresult.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmul[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMUL Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Multiply(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svmul_lane[_f16](svfloat16_t op1, svfloat16_t op2, uint64_t imm_index) + /// FMUL Zresult.H, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) { throw new PlatformNotSupportedException(); } + + + + + + /// MultiplyAddRotateComplex : Complex multiply-add with rotate + + /// + /// svfloat16_t svcmla[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.H, Pg/M, Zop2.H, Zop3.H, #imm_rotation + /// svfloat16_t svcmla[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.H, Pg/M, Zop2.H, Zop3.H, #imm_rotation + /// svfloat16_t svcmla[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_rotation) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FCMLA Zresult.H, Pg/M, Zop2.H, Zop3.H, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svcmla_lane[_f16](svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// FCMLA Ztied1.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) { throw new PlatformNotSupportedException(); } + + + /// MultiplyAddWideningLower : Multiply-add long (bottom) + + /// + /// svfloat32_t svmlalb[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmlalb_lane[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLALB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLALB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MultiplyAddWideningUpper : Multiply-add long (top) + + /// + /// svfloat32_t svmlalt[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmlalt_lane[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLALT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLALT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MultiplyExtended : Multiply extended (∞×0=2) + + /// + /// svfloat16_t svmulx[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMULX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMULX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmulx[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMULX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMULX Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMULX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmulx[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMULX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMULX Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector MultiplyExtended(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + + + + /// MultiplySubtractWideningLower : Multiply-subtract long (bottom) + + /// + /// svfloat32_t svmlslb[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLSLB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLSLB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmlslb_lane[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLSLB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLSLB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MultiplySubtractWideningUpper : Multiply-subtract long (top) + + /// + /// svfloat32_t svmlslt[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLSLT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLSLT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat32_t svmlslt_lane[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLSLT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLSLT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// Negate : Negate + + /// + /// svfloat16_t svneg[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FNEG Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FNEG Zresult.H, Pg/M, Zop.H + /// svfloat16_t svneg[_f16]_x(svbool_t pg, svfloat16_t op) + /// FNEG Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FNEG Zresult.H, Pg/M, Zop.H + /// svfloat16_t svneg[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FNEG Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Negate(Vector value) { throw new PlatformNotSupportedException(); } + + + + + /// PopCount : Count nonzero bits + + /// + /// svuint16_t svcnt[_f16]_m(svuint16_t inactive, svbool_t pg, svfloat16_t op) + /// CNT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_f16]_x(svbool_t pg, svfloat16_t op) + /// CNT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector PopCount(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalEstimate : Reciprocal estimate + + /// + /// svfloat16_t svrecpe[_f16](svfloat16_t op) + /// FRECPE Zresult.H, Zop.H + /// + public static unsafe Vector ReciprocalEstimate(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalExponent : Reciprocal exponent + + /// + /// svfloat16_t svrecpx[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRECPX Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRECPX Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrecpx[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRECPX Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRECPX Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrecpx[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRECPX Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ReciprocalExponent(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalSqrtEstimate : Reciprocal square root estimate + + /// + /// svfloat16_t svrsqrte[_f16](svfloat16_t op) + /// FRSQRTE Zresult.H, Zop.H + /// + public static unsafe Vector ReciprocalSqrtEstimate(Vector value) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalSqrtStep : Reciprocal square root step + + /// + /// svfloat16_t svrsqrts[_f16](svfloat16_t op1, svfloat16_t op2) + /// FRSQRTS Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ReciprocalSqrtStep(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ReciprocalStep : Reciprocal step + + /// + /// svfloat16_t svrecps[_f16](svfloat16_t op1, svfloat16_t op2) + /// FRECPS Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ReciprocalStep(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ReverseElement : Reverse all elements + + /// + /// svfloat16_t svrev[_f16](svfloat16_t op) + /// REV Zresult.H, Zop.H + /// + public static unsafe Vector ReverseElement(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundAwayFromZero : Round to nearest, ties away from zero + + /// + /// svfloat16_t svrinta[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRINTA Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRINTA Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrinta[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRINTA Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRINTA Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrinta[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRINTA Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector RoundAwayFromZero(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundToNearest : Round to nearest, ties to even + + /// + /// svfloat16_t svrintn[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRINTN Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRINTN Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintn[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRINTN Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRINTN Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintn[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRINTN Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector RoundToNearest(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundToNegativeInfinity : Round towards -∞ + + /// + /// svfloat16_t svrintm[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRINTM Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRINTM Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintm[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRINTM Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRINTM Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintm[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRINTM Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector RoundToNegativeInfinity(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundToPositiveInfinity : Round towards +∞ + + /// + /// svfloat16_t svrintp[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRINTP Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRINTP Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintp[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRINTP Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRINTP Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintp[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRINTP Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector RoundToPositiveInfinity(Vector value) { throw new PlatformNotSupportedException(); } + + + /// RoundToZero : Round towards zero + + /// + /// svfloat16_t svrintz[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRINTZ Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRINTZ Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintz[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRINTZ Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRINTZ Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintz[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRINTZ Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector RoundToZero(Vector value) { throw new PlatformNotSupportedException(); } + + + + + /// Scale : Adjust exponent + + /// + /// svfloat16_t svscale[_f16]_m(svbool_t pg, svfloat16_t op1, svint16_t op2) + /// FSCALE Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svscale[_f16]_x(svbool_t pg, svfloat16_t op1, svint16_t op2) + /// FSCALE Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svscale[_f16]_z(svbool_t pg, svfloat16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FSCALE Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector Scale(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Splice : Splice two vectors under predicate control + + /// + /// svfloat16_t svsplice[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// SPLICE Ztied1.H, Pg, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.H, Pg, Zresult.H, Zop2.H + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Sqrt : Square root + + /// + /// svfloat16_t svsqrt[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FSQRT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FSQRT Zresult.H, Pg/M, Zop.H + /// svfloat16_t svsqrt[_f16]_x(svbool_t pg, svfloat16_t op) + /// FSQRT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FSQRT Zresult.H, Pg/M, Zop.H + /// svfloat16_t svsqrt[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FSQRT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Sqrt(Vector value) { throw new PlatformNotSupportedException(); } + + + /// Store : Non-truncating store + + /// + /// void svst1[_f16](svbool_t pg, float16_t *base, svfloat16_t data) + /// ST1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, half *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// StoreNonTemporal : Non-truncating store, non-temporal + + /// + /// void svstnt1[_f16](svbool_t pg, float16_t *base, svfloat16_t data) + /// STNT1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// STNT1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, half *base, Vector data) { throw new PlatformNotSupportedException(); } + + + /// Storex2 : Store two vectors into two-element tuples + + /// + /// void svst2[_f16](svbool_t pg, float16_t *base, svfloat16x2_t data) + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, half *base, (Vector data1, Vector data2)) { throw new PlatformNotSupportedException(); } + + + /// Storex3 : Store three vectors into three-element tuples + + /// + /// void svst3[_f16](svbool_t pg, float16_t *base, svfloat16x3_t data) + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, half *base, (Vector data1, Vector data2, Vector data3)) { throw new PlatformNotSupportedException(); } + + + /// Storex4 : Store four vectors into four-element tuples + + /// + /// void svst4[_f16](svbool_t pg, float16_t *base, svfloat16x4_t data) + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, half *base, (Vector data1, Vector data2, Vector data3, Vector data4)) { throw new PlatformNotSupportedException(); } + + + /// Subtract : Subtract + + /// + /// svfloat16_t svsub[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svsub[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FSUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// FSUB Zresult.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svsub[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FSUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Subtract(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// SubtractReversed : Subtract reversed + + /// + /// svfloat16_t svsubr[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svsubr[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FSUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// FSUB Zresult.H, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svsubr[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FSUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// TransposeEven : Interleave even elements from two inputs + + /// + /// svfloat16_t svtrn1[_f16](svfloat16_t op1, svfloat16_t op2) + /// TRN1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// TransposeOdd : Interleave odd elements from two inputs + + /// + /// svfloat16_t svtrn2[_f16](svfloat16_t op1, svfloat16_t op2) + /// TRN2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// TrigonometricMultiplyAddCoefficient : Trigonometric multiply-add coefficient + + /// + /// svfloat16_t svtmad[_f16](svfloat16_t op1, svfloat16_t op2, uint64_t imm3) + /// FTMAD Ztied1.H, Ztied1.H, Zop2.H, #imm3 + /// MOVPRFX Zresult, Zop1; FTMAD Zresult.H, Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector TrigonometricMultiplyAddCoefficient(Vector op1, Vector op2, ulong imm3) { throw new PlatformNotSupportedException(); } + + + /// TrigonometricSelectCoefficient : Trigonometric select coefficient + + /// + /// svfloat16_t svtssel[_f16](svfloat16_t op1, svuint16_t op2) + /// FTSSEL Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TrigonometricSelectCoefficient(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// TrigonometricStartingValue : Trigonometric starting value + + /// + /// svfloat16_t svtsmul[_f16](svfloat16_t op1, svuint16_t op2) + /// FTSMUL Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TrigonometricStartingValue(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// UnzipEven : Concatenate even elements from two inputs + + /// + /// svfloat16_t svuzp1[_f16](svfloat16_t op1, svfloat16_t op2) + /// UZP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// UnzipOdd : Concatenate odd elements from two inputs + + /// + /// svfloat16_t svuzp2[_f16](svfloat16_t op1, svfloat16_t op2) + /// UZP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// UpConvertWideningUpper : Up convert long (top) + + /// + /// svfloat32_t svcvtlt_f32[_f16]_m(svfloat32_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTLT Ztied.S, Pg/M, Zop.H + /// svfloat32_t svcvtlt_f32[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTLT Ztied.S, Pg/M, Ztied.H + /// + public static unsafe Vector UpConvertWideningUpper(Vector value) { throw new PlatformNotSupportedException(); } + + + /// VectorTableLookup : Table lookup in single-vector table + + /// + /// svfloat16_t svtbl[_f16](svfloat16_t data, svuint16_t indices) + /// TBL Zresult.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + /// + /// svfloat16_t svtbl2[_f16](svfloat16x2_t data, svuint16_t indices) + /// TBL Zresult.H, {Zdata0.H, Zdata1.H}, Zindices.H + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) { throw new PlatformNotSupportedException(); } + + + /// VectorTableLookupExtension : Table lookup in single-vector table (merging) + + /// + /// svfloat16_t svtbx[_f16](svfloat16_t fallback, svfloat16_t data, svuint16_t indices) + /// TBX Ztied.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) { throw new PlatformNotSupportedException(); } + + + /// ZipHigh : Interleave elements from high halves of two inputs + + /// + /// svfloat16_t svzip2[_f16](svfloat16_t op1, svfloat16_t op2) + /// ZIP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// ZipLow : Interleave elements from low halves of two inputs + + /// + /// svfloat16_t svzip1[_f16](svfloat16_t op1, svfloat16_t op2) + /// ZIP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipLow(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveFp16.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveFp16.cs new file mode 100644 index 0000000000000..1fe00ceb47fdc --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveFp16.cs @@ -0,0 +1,1497 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveFp16 : AdvSimd + { + internal SveFp16() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// Abs : Absolute value + + /// + /// svfloat16_t svabs[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FABS Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FABS Zresult.H, Pg/M, Zop.H + /// svfloat16_t svabs[_f16]_x(svbool_t pg, svfloat16_t op) + /// FABS Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FABS Zresult.H, Pg/M, Zop.H + /// svfloat16_t svabs[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FABS Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Abs(Vector value) => Abs(value); + + + /// AbsoluteCompareGreaterThan : Absolute compare greater than + + /// + /// svbool_t svacgt[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FACGT Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteCompareGreaterThan(Vector left, Vector right) => AbsoluteCompareGreaterThan(left, right); + + + /// AbsoluteCompareGreaterThanOrEqual : Absolute compare greater than or equal to + + /// + /// svbool_t svacge[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FACGE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector AbsoluteCompareGreaterThanOrEqual(Vector left, Vector right) => AbsoluteCompareGreaterThanOrEqual(left, right); + + + /// AbsoluteCompareLessThan : Absolute compare less than + + /// + /// svbool_t svaclt[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FACGT Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector AbsoluteCompareLessThan(Vector left, Vector right) => AbsoluteCompareLessThan(left, right); + + + /// AbsoluteCompareLessThanOrEqual : Absolute compare less than or equal to + + /// + /// svbool_t svacle[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FACGE Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector AbsoluteCompareLessThanOrEqual(Vector left, Vector right) => AbsoluteCompareLessThanOrEqual(left, right); + + + /// AbsoluteDifference : Absolute difference + + /// + /// svfloat16_t svabd[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svabd[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FABD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FABD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svabd[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FABD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FABD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector AbsoluteDifference(Vector left, Vector right) => AbsoluteDifference(left, right); + + + /// Add : Add + + /// + /// svfloat16_t svadd[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svadd[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FADD Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// FADD Zresult.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svadd[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FADD Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FADD Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Add(Vector left, Vector right) => Add(left, right); + + + /// AddAcross : Add reduction + + /// + /// float16_t svaddv[_f16](svbool_t pg, svfloat16_t op) + /// FADDV Hresult, Pg, Zop.H + /// + public static unsafe half AddAcross(Vector value) => AddAcross(value); + + + /// AddPairwise : Add pairwise + + /// + /// svfloat16_t svaddp[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svaddp[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FADDP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FADDP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector AddPairwise(Vector left, Vector right) => AddPairwise(left, right); + + + /// AddRotateComplex : Complex add with rotate + + /// + /// svfloat16_t svcadd[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.H, Pg/M, Zresult.H, Zop2.H, #imm_rotation + /// svfloat16_t svcadd[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, uint64_t imm_rotation) + /// FCADD Ztied1.H, Pg/M, Ztied1.H, Zop2.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCADD Zresult.H, Pg/M, Zresult.H, Zop2.H, #imm_rotation + /// svfloat16_t svcadd[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, uint64_t imm_rotation) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FCADD Zresult.H, Pg/M, Zresult.H, Zop2.H, #imm_rotation + /// + public static unsafe Vector AddRotateComplex(Vector op1, Vector op2, ulong imm_rotation) => AddRotateComplex(op1, op2, imm_rotation); + + + /// AddSequentialAcross : Add reduction (strictly-ordered) + + /// + /// float16_t svadda[_f16](svbool_t pg, float16_t initial, svfloat16_t op) + /// FADDA Htied, Pg, Htied, Zop.H + /// + public static unsafe half AddSequentialAcross(half initial, Vector op) => AddSequentialAcross(initial, op); + + + /// CompareEqual : Compare equal to + + /// + /// svbool_t svcmpeq[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMEQ Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareEqual(Vector left, Vector right) => CompareEqual(left, right); + + + /// CompareGreaterThan : Compare greater than + + /// + /// svbool_t svcmpgt[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMGT Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThan(Vector left, Vector right) => CompareGreaterThan(left, right); + + + /// CompareGreaterThanOrEqual : Compare greater than or equal to + + /// + /// svbool_t svcmpge[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMGE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareGreaterThanOrEqual(Vector left, Vector right) => CompareGreaterThanOrEqual(left, right); + + + /// CompareLessThan : Compare less than + + /// + /// svbool_t svcmplt[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMGT Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThan(Vector left, Vector right) => CompareLessThan(left, right); + + + /// CompareLessThanOrEqual : Compare less than or equal to + + /// + /// svbool_t svcmple[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMGE Presult.H, Pg/Z, Zop2.H, Zop1.H + /// + public static unsafe Vector CompareLessThanOrEqual(Vector left, Vector right) => CompareLessThanOrEqual(left, right); + + + /// CompareNotEqualTo : Compare not equal to + + /// + /// svbool_t svcmpne[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMNE Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareNotEqualTo(Vector left, Vector right) => CompareNotEqualTo(left, right); + + + /// CompareUnordered : Compare unordered with + + /// + /// svbool_t svcmpuo[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FCMUO Presult.H, Pg/Z, Zop1.H, Zop2.H + /// + public static unsafe Vector CompareUnordered(Vector left, Vector right) => CompareUnordered(left, right); + + + /// ConditionalExtractAfterLastActiveElement : Conditionally extract element after last + + /// + /// svfloat16_t svclasta[_f16](svbool_t pg, svfloat16_t fallback, svfloat16_t data) + /// CLASTA Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractAfterLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractAfterLastActiveElement(mask, fallback, data); + + + /// ConditionalExtractLastActiveElement : Conditionally extract last element + + /// + /// svfloat16_t svclastb[_f16](svbool_t pg, svfloat16_t fallback, svfloat16_t data) + /// CLASTB Ztied.H, Pg, Ztied.H, Zdata.H + /// MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H + /// + public static unsafe Vector ConditionalExtractLastActiveElement(Vector mask, Vector fallback, Vector data) => ConditionalExtractLastActiveElement(mask, fallback, data); + + + /// ConditionalSelect : Conditionally select elements + + /// + /// svfloat16_t svsel[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// SEL Zresult.H, Pg, Zop1.H, Zop2.H + /// + public static unsafe Vector ConditionalSelect(Vector mask, Vector left, Vector right) => ConditionalSelect(mask, left, right); + + + /// ConvertToDouble : Floating-point convert + + /// + /// svfloat64_t svcvt_f64[_f16]_m(svfloat64_t inactive, svbool_t pg, svfloat16_t op) + /// FCVT Ztied.D, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.D, Pg/M, Zop.H + /// svfloat64_t svcvt_f64[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVT Ztied.D, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVT Zresult.D, Pg/M, Zop.H + /// svfloat64_t svcvt_f64[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVT Zresult.D, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToDouble(Vector value) => ConvertToDouble(value); + + + /// ConvertToHalf : Floating-point convert + + /// + /// svfloat16_t svcvt_f16[_s16]_m(svfloat16_t inactive, svbool_t pg, svint16_t op) + /// SCVTF Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.H, Pg/M, Zop.H + /// svfloat16_t svcvt_f16[_s16]_x(svbool_t pg, svint16_t op) + /// SCVTF Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; SCVTF Zresult.H, Pg/M, Zop.H + /// svfloat16_t svcvt_f16[_s16]_z(svbool_t pg, svint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; SCVTF Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToHalf(Vector value) => ConvertToHalf(value); + + /// + /// svfloat16_t svcvt_f16[_s32]_m(svfloat16_t inactive, svbool_t pg, svint32_t op) + /// SCVTF Ztied.H, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_s32]_x(svbool_t pg, svint32_t op) + /// SCVTF Ztied.H, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; SCVTF Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_s32]_z(svbool_t pg, svint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; SCVTF Zresult.H, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToHalf(Vector value) => ConvertToHalf(value); + + /// + /// svfloat16_t svcvt_f16[_s64]_m(svfloat16_t inactive, svbool_t pg, svint64_t op) + /// SCVTF Ztied.H, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; SCVTF Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_s64]_x(svbool_t pg, svint64_t op) + /// SCVTF Ztied.H, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; SCVTF Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_s64]_z(svbool_t pg, svint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; SCVTF Zresult.H, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToHalf(Vector value) => ConvertToHalf(value); + + /// + /// svfloat16_t svcvt_f16[_u16]_m(svfloat16_t inactive, svbool_t pg, svuint16_t op) + /// UCVTF Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.H, Pg/M, Zop.H + /// svfloat16_t svcvt_f16[_u16]_x(svbool_t pg, svuint16_t op) + /// UCVTF Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; UCVTF Zresult.H, Pg/M, Zop.H + /// svfloat16_t svcvt_f16[_u16]_z(svbool_t pg, svuint16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; UCVTF Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToHalf(Vector value) => ConvertToHalf(value); + + /// + /// svfloat16_t svcvt_f16[_u32]_m(svfloat16_t inactive, svbool_t pg, svuint32_t op) + /// UCVTF Ztied.H, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_u32]_x(svbool_t pg, svuint32_t op) + /// UCVTF Ztied.H, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; UCVTF Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_u32]_z(svbool_t pg, svuint32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; UCVTF Zresult.H, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToHalf(Vector value) => ConvertToHalf(value); + + /// + /// svfloat16_t svcvt_f16[_u64]_m(svfloat16_t inactive, svbool_t pg, svuint64_t op) + /// UCVTF Ztied.H, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; UCVTF Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_u64]_x(svbool_t pg, svuint64_t op) + /// UCVTF Ztied.H, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; UCVTF Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_u64]_z(svbool_t pg, svuint64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; UCVTF Zresult.H, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToHalf(Vector value) => ConvertToHalf(value); + + /// + /// svfloat16_t svcvt_f16[_f32]_m(svfloat16_t inactive, svbool_t pg, svfloat32_t op) + /// FCVT Ztied.H, Pg/M, Zop.S + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_f32]_x(svbool_t pg, svfloat32_t op) + /// FCVT Ztied.H, Pg/M, Ztied.S + /// MOVPRFX Zresult, Zop; FCVT Zresult.H, Pg/M, Zop.S + /// svfloat16_t svcvt_f16[_f32]_z(svbool_t pg, svfloat32_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVT Zresult.H, Pg/M, Zop.S + /// + public static unsafe Vector ConvertToHalf(Vector value) => ConvertToHalf(value); + + /// + /// svfloat16_t svcvt_f16[_f64]_m(svfloat16_t inactive, svbool_t pg, svfloat64_t op) + /// FCVT Ztied.H, Pg/M, Zop.D + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_f64]_x(svbool_t pg, svfloat64_t op) + /// FCVT Ztied.H, Pg/M, Ztied.D + /// MOVPRFX Zresult, Zop; FCVT Zresult.H, Pg/M, Zop.D + /// svfloat16_t svcvt_f16[_f64]_z(svbool_t pg, svfloat64_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVT Zresult.H, Pg/M, Zop.D + /// + public static unsafe Vector ConvertToHalf(Vector value) => ConvertToHalf(value); + + + /// ConvertToInt16 : Floating-point convert + + /// + /// svint16_t svcvt_s16[_f16]_m(svint16_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.H, Pg/M, Zop.H + /// svint16_t svcvt_s16[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.H, Pg/M, Zop.H + /// svint16_t svcvt_s16[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FCVTZS Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToInt16(Vector value) => ConvertToInt16(value); + + + /// ConvertToInt32 : Floating-point convert + + /// + /// svint32_t svcvt_s32[_f16]_m(svint32_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.S, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.S, Pg/M, Zop.H + /// svint32_t svcvt_s32[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.S, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.S, Pg/M, Zop.H + /// svint32_t svcvt_s32[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVTZS Zresult.S, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToInt32(Vector value) => ConvertToInt32(value); + + + /// ConvertToInt64 : Floating-point convert + + /// + /// svint64_t svcvt_s64[_f16]_m(svint64_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.D, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZS Zresult.D, Pg/M, Zop.H + /// svint64_t svcvt_s64[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZS Ztied.D, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZS Zresult.D, Pg/M, Zop.H + /// svint64_t svcvt_s64[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZS Zresult.D, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToInt64(Vector value) => ConvertToInt64(value); + + + /// ConvertToSingle : Floating-point convert + + /// + /// svfloat32_t svcvt_f32[_f16]_m(svfloat32_t inactive, svbool_t pg, svfloat16_t op) + /// FCVT Ztied.S, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVT Zresult.S, Pg/M, Zop.H + /// svfloat32_t svcvt_f32[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVT Ztied.S, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVT Zresult.S, Pg/M, Zop.H + /// svfloat32_t svcvt_f32[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVT Zresult.S, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToSingle(Vector value) => ConvertToSingle(value); + + + /// ConvertToUInt16 : Floating-point convert + + /// + /// svuint16_t svcvt_u16[_f16]_m(svuint16_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.H, Pg/M, Zop.H + /// svuint16_t svcvt_u16[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.H, Pg/M, Zop.H + /// svuint16_t svcvt_u16[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FCVTZU Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToUInt16(Vector value) => ConvertToUInt16(value); + + + /// ConvertToUInt32 : Floating-point convert + + /// + /// svuint32_t svcvt_u32[_f16]_m(svuint32_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.S, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.S, Pg/M, Zop.H + /// svuint32_t svcvt_u32[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.S, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.S, Pg/M, Zop.H + /// svuint32_t svcvt_u32[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.S, Pg/Z, Zop.S; FCVTZU Zresult.S, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToUInt32(Vector value) => ConvertToUInt32(value); + + + /// ConvertToUInt64 : Floating-point convert + + /// + /// svuint64_t svcvt_u64[_f16]_m(svuint64_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.D, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FCVTZU Zresult.D, Pg/M, Zop.H + /// svuint64_t svcvt_u64[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTZU Ztied.D, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FCVTZU Zresult.D, Pg/M, Zop.H + /// svuint64_t svcvt_u64[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.D, Pg/Z, Zop.D; FCVTZU Zresult.D, Pg/M, Zop.H + /// + public static unsafe Vector ConvertToUInt64(Vector value) => ConvertToUInt64(value); + + + + /// CreateWhileReadAfterWriteMask : While free of read-after-write conflicts + + /// + /// svbool_t svwhilerw[_f16](const float16_t *op1, const float16_t *op2) + /// WHILERW Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileReadAfterWriteMask(const half left, const half right) => CreateWhileReadAfterWriteMask(half, half); + + + /// CreateWhileWriteAfterReadMask : While free of write-after-read conflicts + + /// + /// svbool_t svwhilewr[_f16](const float16_t *op1, const float16_t *op2) + /// WHILEWR Presult.H, Xop1, Xop2 + /// + public static unsafe Vector CreateWhileWriteAfterReadMask(const half left, const half right) => CreateWhileWriteAfterReadMask(half, half); + + + /// Divide : Divide + + /// + /// svfloat16_t svdiv[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FDIV Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FDIV Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svdiv[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FDIV Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FDIVR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FDIV Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svdiv[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FDIV Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FDIVR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Divide(Vector left, Vector right) => Divide(left, right); + + + + /// DownConvertNarrowingUpper : Down convert and narrow (top) + + /// + /// svfloat16_t svcvtnt_f16[_f32]_m(svfloat16_t even, svbool_t pg, svfloat32_t op) + /// FCVTNT Ztied.H, Pg/M, Zop.S + /// svfloat16_t svcvtnt_f16[_f32]_x(svfloat16_t even, svbool_t pg, svfloat32_t op) + /// FCVTNT Ztied.H, Pg/M, Zop.S + /// + public static unsafe Vector DownConvertNarrowingUpper(Vector value) => DownConvertNarrowingUpper(value); + + + /// DuplicateSelectedScalarToVector : Broadcast a scalar value + + /// + /// svfloat16_t svdup[_n]_f16(float16_t op) + /// DUP Zresult.H, #op + /// FDUP Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svfloat16_t svdup[_n]_f16_m(svfloat16_t inactive, svbool_t pg, float16_t op) + /// CPY Ztied.H, Pg/M, #bitcast(op) + /// FCPY Ztied.H, Pg/M, #op + /// CPY Ztied.H, Pg/M, Wop + /// CPY Ztied.H, Pg/M, Hop + /// svfloat16_t svdup[_n]_f16_x(svbool_t pg, float16_t op) + /// CPY Zresult.H, Pg/Z, #bitcast(op) + /// DUP Zresult.H, #op + /// FCPY Zresult.H, Pg/M, #op + /// FDUP Zresult.H, #op + /// DUP Zresult.H, Wop + /// DUP Zresult.H, Zop.H[0] + /// svfloat16_t svdup[_n]_f16_z(svbool_t pg, float16_t op) + /// CPY Zresult.H, Pg/Z, #bitcast(op) + /// DUP Zresult.H, #0; FCPY Zresult.H, Pg/M, #op + /// DUP Zresult.H, #0; CPY Zresult.H, Pg/M, Wop + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CPY Zresult.H, Pg/M, Hop + /// + public static unsafe Vector DuplicateSelectedScalarToVector(half value) => DuplicateSelectedScalarToVector(value); + + /// + /// svfloat16_t svdup_lane[_f16](svfloat16_t data, uint16_t index) + /// DUP Zresult.H, Zdata.H[index] + /// TBL Zresult.H, Zdata.H, Zindex.H + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ushort index) => DuplicateSelectedScalarToVector(data, index); + + /// + /// svfloat16_t svdupq_lane[_f16](svfloat16_t data, uint64_t index) + /// DUP Zresult.Q, Zdata.Q[index] + /// TBL Zresult.D, Zdata.D, Zindices_d.D + /// + public static unsafe Vector DuplicateSelectedScalarToVector(Vector data, ulong index) => DuplicateSelectedScalarToVector(data, index); + + + /// ExtractAfterLast : Extract element after last + + /// + /// float16_t svlasta[_f16](svbool_t pg, svfloat16_t op) + /// LASTA Wresult, Pg, Zop.H + /// LASTA Hresult, Pg, Zop.H + /// + public static unsafe half ExtractAfterLast(Vector value) => ExtractAfterLast(value); + + + /// ExtractLast : Extract last element + + /// + /// float16_t svlastb[_f16](svbool_t pg, svfloat16_t op) + /// LASTB Wresult, Pg, Zop.H + /// LASTB Hresult, Pg, Zop.H + /// + public static unsafe half ExtractLast(Vector value) => ExtractLast(value); + + + /// ExtractVector : Extract vector from pair of vectors + + /// + /// svfloat16_t svext[_f16](svfloat16_t op1, svfloat16_t op2, uint64_t imm3) + /// EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2 + /// MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2 + /// + public static unsafe Vector ExtractVector(Vector upper, Vector lower, ulong index) => ExtractVector(upper, lower, index); + + + /// FloatingPointExponentialAccelerator : Floating-point exponential accelerator + + /// + /// svfloat16_t svexpa[_f16](svuint16_t op) + /// FEXPA Zresult.H, Zop.H + /// + public static unsafe Vector FloatingPointExponentialAccelerator(Vector value) => FloatingPointExponentialAccelerator(value); + + + /// FusedMultiplyAdd : Multiply-add, addend first + + /// + /// svfloat16_t svmla[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svmla[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// FMAD Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// FMAD Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svmla[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMAD Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; FMAD Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right) => FusedMultiplyAdd(addend, left, right); + + /// + /// svfloat16_t svmla_lane[_f16](svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLA Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLA Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector FusedMultiplyAdd(Vector addend, Vector left, Vector right, ulong imm_index) => FusedMultiplyAdd(addend, left, right, imm_index); + + + /// FusedMultiplyAddNegate : Negated multiply-add, addend first + + /// + /// svfloat16_t svnmla[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FNMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svnmla[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FNMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// FNMAD Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// FNMAD Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FNMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svnmla[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FNMLA Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FNMAD Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; FNMAD Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector FusedMultiplyAddNegate(Vector op1, Vector op2, Vector op3) => FusedMultiplyAddNegate(op1, op2, op3); + + + /// FusedMultiplySubtract : Multiply-subtract, minuend first + + /// + /// svfloat16_t svmls[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svmls[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// FMSB Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// FMSB Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svmls[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMSB Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; FMSB Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right) => FusedMultiplySubtract(minuend, left, right); + + /// + /// svfloat16_t svmls_lane[_f16](svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLS Ztied1.H, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLS Zresult.H, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector FusedMultiplySubtract(Vector minuend, Vector left, Vector right, ulong imm_index) => FusedMultiplySubtract(minuend, left, right, imm_index); + + + /// FusedMultiplySubtractNegate : Negated multiply-subtract, minuend first + + /// + /// svfloat16_t svnmls[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FNMLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svnmls[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// FNMLS Ztied1.H, Pg/M, Zop2.H, Zop3.H + /// FNMSB Ztied2.H, Pg/M, Zop3.H, Zop1.H + /// FNMSB Ztied3.H, Pg/M, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FNMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// svfloat16_t svnmls[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FNMLS Zresult.H, Pg/M, Zop2.H, Zop3.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FNMSB Zresult.H, Pg/M, Zop3.H, Zop1.H + /// MOVPRFX Zresult.H, Pg/Z, Zop3.H; FNMSB Zresult.H, Pg/M, Zop2.H, Zop1.H + /// + public static unsafe Vector FusedMultiplySubtractNegate(Vector op1, Vector op2, Vector op3) => FusedMultiplySubtractNegate(op1, op2, op3); + + + /// InsertIntoShiftedVector : Insert scalar into shifted vector + + /// + /// svfloat16_t svinsr[_n_f16](svfloat16_t op1, float16_t op2) + /// INSR Ztied1.H, Wop2 + /// INSR Ztied1.H, Hop2 + /// + public static unsafe Vector InsertIntoShiftedVector(Vector left, half right) => InsertIntoShiftedVector(left, right); + + + /// LoadVector : Unextended load + + /// + /// svfloat16_t svld1[_f16](svbool_t pg, const float16_t *base) + /// LD1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVector(Vector mask, const half *base) => LoadVector(mask, half); + + + /// LoadVector128AndReplicateToVector : Load and replicate 128 bits of data + + /// + /// svfloat16_t svld1rq[_f16](svbool_t pg, const float16_t *base) + /// LD1RQH Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD1RQH Zresult.H, Pg/Z, [Xarray, #index * 2] + /// LD1RQH Zresult.H, Pg/Z, [Xbase, #0] + /// + public static unsafe Vector LoadVector128AndReplicateToVector(Vector mask, const half *base) => LoadVector128AndReplicateToVector(mask, half); + + + /// LoadVectorFirstFaulting : Unextended load, first-faulting + + /// + /// svfloat16_t svldff1[_f16](svbool_t pg, const float16_t *base) + /// LDFF1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDFF1H Zresult.H, Pg/Z, [Xbase, XZR, LSL #1] + /// + public static unsafe Vector LoadVectorFirstFaulting(Vector mask, const half *base) => LoadVectorFirstFaulting(mask, half); + + + /// LoadVectorNonFaulting : Unextended load, non-faulting + + /// + /// svfloat16_t svldnf1[_f16](svbool_t pg, const float16_t *base) + /// LDNF1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonFaulting(Vector mask, const half *base) => LoadVectorNonFaulting(mask, half); + + + /// LoadVectorNonTemporal : Unextended load, non-temporal + + /// + /// svfloat16_t svldnt1[_f16](svbool_t pg, const float16_t *base) + /// LDNT1H Zresult.H, Pg/Z, [Xarray, Xindex, LSL #1] + /// LDNT1H Zresult.H, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe Vector LoadVectorNonTemporal(Vector mask, const half *base) => LoadVectorNonTemporal(mask, half); + + + /// LoadVectorx2 : Load two-element tuples into two vectors + + /// + /// svfloat16x2_t svld2[_f16](svbool_t pg, const float16_t *base) + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD2H {Zresult0.H, Zresult1.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector) LoadVectorx2(Vector mask, const half *base) => LoadVectorx2(mask, half); + + + /// LoadVectorx3 : Load three-element tuples into three vectors + + /// + /// svfloat16x3_t svld3[_f16](svbool_t pg, const float16_t *base) + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD3H {Zresult0.H - Zresult2.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector) LoadVectorx3(Vector mask, const half *base) => LoadVectorx3(mask, half); + + + /// LoadVectorx4 : Load four-element tuples into four vectors + + /// + /// svfloat16x4_t svld4[_f16](svbool_t pg, const float16_t *base) + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xarray, Xindex, LSL #1] + /// LD4H {Zresult0.H - Zresult3.H}, Pg/Z, [Xbase, #0, MUL VL] + /// + public static unsafe (Vector, Vector, Vector, Vector) LoadVectorx4(Vector mask, const half *base) => LoadVectorx4(mask, half); + + + /// Log2 : Base 2 logarithm as integer + + /// + /// svint16_t svlogb[_f16]_m(svint16_t inactive, svbool_t pg, svfloat16_t op) + /// FLOGB Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FLOGB Zresult.H, Pg/M, Zop.H + /// svint16_t svlogb[_f16]_x(svbool_t pg, svfloat16_t op) + /// FLOGB Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FLOGB Zresult.H, Pg/M, Zop.H + /// svint16_t svlogb[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FLOGB Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Log2(Vector value) => Log2(value); + + + /// Max : Maximum + + /// + /// svfloat16_t svmax[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmax[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMAX Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmax[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMAX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMAX Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Max(Vector left, Vector right) => Max(left, right); + + + /// MaxAcross : Maximum reduction to scalar + + /// + /// float16_t svmaxv[_f16](svbool_t pg, svfloat16_t op) + /// FMAXV Hresult, Pg, Zop.H + /// + public static unsafe half MaxAcross(Vector value) => MaxAcross(value); + + + /// MaxNumber : Maximum number + + /// + /// svfloat16_t svmaxnm[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXNM Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmaxnm[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXNM Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMAXNM Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMAXNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmaxnm[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMAXNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMAXNM Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector MaxNumber(Vector left, Vector right) => MaxNumber(left, right); + + + /// MaxNumberAcross : Maximum number reduction to scalar + + /// + /// float16_t svmaxnmv[_f16](svbool_t pg, svfloat16_t op) + /// FMAXNMV Hresult, Pg, Zop.H + /// + public static unsafe half MaxNumberAcross(Vector value) => MaxNumberAcross(value); + + + /// MaxNumberPairwise : Maximum number pairwise + + /// + /// svfloat16_t svmaxnmp[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXNMP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmaxnmp[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXNMP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAXNMP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MaxNumberPairwise(Vector left, Vector right) => MaxNumberPairwise(left, right); + + + /// MaxPairwise : Maximum pairwise + + /// + /// svfloat16_t svmaxp[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmaxp[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMAXP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMAXP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MaxPairwise(Vector left, Vector right) => MaxPairwise(left, right); + + + /// Min : Minimum + + /// + /// svfloat16_t svmin[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmin[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMIN Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMIN Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmin[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMIN Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMIN Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Min(Vector left, Vector right) => Min(left, right); + + + /// MinAcross : Minimum reduction to scalar + + /// + /// float16_t svminv[_f16](svbool_t pg, svfloat16_t op) + /// FMINV Hresult, Pg, Zop.H + /// + public static unsafe half MinAcross(Vector value) => MinAcross(value); + + + /// MinNumber : Minimum number + + /// + /// svfloat16_t svminnm[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINNM Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svminnm[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINNM Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMINNM Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMINNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svminnm[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMINNM Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMINNM Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector MinNumber(Vector left, Vector right) => MinNumber(left, right); + + + /// MinNumberAcross : Minimum number reduction to scalar + + /// + /// float16_t svminnmv[_f16](svbool_t pg, svfloat16_t op) + /// FMINNMV Hresult, Pg, Zop.H + /// + public static unsafe half MinNumberAcross(Vector value) => MinNumberAcross(value); + + + /// MinNumberPairwise : Minimum number pairwise + + /// + /// svfloat16_t svminnmp[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINNMP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svminnmp[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINNMP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMINNMP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MinNumberPairwise(Vector left, Vector right) => MinNumberPairwise(left, right); + + + /// MinPairwise : Minimum pairwise + + /// + /// svfloat16_t svminp[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svminp[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMINP Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMINP Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector MinPairwise(Vector left, Vector right) => MinPairwise(left, right); + + + /// Multiply : Multiply + + /// + /// svfloat16_t svmul[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmul[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMUL Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMUL Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// FMUL Zresult.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmul[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMUL Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMUL Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Multiply(Vector left, Vector right) => Multiply(left, right); + + /// + /// svfloat16_t svmul_lane[_f16](svfloat16_t op1, svfloat16_t op2, uint64_t imm_index) + /// FMUL Zresult.H, Zop1.H, Zop2.H[imm_index] + /// + public static unsafe Vector Multiply(Vector left, Vector right, ulong index) => Multiply(left, right, index); + + + + + + /// MultiplyAddRotateComplex : Complex multiply-add with rotate + + /// + /// svfloat16_t svcmla[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.H, Pg/M, Zop2.H, Zop3.H, #imm_rotation + /// svfloat16_t svcmla[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_rotation) + /// FCMLA Ztied1.H, Pg/M, Zop2.H, Zop3.H, #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.H, Pg/M, Zop2.H, Zop3.H, #imm_rotation + /// svfloat16_t svcmla[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_rotation) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FCMLA Zresult.H, Pg/M, Zop2.H, Zop3.H, #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_rotation); + + /// + /// svfloat16_t svcmla_lane[_f16](svfloat16_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index, uint64_t imm_rotation) + /// FCMLA Ztied1.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// MOVPRFX Zresult, Zop1; FCMLA Zresult.H, Zop2.H, Zop3.H[imm_index], #imm_rotation + /// + public static unsafe Vector MultiplyAddRotateComplex(Vector op1, Vector op2, Vector op3, ulong imm_index, ulong imm_rotation) => MultiplyAddRotateComplex(op1, op2, op3, imm_index, imm_rotation); + + + /// MultiplyAddWideningLower : Multiply-add long (bottom) + + /// + /// svfloat32_t svmlalb[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLALB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLALB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningLower(op1, op2, op3); + + /// + /// svfloat32_t svmlalb_lane[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLALB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLALB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplyAddWideningLower(op1, op2, op3, imm_index); + + + /// MultiplyAddWideningUpper : Multiply-add long (top) + + /// + /// svfloat32_t svmlalt[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLALT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLALT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplyAddWideningUpper(op1, op2, op3); + + /// + /// svfloat32_t svmlalt_lane[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLALT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLALT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplyAddWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplyAddWideningUpper(op1, op2, op3, imm_index); + + + /// MultiplyExtended : Multiply extended (∞×0=2) + + /// + /// svfloat16_t svmulx[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMULX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FMULX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmulx[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FMULX Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FMULX Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FMULX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svmulx[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FMULX Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FMULX Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector MultiplyExtended(Vector left, Vector right) => MultiplyExtended(left, right); + + + + + + /// MultiplySubtractWideningLower : Multiply-subtract long (bottom) + + /// + /// svfloat32_t svmlslb[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLSLB Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLSLB Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningLower(op1, op2, op3); + + /// + /// svfloat32_t svmlslb_lane[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLSLB Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLSLB Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningLower(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplySubtractWideningLower(op1, op2, op3, imm_index); + + + /// MultiplySubtractWideningUpper : Multiply-subtract long (top) + + /// + /// svfloat32_t svmlslt[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3) + /// FMLSLT Ztied1.S, Zop2.H, Zop3.H + /// MOVPRFX Zresult, Zop1; FMLSLT Zresult.S, Zop2.H, Zop3.H + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3) => MultiplySubtractWideningUpper(op1, op2, op3); + + /// + /// svfloat32_t svmlslt_lane[_f32](svfloat32_t op1, svfloat16_t op2, svfloat16_t op3, uint64_t imm_index) + /// FMLSLT Ztied1.S, Zop2.H, Zop3.H[imm_index] + /// MOVPRFX Zresult, Zop1; FMLSLT Zresult.S, Zop2.H, Zop3.H[imm_index] + /// + public static unsafe Vector MultiplySubtractWideningUpper(Vector op1, Vector op2, Vector op3, ulong imm_index) => MultiplySubtractWideningUpper(op1, op2, op3, imm_index); + + + /// Negate : Negate + + /// + /// svfloat16_t svneg[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FNEG Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FNEG Zresult.H, Pg/M, Zop.H + /// svfloat16_t svneg[_f16]_x(svbool_t pg, svfloat16_t op) + /// FNEG Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FNEG Zresult.H, Pg/M, Zop.H + /// svfloat16_t svneg[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FNEG Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Negate(Vector value) => Negate(value); + + + + + /// PopCount : Count nonzero bits + + /// + /// svuint16_t svcnt[_f16]_m(svuint16_t inactive, svbool_t pg, svfloat16_t op) + /// CNT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_f16]_x(svbool_t pg, svfloat16_t op) + /// CNT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; CNT Zresult.H, Pg/M, Zop.H + /// svuint16_t svcnt[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; CNT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector PopCount(Vector value) => PopCount(value); + + + /// ReciprocalEstimate : Reciprocal estimate + + /// + /// svfloat16_t svrecpe[_f16](svfloat16_t op) + /// FRECPE Zresult.H, Zop.H + /// + public static unsafe Vector ReciprocalEstimate(Vector value) => ReciprocalEstimate(value); + + + /// ReciprocalExponent : Reciprocal exponent + + /// + /// svfloat16_t svrecpx[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRECPX Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRECPX Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrecpx[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRECPX Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRECPX Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrecpx[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRECPX Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector ReciprocalExponent(Vector value) => ReciprocalExponent(value); + + + /// ReciprocalSqrtEstimate : Reciprocal square root estimate + + /// + /// svfloat16_t svrsqrte[_f16](svfloat16_t op) + /// FRSQRTE Zresult.H, Zop.H + /// + public static unsafe Vector ReciprocalSqrtEstimate(Vector value) => ReciprocalSqrtEstimate(value); + + + /// ReciprocalSqrtStep : Reciprocal square root step + + /// + /// svfloat16_t svrsqrts[_f16](svfloat16_t op1, svfloat16_t op2) + /// FRSQRTS Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ReciprocalSqrtStep(Vector left, Vector right) => ReciprocalSqrtStep(left, right); + + + /// ReciprocalStep : Reciprocal step + + /// + /// svfloat16_t svrecps[_f16](svfloat16_t op1, svfloat16_t op2) + /// FRECPS Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ReciprocalStep(Vector left, Vector right) => ReciprocalStep(left, right); + + + /// ReverseElement : Reverse all elements + + /// + /// svfloat16_t svrev[_f16](svfloat16_t op) + /// REV Zresult.H, Zop.H + /// + public static unsafe Vector ReverseElement(Vector value) => ReverseElement(value); + + + /// RoundAwayFromZero : Round to nearest, ties away from zero + + /// + /// svfloat16_t svrinta[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRINTA Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRINTA Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrinta[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRINTA Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRINTA Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrinta[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRINTA Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector RoundAwayFromZero(Vector value) => RoundAwayFromZero(value); + + + /// RoundToNearest : Round to nearest, ties to even + + /// + /// svfloat16_t svrintn[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRINTN Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRINTN Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintn[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRINTN Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRINTN Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintn[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRINTN Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector RoundToNearest(Vector value) => RoundToNearest(value); + + + /// RoundToNegativeInfinity : Round towards -∞ + + /// + /// svfloat16_t svrintm[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRINTM Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRINTM Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintm[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRINTM Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRINTM Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintm[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRINTM Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector RoundToNegativeInfinity(Vector value) => RoundToNegativeInfinity(value); + + + /// RoundToPositiveInfinity : Round towards +∞ + + /// + /// svfloat16_t svrintp[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRINTP Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRINTP Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintp[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRINTP Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRINTP Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintp[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRINTP Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector RoundToPositiveInfinity(Vector value) => RoundToPositiveInfinity(value); + + + /// RoundToZero : Round towards zero + + /// + /// svfloat16_t svrintz[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FRINTZ Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FRINTZ Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintz[_f16]_x(svbool_t pg, svfloat16_t op) + /// FRINTZ Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FRINTZ Zresult.H, Pg/M, Zop.H + /// svfloat16_t svrintz[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FRINTZ Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector RoundToZero(Vector value) => RoundToZero(value); + + + + + /// Scale : Adjust exponent + + /// + /// svfloat16_t svscale[_f16]_m(svbool_t pg, svfloat16_t op1, svint16_t op2) + /// FSCALE Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svscale[_f16]_x(svbool_t pg, svfloat16_t op1, svint16_t op2) + /// FSCALE Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FSCALE Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svscale[_f16]_z(svbool_t pg, svfloat16_t op1, svint16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FSCALE Zresult.H, Pg/M, Zresult.H, Zop2.H + /// + public static unsafe Vector Scale(Vector left, Vector right) => Scale(left, right); + + + /// Splice : Splice two vectors under predicate control + + /// + /// svfloat16_t svsplice[_f16](svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// SPLICE Ztied1.H, Pg, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; SPLICE Zresult.H, Pg, Zresult.H, Zop2.H + /// + public static unsafe Vector Splice(Vector mask, Vector left, Vector right) => Splice(mask, left, right); + + + /// Sqrt : Square root + + /// + /// svfloat16_t svsqrt[_f16]_m(svfloat16_t inactive, svbool_t pg, svfloat16_t op) + /// FSQRT Ztied.H, Pg/M, Zop.H + /// MOVPRFX Zresult, Zinactive; FSQRT Zresult.H, Pg/M, Zop.H + /// svfloat16_t svsqrt[_f16]_x(svbool_t pg, svfloat16_t op) + /// FSQRT Ztied.H, Pg/M, Ztied.H + /// MOVPRFX Zresult, Zop; FSQRT Zresult.H, Pg/M, Zop.H + /// svfloat16_t svsqrt[_f16]_z(svbool_t pg, svfloat16_t op) + /// MOVPRFX Zresult.H, Pg/Z, Zop.H; FSQRT Zresult.H, Pg/M, Zop.H + /// + public static unsafe Vector Sqrt(Vector value) => Sqrt(value); + + + /// Store : Non-truncating store + + /// + /// void svst1[_f16](svbool_t pg, float16_t *base, svfloat16_t data) + /// ST1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// ST1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Store(Vector mask, half *base, Vector data) => Store(mask, *base, data); + + + /// StoreNonTemporal : Non-truncating store, non-temporal + + /// + /// void svstnt1[_f16](svbool_t pg, float16_t *base, svfloat16_t data) + /// STNT1H Zdata.H, Pg, [Xarray, Xindex, LSL #1] + /// STNT1H Zdata.H, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void StoreNonTemporal(Vector mask, half *base, Vector data) => StoreNonTemporal(mask, *base, data); + + + /// Storex2 : Store two vectors into two-element tuples + + /// + /// void svst2[_f16](svbool_t pg, float16_t *base, svfloat16x2_t data) + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST2H {Zdata0.H, Zdata1.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex2(Vector mask, half *base, (Vector data1, Vector data2)) => Storex2(mask, *base, data1,); + + + /// Storex3 : Store three vectors into three-element tuples + + /// + /// void svst3[_f16](svbool_t pg, float16_t *base, svfloat16x3_t data) + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST3H {Zdata0.H - Zdata2.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex3(Vector mask, half *base, (Vector data1, Vector data2, Vector data3)) => Storex3(mask, *base, data1,); + + + /// Storex4 : Store four vectors into four-element tuples + + /// + /// void svst4[_f16](svbool_t pg, float16_t *base, svfloat16x4_t data) + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xarray, Xindex, LSL #1] + /// ST4H {Zdata0.H - Zdata3.H}, Pg, [Xbase, #0, MUL VL] + /// + public static unsafe void Storex4(Vector mask, half *base, (Vector data1, Vector data2, Vector data3, Vector data4)) => Storex4(mask, *base, data1,); + + + /// Subtract : Subtract + + /// + /// svfloat16_t svsub[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svsub[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FSUB Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FSUBR Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// FSUB Zresult.H, Zop1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svsub[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FSUB Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FSUBR Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector Subtract(Vector left, Vector right) => Subtract(left, right); + + + /// SubtractReversed : Subtract reversed + + /// + /// svfloat16_t svsubr[_f16]_m(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svsubr[_f16]_x(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// FSUBR Ztied1.H, Pg/M, Ztied1.H, Zop2.H + /// FSUB Ztied2.H, Pg/M, Ztied2.H, Zop1.H + /// FSUB Zresult.H, Zop2.H, Zop1.H + /// MOVPRFX Zresult, Zop1; FSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// svfloat16_t svsubr[_f16]_z(svbool_t pg, svfloat16_t op1, svfloat16_t op2) + /// MOVPRFX Zresult.H, Pg/Z, Zop1.H; FSUBR Zresult.H, Pg/M, Zresult.H, Zop2.H + /// MOVPRFX Zresult.H, Pg/Z, Zop2.H; FSUB Zresult.H, Pg/M, Zresult.H, Zop1.H + /// + public static unsafe Vector SubtractReversed(Vector left, Vector right) => SubtractReversed(left, right); + + + /// TransposeEven : Interleave even elements from two inputs + + /// + /// svfloat16_t svtrn1[_f16](svfloat16_t op1, svfloat16_t op2) + /// TRN1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeEven(Vector left, Vector right) => TransposeEven(left, right); + + + /// TransposeOdd : Interleave odd elements from two inputs + + /// + /// svfloat16_t svtrn2[_f16](svfloat16_t op1, svfloat16_t op2) + /// TRN2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TransposeOdd(Vector left, Vector right) => TransposeOdd(left, right); + + + /// TrigonometricMultiplyAddCoefficient : Trigonometric multiply-add coefficient + + /// + /// svfloat16_t svtmad[_f16](svfloat16_t op1, svfloat16_t op2, uint64_t imm3) + /// FTMAD Ztied1.H, Ztied1.H, Zop2.H, #imm3 + /// MOVPRFX Zresult, Zop1; FTMAD Zresult.H, Zresult.H, Zop2.H, #imm3 + /// + public static unsafe Vector TrigonometricMultiplyAddCoefficient(Vector op1, Vector op2, ulong imm3) => TrigonometricMultiplyAddCoefficient(op1, op2, imm3); + + + /// TrigonometricSelectCoefficient : Trigonometric select coefficient + + /// + /// svfloat16_t svtssel[_f16](svfloat16_t op1, svuint16_t op2) + /// FTSSEL Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TrigonometricSelectCoefficient(Vector left, Vector right) => TrigonometricSelectCoefficient(left, right); + + + /// TrigonometricStartingValue : Trigonometric starting value + + /// + /// svfloat16_t svtsmul[_f16](svfloat16_t op1, svuint16_t op2) + /// FTSMUL Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector TrigonometricStartingValue(Vector left, Vector right) => TrigonometricStartingValue(left, right); + + + /// UnzipEven : Concatenate even elements from two inputs + + /// + /// svfloat16_t svuzp1[_f16](svfloat16_t op1, svfloat16_t op2) + /// UZP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipEven(Vector left, Vector right) => UnzipEven(left, right); + + + /// UnzipOdd : Concatenate odd elements from two inputs + + /// + /// svfloat16_t svuzp2[_f16](svfloat16_t op1, svfloat16_t op2) + /// UZP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector UnzipOdd(Vector left, Vector right) => UnzipOdd(left, right); + + + /// UpConvertWideningUpper : Up convert long (top) + + /// + /// svfloat32_t svcvtlt_f32[_f16]_m(svfloat32_t inactive, svbool_t pg, svfloat16_t op) + /// FCVTLT Ztied.S, Pg/M, Zop.H + /// svfloat32_t svcvtlt_f32[_f16]_x(svbool_t pg, svfloat16_t op) + /// FCVTLT Ztied.S, Pg/M, Ztied.H + /// + public static unsafe Vector UpConvertWideningUpper(Vector value) => UpConvertWideningUpper(value); + + + /// VectorTableLookup : Table lookup in single-vector table + + /// + /// svfloat16_t svtbl[_f16](svfloat16_t data, svuint16_t indices) + /// TBL Zresult.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookup(Vector data, Vector indices) => VectorTableLookup(data, indices); + + /// + /// svfloat16_t svtbl2[_f16](svfloat16x2_t data, svuint16_t indices) + /// TBL Zresult.H, {Zdata0.H, Zdata1.H}, Zindices.H + /// + public static unsafe Vector VectorTableLookup((Vector data1, Vector data2), Vector indices) => VectorTableLookup(data1,, indices); + + + /// VectorTableLookupExtension : Table lookup in single-vector table (merging) + + /// + /// svfloat16_t svtbx[_f16](svfloat16_t fallback, svfloat16_t data, svuint16_t indices) + /// TBX Ztied.H, Zdata.H, Zindices.H + /// + public static unsafe Vector VectorTableLookupExtension(Vector fallback, Vector data, Vector indices) => VectorTableLookupExtension(fallback, data, indices); + + + /// ZipHigh : Interleave elements from high halves of two inputs + + /// + /// svfloat16_t svzip2[_f16](svfloat16_t op1, svfloat16_t op2) + /// ZIP2 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipHigh(Vector left, Vector right) => ZipHigh(left, right); + + + /// ZipLow : Interleave elements from low halves of two inputs + + /// + /// svfloat16_t svzip1[_f16](svfloat16_t op1, svfloat16_t op2) + /// ZIP1 Zresult.H, Zop1.H, Zop2.H + /// + public static unsafe Vector ZipLow(Vector left, Vector right) => ZipLow(left, right); + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveI8mm.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveI8mm.PlatformNotSupported.cs new file mode 100644 index 0000000000000..e704902f18d13 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveI8mm.PlatformNotSupported.cs @@ -0,0 +1,85 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveI8mm : AdvSimd + { + internal SveI8mm() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// DotProductSignedUnsigned : Dot product (signed × unsigned) + + /// + /// svint32_t svsudot[_s32](svint32_t op1, svint8_t op2, svuint8_t op3) + /// USDOT Ztied1.S, Zop3.B, Zop2.B + /// MOVPRFX Zresult, Zop1; USDOT Zresult.S, Zop3.B, Zop2.B + /// + public static unsafe Vector DotProductSignedUnsigned(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svsudot_lane[_s32](svint32_t op1, svint8_t op2, svuint8_t op3, uint64_t imm_index) + /// SUDOT Ztied1.S, Zop2.B, Zop3.B[imm_index] + /// MOVPRFX Zresult, Zop1; SUDOT Zresult.S, Zop2.B, Zop3.B[imm_index] + /// + public static unsafe Vector DotProductSignedUnsigned(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// DotProductUnsignedSigned : Dot product (unsigned × signed) + + /// + /// svint32_t svusdot[_s32](svint32_t op1, svuint8_t op2, svint8_t op3) + /// USDOT Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; USDOT Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector DotProductUnsignedSigned(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svusdot_lane[_s32](svint32_t op1, svuint8_t op2, svint8_t op3, uint64_t imm_index) + /// USDOT Ztied1.S, Zop2.B, Zop3.B[imm_index] + /// MOVPRFX Zresult, Zop1; USDOT Zresult.S, Zop2.B, Zop3.B[imm_index] + /// + public static unsafe Vector DotProductUnsignedSigned(Vector op1, Vector op2, Vector op3, ulong imm_index) { throw new PlatformNotSupportedException(); } + + + /// MatrixMultiplyAccumulate : Matrix multiply-accumulate + + /// + /// svint32_t svmmla[_s32](svint32_t op1, svint8_t op2, svint8_t op3) + /// SMMLA Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SMMLA Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector MatrixMultiplyAccumulate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svmmla[_u32](svuint32_t op1, svuint8_t op2, svuint8_t op3) + /// UMMLA Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UMMLA Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector MatrixMultiplyAccumulate(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + + /// MatrixMultiplyAccumulateUnsignedSigned : Matrix multiply-accumulate (unsigned × signed) + + /// + /// svint32_t svusmmla[_s32](svint32_t op1, svuint8_t op2, svint8_t op3) + /// USMMLA Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; USMMLA Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector MatrixMultiplyAccumulateUnsignedSigned(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveI8mm.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveI8mm.cs new file mode 100644 index 0000000000000..21dad7daa4bfb --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveI8mm.cs @@ -0,0 +1,85 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveI8mm : AdvSimd + { + internal SveI8mm() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// DotProductSignedUnsigned : Dot product (signed × unsigned) + + /// + /// svint32_t svsudot[_s32](svint32_t op1, svint8_t op2, svuint8_t op3) + /// USDOT Ztied1.S, Zop3.B, Zop2.B + /// MOVPRFX Zresult, Zop1; USDOT Zresult.S, Zop3.B, Zop2.B + /// + public static unsafe Vector DotProductSignedUnsigned(Vector op1, Vector op2, Vector op3) => DotProductSignedUnsigned(op1, op2, op3); + + /// + /// svint32_t svsudot_lane[_s32](svint32_t op1, svint8_t op2, svuint8_t op3, uint64_t imm_index) + /// SUDOT Ztied1.S, Zop2.B, Zop3.B[imm_index] + /// MOVPRFX Zresult, Zop1; SUDOT Zresult.S, Zop2.B, Zop3.B[imm_index] + /// + public static unsafe Vector DotProductSignedUnsigned(Vector op1, Vector op2, Vector op3, ulong imm_index) => DotProductSignedUnsigned(op1, op2, op3, imm_index); + + + /// DotProductUnsignedSigned : Dot product (unsigned × signed) + + /// + /// svint32_t svusdot[_s32](svint32_t op1, svuint8_t op2, svint8_t op3) + /// USDOT Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; USDOT Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector DotProductUnsignedSigned(Vector op1, Vector op2, Vector op3) => DotProductUnsignedSigned(op1, op2, op3); + + /// + /// svint32_t svusdot_lane[_s32](svint32_t op1, svuint8_t op2, svint8_t op3, uint64_t imm_index) + /// USDOT Ztied1.S, Zop2.B, Zop3.B[imm_index] + /// MOVPRFX Zresult, Zop1; USDOT Zresult.S, Zop2.B, Zop3.B[imm_index] + /// + public static unsafe Vector DotProductUnsignedSigned(Vector op1, Vector op2, Vector op3, ulong imm_index) => DotProductUnsignedSigned(op1, op2, op3, imm_index); + + + /// MatrixMultiplyAccumulate : Matrix multiply-accumulate + + /// + /// svint32_t svmmla[_s32](svint32_t op1, svint8_t op2, svint8_t op3) + /// SMMLA Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; SMMLA Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector MatrixMultiplyAccumulate(Vector op1, Vector op2, Vector op3) => MatrixMultiplyAccumulate(op1, op2, op3); + + /// + /// svuint32_t svmmla[_u32](svuint32_t op1, svuint8_t op2, svuint8_t op3) + /// UMMLA Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; UMMLA Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector MatrixMultiplyAccumulate(Vector op1, Vector op2, Vector op3) => MatrixMultiplyAccumulate(op1, op2, op3); + + + /// MatrixMultiplyAccumulateUnsignedSigned : Matrix multiply-accumulate (unsigned × signed) + + /// + /// svint32_t svusmmla[_s32](svint32_t op1, svuint8_t op2, svint8_t op3) + /// USMMLA Ztied1.S, Zop2.B, Zop3.B + /// MOVPRFX Zresult, Zop1; USMMLA Zresult.S, Zop2.B, Zop3.B + /// + public static unsafe Vector MatrixMultiplyAccumulateUnsignedSigned(Vector op1, Vector op2, Vector op3) => MatrixMultiplyAccumulateUnsignedSigned(op1, op2, op3); + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSha3.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSha3.PlatformNotSupported.cs new file mode 100644 index 0000000000000..0002bc16f071c --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSha3.PlatformNotSupported.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveSha3 : AdvSimd + { + internal SveSha3() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// BitwiseRotateLeftBy1AndXor : Bitwise rotate left by 1 and exclusive OR + + /// + /// svint64_t svrax1[_s64](svint64_t op1, svint64_t op2) + /// RAX1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector BitwiseRotateLeftBy1AndXor(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svrax1[_u64](svuint64_t op1, svuint64_t op2) + /// RAX1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector BitwiseRotateLeftBy1AndXor(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSha3.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSha3.cs new file mode 100644 index 0000000000000..6def6ce6f27df --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSha3.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveSha3 : AdvSimd + { + internal SveSha3() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// BitwiseRotateLeftBy1AndXor : Bitwise rotate left by 1 and exclusive OR + + /// + /// svint64_t svrax1[_s64](svint64_t op1, svint64_t op2) + /// RAX1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector BitwiseRotateLeftBy1AndXor(Vector left, Vector right) => BitwiseRotateLeftBy1AndXor(left, right); + + /// + /// svuint64_t svrax1[_u64](svuint64_t op1, svuint64_t op2) + /// RAX1 Zresult.D, Zop1.D, Zop2.D + /// + public static unsafe Vector BitwiseRotateLeftBy1AndXor(Vector left, Vector right) => BitwiseRotateLeftBy1AndXor(left, right); + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSm4.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSm4.PlatformNotSupported.cs new file mode 100644 index 0000000000000..d93c019600c65 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSm4.PlatformNotSupported.cs @@ -0,0 +1,42 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveSm4 : AdvSimd + { + internal SveSm4() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// Sm4EncryptionAndDecryption : SM4 encryption and decryption + + /// + /// svuint32_t svsm4e[_u32](svuint32_t op1, svuint32_t op2) + /// SM4E Ztied1.S, Ztied1.S, Zop2.S + /// + public static unsafe Vector Sm4EncryptionAndDecryption(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + /// Sm4KeyUpdates : SM4 key updates + + /// + /// svuint32_t svsm4ekey[_u32](svuint32_t op1, svuint32_t op2) + /// SM4EKEY Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector Sm4KeyUpdates(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + } +} + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSm4.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSm4.cs new file mode 100644 index 0000000000000..407060af100ba --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/SveSm4.cs @@ -0,0 +1,42 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class SveSm4 : AdvSimd + { + internal SveSm4() { } + + public static new bool IsSupported { get => IsSupported; } + + + /// Sm4EncryptionAndDecryption : SM4 encryption and decryption + + /// + /// svuint32_t svsm4e[_u32](svuint32_t op1, svuint32_t op2) + /// SM4E Ztied1.S, Ztied1.S, Zop2.S + /// + public static unsafe Vector Sm4EncryptionAndDecryption(Vector left, Vector right) => Sm4EncryptionAndDecryption(left, right); + + + /// Sm4KeyUpdates : SM4 key updates + + /// + /// svuint32_t svsm4ekey[_u32](svuint32_t op1, svuint32_t op2) + /// SM4EKEY Zresult.S, Zop1.S, Zop2.S + /// + public static unsafe Vector Sm4KeyUpdates(Vector left, Vector right) => Sm4KeyUpdates(left, right); + + } +} +