Lines Matching +full:vsel +full:- +full:high

4  * Copyright (c) 2018-2024, Arm Limited.
5 * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
17 # error "SVE not supported - please disable WANT_SVE_TESTS"
107 // clang-format off
132 // clang-format on
139 A[i] = (lo * (N - i) + hi * i) / N; in gen_linear()
146 Af[i] = (float)(lo * (N - i) + hi * i) / N; in genf_linear()
166 return lo + (hi - lo) * (asdouble (seed >> 12 | 0x3ffULL << 52) - 1.0); in frand()
249 volatile uint64x2_t vsel = (uint64x2_t) { 0, 0 }; in run_vn_latency()
250 uint64x2_t sel = vsel; in run_vn_latency()
259 volatile uint32x4_t vsel = (uint32x4_t) { 0, 0, 0, 0 }; in runf_vn_latency()
260 uint32x4_t sel = vsel; in runf_vn_latency()
285 volatile svbool_t vsel = svptrue_b64 (); in run_sv_latency() local
286 svbool_t sel = vsel; in run_sv_latency()
296 volatile svbool_t vsel = svptrue_b32 (); in runf_sv_latency() local
297 svbool_t sel = vsel; in runf_sv_latency()
319 dt = -1; \
327 if (t1 - t0 < dt) \
328 dt = t1 - t0; \
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()
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()
422 if (f->prec == 'd') in bench()
440 FILE *f = strcmp (name, "-") == 0 ? stdin : fopen (name, "r"); in readtrace()
477 printf ("usage: ./mathbench [-g rand|linear|trace] [-t latency|thruput|both] " in usage()
478 "[-i low high] [-f tracefile] [-m measurements] [-c iterations] func " in usage()
482 for (const struct fun *f = funtab; f->name; f++) in usage()
483 printf ("%7s [low: %g high: %g]\n", f->name, f->lo, f->hi); in usage()
492 const char *tracefile = "-"; in main()
495 argc--; in main()
500 if (argv[0][0] != '-') in main()
502 else if (argc >= 3 && strcmp (argv[0], "-i") == 0) in main()
508 argc -= 3; in main()
510 else if (argc >= 2 && strcmp (argv[0], "-m") == 0) in main()
514 argc -= 2; in main()
516 else if (argc >= 2 && strcmp (argv[0], "-c") == 0) in main()
520 argc -= 2; in main()
522 else if (argc >= 2 && strcmp (argv[0], "-g") == 0) in main()
528 argc -= 2; in main()
530 else if (argc >= 2 && strcmp (argv[0], "-f") == 0) in main()
532 gen = 't'; /* -f implies -g trace. */ in main()
535 argc -= 2; in main()
537 else if (argc >= 2 && strcmp (argv[0], "-t") == 0) in main()
543 argc -= 2; in main()
558 for (const struct fun *f = funtab; f->name; f++) in main()
559 if (all || strcmp (argv[0], f->name) == 0) in main()
564 lo = f->lo; in main()
565 hi = f->hi; in main()
574 argc--; in main()