On Sun, 2005-04-03 at 21:23 +0200, Renate Meijer wrote: > On Apr 3, 2005, at 2:30 PM, Dag Arne Osvik wrote: > > > Stephen Rothwell wrote: > > > >> On Sun, 03 Apr 2005 13:55:39 +0200 Dag Arne Osvik <[email protected]> wrote: > >> > >>> I've been working on a new DES implementation for Linux, and ran into > >>> the problem of how to get access to C99 types like uint_fast32_t for > >>> internal (not interface) use. In my tests, key setup on Athlon 64 > >>> slows > >>> down by 40% when using u32 instead of uint_fast32_t. > >>> > >> > >> If you look in stdint.h you may find that uint_fast32_t is actually > >> 64 bits on Athlon 64 ... so does it help if you use u64? > >> > >> > > > > Yes, but wouldn't it be much better to avoid code like the following, > > which may also be wrong (in terms of speed)? > > > > #ifdef CONFIG_64BIT // or maybe CONFIG_X86_64? > > #define fast_u32 u64 > > #else > > #define fast_u32 u32 > > #endif > > Isn't it better to use a general integer type, reflecting the cpu's > native register-size and let the compiler sort it out? Restrict all > uses of explicit width types to where it's *really* needed, that is, in But is this not exactly what Dag Arne Osvik was trying to do ?? uint_fast32_t means that we want at least 32 bits but it's OK with more if that happens to be faster on this particular architecture. The problem was that the C99 standard types are not defined anywhere in the kernel headers so they can not be used. Perhaps they should be added to asm/types.h ?
Attachment:
signature.asc
Description: This is a digitally signed message part
- Follow-Ups:
- Re: Use of C99 int types
- From: Kyle Moffett <[email protected]>
- Re: Use of C99 int types
- References:
- Use of C99 int types
- From: Dag Arne Osvik <[email protected]>
- Re: Use of C99 int types
- From: Stephen Rothwell <[email protected]>
- Re: Use of C99 int types
- From: Dag Arne Osvik <[email protected]>
- Re: Use of C99 int types
- From: Renate Meijer <[email protected]>
- Use of C99 int types
- Prev by Date: Re: Logitech MX1000 Horizontal Scrolling
- Next by Date: Re: [PATCH] configfs, a filesystem for userspace-driven kernel object configuration
- Previous by thread: Re: Use of C99 int types
- Next by thread: Re: Use of C99 int types
- Index(es):