Am 07.12.2011 22:21, schrieb Peter Maydell: > On 7 December 2011 21:12, Andreas Färber <andreas.faer...@web.de> wrote: >> Note that I have a patch that replaces uint16 with uint_fast16_t, >> properly fixing the Cocoa build. What I don't have yet is all the other >> conversions (Coccinelle doesn't fully do int16 conversion, for example) >> to run the benchmarks Peter asked for. > > For the benchmarks surely it suffices to flip the typedefs, ie compare > typedef uint8_t uint8; > typedef int8_t int8; > typedef uint16_t uint16; > typedef int16_t int16; > typedef uint32_t uint32; > typedef int32_t int32; > typedef uint64_t uint64; > typedef int64_t int64; > > with > typedef uint_fast8_t uint8; > typedef int_fast8_t int8; > typedef uint_fast16_t uint16; > typedef int_fast16_t int16; > typedef uint_fast32_t uint32; > typedef int_fast32_t int32; > typedef uint_fast64_t uint64; > typedef int_fast64_t int64; > > ? > > We only need to do the full search-n-replace when we've picked > which one we're going for...
FWIW, target-mips/cpu.h has this: // uint_fast8_t and uint_fast16_t not in <sys/int_types.h> // XXX: move that elsewhere #if defined(CONFIG_SOLARIS) && CONFIG_SOLARIS_VERSION < 10 typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; #endif This shouldn't stop us from using these types, on the contrary, there is prior art. We'd just have to move these to qemu-common.h or so. We still don't build on OpenIndiana due to -std=gnu99 vs. make_floatx80() initialization code BTW. Any ideas there appreciated. Andreas