lkml.org 
[lkml]   [2008]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
DateWed, 9 Jul 2008 19:36:01 -0700
FromAndrew Morton <>
SubjectRe: [PATCH 02/34] AMD IOMMU: add header file for driver data structures and defines
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.



\
 
 \ /
  Last update: 2008-07-10 04:45    [from the cache]
©2003-2010