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

[-- Attachment #1: Type: text/plain, Size: 2037 bytes --]

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

Одинаковый код, кстати, не получился ни в одном из случаев.	
-- 
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

[-- Attachment #2: test-arch.tar.bz2 --]
[-- Type: application/octet-stream, Size: 8009 bytes --]

  reply	other threads:[~2001-05-20 15:16 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 [this message]
2001-05-20 15:30         ` Alexander Bokovoy
2001-05-20 15:33         ` Yura Zotov
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=20010520141953.D17072@boids.avilink.net \
    --to=ab@avilink.net \
    --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