Skip to content

Add 4ic deinterleave to 8i x2 #398

@dkozel

Description

@dkozel

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;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Enhancementnew kernel entirely or for some specific ARCH

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions