Contents

# Integer Functions for Intel® Streaming SIMD Extensions

This topic contains information about Intel® Streaming SIMD Extensions (Intel® SSE) integer functions.
You must include the
fvec.h
• Compute the element-wise maximum of the respective signed integer words in
A
and
B
:
`Is16vec4 simd_max(Is16vec4 A, Is16vec4 B);`
The corresponding intrinsic is:
_mm_max_pi16
• Compute the element-wise minimum of the respective signed integer words in
A
and
B
:
`Is16vec4 simd_min(Is16vec4 A, Is16vec4 B);`
The corresponding intrinsic is:
_mm_min_pi16
• Compute the element-wise maximum of the respective unsigned bytes in
A
and
B
:
`Iu8vec8 simd_max(Iu8vec8 A, Iu8vec8 B);`
The corresponding intrinsic is:
_mm_max_pu8
• Compute the element-wise minimum of the respective unsigned bytes in
A
and
B
:
`Iu8vec8 simd_min(Iu8vec8 A, Iu8vec8 B);`
The corresponding intrinsic is:
_mm_min_pu8
• Create an 8-bit mask from the most significant bits of the bytes in
A
:
`int move_mask(I8vec8 A);`
The corresponding intrinsic is:
• Conditionally store byte elements of
A
p
. The high bit of each byte in the selector
B
determines whether the corresponding byte in
A
will be stored:
`void mask_move(I8vec8 A, I8vec8 B, signed char *p);`
The corresponding intrinsic is:
• Store the data in
A
p
without polluting the caches.
A
can be any
Ivec
type:
`void store_nta(__m64 *p, M64 A);`
The corresponding intrinsic is:
_mm_stream_pi
• Compute the element-wise average of the respective unsigned 8-bit integers in
A
and
B
:
`Iu8vec8 simd_avg(Iu8vec8 A, Iu8vec8 B);`
The corresponding intrinsic is:
_mm_avg_pu8
• Compute the element-wise average of the respective unsigned 16-bit integers in
A
and
B
:
`Iu16vec4 simd_avg(Iu16vec4 A, Iu16vec4 B)`
The corresponding intrinsic is:
_mm_avg_pu16

#### Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.