Media applications involve working on fraction values,
for example, the use of a weighting coefficient in filtering
averaging, etc. One way to support operations on fraction
values is to provide SIMD operations for floating-point
operands. However, floating-point units are hardwareintensive.
Also, for several media applications, even
precision of 10 to 12 binary bits and dynamic range of 4
to 6 bits are sufficient. Industry-standard floating-point
(IEEE FP) requires a minimum of 23 bits of precision.
Looking at application requirements and the trade-off of
performance and design complexity leads to the use of a
fixed-point arithmetic paradigm for several media
applications.
-- extracted from "MMX Technology Architecture Overview"
for example, the use of a weighting coefficient in filtering
averaging, etc. One way to support operations on fraction
values is to provide SIMD operations for floating-point
operands. However, floating-point units are hardwareintensive.
Also, for several media applications, even
precision of 10 to 12 binary bits and dynamic range of 4
to 6 bits are sufficient. Industry-standard floating-point
(IEEE FP) requires a minimum of 23 bits of precision.
Looking at application requirements and the trade-off of
performance and design complexity leads to the use of a
fixed-point arithmetic paradigm for several media
applications.
-- extracted from "MMX Technology Architecture Overview"
MMX provides SIMD operations for floating-point operands by using fixed-point arithmetic paradigm to boost performance. The idea is to trade off IEEE FP's minimum 23 bits of precision to a much lower precision.
"MMX/SIMD provides an option for using fixed-point operations to emulate low-precision floating-point operations with the help of the library/app coding".
If these MMX/SSE instructions are not available, then you can only achieve the similar floating point stuff by using x87. Isn't it?
If my perception is wrong, then can you comment on this note?
libSIMDx86 supports Intel's MMX, SSE, SSE2, SSE3; and AMD's 3DNow!, 3DNow!+, and MMX+. Additionally, standard x87 (i.e. non-SIMD) versions of the functions have been provided as a fallback and a control.
-- extracted from http://simdx86.sourceforge.net/
-- extracted from http://simdx86.sourceforge.net/
Leave a comment: