Первый вопрос
Когда случилось разделение на Pentium 3 и Athlon, все линуксы стали собирать под i686 и почему-то не новее. У меня два варианта:
- Никаких 786-х инструкций не существует: P3 это i686 + SIMD-инструкции SSE
- На Intel и AMD существуют 786-е инструкции. Только в этот раз AMD создала «свои, уличные» инструкции, без оглядки на Intel
Какая из этих версий правильная?
Собираю одну софтину в двух вариантах: для 32-х и 64-рёх бит. Параметры: -march=i686 -Os
. Хочу чтоб с SSE тоже собиралось. Мне поменять -march=i686
на -march=pentium3
, или на -march=i686 -msse
? Не «отвалится» ли в первом случае Athlon XP? (если пункт №2 - правильный, то мой бинарник на найдёт 786-х инструкций P3)
Второй вопрос
Хочу оптимизацию по размеру бинарника. Более жёсткую оптимизацию мне теперь не включить? Вот в таком наборе параметров: -Os -O2
второй перебьёт первый? Или они суммируются?