Useful inline functions for assembler-optimised common operations


Detailed Description

There are little operations which one needs from time to time which can be relatively expensive or impossible to do in C. For these situations, TnFOX provides a series of small inline functions capable of providing them written in assembler on x86 (i486 or later only) and x64 but with fallback generic implementations in C. For x86 and x64 architectures, the relevent intrinsics for SSE and SSE2 are defined if the compiler is not compiling for a non-supporting processor.

Using these functions can seriously improve the speed of your code. You should also check out FX::Maths for SIMD optimised maths.


Functions

void FX::fxprefetchmemT (const void *ptr) throw ()
void FX::fxprefetchmemNT (const void *ptr) throw ()
FXuint FX::fxbitscan (FXuint x) throw ()
FXuint FX::fxbitscanrev (FXuint x) throw ()
void FX::fxendianswap (FXushort &v) throw ()
void FX::fxendianswap (FXuint &v) throw ()
void FX::fxendianswap (FXulong &v) throw ()


(C) 2002-2009 Niall Douglas. Some parts (C) to assorted authors.
Generated on Fri Nov 20 18:31:36 2009 for TnFOX by doxygen v1.4.7