Each conditional function compares single-precision floating-point values of A and B. The C and D parameters are used for return value. Comparison between objects of any Fvec class returns the same class.
Conditional Select Operators for Fvec Classes
Conditional Select for: | Operators | Syntax |
---|---|---|
Equality | select_eq |
|
Inequality | select_neq |
|
Greater Than | select_gt |
|
Greater Than or Equal To | select_ge |
|
Not Greater Than | select_gt |
|
Not Greater Than or Equal To | select_ge |
|
Less Than | select_lt |
|
Less Than or Equal To | select_le |
|
Not Less Than | select_nlt |
|
Not Less Than or Equal To | select_nle |
|
Conditional Select Operator Usage
For conditional select operators, the return value is stored in C if the comparison is true or in D if false. The following table shows the return values for each class of the conditional select operators, using the Return Value Notation described earlier.
Compare Operator Return Value Mapping
R | A0 | Operators | B | C | D | F32vec4 | F64vec2 | F32vec1 |
---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The following table shows examples for conditional select operations and corresponding intrinsics.
Conditional Select Operations for Fvec Classes
Returns | Example Syntax Usage | Intrinsic |
---|---|---|
Compare for Equality | ||
4 floats |
| _mm_cmpeq_ps |
2 doubles |
| _mm_cmpeq_pd |
1 float |
| _mm_cmpeq_ss |
Compare for Inequality | ||
---|---|---|
4 floats |
| _mm_cmpneq_ps |
2 doubles |
| _mm_cmpneq_pd |
1 float |
| _mm_cmpneq_ss |
Compare for Less Than | ||
---|---|---|
4 floats |
| _mm_cmplt_ps |
2 doubles |
| _mm_cmplt_pd |
1 float |
| _mm_cmplt_ss |
Compare for Less Than or Equal | ||
---|---|---|
4 floats |
| _mm_cmple_ps |
2 doubles |
| _mm_cmple_pd |
1 float |
| _mm_cmple_ps |
Compare for Greater Than | ||
---|---|---|
4 floats |
| _mm_cmpgt_ps |
2 doubles |
| _mm_cmpgt_pd |
1 float |
| _mm_cmpgt_ss |
Compare for Greater Than or Equal To | ||
---|---|---|
4 floats |
| _mm_cmpge_ps |
2 doubles |
| _mm_cmpge_pd |
1 float |
| _mm_cmpge_ss |
Compare for Not Less Than | ||
---|---|---|
4 floats |
| _mm_cmpnlt_ps |
2 doubles |
| _mm_cmpnlt_pd |
1 float |
| _mm_cmpnlt_ss |
Compare for Not Less Than or Equal | ||
---|---|---|
4 floats |
| _mm_cmpnle_ps |
2 doubles |
| _mm_cmpnle_pd |
1 float |
| _mm_cmpnle_ss |