Re: [PATCH 1/2] compat: move unaligned helpers to bswap.h
On Thu, Jan 23, 2014 at 12:08:04PM -0800, Jonathan Nieder wrote:
Show 23 quoted lines
> Jeff King wrote:
> > On Thu, Jan 23, 2014 at 11:56:43AM -0800, Jonathan Nieder wrote:
>
> >> In that case I think git-compat-util.h should include something like
> >> what block-sha1/sha1.c has:
> >>
> >> #if !defined(__i386__) && !defined(__x86_64__) && \
> >> !defined(_M_IX86) && !defined(_M_X64) && \
> >> !defined(__ppc__) && !defined(__ppc64__) && \
> >> !defined(__powerpc__) && !defined(__powerpc64__) && \
> >> !defined(__s390__) && !defined(__s390x__)
> >> #define NEEDS_ALIGNED_ACCESS
> >> #endif
> >>
> >> Otherwise we are relying on the person building to know their own
> >> architecture intimately, which shouldn't be necessary.
> >
> > Yeah, I agree it would be nice to autodetect.
>
> The nice thing is that false positives are harmless, modulo slowing
> down git a little if the compiler doesn't figure out how to optimize
> the NEEDS_ALIGNED_ACCESS codepath when on an unlisted platform that
> doesn't, in fact, need aligned access.
OK, I'll refactor the knob.
-Peff