aboutsummaryrefslogtreecommitdiffstats
path: root/stm-arm-neon-ref.h
diff options
context:
space:
mode:
Diffstat (limited to 'stm-arm-neon-ref.h')
-rw-r--r--stm-arm-neon-ref.h28
1 files changed, 20 insertions, 8 deletions
diff --git a/stm-arm-neon-ref.h b/stm-arm-neon-ref.h
index debffb6..1500905 100644
--- a/stm-arm-neon-ref.h
+++ b/stm-arm-neon-ref.h
@@ -85,6 +85,18 @@ static int result_idx = 0;
fprintf(ref_file, " }\n"); \
DUMP4GCC(MSG,T,W,N,FMT);
+/* Use casts for remove sign bits */
+#define DUMP_POLY(MSG,T,W,N,FMT) \
+ fprintf(ref_file, "%s:%d:%s [] = { ", MSG, result_idx++, \
+ STR(VECT_VAR(result, T, W, N))); \
+ for(i=0; i<N ; i++) \
+ { \
+ fprintf(ref_file, "%" FMT ", ", \
+ (uint##W##_t)VECT_VAR(result, T, W, N)[i]); \
+ } \
+ fprintf(ref_file, " }\n"); \
+ DUMP4GCC(MSG,T,W,N,FMT);
+
#define DUMP_FP(MSG,T,W,N,FMT) \
fprintf(ref_file, "%s:%d:%s [] = { ", MSG, result_idx++, \
STR(VECT_VAR(result, T, W, N))); \
@@ -450,8 +462,8 @@ static void dump_results (char *test_name)
DUMP(test_name, uint, 16, 4, PRIu16);
DUMP(test_name, uint, 32, 2, PRIu32);
DUMP(test_name, uint, 64, 1, PRIu64);
- DUMP(test_name, poly, 8, 8, PRIu8);
- DUMP(test_name, poly, 16, 4, PRIu16);
+ DUMP_POLY(test_name, poly, 8, 8, PRIu8);
+ DUMP_POLY(test_name, poly, 16, 4, PRIu16);
DUMP_FP(test_name, float, 32, 2, PRIx32);
#if __ARM_NEON_FP16_INTRINSICS
DUMP_FP16(test_name, float, 16, 4, PRIu16);
@@ -465,8 +477,8 @@ static void dump_results (char *test_name)
DUMP(test_name, uint, 16, 8, PRIu16);
DUMP(test_name, uint, 32, 4, PRIu32);
DUMP(test_name, uint, 64, 2, PRIu64);
- DUMP(test_name, poly, 8, 16, PRIu8);
- DUMP(test_name, poly, 16, 8, PRIu16);
+ DUMP_POLY(test_name, poly, 8, 16, PRIu8);
+ DUMP_POLY(test_name, poly, 16, 8, PRIu16);
DUMP_FP(test_name, float, 32, 4, PRIx32);
#if __ARM_NEON_FP16_INTRINSICS
DUMP_FP16(test_name, float, 16, 8, PRIu16);
@@ -489,8 +501,8 @@ static void dump_results_hex2 (const char *test_name, const char* comment)
DUMP(test_name, uint, 16, 4, PRIx16);
DUMP(test_name, uint, 32, 2, PRIx32);
DUMP(test_name, uint, 64, 1, PRIx64);
- DUMP(test_name, poly, 8, 8, PRIx8);
- DUMP(test_name, poly, 16, 4, PRIx16);
+ DUMP_POLY(test_name, poly, 8, 8, PRIx8);
+ DUMP_POLY(test_name, poly, 16, 4, PRIx16);
DUMP_FP(test_name, float, 32, 2, PRIx32);
#if __ARM_NEON_FP16_INTRINSICS
DUMP_FP16(test_name, float, 16, 4, PRIx16);
@@ -504,8 +516,8 @@ static void dump_results_hex2 (const char *test_name, const char* comment)
DUMP(test_name, uint, 16, 8, PRIx16);
DUMP(test_name, uint, 32, 4, PRIx32);
DUMP(test_name, uint, 64, 2, PRIx64);
- DUMP(test_name, poly, 8, 16, PRIx8);
- DUMP(test_name, poly, 16, 8, PRIx16);
+ DUMP_POLY(test_name, poly, 8, 16, PRIx8);
+ DUMP_POLY(test_name, poly, 16, 8, PRIx16);
DUMP_FP(test_name, float, 32, 4, PRIx32);
#if __ARM_NEON_FP16_INTRINSICS
DUMP_FP16(test_name, float, 16, 8, PRIx16);