[Comm] Re[2]: [Comm] опции gcc

Alexey I. Froloff =?iso-8859-1?q?raorn_=CE=C1_immo=2Eru?=
Пт Май 23 16:00:56 MSD 2003


* Рахматуллин Андрей (wRAR) <wrar на mail.ru> [030523 15:48]:
> AIF> -march=i386 - использовать систему команд процессора i386 (т.е.
> AIF> никаких mmx/sse и cmpxchg8b)

> AIF> -mcpu=i686 - при генерации кода учитывать особенности
> AIF> распаралеливания команд на i686 (PPro, P2, и т.д). Старым машинам
> AIF> всё равно, а на новых побыстрее будет.

> Хм, ИМХО наоборот, -mcpu=i686 генерит код с учетом "mmx/sse и
> cmpxchg8b" (грубо говоря), а -march=i386 означает, что собираем
> бинарник под х86-архитектуру, а не под PowerPC, например.
Не будем гадать на кофейной гуще, а глянем в доку:

       Intel 386 and AMD x86-64 Options

       These -m options are defined for the i386 and x86-64 family of comput-
       ers:

       -mcpu=cpu-type
           Tune to cpu-type everything applicable about the generated code,
           except for the ABI and the set of available instructions.  The
>          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
           choices for cpu-type are i386, i486, i586, i686, pentium, pentium-
           mmx, pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3,
           athlon, athlon-tbird, athlon-4, athlon-xp and athlon-mp.

           While picking a specific cpu-type will schedule things appropri-
           ately for that particular chip, the compiler will not generate any
>                                                       ^^^^^^^^^^^^^^^^^^^^^
           code that does not run on the i386 without the -march=cpu-type
>          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
           option being used.  i586 is equivalent to pentium and i686 is
           equivalent to pentiumpro.  k6 and athlon are the AMD chips as
           opposed to the Intel ones.

       -march=cpu-type
           Generate instructions for the machine type cpu-type.  The choices
>          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
           for cpu-type are the same as for -mcpu.  Moreover, specifying
           -march=cpu-type implies -mcpu=cpu-type.

Так что я не ошибся ;-)

P.S. А иначе какой смысл пользоваться инструкциями PPro, и
опитимизировать код под i386?

-- 
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
------------------------------------------
  Inform-Mobil, Ltd. System Adminitrator
       http://www.inform-mobil.ru/
Tel: +7(095)504-4709, Fax: +7(095)513-1006
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/community/attachments/20030523/463ee46f/attachment-0004.bin>


Подробная информация о списке рассылки community