/// <summary>Creates a new <see cref="Vector128{Byte}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_set1_epi8</remarks>
/// <returns>A new <see cref="Vector128{Byte}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<byte> Create(byte value)
/// <summary>Creates a new <see cref="Vector128{Double}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128d _mm_set1_pd</remarks>
/// <returns>A new <see cref="Vector128{Double}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<double> Create(double value)
/// <summary>Creates a new <see cref="Vector128{Int16}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_set1_epi16</remarks>
/// <returns>A new <see cref="Vector128{Int16}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<short> Create(short value)
/// <summary>Creates a new <see cref="Vector128{Int32}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_set1_epi32</remarks>
/// <returns>A new <see cref="Vector128{Int32}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<int> Create(int value)
/// <summary>Creates a new <see cref="Vector128{Int64}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_set1_epi64x</remarks>
/// <returns>A new <see cref="Vector128{Int64}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<long> Create(long value)
/// <summary>Creates a new <see cref="Vector128{SByte}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_set1_epi8</remarks>
/// <returns>A new <see cref="Vector128{SByte}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <summary>Creates a new <see cref="Vector128{Single}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128 _mm_set1_ps</remarks>
/// <returns>A new <see cref="Vector128{Single}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<float> Create(float value)
/// <summary>Creates a new <see cref="Vector128{UInt16}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_set1_epi16</remarks>
/// <returns>A new <see cref="Vector128{UInt16}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <summary>Creates a new <see cref="Vector128{UInt32}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_set1_epi32</remarks>
/// <returns>A new <see cref="Vector128{UInt32}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <summary>Creates a new <see cref="Vector128{UInt64}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_set1_epi64x</remarks>
/// <returns>A new <see cref="Vector128{UInt64}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <param name="e13">The value that element 13 will be initialized to.</param>
/// <param name="e14">The value that element 14 will be initialized to.</param>
/// <param name="e15">The value that element 15 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_setr_epi8</remarks>
/// <returns>A new <see cref="Vector128{Byte}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<byte> Create(byte e0, byte e1, byte e2, byte e3, byte e4, byte e5, byte e6, byte e7, byte e8, byte e9, byte e10, byte e11, byte e12, byte e13, byte e14, byte e15)
/// <summary>Creates a new <see cref="Vector128{Double}" /> instance with each element initialized to the corresponding specified value.</summary>
/// <param name="e0">The value that element 0 will be initialized to.</param>
/// <param name="e1">The value that element 1 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128d _mm_setr_pd</remarks>
/// <returns>A new <see cref="Vector128{Double}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<double> Create(double e0, double e1)
/// <param name="e5">The value that element 5 will be initialized to.</param>
/// <param name="e6">The value that element 6 will be initialized to.</param>
/// <param name="e7">The value that element 7 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_setr_epi16</remarks>
/// <returns>A new <see cref="Vector128{Int16}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<short> Create(short e0, short e1, short e2, short e3, short e4, short e5, short e6, short e7)
/// <param name="e1">The value that element 1 will be initialized to.</param>
/// <param name="e2">The value that element 2 will be initialized to.</param>
/// <param name="e3">The value that element 3 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_setr_epi32</remarks>
/// <returns>A new <see cref="Vector128{Int32}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<int> Create(int e0, int e1, int e2, int e3)
/// <summary>Creates a new <see cref="Vector128{Int64}" /> instance with each element initialized to the corresponding specified value.</summary>
/// <param name="e0">The value that element 0 will be initialized to.</param>
/// <param name="e1">The value that element 1 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_setr_epi64x</remarks>
/// <returns>A new <see cref="Vector128{Int64}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<long> Create(long e0, long e1)
/// <param name="e13">The value that element 13 will be initialized to.</param>
/// <param name="e14">The value that element 14 will be initialized to.</param>
/// <param name="e15">The value that element 15 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_setr_epi8</remarks>
/// <returns>A new <see cref="Vector128{SByte}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <param name="e1">The value that element 1 will be initialized to.</param>
/// <param name="e2">The value that element 2 will be initialized to.</param>
/// <param name="e3">The value that element 3 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128 _mm_setr_ps</remarks>
/// <returns>A new <see cref="Vector128{Single}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector128<float> Create(float e0, float e1, float e2, float e3)
/// <param name="e5">The value that element 5 will be initialized to.</param>
/// <param name="e6">The value that element 6 will be initialized to.</param>
/// <param name="e7">The value that element 7 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_setr_epi16</remarks>
/// <returns>A new <see cref="Vector128{UInt16}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <param name="e1">The value that element 1 will be initialized to.</param>
/// <param name="e2">The value that element 2 will be initialized to.</param>
/// <param name="e3">The value that element 3 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_setr_epi32</remarks>
/// <returns>A new <see cref="Vector128{UInt32}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <summary>Creates a new <see cref="Vector128{UInt64}" /> instance with each element initialized to the corresponding specified value.</summary>
/// <param name="e0">The value that element 0 will be initialized to.</param>
/// <param name="e1">The value that element 1 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_setr_epi64x</remarks>
/// <returns>A new <see cref="Vector128{UInt64}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <summary>Creates a new <see cref="Vector128{Int32}" /> instance from two <see cref="Vector64{Int32}" /> instances.</summary>
/// <param name="lower">The value that the lower 64-bits will be initialized to.</param>
/// <param name="upper">The value that the upper 64-bits will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_setr_epi64</remarks>
/// <returns>A new <see cref="Vector128{Int32}" /> initialized from <paramref name="lower" /> and <paramref name="upper" />.</returns>
public static unsafe Vector128<int> Create(Vector64<int> lower, Vector64<int> upper)
{
/// <summary>Creates a new <see cref="Vector128{UInt32}" /> instance from two <see cref="Vector64{UInt32}" /> instances.</summary>
/// <param name="lower">The value that the lower 64-bits will be initialized to.</param>
/// <param name="upper">The value that the upper 64-bits will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m128i _mm_setr_epi64</remarks>
/// <returns>A new <see cref="Vector128{UInt32}" /> initialized from <paramref name="lower" /> and <paramref name="upper" />.</returns>
[CLSCompliant(false)]
public static unsafe Vector128<uint> Create(Vector64<uint> lower, Vector64<uint> upper)
/// <summary>Creates a new <see cref="Vector256{Byte}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_set1_epi8</remarks>
/// <returns>A new <see cref="Vector256{Byte}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<byte> Create(byte value)
/// <summary>Creates a new <see cref="Vector256{Double}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256d _mm256_set1_pd</remarks>
/// <returns>A new <see cref="Vector256{Double}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<double> Create(double value)
/// <summary>Creates a new <see cref="Vector256{Int16}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_set1_epi16</remarks>
/// <returns>A new <see cref="Vector256{Int16}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<short> Create(short value)
/// <summary>Creates a new <see cref="Vector256{Int32}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_set1_epi32</remarks>
/// <returns>A new <see cref="Vector256{Int32}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<int> Create(int value)
/// <summary>Creates a new <see cref="Vector256{Int64}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_set1_epi64x</remarks>
/// <returns>A new <see cref="Vector256{Int64}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<long> Create(long value)
/// <summary>Creates a new <see cref="Vector256{SByte}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_set1_epi8</remarks>
/// <returns>A new <see cref="Vector256{SByte}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <summary>Creates a new <see cref="Vector256{Single}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256 _mm256_set1_ps</remarks>
/// <returns>A new <see cref="Vector256{Single}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<float> Create(float value)
/// <summary>Creates a new <see cref="Vector256{UInt16}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_set1_epi16</remarks>
/// <returns>A new <see cref="Vector256{UInt16}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <summary>Creates a new <see cref="Vector256{UInt32}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_set1_epi32</remarks>
/// <returns>A new <see cref="Vector256{UInt32}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <summary>Creates a new <see cref="Vector256{UInt64}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_set1_epi64x</remarks>
/// <returns>A new <see cref="Vector256{UInt64}" /> with all elements initialized to <paramref name="value" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <param name="e29">The value that element 29 will be initialized to.</param>
/// <param name="e30">The value that element 30 will be initialized to.</param>
/// <param name="e31">The value that element 31 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_setr_epi8</remarks>
/// <returns>A new <see cref="Vector256{Byte}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<byte> Create(byte e0, byte e1, byte e2, byte e3, byte e4, byte e5, byte e6, byte e7, byte e8, byte e9, byte e10, byte e11, byte e12, byte e13, byte e14, byte e15, byte e16, byte e17, byte e18, byte e19, byte e20, byte e21, byte e22, byte e23, byte e24, byte e25, byte e26, byte e27, byte e28, byte e29, byte e30, byte e31)
/// <param name="e1">The value that element 1 will be initialized to.</param>
/// <param name="e2">The value that element 2 will be initialized to.</param>
/// <param name="e3">The value that element 3 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256d _mm256_setr_pd</remarks>
/// <returns>A new <see cref="Vector256{Double}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<double> Create(double e0, double e1, double e2, double e3)
/// <param name="e13">The value that element 13 will be initialized to.</param>
/// <param name="e14">The value that element 14 will be initialized to.</param>
/// <param name="e15">The value that element 15 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_setr_epi16</remarks>
/// <returns>A new <see cref="Vector256{Int16}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<short> Create(short e0, short e1, short e2, short e3, short e4, short e5, short e6, short e7, short e8, short e9, short e10, short e11, short e12, short e13, short e14, short e15)
/// <param name="e5">The value that element 5 will be initialized to.</param>
/// <param name="e6">The value that element 6 will be initialized to.</param>
/// <param name="e7">The value that element 7 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_setr_epi32</remarks>
/// <returns>A new <see cref="Vector256{Int32}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<int> Create(int e0, int e1, int e2, int e3, int e4, int e5, int e6, int e7)
/// <param name="e1">The value that element 1 will be initialized to.</param>
/// <param name="e2">The value that element 2 will be initialized to.</param>
/// <param name="e3">The value that element 3 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_setr_epi64x</remarks>
/// <returns>A new <see cref="Vector256{Int64}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<long> Create(long e0, long e1, long e2, long e3)
/// <param name="e29">The value that element 29 will be initialized to.</param>
/// <param name="e30">The value that element 30 will be initialized to.</param>
/// <param name="e31">The value that element 31 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_setr_epi8</remarks>
/// <returns>A new <see cref="Vector256{SByte}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <param name="e5">The value that element 5 will be initialized to.</param>
/// <param name="e6">The value that element 6 will be initialized to.</param>
/// <param name="e7">The value that element 7 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256 _mm256_setr_ps</remarks>
/// <returns>A new <see cref="Vector256{Single}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<float> Create(float e0, float e1, float e2, float e3, float e4, float e5, float e6, float e7)
/// <param name="e13">The value that element 13 will be initialized to.</param>
/// <param name="e14">The value that element 14 will be initialized to.</param>
/// <param name="e15">The value that element 15 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_setr_epi16</remarks>
/// <returns>A new <see cref="Vector256{UInt16}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <param name="e5">The value that element 5 will be initialized to.</param>
/// <param name="e6">The value that element 6 will be initialized to.</param>
/// <param name="e7">The value that element 7 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_setr_epi32</remarks>
/// <returns>A new <see cref="Vector256{UInt32}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <param name="e1">The value that element 1 will be initialized to.</param>
/// <param name="e2">The value that element 2 will be initialized to.</param>
/// <param name="e3">The value that element 3 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_setr_epi64x</remarks>
/// <returns>A new <see cref="Vector256{UInt64}" /> with each element initialized to corresponding specified value.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <summary>Creates a new <see cref="Vector256{Double}" /> instance from two <see cref="Vector128{Double}" /> instances.</summary>
/// <param name="lower">The value that the lower 128-bits will be initialized to.</param>
/// <param name="upper">The value that the upper 128-bits will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256d _mm256_setr_m128d (__m128d lo, __m128d hi)</remarks>
/// <returns>A new <see cref="Vector256{Double}" /> initialized from <paramref name="lower" /> and <paramref name="upper" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<double> Create(Vector128<double> lower, Vector128<double> upper)
/// <summary>Creates a new <see cref="Vector256{Int32}" /> instance from two <see cref="Vector128{Int32}" /> instances.</summary>
/// <param name="lower">The value that the lower 128-bits will be initialized to.</param>
/// <param name="upper">The value that the upper 128-bits will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_setr_m128i (__m128i lo, __m128i hi)</remarks>
/// <returns>A new <see cref="Vector256{Int32}" /> initialized from <paramref name="lower" /> and <paramref name="upper" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<int> Create(Vector128<int> lower, Vector128<int> upper)
/// <summary>Creates a new <see cref="Vector256{Single}" /> instance from two <see cref="Vector128{Single}" /> instances.</summary>
/// <param name="lower">The value that the lower 128-bits will be initialized to.</param>
/// <param name="upper">The value that the upper 128-bits will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256 _mm256_setr_m128 (__m128 lo, __m128 hi)</remarks>
/// <returns>A new <see cref="Vector256{Single}" /> initialized from <paramref name="lower" /> and <paramref name="upper" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static unsafe Vector256<float> Create(Vector128<float> lower, Vector128<float> upper)
/// <summary>Creates a new <see cref="Vector256{UInt32}" /> instance from two <see cref="Vector128{UInt32}" /> instances.</summary>
/// <param name="lower">The value that the lower 128-bits will be initialized to.</param>
/// <param name="upper">The value that the upper 128-bits will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m256i _mm256_setr_m128i (__m128i lo, __m128i hi)</remarks>
/// <returns>A new <see cref="Vector256{UInt32}" /> initialized from <paramref name="lower" /> and <paramref name="upper" />.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[CLSCompliant(false)]
/// <summary>Creates a new <see cref="Vector64{Byte}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_set1_pi8</remarks>
/// <returns>A new <see cref="Vector64{Byte}" /> with all elements initialized to <paramref name="value" />.</returns>
public static unsafe Vector64<byte> Create(byte value)
{
/// <summary>Creates a new <see cref="Vector64{Int16}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_set1_pi16</remarks>
/// <returns>A new <see cref="Vector64{Int16}" /> with all elements initialized to <paramref name="value" />.</returns>
public static unsafe Vector64<short> Create(short value)
{
/// <summary>Creates a new <see cref="Vector64{Int32}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_set1_pi32</remarks>
/// <returns>A new <see cref="Vector64{Int32}" /> with all elements initialized to <paramref name="value" />.</returns>
public static unsafe Vector64<int> Create(int value)
{
/// <summary>Creates a new <see cref="Vector64{SByte}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_set1_pi8</remarks>
/// <returns>A new <see cref="Vector64{SByte}" /> with all elements initialized to <paramref name="value" />.</returns>
[CLSCompliant(false)]
public static unsafe Vector64<sbyte> Create(sbyte value)
/// <summary>Creates a new <see cref="Vector64{UInt16}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_set1_pi16</remarks>
/// <returns>A new <see cref="Vector64{UInt16}" /> with all elements initialized to <paramref name="value" />.</returns>
[CLSCompliant(false)]
public static unsafe Vector64<ushort> Create(ushort value)
/// <summary>Creates a new <see cref="Vector64{UInt32}" /> instance with all elements initialized to the specified value.</summary>
/// <param name="value">The value that all elements will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_set1_pi32</remarks>
/// <returns>A new <see cref="Vector64{UInt32}" /> with all elements initialized to <paramref name="value" />.</returns>
[CLSCompliant(false)]
public static unsafe Vector64<uint> Create(uint value)
/// <param name="e5">The value that element 5 will be initialized to.</param>
/// <param name="e6">The value that element 6 will be initialized to.</param>
/// <param name="e7">The value that element 7 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_setr_pi8</remarks>
/// <returns>A new <see cref="Vector64{Byte}" /> with each element initialized to corresponding specified value.</returns>
public static unsafe Vector64<byte> Create(byte e0, byte e1, byte e2, byte e3, byte e4, byte e5, byte e6, byte e7)
{
/// <param name="e1">The value that element 1 will be initialized to.</param>
/// <param name="e2">The value that element 2 will be initialized to.</param>
/// <param name="e3">The value that element 3 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_setr_pi16</remarks>
/// <returns>A new <see cref="Vector64{Int16}" /> with each element initialized to corresponding specified value.</returns>
public static unsafe Vector64<short> Create(short e0, short e1, short e2, short e3)
{
/// <summary>Creates a new <see cref="Vector64{Int32}" /> instance with each element initialized to the corresponding specified value.</summary>
/// <param name="e0">The value that element 0 will be initialized to.</param>
/// <param name="e1">The value that element 1 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_setr_pi32</remarks>
/// <returns>A new <see cref="Vector64{Int32}" /> with each element initialized to corresponding specified value.</returns>
public static unsafe Vector64<int> Create(int e0, int e1)
{
/// <param name="e5">The value that element 5 will be initialized to.</param>
/// <param name="e6">The value that element 6 will be initialized to.</param>
/// <param name="e7">The value that element 7 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_setr_pi8</remarks>
/// <returns>A new <see cref="Vector64{SByte}" /> with each element initialized to corresponding specified value.</returns>
[CLSCompliant(false)]
public static unsafe Vector64<sbyte> Create(sbyte e0, sbyte e1, sbyte e2, sbyte e3, sbyte e4, sbyte e5, sbyte e6, sbyte e7)
/// <param name="e1">The value that element 1 will be initialized to.</param>
/// <param name="e2">The value that element 2 will be initialized to.</param>
/// <param name="e3">The value that element 3 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_setr_pi16</remarks>
/// <returns>A new <see cref="Vector64{UInt16}" /> with each element initialized to corresponding specified value.</returns>
[CLSCompliant(false)]
public static unsafe Vector64<ushort> Create(ushort e0, ushort e1, ushort e2, ushort e3)
/// <summary>Creates a new <see cref="Vector64{UInt32}" /> instance with each element initialized to the corresponding specified value.</summary>
/// <param name="e0">The value that element 0 will be initialized to.</param>
/// <param name="e1">The value that element 1 will be initialized to.</param>
+ /// <remarks>On x86, this method corresponds to __m64 _mm_setr_pi32</remarks>
/// <returns>A new <see cref="Vector64{UInt32}" /> with each element initialized to corresponding specified value.</returns>
[CLSCompliant(false)]
public static unsafe Vector64<uint> Create(uint e0, uint e1)