Mercurial > vec
annotate test/test_shift.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 | 677c03c382b8 |
children |
rev | line source |
---|---|
18
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
1 static int test_shift(void) |
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
2 { |
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
3 int ret = 0; |
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
4 |
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
5 ret |= (vec_urshift(0xFFFFFFFF, 16) != 0xFFFF); |
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
6 ret |= (vec_ulshift(0xFFFF, 16) != 0xFFFF0000); |
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
7 ret |= (vec_rshift(-0xFFFF, 8) != -0x100); |
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
8 ret |= (vec_lshift(-0xFFFF, 8) != -0xFFFF00); |
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
9 |
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
10 return ret; |
cf04071d2148
impl: initial NEON support; test: verify bit shifting functions
Paper <paper@tflc.us>
parents:
diff
changeset
|
11 } |