читать умеем?
Код: Выделить всё
gcc -fverbose-asm -march=nocona -Q --help=targetи натив советуют потому что оно хоть какие то инструкции включает,но далеко не все - потому лучше руками!
Модератор: /dev/random
читать умеем?
Код: Выделить всё
gcc -fverbose-asm -march=nocona -Q --help=targetХамство - признак человеческой глупости. Особенно на специализированном форуме и с незнакомыми лично людьми
Ссылки, где советуют. Я тебя об этом и просил. На официальные ресурсы, а не на форумы "по интересам".megabaks писал(а): ↑08.03.2010 13:04можно native и посмотреть что гцц включит при native а что нетКод: Выделить всё
gcc -fverbose-asm -march=nocona -Q --help=target
и натив советуют потому что оно хоть какие то инструкции включает,но далеко не все - потому лучше руками!
Код: Выделить всё
megabaks@localhost ~ $ gcc -fverbose-asm -march=native -Q --help=target
Следующие ключи не зависят от целевой архитектуры:
-m128bit-long-double [выключено]
-m32 [включено]
-m3dnow [выключено]
-m3dnowa [выключено]
-m64 [выключено]
-m80387 [включено]
-m96bit-long-double [включено]
-mabm [выключено]
-maccumulate-outgoing-args [выключено]
-maes [выключено]
-malign-double [выключено]
-malign-functions=
-malign-jumps=
-malign-loops=
-malign-stringops [включено]
-march= core2
-masm=
-mavx [выключено]
-mbranch-cost=
-mcld [выключено]
-mcmodel=
-mcx16 [включено]
-mfancy-math-387 [включено]
-mfma [выключено]
-mforce-drap [выключено]
-mfp-ret-in-387 [включено]
-mfpmath=
-mfused-madd [включено]
-mglibc [включено]
-mhard-float [включено]
-mieee-fp [включено]
-mincoming-stack-boundary=
-minline-all-stringops [выключено]
-minline-stringops-dynamically [выключено]
-mintel-syntax [выключено]
-mlarge-data-threshold=
-mmmx [выключено]
-mms-bitfields [выключено]
-mno-align-stringops [выключено]
-mno-fancy-math-387 [выключено]
-mno-fused-madd [выключено]
-mno-push-args [выключено]
-mno-red-zone [выключено]
-mno-sse4 [выключено]
-momit-leaf-frame-pointer [выключено]
-mpc
-mpclmul [выключено]
-mpopcnt [выключено]
-mpreferred-stack-boundary=
-mpush-args [включено]
-mrecip [выключено]
-mred-zone [включено]
-mregparm=
-mrtd [выключено]
-msahf [включено]
-msoft-float [выключено]
-msse [включено]
-msse2 [включено]
-msse2avx [выключено]
-msse3 [включено]
-msse4 [выключено]
-msse4.1 [включено]
-msse4.2 [выключено]
-msse4a [выключено]
-msse5 [выключено]
-msseregparm [выключено]
-mssse3 [включено]
-mstack-arg-probe [выключено]
-mstackrealign [включено]
-mstringop-strategy=
-mtls-dialect=
-mtls-direct-seg-refs [включено]
-mtune= core2
-muclibc [выключено]
-mveclibabi=
megabaks@localhost ~ $ gcc -v
Используются внутренние спецификации.
Целевая архитектура: i686-pc-linux-gnu
Параметры конфигурации: /var/tmp/portage/sys-devel/gcc-4.4.3/work/gcc-4.4.3/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.4.3 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.4.3 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.4.3/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.4.3/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --disable-fixed-point --with-ppl --with-cloog --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --enable-cld --with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.4.3/python --disable-libgcj --with-arch=i686 --enable-objc-gc --enable-languages=c,c++,objc,obj-c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.4.3 p1.0'
Модель многопоточности: posix
gcc версия 4.4.3 (Gentoo 4.4.3 p1.0)и выкидываем нафиг поломатый автомат!-mmmx [выключено]
Код: Выделить всё
megabaks@localhost ~ $ cat /proc/cpuinfo | grep flags | sort -u | tr " " "\012" | grep -e mmx -e sse
mmx
sse
sse2
ssse3
sse4_1model name : Intel® Core™2 Duo CPU E7200 @ 2.53GHz
Код:
-mmmx [выключено]
-msse [выключено]
-msse2 [выключено]
-msse3 [выключено]
-msse4 [выключено]
-msse4.1 [выключено]
-msse4.2 [выключено]
-msse4a [выключено]
-msse5 [выключено]
-msseregparm [выключено]
-mssse3 [выключено]Код:
-mmmx [выключено]
-msse [выключено]
-msse2 [выключено]
-msse3 [выключено]
-msse4 [выключено]
-msse4.1 [выключено]
-msse4.2 [выключено]
-msse4a [выключено]
-msse5 [выключено]
-msseregparm [выключено]
-mssse3 [выключено]core2
Intel Core2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3 instruction set support.
Код:
-mmmx [disabled]
-msse [enabled]
-msse2 [enabled]
-msse2avx [disabled]
-msse3 [enabled]
-msse4 [disabled]
-msse4.1 [enabled]
-msse4.2 [disabled]
-msse4a [disabled]
-msse5 [disabled]
-msseregparm [disabled]
-mssse3 [enabled]Код:
-mmmx [disabled]
-msse [disabled]
-msse2 [disabled]
-msse2avx [disabled]
-msse3 [disabled]
-msse4 [disabled]
-msse4.1 [disabled]
-msse4.2 [disabled]
-msse4a [disabled]
-msse5 [disabled]
-msseregparm [disabled]
-mssse3 [disabled]Код: Выделить всё
CFLAGS="-O2 -march=core2 -mtune=core2 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=3072 -floop-interchange -floop-block -floop-strip-mine -ftree-loop-distribution -pipe -g0 -Wno-all"Moreover, specifying -march=cpu-type implies -mtune=cpu-type.
Код: Выделить всё
jampire@aelita ~ $ gcc -fverbose-asm --help=target
-msse4.1 Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1
built-in functions and code generationэх...выше я это уже писал :)Зачем включать -mmmx -msse -msse2 -msse3 -mssse3, если -msse4.1 уже их включает?
Код: Выделить всё
jampire@aelita ~ $ gcc -fverbose-asm -msse4.1 -Q --help=target
-mmmx [выключено]
-msse [включено]
-msse2 [включено]
-msse3 [включено]
-msse4.1 [включено]
-mssse3 [включено]с версий gcc 4.3 > в марч можно и нужно выставлять native
Код: Выделить всё
CFLAGS="-O2 -pipe -march=core2 -mtune=pentium -fomit-frame-pointer -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse"-ftree-vectorizeCFLAGS="-O2 -pipe -march=core2 -mtune=pentium -fomit-frame-pointer -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse"
Код: Выделить всё
-O2 -march=core2 -ftree-vectorize -msse4.1 --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=3072 -floop-interchange -floop-block -floop-strip-mine -ftree-loop-distribution -pipe -g0 -Wno-all--param l1-cache-line-size=64
l1-cache-line-size
The size of cache line in L1 cache, in bytes.
l1-cache-size
The size of L1 cache, in kilobytes.
l2-cache-size
The size of L2 cache, in kilobytes.
далеко не всё собирается - тот же скул и прочие основы - потому тока для отдельных пакетовИ, да. Я ещё выше в теме задавал вопрос про использование ffast-math. Использовал кто?
l1-cache-line-size
The size of cache line in L1 cache, in bytes.
l1-cache-size
The size of L1 cache, in kilobytes.
Код: Выделить всё
........ошибка компилятора: Ошибка сегментирования
Отправьте подробное сообщение об ошибке
с препроцессированным исходным кодом.Код: Выделить всё
# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 6
cpu MHz : 668.123
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pse36 mmx fxsr sse up
bogomips : 1336.24
clflush size : 32
cache_alignment : 32
address sizes : 36 bits physical, 32 bits virtual
power management:Код: Выделить всё
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=i686 -O2 -pipe"
CXXFLAGS="${CFLAGS}"