static void setup_input_pointers(struct p_bench_raw_memory *mem, char *p, size_t size) { unsigned seed = 0; /* Assume uint64_t is largest type */ setup_prandom_chars(p, size * sizeof(uint64_t), seed, false); mem->i1_w.p_void = p; p += size * sizeof(uint64_t); setup_prandom_chars(p, size * sizeof(uint64_t), seed, false); mem->i2_w.p_void = p; p += size * sizeof(uint64_t); setup_prandom_chars(p, size * sizeof(uint64_t), seed, false); mem->i3_w.p_void = p; p += size * sizeof(uint64_t); #if 0 /* TODO: Do we really need 4 inputs? */ setup_prandom_chars(p, size * sizeof(uint64_t), seed, false); mem->i4_w.p_void = p; p += size * sizeof(uint64_t); #endif }
static void setup_input_pointers(struct p_benchmark_raw_memory *mem, char *p, size_t size) { unsigned seed = 0; setup_prandom_chars(p, size * sizeof(float), seed, false); mem->input_float_first = (float*)p; p += size * sizeof(float); setup_prandom_chars(p, size * sizeof(float), seed, true); mem->input_float_second = (float*)p; p += size * sizeof(float); setup_prandom_chars(p, size * sizeof(double), seed, false); mem->input_double_first = (double*)p; p += size * sizeof(double); setup_prandom_chars(p, size * sizeof(double), seed, true); mem->input_double_second = (double*)p; p += size * sizeof(double); setup_prandom_chars(p, size * sizeof(uintmax_t), seed, false); mem->input_uintmax_t_first = (uintmax_t*)p; p += size * sizeof(uintmax_t); setup_prandom_chars(p, size * sizeof(uintmax_t), seed, true); mem->input_uintmax_t_second = (uintmax_t*)p; copy_integral_input_pointers(mem); }
static void invalidate_data_cache(void) { setup_prandom_chars(dummy_memarea, sizeof(dummy_memarea), 1, false); // (void)p_bench_dummy_func(dummy_memarea, sizeof(dummy_memarea)); }