Lines Matching refs:f

96     float (*f) (float);  member
109 #define F(func, lo, hi) {#func, 'f', 0, lo, hi, {.f = func}},
155 double f; in asdouble() member
157 return u.f; in asdouble()
198 run_thruput (double f (double)) in run_thruput()
201 f (A[i]); in run_thruput()
205 runf_thruput (float f (float)) in runf_thruput()
208 f (Af[i]); in runf_thruput()
214 run_latency (double f (double)) in run_latency()
219 prev = f (A[i] + prev * z); in run_latency()
223 runf_latency (float f (float)) in runf_latency()
228 prev = f (Af[i] + prev * z); in runf_latency()
233 run_vn_thruput (__vpcs float64x2_t f (float64x2_t)) in run_vn_thruput()
236 f (vld1q_f64 (A + i)); in run_vn_thruput()
240 runf_vn_thruput (__vpcs float32x4_t f (float32x4_t)) in runf_vn_thruput()
243 f (vld1q_f32 (Af + i)); in runf_vn_thruput()
247 run_vn_latency (__vpcs float64x2_t f (float64x2_t)) in run_vn_latency()
253 prev = f (vbslq_f64 (sel, prev, vld1q_f64 (A + i))); in run_vn_latency()
257 runf_vn_latency (__vpcs float32x4_t f (float32x4_t)) in runf_vn_latency()
263 prev = f (vbslq_f32 (sel, prev, vld1q_f32 (Af + i))); in runf_vn_latency()
269 run_sv_thruput (svfloat64_t f (svfloat64_t, svbool_t)) in run_sv_thruput()
272 f (svld1_f64 (svptrue_b64 (), A + i), svptrue_b64 ()); in run_sv_thruput()
276 runf_sv_thruput (svfloat32_t f (svfloat32_t, svbool_t)) in runf_sv_thruput()
279 f (svld1_f32 (svptrue_b32 (), Af + i), svptrue_b32 ()); in runf_sv_thruput()
283 run_sv_latency (svfloat64_t f (svfloat64_t, svbool_t)) in run_sv_latency()
289 prev = f (svsel_f64 (sel, svld1_f64 (svptrue_b64 (), A + i), prev), in run_sv_latency()
294 runf_sv_latency (svfloat32_t f (svfloat32_t, svbool_t)) in runf_sv_latency()
300 prev = f (svsel_f32 (sel, svld1_f32 (svptrue_b32 (), Af + i), prev), in runf_sv_latency()
318 #define TIMEIT(run, f) do { \ argument
320 run (f); /* Warm up. */ \
325 run (f); \
333 bench1 (const struct fun *f, int type, double lo, double hi) in bench1() argument
340 if (f->vec == 'n') in bench1()
341 vlen = f->prec == 'd' ? 2 : 4; in bench1()
343 else if (f->vec == 's') in bench1()
344 vlen = f->prec == 'd' ? svcntd () : svcntw (); in bench1()
347 if (f->prec == 'd' && type == 't' && f->vec == 0) in bench1()
348 TIMEIT (run_thruput, f->fun.d); in bench1()
349 else if (f->prec == 'd' && type == 'l' && f->vec == 0) in bench1()
350 TIMEIT (run_latency, f->fun.d); in bench1()
351 else if (f->prec == 'f' && type == 't' && f->vec == 0) in bench1()
352 TIMEIT (runf_thruput, f->fun.f); in bench1()
353 else if (f->prec == 'f' && type == 'l' && f->vec == 0) in bench1()
354 TIMEIT (runf_latency, f->fun.f); in bench1()
356 else if (f->prec == 'd' && type == 't' && f->vec == 'n') in bench1()
357 TIMEIT (run_vn_thruput, f->fun.vnd); in bench1()
358 else if (f->prec == 'd' && type == 'l' && f->vec == 'n') in bench1()
359 TIMEIT (run_vn_latency, f->fun.vnd); in bench1()
360 else if (f->prec == 'f' && type == 't' && f->vec == 'n') in bench1()
361 TIMEIT (runf_vn_thruput, f->fun.vnf); in bench1()
362 else if (f->prec == 'f' && type == 'l' && f->vec == 'n') in bench1()
363 TIMEIT (runf_vn_latency, f->fun.vnf); in bench1()
366 else if (f->prec == 'd' && type == 't' && f->vec == 's') in bench1()
367 TIMEIT (run_sv_thruput, f->fun.svd); in bench1()
368 else if (f->prec == 'd' && type == 'l' && f->vec == 's') in bench1()
369 TIMEIT (run_sv_latency, f->fun.svd); in bench1()
370 else if (f->prec == 'f' && type == 't' && f->vec == 's') in bench1()
371 TIMEIT (runf_sv_thruput, f->fun.svf); in bench1()
372 else if (f->prec == 'f' && type == 'l' && f->vec == 's') in bench1()
373 TIMEIT (runf_sv_latency, f->fun.svf); in bench1()
380 f->name, s, in bench1()
388 f->name, s, in bench1()
396 bench (const struct fun *f, double lo, double hi, int type, int gen) in bench() argument
398 if (f->prec == 'd' && gen == 'r') in bench()
400 else if (f->prec == 'd' && gen == 'l') in bench()
402 else if (f->prec == 'd' && gen == 't') in bench()
404 else if (f->prec == 'f' && gen == 'r') in bench()
406 else if (f->prec == 'f' && gen == 'l') in bench()
408 else if (f->prec == 'f' && gen == 't') in bench()
415 bench1 (f, 't', lo, hi); in bench()
418 bench1 (f, 'l', lo, hi); in bench()
422 if (f->prec == 'd') in bench()
429 bench1 (f, 't', lo, hi); in bench()
432 bench1 (f, 'l', lo, hi); in bench()
440 FILE *f = strcmp (name, "-") == 0 ? stdin : fopen (name, "r"); in readtrace() local
441 if (!f) in readtrace()
458 if (fscanf (f, "%lf", Trace + n) != 1) in readtrace()
462 if (ferror (f) || n == 0) in readtrace()
467 fclose (f); in readtrace()
482 for (const struct fun *f = funtab; f->name; f++) in usage() local
483 printf ("%7s [low: %g high: %g]\n", f->name, f->lo, f->hi); in usage()
558 for (const struct fun *f = funtab; f->name; f++) in main() local
559 if (all || strcmp (argv[0], f->name) == 0) in main()
564 lo = f->lo; in main()
565 hi = f->hi; in main()
567 bench (f, lo, hi, type, gen); in main()