The compiler optimizations specifically targeting the Intel Atom Processor can be grouped into those related to the in-order instruction scheduler and thus minimizing dependency stalls caused by instruction latencies, those taking advantage of new or preferable instructions added to the instruction set and lastly those who take advantage of some of the advanced features like SSE3 instructions and bi-endianness support the Intel Atom Processor shares with some other Intel processors. Taking advantage of these features is triggered by using the
xL (Linux*) or /QxL (Windows*)
andwith the Intel C++ Compiler 11.x also the
xSSE3_ATOM (Linux*) or /QxSSE3_ATOM (Windows*)
optimization switch.According to my /proc/cpuinfo, my (32-bit) Intel Atom N270 CPU also supports SSSE3 instructions:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 xtpr pdcm movbe lahf_lm
-xT (deprecated) = -xSSSE3
To use this option, you must also specify -xSSE3_ATOM (Linux and Mac OS X)
The options are ON by default when -xSSE3_ATOM or /QxSSE3_ATOM is specified.
All you need to specify for Intel Atom processor specific optimizations is to add the switch
-xSSE3_ATOM (Linux*) or /QxSSE3_ATOM (Windows*)
which also implicitely enables generation of movbe instructions.
-xL and /QxL was the previus Atom processor switch for 10.x Intel Compilers that is deprecated now and willnot beavailable in future compiler versions. So please use the new switch only.