Messages in this thread | | | Date | Thu, 10 Jul 2008 14:12:22 +0200 | From | Joerg Roedel <> | Subject | Re: [PATCH 02/34] AMD IOMMU: add header file for driver data structures and defines |
| |
On Wed, Jul 09, 2008 at 07:36:01PM -0700, Andrew Morton wrote: > On Wed, 9 Jul 2008 18:50:55 -0700 Arjan van de Ven <arjan@infradead.org> wrote: > > > On Wed, 9 Jul 2008 18:38:23 -0700 > > Andrew Morton <akpm@linux-foundation.org> wrote: > > > > > On Thu, 26 Jun 2008 21:27:38 +0200 Joerg Roedel > > > <joerg.roedel@amd.com> wrote: > > > > > > > +/* helper macros */ > > > > +#define LOW_U32(x) ((x) & ((1ULL << 32)-1)) > > > > +#define HIGH_U32(x) (LOW_U32((x) >> 32)) > > > > > > Please avoid putting general-purpose helpers into private header > > > files. > > > > especially broken helpers. > > > > A >> 32 on something that may be a 32 bit entry is bad; int32 >> 32... > > gcc can (and does!) optimize that out. > > > > (because it first gets translated into a SHR x86 instruction which then > > notices it's encoded as a zero shift.. which then gets deleted) > > > > Well yeah. upper_32_bits() gets it all corect. We could do a > lower_32_bits() I suppose, if it's useful.
Ok cool, I agree. I will replace the HIGH_U32 macro with the upper_32_bits() function and the other one with lower_32_bits() if it exists. Who will take the patch for the introduction of that function?
Joerg
-- | AMD Saxony Limited Liability Company & Co. KG Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany System | Register Court Dresden: HRA 4896 Research | General Partner authorized to represent: Center | AMD Saxony LLC (Wilmington, Delaware, US) | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
| |