-
Notifications
You must be signed in to change notification settings - Fork 218
Open
Labels
Enhancementnew kernel entirely or for some specific ARCHnew kernel entirely or for some specific ARCH
Description
I think this can be done pretty efficiently, if bytewise arithmetic shift operators exist. Otherwise its probably just loop unrolling? The volk_8ic_deinterleave_16i_x2 kernels are much more complicated than I expected though so I'm probably not aware of a lot of nuances of available SIMD operations.
uint8_t input[size];
uint8_t out_1[size];
uint8_t out_2[size];
for (int i = 0; i < size; i++) {
out_1[i] = input[i] << 4;
out_1[i] = out_1[i] >> 4;
out_2[i] = input[i] >> 4;
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Enhancementnew kernel entirely or for some specific ARCHnew kernel entirely or for some specific ARCH