VQSHL
- насыщающий сдвиг. То есть, он не позволит переполнению дорожек, и если они это сделают, они будут насыщаться до максимально возможного значения. Если это желаемое поведение, то это будет работать для вас. Если произошло насыщение, процессор установит FPSCR.QC
(флаг накопительного насыщения).
Из вашего описания звучит так, будто вы не хотите переполнения. Если вы планируете добавить 32-битное значение к каждому 8-битному значению, результат обычно не помещается в 8-битный регистр.
Возможно, вам следует рассмотреть возможность загрузки ваших 8-битных значений в более широкий регистр. Например. как 4 32-битных дорожки. Вы можете использовать многоэлементную форму VLD, чтобы помочь вам загрузить 8-битные значения в регистры NEON, например, VLD2.8 {d0[0],d1[0],d2[0],d3[0]}, [r0]
будет загружать четные индексы, а затем вы можете загружать нечетные. Еще один вариант - использовать VZIP.