Skip to Content.
Sympa Menu

sm-grimoire-bugs - [SM-Grimoire-Bugs] [Bug 15621] smgl-archspecs should provide native and generic for IA-32/x86-64 users

sm-grimoire-bugs AT lists.ibiblio.org

Subject: SourceMage Grimoire Bug List

List archive

Chronological Thread  
  • From: bugzilla-daemon AT bugs.sourcemage.org
  • To: sm-grimoire-bugs AT lists.ibiblio.org
  • Subject: [SM-Grimoire-Bugs] [Bug 15621] smgl-archspecs should provide native and generic for IA-32/x86-64 users
  • Date: 11 Apr 2010 19:52:15 -0000

http://bugs.sourcemage.org/show_bug.cgi?id=15621





--- Comment #10 from Tommy Boatman <tboatman AT sourcemage.org> 2010-04-11
14:52:13 ---
The direct answer is that -mtune implies nothing...they're not reversible.
Only arch implies tune - not vice versa.

Sorcery uses whatever exists in the archspec that is selected doesn't it? If
so, a generic would have to be put in without a -march. The difference is
this
- -march uses architecture specific instructions, while -mtune optimizes code
for the requested architecture without using the architecture specific
instructions.

>From -mtune in the man page:

generic
Produce code optimized for the most common IA32/AMD64/EM64T processors. If
you know the CPU on which your code will run, then you should use the
corresponding -mtune option instead of -mtune=generic. But, if you do not know
exactly what CPU users of your application will have, then you should use this
option.

As new processors are deployed in the marketplace, the behavior of this
option will change. Therefore, if you upgrade to a newer version of GCC, the
code generated option will change to reflect the processors that were most
common when that version of GCC was released.

There is no -march=generic option because -march indicates the instruction
set the compiler can use, and there is no generic instruction set applicable
to
all processors. In contrast, -mtune indicates the processor (or, in this case,
collection of processors) for which the code is optimized.

---

This tells me that generic shouldn't be used except by developers who are
going
for wide distribution. Incidentally further down in the manual page states
that the arch for generic is i686.

My interpretation of this, others likely will vary - and I'm not trying to
start a flame war, is that we should forget about generic entirely. The
archspec used to build ISOs should reflect the widest possible distribution of
course. That being said however, GCC's default for tuning (generic) is now
i686.

The ultimate question now becomes "Do we even need generic anywhere?"

--
Configure bugmail: http://bugs.sourcemage.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




Archive powered by MHonArc 2.6.24.

Top of Page