Accept output arguments to benchmark functions
commit9298ecba15e2b8055e68189c1b11b08ef3ac008d
authorSiddhesh Poyarekar <siddhesh@redhat.com>
Thu, 5 Dec 2013 04:42:59 +0000 (5 10:12 +0530)
committerSiddhesh Poyarekar <siddhesh@redhat.com>
Thu, 5 Dec 2013 04:42:59 +0000 (5 10:12 +0530)
tree1ba9f9dcb8c625e851da8d978778d06a74b8f47a
parent232983e9a74e817377a5e76f2c3872c8a92685d0
Accept output arguments to benchmark functions

This patch adds the ability to accept output arguments to functions
being benchmarked, by nesting the argument type in <> in the args
directive.  It includes the sincos implementation as an example, where
the function would have the following args directive:

  ## args: double:<double *>:<double *>

This simply adds a definition for a static variable whose pointer gets
passed into the function, so it's not yet possible to pass something
more complicated like a pre-allocated string or array.  That would be
a good feature to add if a function needs it.

The values in the input file will map only to the input arguments.  So
if I had a directive like this for a function foo:

  ## args: int:<int *>:int:<int *>

and I have a value list like this:

1, 2
3, 4
5, 6

then the function calls generated would be:

foo (1, &out1, 2, &out2);
foo (3, &out1, 4, &out2);
foo (5, &out1, 6, &out2);
ChangeLog
benchtests/README
benchtests/bench-sincos.c [deleted file]
benchtests/sincos-inputs [new file with mode: 0644]
scripts/bench.pl