diff options
author | Jerry Zhao <jerryz123@berkeley.edu> | 2023-02-10 10:54:32 -0800 |
---|---|---|
committer | Jerry Zhao <jerryz123@berkeley.edu> | 2023-05-22 14:54:40 -0700 |
commit | cdd1b95d87fafeb5f237ddcbefeae693e05a1b2e (patch) | |
tree | 880dec721c82aba1ec335ae2e9281b9bec5c8efd /benchmarks/vec-memcpy/vec-memcpy_main.c | |
parent | e9fa54f4e771f4471d3af36397ae56beb215cfb8 (diff) | |
download | riscv-tests-cdd1b95d87fafeb5f237ddcbefeae693e05a1b2e.zip riscv-tests-cdd1b95d87fafeb5f237ddcbefeae693e05a1b2e.tar.gz riscv-tests-cdd1b95d87fafeb5f237ddcbefeae693e05a1b2e.tar.bz2 |
Add vec-memcpy benchmark
Diffstat (limited to 'benchmarks/vec-memcpy/vec-memcpy_main.c')
-rw-r--r-- | benchmarks/vec-memcpy/vec-memcpy_main.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/benchmarks/vec-memcpy/vec-memcpy_main.c b/benchmarks/vec-memcpy/vec-memcpy_main.c new file mode 100644 index 0000000..fd1b796 --- /dev/null +++ b/benchmarks/vec-memcpy/vec-memcpy_main.c @@ -0,0 +1,41 @@ +// See LICENSE for license details. + +//************************************************************************** +// Memcpy benchmark +//-------------------------------------------------------------------------- +// +// This benchmark tests the memcpy implementation in syscalls.c. +// The input data (and reference data) should be generated using +// the memcpy_gendata.pl perl script and dumped to a file named +// dataset1.h. + +#include <string.h> +#include "util.h" + +//-------------------------------------------------------------------------- +// Input/Reference Data + +#include "dataset1.h" + +//-------------------------------------------------------------------------- +// Main + +void *vec_memcpy(void*, const void*, size_t); + +int main( int argc, char* argv[] ) +{ + int results_data[DATA_SIZE]; + +#if PREALLOCATE + // If needed we preallocate everything in the caches + vec_memcpy(results_data, input_data, sizeof(int) * DATA_SIZE); +#endif + + // Do the riscv-linux memcpy + setStats(1); + vec_memcpy(results_data, input_data, sizeof(int) * DATA_SIZE); //, DATA_SIZE * sizeof(int)); + setStats(0); + + // Check the results + return verify( DATA_SIZE, results_data, input_data ); +} |