2012-06-13 87 views
0

我想知道Neon如何處理溢出。例如:NEON如何處理溢出?

uint8x8_t vadd_u8 (uint8x8_t, uint8x8_t) 

據我所知,這是一個2向量(每個都有8個無符號字節的元素)的加法。假設兩個矢量的所有值均爲255.

在這種情況下我們應該期待什麼結果?一個8元素矢量(510,... 510)還是別的?

回答

4

8位元素可以具有值僅從0到255不能包含510

vadd_u8將環繞=> 255 + 255 = 510%256 = 254

vqadd_u8將飽和=> 255 + 255 = min(510,255)= 255。

+0

感謝MārtiņšMožeiko。 – nanasi

+0

那麼我們如何使用Neon intrinsics添加2 uint8x8矢量? AFAIK,沒有方法允許添加2 uint8x8向量給出uint16x8的結果。參考文獻:http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html – nanasi

+3

'vaddl_u8'將添加兩個'uint8x8'並返回'uint16x8'。 – Leo