There are a lot of feature test macros in the i386/x86_64 compiler of the form: (x86_some_var & (1 << ix86_arch))
These tests could be micro-optimized, either by storing 1 << ix86_arch into a global variable, or by having a global variable that is the result of the and and the shift, so that a simple != 0 can be done. -- Summary: Microoptimization of the i386 and x86_64 compilers Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: michael dot meissner at amd dot com GCC build triplet: x86_64-pc-gnu-linux GCC host triplet: x86_64-pc-gnu-linux GCC target triplet: x86_64-pc-gnu-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31019