ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Yura Zotov <yznews@hotbox.ru>
To: mandrake-russian@altlinux.ru
Subject: Re: [mdk-re] gcc & -march
Date: Sun May 20 15:33:01 2001
Message-ID: <20010520153914.A23314@vezyolka.dgap.mipt.ru> (raw)
In-Reply-To: <20010520141953.D17072@boids.avilink.net>; from ab@avilink.net on Sun, May 20, 2001 at 02:19:55PM +0300

On Sun, May 20, 2001 at 02:19:55PM +0300, Alexander Bokovoy wrote:
> On Sun, May 20, 2001 at 02:50:38PM +0400, Yura Zotov wrote:
> > On Sun, May 20, 2001 at 01:23:46PM +0300, Alexander Bokovoy wrote:
> > > On Sun, May 20, 2001 at 01:54:07AM +0400, Баталов Григорий wrote:
> > > > On Sun, 20 May 2001 01:17:18 +0400
> > > > Yura Zotov <yznews@hotbox.ru> wrote:
> > > > 
> > > > > Скажите, пожалуйста, а как gcc узнает, под какую архитектуру делать
> > > > > объектники, если не задан явно параметр -march? Под какой процессор он при
> > > > > этом генерит код?
> > > > 
> > > >   Неужели под ту, которая в $HOSTTYPE? :)
> > > Нет. Если не указана явно архитектура, то на ia32 генерируется код,
> > > который гарантированно будет работать с i386. Даже если Вы укажете
> > > -mcpu=i686, но не укажете -march=i686, то все равно код сгенерируется
> > > только такой, который можно выполнить на i386, хотя вызовы и распределение
> > > переменных по регистрам будут оптимизированы под i686.
> > > 
> > > Аналогично и для других архитектур -- по умолчанию код генерируется так,
> > > чтобы работать на самой слабой машине в серии.
> > 
> > Я тут взял и попробовал скомпилировать ОЧЕНЬ простую программу для разных
> > -march=i386|i486|i586|i686|athlon и без явного указания -march. Получилось
> > 6 *.o по ~1.3K, причем 5 из них были по размеру одинаковы и при беглом взгляде
> > внутрь тоже. Отличался от всех только полученный с -march=i386.
> > В чем прикол?
> Попробуйте приложенный тест -- это реализация алгоритма MD5, достаточно
> затратная с точки зрения вычислений. В архиве есть уже скомпилированные
> ассемблерные фрагменты и исходный md5.c. Получить ассемблерный код для
> конкретной архитектуры можно, пользуясь скриптом maketest.
> 
> Обратите внимание, например, на md5-i386.s и md5-pentiumpro.s. Проще всего
> сравнить через diff -u md5-i386.s md5-pentiumpro.s
> 
> Одинаковый код, кстати, не получился ни в одном из случаев.	

Я перегенерил все md5-*.s. Действительно, все разные.
Команда "gcc -S md5.c" сгенерила код, идентичный md5-i586.s (согласно diff).

> -- 
> Sincerely yours, Alexander Bokovoy 
>   The Midgard Project    | ALT  Linux  Team | Minsk Linux Users Group
>  www.midgard-project.org | www.altlinux.ru  |    www.minsk-lug.net 
> -- You won't skid if you stay in a rut.
> 		-- Frank Hubbard



--
Юрий А. Зотов



  parent reply	other threads:[~2001-05-20 15:33 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-20  1:11 Yura Zotov
2001-05-20  1:47 ` Баталов Григорий
2001-05-20  2:04   ` Yura Zotov
2001-05-20  2:11     ` Баталов Григорий
2001-05-20 14:45     ` Yura Zotov
2001-05-20 15:16       ` Alexander Bokovoy
2001-05-20 15:30         ` Alexander Bokovoy
2001-05-20 15:33         ` Yura Zotov [this message]
2001-05-20 15:43           ` Alexander Bokovoy
2001-05-20 15:49             ` Alexander Bokovoy
2001-05-20 15:59             ` Yura Zotov
2001-05-20 23:27               ` Alexander Bokovoy
2001-05-20 17:00             ` Sergey S. Skulachenko
2001-05-20 20:56               ` Mikhail Zabaluev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010520153914.A23314@vezyolka.dgap.mipt.ru \
    --to=yznews@hotbox.ru \
    --cc=mandrake-russian@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git