LINUX.ORG.RU

Два вопроса

 


0

3

Первый вопрос

Когда случилось разделение на Pentium 3 и Athlon, все линуксы стали собирать под i686 и почему-то не новее. У меня два варианта:

  1. Никаких 786-х инструкций не существует: P3 это i686 + SIMD-инструкции SSE
  2. На 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 второй перебьёт первый? Или они суммируются?

★★★★★

Последнее исправление: ZenitharChampion (всего исправлений: 1)

Когда случилось разделение на Pentium 3 и Athlon, все линуксы стали собирать под i686 и почему-то не новее.

i686 это всё от pentium-pro и выше, просто стало не целесообразным делать сборки для старого железа.

Параметры: -march=i686 -Os. Хочу чтоб с SSE тоже собиралось. Мне поменять -march=i686 на...

С i686 скорее всего все дополнительные инструкции использоваться не будут:

           i686
               When used with -march, the Pentium Pro instruction set is used,
               so the code runs on all i686 family chips.  When used with
               -mtune, it has the same meaning as generic.
если собираешь для локалхоста, то лучше просто использовать -march=native

mashina ★★★★★
()

А чем native не подходит?

andreyu ★★★★★
()

Когда случилось разделение на Pentium 3 и Athlon, все линуксы стали собирать под i686

А почему тогда для opensuse все 32битные пакеты помечены как i586?

DELIRIUM ☆☆☆☆☆
()
4 февраля 2017 г.

все линуксы стали собирать под i686 и почему-то не новее

Собирают и новее. Называется amd64.

no-such-file ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.