summaryrefslogtreecommitdiff
path: root/volk/lib/qa_32f_normalize_aligned16.cc
diff options
context:
space:
mode:
Diffstat (limited to 'volk/lib/qa_32f_normalize_aligned16.cc')
-rw-r--r--volk/lib/qa_32f_normalize_aligned16.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/volk/lib/qa_32f_normalize_aligned16.cc b/volk/lib/qa_32f_normalize_aligned16.cc
index 1c7b485a6..0da43ecff 100644
--- a/volk/lib/qa_32f_normalize_aligned16.cc
+++ b/volk/lib/qa_32f_normalize_aligned16.cc
@@ -26,13 +26,16 @@ void qa_32f_normalize_aligned16::t1() {
float* output0;
float* output01;
+ float* output02;
ret = posix_memalign((void**)&output0, 16, vlen*sizeof(float));
ret = posix_memalign((void**)&output01, 16, vlen*sizeof(float));
+ ret = posix_memalign((void**)&output02, 16, vlen*sizeof(float));
for(int i = 0; i < vlen; ++i) {
output0[i] = ((float) (rand() - (RAND_MAX/2))) / static_cast<float>((RAND_MAX/2));
}
memcpy(output01, output0, vlen*sizeof(float));
+ memcpy(output02, output0, vlen*sizeof(float));
printf("32f_normalize_aligned\n");
start = clock();
@@ -49,6 +52,14 @@ void qa_32f_normalize_aligned16::t1() {
end = clock();
total = (double)(end-start)/(double)CLOCKS_PER_SEC;
printf("sse_time: %f\n", total);
+ start = clock();
+ for(int count = 0; count < ITERS; ++count) {
+ volk_32f_normalize_aligned16_manual(output02, 1.15, vlen, "orc");
+ }
+ end = clock();
+ total = (double)(end-start)/(double)CLOCKS_PER_SEC;
+ printf("orc_time: %f\n", total);
+
for(int i = 0; i < 1; ++i) {
//printf("inputs: %d, %d\n", input0[i*2], input0[i*2 + 1]);
//printf("generic... %d, ssse3... %d\n", output0[i], output1[i]);
@@ -57,10 +68,12 @@ void qa_32f_normalize_aligned16::t1() {
for(int i = 0; i < vlen; ++i) {
// printf("%e...%e\n", output0[i], output01[i]);
CPPUNIT_ASSERT_DOUBLES_EQUAL(output0[i], output01[i], fabs(output0[i])*1e-4);
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(output0[i], output02[i], fabs(output0[i])*1e-4);
}
free(output0);
free(output01);
+ free(output02);
}
#endif