Bernd Schmidt wrote:
> 
> +
> +#define ___swab64(x) \
> +({ \
> +       __u64 __x = (x); \
> +       ((__u64)( \
> +               (__u64)(((__u64)(__x) & (__u64)0x00000000000000ffULL) << 56) | \
> +               (__u64)(((__u64)(__x) & (__u64)0x000000000000ff00ULL) << 40) | \
> +               (__u64)(((__u64)(__x) & (__u64)0x0000000000ff0000ULL) << 24) | \
> +               (__u64)(((__u64)(__x) & (__u64)0x00000000ff000000ULL) <<  8) | \
> +               (__u64)(((__u64)(__x) & (__u64)0x000000ff00000000ULL) >>  8) | \
> +               (__u64)(((__u64)(__x) & (__u64)0x0000ff0000000000ULL) >> 24) | \
> +               (__u64)(((__u64)(__x) & (__u64)0x00ff000000000000ULL) >> 40) | \
> +               (__u64)(((__u64)(__x) & (__u64)0xff00000000000000ULL) >> 56) )); \
> +})


Isn't this more efficient?
  n = (x>>32) | (x<<32); 
  n = ((n & 0x0000ffff0000ffffLL)<<16) | (n & 0xffff0000ffff0000LL)>>16; 
  n = ((n & 0x00ff00ff00ff00ffLL)<<8) | (n & 0xff00ff00ff00ff00LL)>>8; 

6 shift
4 and
3 or

instead of

8 shift
8 and
7 or

-- 
Abramo Bagnara                       mailto:[EMAIL PROTECTED]

Opera Unica
Via Emilia Interna, 140              Phone: +39.0546.656023
48014 Castel Bolognese (RA) - Italy  Fax:   +39.0546.656023

ALSA project is            http://www.alsa-project.org
sponsored by SuSE Linux    http://www.suse.com

It sounds good!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to