Флаги в make.conf

У меня Pentium 4 Prescott 3 Ghz с поддержкой HT. Помагите выставить правильные флаги для самой хорошей оптимизации и работы. Сейчас стоит: CFLAGS="-march=prescott -O2 -pipe"

Под какой

Под какой gcc?
так на вскидку не скажу но попробуй спросить Alexyx
у него сейчас такое же железо....
_________________
Gentoo GNU/Linux 2.6.17 GCC 4.1.1 Dual Xeon

gcc-4.1.1 сейчас

gcc-4.1.1 сейчас стоит. Профиль i686-pc-linux-gnu-4.1.1

Флаги в make.conf

Pentium 4 Prescott 2.8 Ghz

Сегодня перешел на gcc-4.1.1, добавил "-ftree-vectorize"

CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer -ftree-vectorize"

И пересобрал всю систему

emerge -e system && emerge -e world

Теперь все летает на около световых скоростях :)

А LDFLAGS="-Wl,-O1

А LDFLAGS="-Wl,-O1 -Wl,--sort-common" вот это мне оставить или лучше убрать?

Читали доки? #

Читали доки?

# Host and optimization settings
# ==============================
#
# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
#
# Please note that if you experience strange issues with a package, it may be
# due to gcc's optimizations interacting in a strange way. Please test the
# package (and in some cases the libraries it uses) at default optimizations
# before reporting errors to developers.
#
# -mcpu= means optimize code for the particular type of CPU without
# breaking compatibility with other CPUs.
#
# -march= means to take full advantage of the ABI and instructions
# for the particular CPU; this will break compatibility with older CPUs (for
# example, -march=athlon-xp code will not run on a regular Athlon, and
# -march=i686 code will not run on a Pentium Classic.
#
# CPU types supported by gcc version:
# (Higher versions include the targets from older ones,
# those listed on the same line are equivalent.)
# === >=gcc-2.95
# i386 Original Intel's i386.
# i486 Intel's i486. (No scheduling implemented.)
# i586, pentium Intel Pentium with no MMX support.
# pentium-mmx Intel PentiumMMX based on Pentium core with MMX.
# i686, pentiumpro Intel PentiumPro.
# === >=gcc-3.2
# k6 AMD K6 with MMX.
# k6-2, k6-3 AMD K6 with MMX and 3dNOW!.
# pentium2 Intel Pentium2 based on PentiumPro with MMX.
# pentium3 Intel Pentium3 based on PentiumPro with MMX and SSE.
# pentium4 Intel Pentium4 with MMX, SSE and SSE2.
# athlon, athlon-tbird AMD Athlon with MMX, 3dNOW!, enhanced 3dNOW!
# and SSE prefetch.
# athlon-4, athlon-xp, athlon-mp AMD Athlon with MMX, 3dNOW!, enhanced
# 3dNOW! and full SSE.
# === >=gcc-3.3
# winchip-c6 IDT Winchip C6, i486 with MMX.
# winchip2 IDT Winchip2, i486 MMX and 3dNOW!.
# c3 Via C3 with MMX and 3dNOW! (No scheduling implemented.)
# === >=gcc-4.1
# c3-2 Via C3-2 with MMX and SSE. (No scheduling implemented.)
# pentium-m Low power version of Intel Pentium3 with MMX, SSE, SSE2.
# Used by Centrino notebooks.
# prescott Intel Pentium4 with MMX, SSE, SSE2 and SSE3.
# nocona Intel Pentium4 with 64-bit extensions, MMX, SSE, SSE2
# and SSE3.
# k8, opteron, athlon64, athlon-fx AMD K8 core based CPUs with x86-64.
# (This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and
# 64-bit extensions.)
#
# Gentoo Linux 1.2 and below used gcc-2.95*
# Gentoo Linux 1.4 and 2004.* had gcc-3.2
# Gentoo Linux 2005.1 through 2006.0 use gcc-3.3
# Gentoo Linux 2006.1 has gcc-4.1

---------------------------------------------
Intel P4/Xeon Extended MCE MSRs 3200 x2 SMP IBM Xseries 346 4Gb/chip video ATI Radeon QY 8Mb/
Portage 2.1.3.7 (default-linux/x86/2007.0, gcc-4.2.0, glibc-2.6.1-r0, 2.6.22-gentoo-r5 i686)

Открыл америку....

Веришь ли? Это каждый ламер читал.

-free-vectorise попробую. По личному опыту - на AMD64 безопасно и полезно включать -mfpmath=sse -m128bit-long-double.

-free-vectorize имеет

-free-vectorize имеет извесные проблемы с zlib.
ты хотябы багзиллу рыл перед применением флагов...

и Ruby с ним не собирается

и ещё что-то тоже не собирается :)

gcc

Вот хорошая дока по gcc на русском. Правда устарела чуть-чуть, но советую почитать.

Ага.

Устарела она не чуть-чуть, а КОНКРЕТНО. И в man gcc то же самое написано.
В этой багзилле поиск какой-то треш выдаёт.
zlib скомпилилось. Ruby не хочет как с флагом, так и без него. Ну да и пёс с ним.
Какой ещё софт глючит от флага? А то прибавка скорости от него конкретная.
Я нашёл 2 жалобы на этот флаг. У обоих перцев там кроме него ещё было понаверчено дофига всего. Возможна несовместимость между двумя флагами. к -ftree-vectorize обязательно нужен -ftracer.

zlib то

zlib то компилится, только вот некоторый соыт после этого скегфолтится местами.

Разве -mfpmath=sse и

Разве -mfpmath=sse и -m128bit-long-double не включены по умолчанию для x86_64? Может потому их "безопасно и полезно включать"?

-ftree-vectorize если

-ftree-vectorize
если компилить с этим флагом zlib, то вместо запуска firefox сегфолтится.
больше побочных эффектов не нашел.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".