Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#52 need a way to turn off ISA extensions

Likely_soon
open
nobody
2
2013-01-09
2003-12-23
R. Clint Whaley
No

A user might want to turn off SSE/AltiVec/3DNow, etc,
even for machines that can compile them. For instance,
he may want to compile a lib that can be called on a
machine without the extensions, or he might want to be
sure that he always got the greater precision of the
x87 unit.

Disabling the config's probe_[SSE,etc] essentially
turns of the prefetch, and maybe the L3 kernel search
(have to check), but it doesn't stop the selection of
individual kernels. For default behavior, taking the
fastest performing kernel regardless of the probe is
the way to go. However, it would still be nice to have
an easy way to force *no* extension usage.

One idea to accomplish this would be to have all ISA
extension-using routines do a test like:

#ifdef ATL_FORCE_NO_SSE2
#error "This routine requires SSE2, and you have
turned it off manually"
#endif

This is relatively simple to do, and would not
interfere with the common case.

Discussion