🔬This is a nightly-only experimental API. (
stdsimd #48556)Available on x86 or x86-64 only.
Expand description
Streaming SIMD Extensions 2 (SSE2)
Functions
- Implementation detail: converts the immediate argument of the
_mm_slli_si128intrinsic into a compile-time constant. - Implementation detail: converts the immediate argument of the
_mm_srli_si128intrinsic into a compile-time constant. - _mm_add_epi8⚠
sse2Adds packed 8-bit integers inaandb. - _mm_add_epi16⚠
sse2Adds packed 16-bit integers inaandb. - _mm_add_epi32⚠
sse2Adds packed 32-bit integers inaandb. - _mm_add_epi64⚠
sse2Adds packed 64-bit integers inaandb. - _mm_add_pd⚠
sse2Adds packed double-precision (64-bit) floating-point elements inaandb. - _mm_add_sd⚠
sse2Returns a new vector with the low element ofareplaced by the sum of the low elements ofaandb. - _mm_adds_epi8⚠
sse2Adds packed 8-bit integers inaandbusing saturation. - _mm_adds_epi16⚠
sse2Adds packed 16-bit integers inaandbusing saturation. - _mm_adds_epu8⚠
sse2Adds packed unsigned 8-bit integers inaandbusing saturation. - _mm_adds_epu16⚠
sse2Adds packed unsigned 16-bit integers inaandbusing saturation. - _mm_and_pd⚠
sse2Computes the bitwise AND of packed double-precision (64-bit) floating-point elements inaandb. - _mm_and_si128⚠
sse2Computes the bitwise AND of 128 bits (representing integer data) inaandb. - _mm_andnot_pd⚠
sse2Computes the bitwise NOT ofaand then AND withb. - _mm_andnot_si128⚠
sse2Computes the bitwise NOT of 128 bits (representing integer data) inaand then AND withb. - _mm_avg_epu8⚠
sse2Averages packed unsigned 8-bit integers inaandb. - _mm_avg_epu16⚠
sse2Averages packed unsigned 16-bit integers inaandb. - _mm_bslli_si128⚠
sse2Shiftsaleft byIMM8bytes while shifting in zeros. - _mm_bsrli_si128⚠
sse2Shiftsaright byIMM8bytes while shifting in zeros. - _mm_castpd_ps⚠
sse2Casts a 128-bit floating-point vector of[2 x double]into a 128-bit floating-point vector of[4 x float]. - _mm_castpd_si128⚠
sse2Casts a 128-bit floating-point vector of[2 x double]into a 128-bit integer vector. - _mm_castps_pd⚠
sse2Casts a 128-bit floating-point vector of[4 x float]into a 128-bit floating-point vector of[2 x double]. - _mm_castps_si128⚠
sse2Casts a 128-bit floating-point vector of[4 x float]into a 128-bit integer vector. - _mm_castsi128_pd⚠
sse2Casts a 128-bit integer vector into a 128-bit floating-point vector of[2 x double]. - _mm_castsi128_ps⚠
sse2Casts a 128-bit integer vector into a 128-bit floating-point vector of[4 x float]. - _mm_clflush⚠
sse2Invalidates and flushes the cache line that containspfrom all levels of the cache hierarchy. - _mm_cmpeq_epi8⚠
sse2Compares packed 8-bit integers inaandbfor equality. - _mm_cmpeq_epi16⚠
sse2Compares packed 16-bit integers inaandbfor equality. - _mm_cmpeq_epi32⚠
sse2Compares packed 32-bit integers inaandbfor equality. - _mm_cmpeq_pd⚠
sse2Compares corresponding elements inaandbfor equality. - _mm_cmpeq_sd⚠
sse2Returns a new vector with the low element ofareplaced by the equality comparison of the lower elements ofaandb. - _mm_cmpge_pd⚠
sse2Compares corresponding elements inaandbfor greater-than-or-equal. - _mm_cmpge_sd⚠
sse2Returns a new vector with the low element ofareplaced by the greater-than-or-equal comparison of the lower elements ofaandb. - _mm_cmpgt_epi8⚠
sse2Compares packed 8-bit integers inaandbfor greater-than. - _mm_cmpgt_epi16⚠
sse2Compares packed 16-bit integers inaandbfor greater-than. - _mm_cmpgt_epi32⚠
sse2Compares packed 32-bit integers inaandbfor greater-than. - _mm_cmpgt_pd⚠
sse2Compares corresponding elements inaandbfor greater-than. - _mm_cmpgt_sd⚠
sse2Returns a new vector with the low element ofareplaced by the greater-than comparison of the lower elements ofaandb. - _mm_cmple_pd⚠
sse2Compares corresponding elements inaandbfor less-than-or-equal - _mm_cmple_sd⚠
sse2Returns a new vector with the low element ofareplaced by the less-than-or-equal comparison of the lower elements ofaandb. - _mm_cmplt_epi8⚠
sse2Compares packed 8-bit integers inaandbfor less-than. - _mm_cmplt_epi16⚠
sse2Compares packed 16-bit integers inaandbfor less-than. - _mm_cmplt_epi32⚠
sse2Compares packed 32-bit integers inaandbfor less-than. - _mm_cmplt_pd⚠
sse2Compares corresponding elements inaandbfor less-than. - _mm_cmplt_sd⚠
sse2Returns a new vector with the low element ofareplaced by the less-than comparison of the lower elements ofaandb. - _mm_cmpneq_pd⚠
sse2Compares corresponding elements inaandbfor not-equal. - _mm_cmpneq_sd⚠
sse2Returns a new vector with the low element ofareplaced by the not-equal comparison of the lower elements ofaandb. - _mm_cmpnge_pd⚠
sse2Compares corresponding elements inaandbfor not-greater-than-or-equal. - _mm_cmpnge_sd⚠
sse2Returns a new vector with the low element ofareplaced by the not-greater-than-or-equal comparison of the lower elements ofaandb. - _mm_cmpngt_pd⚠
sse2Compares corresponding elements inaandbfor not-greater-than. - _mm_cmpngt_sd⚠
sse2Returns a new vector with the low element ofareplaced by the not-greater-than comparison of the lower elements ofaandb. - _mm_cmpnle_pd⚠
sse2Compares corresponding elements inaandbfor not-less-than-or-equal. - _mm_cmpnle_sd⚠
sse2Returns a new vector with the low element ofareplaced by the not-less-than-or-equal comparison of the lower elements ofaandb. - _mm_cmpnlt_pd⚠
sse2Compares corresponding elements inaandbfor not-less-than. - _mm_cmpnlt_sd⚠
sse2Returns a new vector with the low element ofareplaced by the not-less-than comparison of the lower elements ofaandb. - _mm_cmpord_pd⚠
sse2Compares corresponding elements inaandbto see if neither isNaN. - _mm_cmpord_sd⚠
sse2Returns a new vector with the low element ofareplaced by the result of comparing both of the lower elements ofaandbtoNaN. If neither are equal toNaNthen0xFFFFFFFFFFFFFFFFis used and0otherwise. - _mm_cmpunord_pd⚠
sse2Compares corresponding elements inaandbto see if either isNaN. - _mm_cmpunord_sd⚠
sse2Returns a new vector with the low element ofareplaced by the result of comparing both of the lower elements ofaandbtoNaN. If either is equal toNaNthen0xFFFFFFFFFFFFFFFFis used and0otherwise. - _mm_comieq_sd⚠
sse2Compares the lower element ofaandbfor equality. - _mm_comige_sd⚠
sse2Compares the lower element ofaandbfor greater-than-or-equal. - _mm_comigt_sd⚠
sse2Compares the lower element ofaandbfor greater-than. - _mm_comile_sd⚠
sse2Compares the lower element ofaandbfor less-than-or-equal. - _mm_comilt_sd⚠
sse2Compares the lower element ofaandbfor less-than. - _mm_comineq_sd⚠
sse2Compares the lower element ofaandbfor not-equal. - _mm_cvtepi32_pd⚠
sse2Converts the lower two packed 32-bit integers inato packed double-precision (64-bit) floating-point elements. - _mm_cvtepi32_ps⚠
sse2Converts packed 32-bit integers inato packed single-precision (32-bit) floating-point elements. - _mm_cvtpd_epi32⚠
sse2Converts packed double-precision (64-bit) floating-point elements inato packed 32-bit integers. - _mm_cvtpd_ps⚠
sse2Converts packed double-precision (64-bit) floating-point elements inato packed single-precision (32-bit) floating-point elements - _mm_cvtps_epi32⚠
sse2Converts packed single-precision (32-bit) floating-point elements inato packed 32-bit integers. - _mm_cvtps_pd⚠
sse2Converts packed single-precision (32-bit) floating-point elements inato packed double-precision (64-bit) floating-point elements. - _mm_cvtsd_f64⚠
sse2Returns the lower double-precision (64-bit) floating-point element ofa. - _mm_cvtsd_si32⚠
sse2Converts the lower double-precision (64-bit) floating-point element in a to a 32-bit integer. - _mm_cvtsd_ss⚠
sse2Converts the lower double-precision (64-bit) floating-point element inbto a single-precision (32-bit) floating-point element, store the result in the lower element of the return value, and copies the upper element fromato the upper element the return value. - _mm_cvtsi32_sd⚠
sse2Returnsawith its lower element replaced bybafter converting it to anf64. - _mm_cvtsi32_si128⚠
sse2Returns a vector whose lowest element isaand all higher elements are0. - _mm_cvtsi128_si32⚠
sse2Returns the lowest element ofa. - _mm_cvtss_sd⚠
sse2Converts the lower single-precision (32-bit) floating-point element inbto a double-precision (64-bit) floating-point element, store the result in the lower element of the return value, and copies the upper element fromato the upper element the return value. - _mm_cvttpd_epi32⚠
sse2Converts packed double-precision (64-bit) floating-point elements inato packed 32-bit integers with truncation. - _mm_cvttps_epi32⚠
sse2Converts packed single-precision (32-bit) floating-point elements inato packed 32-bit integers with truncation. - _mm_cvttsd_si32⚠
sse2Converts the lower double-precision (64-bit) floating-point element inato a 32-bit integer with truncation. - _mm_div_pd⚠
sse2Divide packed double-precision (64-bit) floating-point elements inaby packed elements inb. - _mm_div_sd⚠
sse2Returns a new vector with the low element ofareplaced by the result of diving the lower element ofaby the lower element ofb. - _mm_extract_epi16⚠
sse2Returns theimm8element ofa. - _mm_insert_epi16⚠
sse2Returns a new vector where theimm8element ofais replaced withi. - _mm_lfence⚠
sse2Performs a serializing operation on all load-from-memory instructions that were issued prior to this instruction. - _mm_load1_pd⚠
sse2Loads a double-precision (64-bit) floating-point element from memory into both elements of returned vector. - _mm_load_pd⚠
sse2Loads 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) from memory into the returned vector.mem_addrmust be aligned on a 16-byte boundary or a general-protection exception may be generated. - _mm_load_pd1⚠
sse2Loads a double-precision (64-bit) floating-point element from memory into both elements of returned vector. - _mm_load_sd⚠
sse2Loads a 64-bit double-precision value to the low element of a 128-bit integer vector and clears the upper element. - _mm_load_si128⚠
sse2Loads 128-bits of integer data from memory into a new vector. - _mm_loadh_pd⚠
sse2Loads a double-precision value into the high-order bits of a 128-bit vector of[2 x double]. The low-order bits are copied from the low-order bits of the first operand. - _mm_loadl_epi64⚠
sse2Loads 64-bit integer from memory into first element of returned vector. - _mm_loadl_pd⚠
sse2Loads a double-precision value into the low-order bits of a 128-bit vector of[2 x double]. The high-order bits are copied from the high-order bits of the first operand. - _mm_loadr_pd⚠
sse2Loads 2 double-precision (64-bit) floating-point elements from memory into the returned vector in reverse order.mem_addrmust be aligned on a 16-byte boundary or a general-protection exception may be generated. - _mm_loadu_pd⚠
sse2Loads 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) from memory into the returned vector.mem_addrdoes not need to be aligned on any particular boundary. - _mm_loadu_si128⚠
sse2Loads 128-bits of integer data from memory into a new vector. - _mm_madd_epi16⚠
sse2Multiplies and then horizontally add signed 16 bit integers inaandb. - _mm_maskmoveu_si128⚠
sse2Conditionally store 8-bit integer elements fromainto memory usingmask. - _mm_max_epi16⚠
sse2Compares packed 16-bit integers inaandb, and returns the packed maximum values. - _mm_max_epu8⚠
sse2Compares packed unsigned 8-bit integers inaandb, and returns the packed maximum values. - _mm_max_pd⚠
sse2Returns a new vector with the maximum values from corresponding elements inaandb. - _mm_max_sd⚠
sse2Returns a new vector with the low element ofareplaced by the maximum of the lower elements ofaandb. - _mm_mfence⚠
sse2Performs a serializing operation on all load-from-memory and store-to-memory instructions that were issued prior to this instruction. - _mm_min_epi16⚠
sse2Compares packed 16-bit integers inaandb, and returns the packed minimum values. - _mm_min_epu8⚠
sse2Compares packed unsigned 8-bit integers inaandb, and returns the packed minimum values. - _mm_min_pd⚠
sse2Returns a new vector with the minimum values from corresponding elements inaandb. - _mm_min_sd⚠
sse2Returns a new vector with the low element ofareplaced by the minimum of the lower elements ofaandb. - _mm_move_epi64⚠
sse2Returns a vector where the low element is extracted fromaand its upper element is zero. - _mm_move_sd⚠
sse2Constructs a 128-bit floating-point vector of[2 x double]. The lower 64 bits are set to the lower 64 bits of the second parameter. The upper 64 bits are set to the upper 64 bits of the first parameter. - _mm_movemask_epi8⚠
sse2Returns a mask of the most significant bit of each element ina. - _mm_movemask_pd⚠
sse2Returns a mask of the most significant bit of each element ina. - _mm_mul_epu32⚠
sse2Multiplies the low unsigned 32-bit integers from each packed 64-bit element inaandb. - _mm_mul_pd⚠
sse2Multiplies packed double-precision (64-bit) floating-point elements inaandb. - _mm_mul_sd⚠
sse2Returns a new vector with the low element ofareplaced by multiplying the low elements ofaandb. - _mm_mulhi_epi16⚠
sse2Multiplies the packed 16-bit integers inaandb. - _mm_mulhi_epu16⚠
sse2Multiplies the packed unsigned 16-bit integers inaandb. - _mm_mullo_epi16⚠
sse2Multiplies the packed 16-bit integers inaandb. - _mm_or_pd⚠
sse2Computes the bitwise OR ofaandb. - _mm_or_si128⚠
sse2Computes the bitwise OR of 128 bits (representing integer data) inaandb. - _mm_packs_epi16⚠
sse2Converts packed 16-bit integers fromaandbto packed 8-bit integers using signed saturation. - _mm_packs_epi32⚠
sse2Converts packed 32-bit integers fromaandbto packed 16-bit integers using signed saturation. - _mm_packus_epi16⚠
sse2Converts packed 16-bit integers fromaandbto packed 8-bit integers using unsigned saturation. - Provides a hint to the processor that the code sequence is a spin-wait loop.
- _mm_sad_epu8⚠
sse2Sum the absolute differences of packed unsigned 8-bit integers. - _mm_set1_epi8⚠
sse2Broadcasts 8-bit integerato all elements. - _mm_set1_epi16⚠
sse2Broadcasts 16-bit integerato all elements. - _mm_set1_epi32⚠
sse2Broadcasts 32-bit integerato all elements. - _mm_set1_epi64x⚠
sse2Broadcasts 64-bit integerato all elements. - _mm_set1_pd⚠
sse2Broadcasts double-precision (64-bit) floating-point value a to all elements of the return value. - _mm_set_epi8⚠
sse2Sets packed 8-bit integers with the supplied values. - _mm_set_epi16⚠
sse2Sets packed 16-bit integers with the supplied values. - _mm_set_epi32⚠
sse2Sets packed 32-bit integers with the supplied values. - _mm_set_epi64x⚠
sse2Sets packed 64-bit integers with the supplied values, from highest to lowest. - _mm_set_pd⚠
sse2Sets packed double-precision (64-bit) floating-point elements in the return value with the supplied values. - _mm_set_pd1⚠
sse2Broadcasts double-precision (64-bit) floating-point value a to all elements of the return value. - _mm_set_sd⚠
sse2Copies double-precision (64-bit) floating-point elementato the lower element of the packed 64-bit return value. - _mm_setr_epi8⚠
sse2Sets packed 8-bit integers with the supplied values in reverse order. - _mm_setr_epi16⚠
sse2Sets packed 16-bit integers with the supplied values in reverse order. - _mm_setr_epi32⚠
sse2Sets packed 32-bit integers with the supplied values in reverse order. - _mm_setr_pd⚠
sse2Sets packed double-precision (64-bit) floating-point elements in the return value with the supplied values in reverse order. - _mm_setzero_pd⚠
sse2Returns packed double-precision (64-bit) floating-point elements with all zeros. - _mm_setzero_si128⚠
sse2Returns a vector with all elements set to zero. - _mm_shuffle_epi32⚠
sse2Shuffles 32-bit integers inausing the control inIMM8. - _mm_shuffle_pd⚠
sse2Constructs a 128-bit floating-point vector of[2 x double]from two 128-bit vector parameters of[2 x double], using the immediate-value parameter as a specifier. - _mm_shufflehi_epi16⚠
sse2Shuffles 16-bit integers in the high 64 bits ofausing the control inIMM8. - _mm_shufflelo_epi16⚠
sse2Shuffles 16-bit integers in the low 64 bits ofausing the control inIMM8. - _mm_sll_epi16⚠
sse2Shifts packed 16-bit integers inaleft bycountwhile shifting in zeros. - _mm_sll_epi32⚠
sse2Shifts packed 32-bit integers inaleft bycountwhile shifting in zeros. - _mm_sll_epi64⚠
sse2Shifts packed 64-bit integers inaleft bycountwhile shifting in zeros. - _mm_slli_epi16⚠
sse2Shifts packed 16-bit integers inaleft byIMM8while shifting in zeros. - _mm_slli_epi32⚠
sse2Shifts packed 32-bit integers inaleft byIMM8while shifting in zeros. - _mm_slli_epi64⚠
sse2Shifts packed 64-bit integers inaleft byIMM8while shifting in zeros. - _mm_slli_si128⚠
sse2Shiftsaleft byIMM8bytes while shifting in zeros. - _mm_sqrt_pd⚠
sse2Returns a new vector with the square root of each of the values ina. - _mm_sqrt_sd⚠
sse2Returns a new vector with the low element ofareplaced by the square root of the lower elementb. - _mm_sra_epi16⚠
sse2Shifts packed 16-bit integers inaright bycountwhile shifting in sign bits. - _mm_sra_epi32⚠
sse2Shifts packed 32-bit integers inaright bycountwhile shifting in sign bits. - _mm_srai_epi16⚠
sse2Shifts packed 16-bit integers inaright byIMM8while shifting in sign bits. - _mm_srai_epi32⚠
sse2Shifts packed 32-bit integers inaright byIMM8while shifting in sign bits. - _mm_srl_epi16⚠
sse2Shifts packed 16-bit integers inaright bycountwhile shifting in zeros. - _mm_srl_epi32⚠
sse2Shifts packed 32-bit integers inaright bycountwhile shifting in zeros. - _mm_srl_epi64⚠
sse2Shifts packed 64-bit integers inaright bycountwhile shifting in zeros. - _mm_srli_epi16⚠
sse2Shifts packed 16-bit integers inaright byIMM8while shifting in zeros. - _mm_srli_epi32⚠
sse2Shifts packed 32-bit integers inaright byIMM8while shifting in zeros. - _mm_srli_epi64⚠
sse2Shifts packed 64-bit integers inaright byIMM8while shifting in zeros. - _mm_srli_si128⚠
sse2Shiftsaright byIMM8bytes while shifting in zeros. - _mm_store1_pd⚠
sse2Stores the lower double-precision (64-bit) floating-point element fromainto 2 contiguous elements in memory.mem_addrmust be aligned on a 16-byte boundary or a general-protection exception may be generated. - _mm_store_pd⚠
sse2Stores 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) fromainto memory.mem_addrmust be aligned on a 16-byte boundary or a general-protection exception may be generated. - _mm_store_pd1⚠
sse2Stores the lower double-precision (64-bit) floating-point element fromainto 2 contiguous elements in memory.mem_addrmust be aligned on a 16-byte boundary or a general-protection exception may be generated. - _mm_store_sd⚠
sse2Stores the lower 64 bits of a 128-bit vector of[2 x double]to a memory location. - _mm_store_si128⚠
sse2Stores 128-bits of integer data fromainto memory. - _mm_storeh_pd⚠
sse2Stores the upper 64 bits of a 128-bit vector of[2 x double]to a memory location. - _mm_storel_epi64⚠
sse2Stores the lower 64-bit integerato a memory location. - _mm_storel_pd⚠
sse2Stores the lower 64 bits of a 128-bit vector of[2 x double]to a memory location. - _mm_storer_pd⚠
sse2Stores 2 double-precision (64-bit) floating-point elements fromainto memory in reverse order.mem_addrmust be aligned on a 16-byte boundary or a general-protection exception may be generated. - _mm_storeu_pd⚠
sse2Stores 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) fromainto memory.mem_addrdoes not need to be aligned on any particular boundary. - _mm_storeu_si128⚠
sse2Stores 128-bits of integer data fromainto memory. - _mm_stream_pd⚠
sse2Stores a 128-bit floating point vector of[2 x double]to a 128-bit aligned memory location. To minimize caching, the data is flagged as non-temporal (unlikely to be used again soon). - _mm_stream_si32⚠
sse2Stores a 32-bit integer value in the specified memory location. To minimize caching, the data is flagged as non-temporal (unlikely to be used again soon). - _mm_stream_si128⚠
sse2Stores a 128-bit integer vector to a 128-bit aligned memory location. To minimize caching, the data is flagged as non-temporal (unlikely to be used again soon). - _mm_sub_epi8⚠
sse2Subtracts packed 8-bit integers inbfrom packed 8-bit integers ina. - _mm_sub_epi16⚠
sse2Subtracts packed 16-bit integers inbfrom packed 16-bit integers ina. - _mm_sub_epi32⚠
sse2Subtract packed 32-bit integers inbfrom packed 32-bit integers ina. - _mm_sub_epi64⚠
sse2Subtract packed 64-bit integers inbfrom packed 64-bit integers ina. - _mm_sub_pd⚠
sse2Subtract packed double-precision (64-bit) floating-point elements inbfroma. - _mm_sub_sd⚠
sse2Returns a new vector with the low element ofareplaced by subtracting the low element bybfrom the low element ofa. - _mm_subs_epi8⚠
sse2Subtract packed 8-bit integers inbfrom packed 8-bit integers inausing saturation. - _mm_subs_epi16⚠
sse2Subtract packed 16-bit integers inbfrom packed 16-bit integers inausing saturation. - _mm_subs_epu8⚠
sse2Subtract packed unsigned 8-bit integers inbfrom packed unsigned 8-bit integers inausing saturation. - _mm_subs_epu16⚠
sse2Subtract packed unsigned 16-bit integers inbfrom packed unsigned 16-bit integers inausing saturation. - _mm_ucomieq_sd⚠
sse2Compares the lower element ofaandbfor equality. - _mm_ucomige_sd⚠
sse2Compares the lower element ofaandbfor greater-than-or-equal. - _mm_ucomigt_sd⚠
sse2Compares the lower element ofaandbfor greater-than. - _mm_ucomile_sd⚠
sse2Compares the lower element ofaandbfor less-than-or-equal. - _mm_ucomilt_sd⚠
sse2Compares the lower element ofaandbfor less-than. - _mm_ucomineq_sd⚠
sse2Compares the lower element ofaandbfor not-equal. - _mm_undefined_pd⚠
sse2Returns vector of type __m128d with indeterminate elements. Despite being “undefined”, this is some valid value and not equivalent tomem::MaybeUninit. In practice, this is equivalent tomem::zeroed. - _mm_undefined_si128⚠
sse2Returns vector of type __m128i with indeterminate elements. Despite being “undefined”, this is some valid value and not equivalent tomem::MaybeUninit. In practice, this is equivalent tomem::zeroed. - _mm_unpackhi_epi8⚠
sse2Unpacks and interleave 8-bit integers from the high half ofaandb. - _mm_unpackhi_epi16⚠
sse2Unpacks and interleave 16-bit integers from the high half ofaandb. - _mm_unpackhi_epi32⚠
sse2Unpacks and interleave 32-bit integers from the high half ofaandb. - _mm_unpackhi_epi64⚠
sse2Unpacks and interleave 64-bit integers from the high half ofaandb. - _mm_unpackhi_pd⚠
sse2The resulting__m128delement is composed by the low-order values of the two__m128dinterleaved input elements, i.e.: - _mm_unpacklo_epi8⚠
sse2Unpacks and interleave 8-bit integers from the low half ofaandb. - _mm_unpacklo_epi16⚠
sse2Unpacks and interleave 16-bit integers from the low half ofaandb. - _mm_unpacklo_epi32⚠
sse2Unpacks and interleave 32-bit integers from the low half ofaandb. - _mm_unpacklo_epi64⚠
sse2Unpacks and interleave 64-bit integers from the low half ofaandb. - _mm_unpacklo_pd⚠
sse2The resulting__m128delement is composed by the high-order values of the two__m128dinterleaved input elements, i.e.: - _mm_xor_pd⚠
sse2Computes the bitwise XOR ofaandb. - _mm_xor_si128⚠
sse2Computes the bitwise XOR of 128 bits (representing integer data) inaandb.