Баловался с CFLAGS, нашел вот что: gcc-4.5 включает флаг -msahf, если указать -march=native на Intel Atom N270, который вообще-то 32-разрядный. Если -march=atom, то этот флаг не включается. Насколько я понял, немного погуглив на эту тему, этот флаг для 64-битных процессоров. Так зачем же gcc его включает?
bobr bin # gcc -march=native -Q --help=target|grep enabled
-m32 [enabled]
-m80387 [enabled]
-m96bit-long-double [enabled]
-malign-stringops [enabled]
-mfancy-math-387 [enabled]
-mfp-ret-in-387 [enabled]
-mfused-madd [enabled]
-mglibc [enabled]
-mhard-float [enabled]
-mieee-fp [enabled]
-mmovbe [enabled]
-mno-sse4 [enabled]
-mpush-args [enabled]
-mred-zone [enabled]
-msahf [enabled]
-mstackrealign [enabled]
-mtls-direct-seg-refs [enabled]
bobr bin # gcc -march=atom -Q --help=target|grep enabled
-m32 [enabled]
-m80387 [enabled]
-m96bit-long-double [enabled]
-malign-stringops [enabled]
-mfancy-math-387 [enabled]
-mfp-ret-in-387 [enabled]
-mfused-madd [enabled]
-mglibc [enabled]
-mhard-float [enabled]
-mieee-fp [enabled]
-mno-sse4 [enabled]
-mpush-args [enabled]
-mred-zone [enabled]
-mstackrealign [enabled]
-mtls-direct-seg-refs [enabled]

.