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 <[email protected]> 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" <[email protected]> wrote: > >> Tim, >> >> What's your suggestion for this? >> >> Thanks, >> Frank >> >> -----Original Message----- >> From: [email protected] >> [mailto:[email protected]] 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 >> [email protected] >> http://lists.x.org/mailman/listinfo/xorg-driver-geode > _______________________________________________ Xorg-driver-geode mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-geode
