[Xorg-driver-geode] proposal: always build with -march=geode

Writer, Tim Tim.Writer at amd.com
Wed Jun 30 08:45:24 PDT 2010

This (building with `-march=geode') seems reasonable to me.

Regarding i686 optimizations that are incompatible with the Geode
instruction set, I'm working on this issue with AMD's GCC team.

I also support the cross-compiling initiative, if only to allow
developers to take advantage of more capable and performant development
machines that many developers have.

Since I'm new to this list, perhaps a brief word on my role is in
order. I'm a member of the Linux team within AMD's Graphics Products
Group (GPG) and work as a Liaison Engineer between AMD Embedded
Solutions and GPG. I've been working on the AMD Proprietary Linux
Graphic Driver (fglrx) on and off for about five years and am also
reasonably familar with the open source X.org Radeon driver. I've been
working with and developing on Linux since 1993 and on various Unix
flavours for about a decade before that. With respect to Geode, I'm
working in an advisory role, helping Frank and his co-workers get up to
speed on Linux and X.org development.


On Wed, Jun 30 2010, Martin-Éric Racine <martin-eric.racine at iki.fi> wrote:

> Above all, the goal with -march=geode is to optimize performance of
> our platform-specific driver on our hardware. We already have limited
> system resources, so every bit of extra performance that we squeeze
> out is valuable.
> Imposing -march=geode would not prevent distributions from adopting
> default compiler flags that produce a driver that is useless on real
> Geode hardware. That is an issue that must be solved with GCC and
> Linux kernel developers. On this particular point, any action that
> brings the kernel and GCC closer to accommodating the Geode within the
> i686 family, despite a couple of missing CPU instructions, is what
> needs to be done to prevent such distribution-specific issues from
> killing the Geode's chances on the Linux market.
> As for cross-compiling, I fully support the initiative. It has in fact
> been requested by a number of occasional X.org contributors such as
> Gaetan whether we could at least properly support building on x86_64,
> with the underlying idea that x86_64 can be made to switch to 32-bit
> context and that the GCC delivered for x86_64 usually can be made to
> compile 32-bit code by standard. Ideally, we'd also support
> cross-compiling on Atom, since this is also an x86 variant and many
> developers these days are likely to use an Atom-based laptop for their
> development work. At any rate, it's understood that the driver cannot
> be utilized on non-Geode hardware, but helping developers build the
> driver on any x86 variant would already be tremendously useful.
> Martin-Éric
> On Tue, Jun 29, 2010 at 8:47 PM, Writer, Tim <Tim.Writer at amd.com> wrote:
>> In reference to the original question about `-march=geode', I'm unclear
>> on the motivation. Is it to avoid generation of i686 instructions that
>> are invalid on Geode, to optimize for Geode, or something else.
>> Martin-Éric, can you explain?
>> Tim
>> On Tue, Jun 29 2010, "Huang, FrankR" <FrankR.Huang at amd.com> wrote:
>>> Tim,
>>>         What's your suggestion for this?
>>> Thanks,
>>> Frank
>>> -----Original Message-----
>>> From: xorg-driver-geode-bounces+frankr.huang=amd.com at lists.x.org [mailto:xorg-driver-geode-bounces+frankr.huang=amd.com at lists.x.org] On Behalf Of Martin-éric Racine
>>> Sent: 2010年6月23日 3:07
>>> To: Geode Mailing List; Gaetan Nadon
>>> Subject: [Xorg-driver-geode] proposal: always build with -march=geode
>>> Greetings,
>>> Noticing Gaetan Nadon's proposed patch to prevent the building of
>>> xf86-video-geode on non-x86 platforms, I was wondering if we should
>>> take this approach one step further:
>>> In addition to exiting gracefully with a warning at ./configure time
>>> if the build host is non-x86, what if we enforced -march=geode if GCC
>>>>= 4.3 is found (or -march=i586 if an older version is found)? In our
>>> Geode driver's case, not only do we know which platforms to exclude,
>>> we also know the target platform to always be -march=geode. In order
>>> to accommodate the default compiler flags of distributions, we could
>>> make the setting of our -march flags only be used if the -march option
>>> is not already set.
>>> Alternately, we could make ./configure also accept Atom and x86_64 as
>>> suitable build hosts, in which case we'd have to enforce -march=geode
>>> always.
>>> Comments?
>>> --
>>> Martin-Éric
>>> _______________________________________________
>>> Xorg-driver-geode mailing list
>>> Xorg-driver-geode at lists.x.org
>>> http://lists.x.org/mailman/listinfo/xorg-driver-geode

More information about the Xorg-driver-geode mailing list