Developer Guide and Reference

Contents

Writing Programs with Intel® Streaming SIMD Extensions (Intel® SSE) Intrinsics

You should be familiar with the hardware features provided by Intel® Streaming SIMD Extensions (Intel® SSE) when writing programs with the intrinsics. The following are four important issues to keep in mind:
  • Certain intrinsics, such as
    _mm_loadr_ps
    and
    _mm_cmpgt_ss
    , are not directly supported by the instruction set. While these intrinsics are convenient programming aids, be mindful that they may consist of more than one machine-language instruction.
  • Floating-point data loaded or stored as
    __m128
    objects must be generally 16-byte-aligned.
  • Some intrinsics require that their argument be immediates, that is, constant integers (literals), due to the nature of the instruction.
  • The result of arithmetic operations acting on two
    NaN
    (Not a Number) arguments is undefined. Therefore, FP operations using
    NaN
    arguments will not match the expected behavior of the corresponding assembly instructions.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree