Я пытаюсь загрузить массив значений char в регистры NEON, а затем обработать их как 16-битные или 32-битные целочисленные значения. Так что-то вроде этого ...
void SubVector(short* c, const unsigned char* a, const unsigned char* b, int n)
{
for(int i = 0; i < n; i++)
{
c[i] = (short)a[i] - (short)b[i];
}
}
Я не уверен, как загрузить данные. Должен ли я загрузить 8-битные данные в дорожки, а затем переосмыслить регистры как шорты? Или загрузить и конвертировать? Какой бы самый быстрый путь?
У кого-нибудь есть пример того, как они будут делать это с присущим NEON свойством?
Спасибо!