The Gen_IsMMXMachine() utility function
The Gen_IsMMXMachine() utility function can be used when you include Intel™ MMX media enhancement technology in your DataBlade® module.
The function tests the processor in the database server
computer to determine if it has MMX technology support. If MMX technology
support is found, Gen_IsMMXMachine() returns 1
.
If
the database server machine does not have MMX technology support,
or if the FORCE_NO_MMX environment variable is
set in the database server environment, Gen_IsMMXMachine() returns 0
.
On UNIX™ machines, Gen_IsMMXMachine() always
returns 0
.
To execute MMX instructions when possible and to execute portable C code on computers that do not have MMX technology support, call Gen_IsMMXMachine() in an IF statement.
Gen_IsMMXMachine() declares a static INT flag, MMXType. It first looks for the FORCE_NO_MMX environment variable, which must be set in the environment before the database server is started.
If FORCE_NO_MMX is
found, the function sets MMXType to 0
without
testing the CPU. If FORCE_NO_MMX is not found, the function
tests the processor and sets the MMXType variable to 1
if
MMX technology support is found or 0
if not. After
the value of MMXType is set, Gen_IsMMXMachine() returns
its value immediately, so that tests are performed once after the DataBlade module
object file is loaded.