comparison test/test_compare.h @ 37:4b5a557aa64f

*: turns out extern is a practical joke. rewrite to be always inline again the sample benchmark performs about 3x as well with optimizations disabled :)
author Paper <paper@tflc.us>
date Sat, 26 Apr 2025 01:04:35 -0400
parents 627d548b23c8
children
comparison
equal deleted inserted replaced
36:677c03c382b8 37:4b5a557aa64f
8 v##sign##int##bits##x##size##_store(a, orig_a); \ 8 v##sign##int##bits##x##size##_store(a, orig_a); \
9 v##sign##int##bits##x##size##_store(b, orig_b); \ 9 v##sign##int##bits##x##size##_store(b, orig_b); \
10 v##sign##int##bits##x##size##_store(c, orig_c); \ 10 v##sign##int##bits##x##size##_store(c, orig_c); \
11 \ 11 \
12 for (int i = 0; i < size; i++) { \ 12 for (int i = 0; i < size; i++) { \
13 if ((sign##int##bits##_t)(((equiv) ? UINT##bits##_MAX : 0)) != orig_c[i]) { \ 13 if ((vec_##sign##int##bits)(((equiv) ? UINT##bits##_MAX : 0)) != orig_c[i]) { \
14 printf("%lld %lld\n", (long long)(vec_##sign##int##bits)(((equiv) ? UINT##bits##_MAX : 0)), (long long)orig_c[i]); \
14 fprintf(stderr, "v" #sign "int" #bits "x" #size "_" #op " test FAILED at index %d: (" #equiv ") [%d] does not equal result [%" PRI ## psign ## bits "]!\n", i, equiv, orig_c[i]); \ 15 fprintf(stderr, "v" #sign "int" #bits "x" #size "_" #op " test FAILED at index %d: (" #equiv ") [%d] does not equal result [%" PRI ## psign ## bits "]!\n", i, equiv, orig_c[i]); \
15 print_v##sign##int##bits##x##size(stderr,a); \ 16 print_v##sign##int##bits##x##size(stderr,a); \
16 print_v##sign##int##bits##x##size(stderr,b); \ 17 print_v##sign##int##bits##x##size(stderr,b); \
17 print_v##sign##int##bits##x##size(stderr,c); \ 18 print_v##sign##int##bits##x##size(stderr,c); \
18 fprintf(stderr, "\n"); \ 19 fprintf(stderr, "\n"); \