ドキュメント

Unity Engine

Download Unity

Unity Engine

X86.Sse

SSE intrinsics
読み終わるまでの所要時間 13 分最終更新 13日前

Definition

public static class X86.Sse

Static Properties

Property

Description

IsSseSupportedEvaluates to true at compile time if SSE intrinsics are supported.

Static Methods

Method

Description

add_psAdd packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".
add_ssAdd the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
and_psCompute the bitwise AND of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".
andnot_psCompute the bitwise NOT of packed single-precision (32-bit) floating-point elements in "a" and then AND with "b", and store the results in "dst".
cmpeq_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" for equality, and store the results in "dst".
cmpeq_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" for equality, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmpge_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" for greater-than-or-equal, and store the results in "dst".
cmpge_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" for greater-than-or-equal, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmpgt_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" for greater-than, and store the results in "dst".
cmpgt_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" for greater-than, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmple_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" for less-than-or-equal, and store the results in "dst".
cmple_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" for less-than-or-equal, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmplt_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" for less-than, and store the results in "dst".
cmplt_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" for less-than, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmpneq_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-equal, and store the results in "dst".
cmpneq_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" for not-equal, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmpnge_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-greater-than-or-equal, and store the results in "dst".
cmpnge_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" for not-greater-than-or-equal, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmpngt_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-greater-than, and store the results in "dst".
cmpngt_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" for not-greater-than, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmpnle_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than-or-equal, and store the results in "dst".
cmpnle_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than-or-equal, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmpnlt_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than, and store the results in "dst".
cmpnlt_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" for not-less-than, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmpord_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" to see if neither is NaN, and store the results in "dst".
cmpord_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" to see if neither is NaN, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cmpunord_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b" to see if either is NaN, and store the results in "dst".
cmpunord_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b" to see if either is NaN, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
comieq_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for equality, and return the boolean result (0 or 1).
comige_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for greater-than-or-equal, and return the boolean result (0 or 1).
comigt_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for greater-than, and return the boolean result (0 or 1).
comile_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for less-than-or-equal, and return the boolean result (0 or 1).
comilt_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for less-than, and return the boolean result (0 or 1).
comineq_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for not-equal, and return the boolean result (0 or 1).
cvt_ss2siConvert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst". Follows standard of rounding to nearest, and for midpoint rounding it rounds to even.
cvtsi32_ssConvert the 32-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cvtsi64_ssConvert the 64-bit integer "b" to a single-precision (32-bit) floating-point element, store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
cvtss_f32Copy the lower single-precision (32-bit) floating-point element of "a" to "dst".
cvtss_si32Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer, and store the result in "dst".
cvtss_si64Convert the lower single-precision (32-bit) floating-point element in "a" to a 64-bit integer, and store the result in "dst". Follows standard of rounding to nearest, and for midpoint rounding it rounds to even.
cvtt_ss2siConvert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".
cvttss_si32Convert the lower single-precision (32-bit) floating-point element in "a" to a 32-bit integer with truncation, and store the result in "dst".
cvttss_si64Convert the lower single-precision (32-bit) floating-point element in "a" to a 64-bit integer with truncation, and store the result in "dst".
div_psDivide packed single-precision (32-bit) floating-point elements in "a" by packed elements in "b", and store the results in "dst".
div_ssDivide the lower single-precision (32-bit) floating-point element in "a" by the lower single-precision (32-bit) floating-point element in "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
load_psLoad 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from memory into dst.
loadu_psLoad 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from memory into dst. mem_addr does not need to be aligned on any particular boundary.
loadu_si16Load unaligned 16-bit integer from memory into the first element of dst.
loadu_si64Load unaligned 64-bit integer from memory into the first element of dst.
max_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed maximum values in "dst".
max_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the maximum value in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
min_psCompare packed single-precision (32-bit) floating-point elements in "a" and "b", and store packed minimum values in "dst".
min_ssCompare the lower single-precision (32-bit) floating-point elements in "a" and "b", store the minimum value in the lower element of "dst", and copy the upper element from "a" to the upper element of "dst".
move_ssMove the lower single-precision (32-bit) floating-point element from "b" to the lower element of "dst", and copy the upper 3 elements from "a" to the upper elements of "dst".
movehl_psMove the upper 2 single-precision (32-bit) floating-point elements from "b" to the lower 2 elements of "dst", and copy the upper 2 elements from "a" to the upper 2 elements of "dst".
movelh_psMove the lower 2 single-precision (32-bit) floating-point elements from "b" to the upper 2 elements of "dst", and copy the lower 2 elements from "a" to the lower 2 elements of "dst".
movemask_psSet each bit of mask "dst" based on the most significant bit of the corresponding packed single-precision (32-bit) floating-point element in "a".
mul_psMultiply packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".
mul_ssMultiply the lower single-precision (32-bit) floating-point element in "a" and "b", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
or_psCompute the bitwise OR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".
rcp_psCompute the approximate reciprocal of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.
rcp_ssCompute the approximate reciprocal of the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 1.5*2^-12.
rsqrt_psCompute the approximate reciprocal square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst". The maximum relative error for this approximation is less than 1.5*2^-12.
rsqrt_ssCompute the approximate reciprocal square root of the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst". The maximum relative error for this approximation is less than 1.5*2^-12.
set1_psBroadcast single-precision (32-bit) floating-point value "a" to all elements of "dst".
set_psSet packed single-precision (32-bit) floating-point elements in "dst" with the supplied values.
set_ps1Broadcast single-precision (32-bit) floating-point value "a" to all elements of "dst".
set_ssCopy single-precision (32-bit) floating-point element "a" to the lower element of "dst", and zero the upper 3 elements.
setr_psSet packed single-precision (32-bit) floating-point elements in "dst" with the supplied values in reverse order.
setzero_psReturn vector of type v128 with all elements set to zero.
SHUFFLEReturn a shuffle immediate suitable for use with shuffle_ps and similar instructions.
shuffle_psShuffle single-precision (32-bit) floating-point elements in "a" using the control in "imm8", and store the results in "dst".
sqrt_psCompute the square root of packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".
sqrt_ssCompute the square root of the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
store_psStore 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from a into memory.
storeu_psStore 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from a into memory. mem_addr does not need to be aligned on any particular boundary.
storeu_si16Store 16-bit integer from the first element of a into memory. mem_addr does not need to be aligned on any particular boundary.
storeu_si64Store 64-bit integer from the first element of a into memory. mem_addr does not need to be aligned on any particular boundary.
stream_psStore 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a" into memory using a non-temporal memory hint. "mem_addr" must be aligned on a 16-byte boundary or a general-protection exception will be generated.
sub_psSubtract packed single-precision (32-bit) floating-point elements in "b" from packed single-precision (32-bit) floating-point elements in "a", and store the results in "dst".
sub_ssSubtract the lower single-precision (32-bit) floating-point element in "b" from the lower single-precision (32-bit) floating-point element in "a", store the result in the lower element of "dst", and copy the upper 3 packed elements from "a" to the upper elements of "dst".
TRANSPOSE4_PSTransposes a 4x4 matrix of single precision floating point values (_MM_TRANSPOSE4_PS).
ucomieq_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for equality, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.
ucomige_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for greater-than-or-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.
ucomigt_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for greater-than, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.
ucomile_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for less-than-or-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.
ucomilt_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for less-than, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.
ucomineq_ssCompare the lower single-precision (32-bit) floating-point element in "a" and "b" for not-equal, and return the boolean result (0 or 1). This instruction will not signal an exception for QNaNs.
unpackhi_psUnpack and interleave single-precision (32-bit) floating-point elements from the high half "a" and "b", and store the results in "dst".
unpacklo_psUnpack and interleave single-precision (32-bit) floating-point elements from the low half of "a" and "b", and store the results in "dst".
xor_psCompute the bitwise XOR of packed single-precision (32-bit) floating-point elements in "a" and "b", and store the results in "dst".