Messages in this thread |  | | | Date | Wed, 9 Jul 2008 19:36:01 -0700 | | From | Andrew Morton <> | | Subject | Re: [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.
|  |