From fc6289b54cff30c63d8eaeea314784316767a165 Mon Sep 17 00:00:00 2001 From: x Date: Fri, 20 Dec 2019 11:54:06 +0100 Subject: [PATCH] IcBench: Sample Benchmark App --- icapp.c | 46 +++++++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/icapp.c b/icapp.c index eb50ea2..edc7ca3 100644 --- a/icapp.c +++ b/icapp.c @@ -1027,7 +1027,7 @@ unsigned dim1,dim2,dim3,dim4; #define USIZE 1 unsigned bench8(unsigned char *in, unsigned n, unsigned char *out, unsigned char *cpy, int id, char *inname, int codlev) { - unsigned l,m = n/(USIZE), rc = 0, ns = CBUF(n); uint8_t dmin = mindelta8(in,m); + unsigned l=0,m = n/(USIZE), rc = 0, ns = CBUF(n); uint8_t dmin = mindelta8(in,m); uint8_t *p; char *tmp = NULL; if(NEEDTMP && !(tmp = (unsigned char*)malloc(ns))) die(stderr, "malloc error\n"); @@ -1131,10 +1131,12 @@ unsigned bench8(unsigned char *in, unsigned n, unsigned char *out, unsigned char TMBENCH( "", libmemcpy(out,in,n) ,n); pr(n,n); TMBENCH2("110", libmemcpy( cpy,out,n) ,n); break; default: goto end; } - { char s[65]; printf("%-30s ", bestr(id, 8,s)); } - rc = memcheck(in,m*(USIZE),cpy); - if(!rc) - printf("\t%s\n", inname?inname:""); + if(l) { + char s[65]; printf("%-30s ", bestr(id, 8,s)); + if(cpy) rc = memcheck(in,m*(USIZE),cpy); + if(!rc) + printf("\t%s\n", inname?inname:""); + } end:if(tmp) free(tmp); return l; } @@ -1142,7 +1144,7 @@ unsigned bench8(unsigned char *in, unsigned n, unsigned char *out, unsigned char #undef USIZE #define USIZE 2 unsigned bench16(unsigned char *in, unsigned n, unsigned char *out, unsigned char *cpy, int id, char *inname, int codlev) { - unsigned l,m = n/(USIZE),rc = 0, d,ns=CBUF(n); uint16_t dmin = mindelta16(in,m); + unsigned l=0,m = n/(USIZE),rc = 0, d,ns=CBUF(n); uint16_t dmin = mindelta16(in,m); uint16_t *p; char *tmp = NULL; if(NEEDTMP && !(tmp = (unsigned char*)malloc(ns))) die(stderr, "malloc error\n"); @@ -1283,10 +1285,12 @@ unsigned bench16(unsigned char *in, unsigned n, unsigned char *out, unsigned cha default: goto end; } - { char s[65]; printf("%-30s ", bestr(id, 16,s)); } - if(cpy) rc = memcheck(in,m*(USIZE),cpy); - if(!rc) - printf("\t%s\n", inname?inname:""); + if(l) { + char s[65]; printf("%-30s ", bestr(id, 16,s)); + if(cpy) rc = memcheck(in,m*(USIZE),cpy); + if(!rc) + printf("\t%s\n", inname?inname:""); + } end:if(tmp) free(tmp); return l; } @@ -1294,7 +1298,7 @@ unsigned bench16(unsigned char *in, unsigned n, unsigned char *out, unsigned cha #undef USIZE #define USIZE 4 unsigned bench32(unsigned char *in, unsigned n, unsigned char *out, unsigned char *cpy, int id, char *inname, int codlev) { - unsigned l,m = n/(USIZE),rc = 0, d,ns=CBUF(n); uint32_t dmin = mindelta32(in,m); + unsigned l=0,m = n/(USIZE),rc = 0, d,ns=CBUF(n); uint32_t dmin = mindelta32(in,m); uint32_t *p; char *tmp = NULL; if(NEEDTMP && !(tmp = (unsigned char*)malloc(ns))) die(stderr, "malloc error\n"); @@ -1487,10 +1491,12 @@ unsigned bench32(unsigned char *in, unsigned n, unsigned char *out, unsigned cha //case 112: TMBENCH("",fppad32(in, m, out,errlim),n); pr(n,n); TMBENCH2("fppad32 ", fppad32(in, m, out,errlim),n); break; default: goto end; } - { char s[65]; printf("%-30s ", bestr(id,32,s)); } - rc = memcheck32(in,m,cpy); - if(!rc) - printf("\t%s\n", inname?inname:""); + if(l) { + char s[65]; printf("%-30s ", bestr(id,32,s)); + if(cpy) rc = memcheck32(in,m,cpy); + if(!rc) + printf("\t%s\n", inname?inname:""); + } end:if(tmp) free(tmp); return l; } @@ -1623,10 +1629,12 @@ unsigned bench64(unsigned char *in, unsigned n, unsigned char *out, unsigned cha TMBENCH( "", libmemcpy(out,in,n) ,n); pr(n,n); TMBENCH2("110", libmemcpy( cpy,out,n) ,n); break; default: goto end; } - { char s[65]; printf("%-30s ", bestr(id, 64,s)); } - rc = memcheck(in,m*(USIZE),cpy); - if(!rc) - printf("\t%s\n", inname?inname:""); + if(l) { + char s[65]; printf("%-30s ", bestr(id, 64,s)); + if(cpy) rc = memcheck(in,m*(USIZE),cpy); + if(!rc) + printf("\t%s\n", inname?inname:""); + } end:if(tmp) free(tmp); return l; }