intrinsics

    2熱度

    1回答

    我無法找到任何簡單xor操作的內在函數。 請參見:http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html 真的有沒有辦法使用NEON指令的呢?

    3熱度

    4回答

    我實現了一個名爲abs()的函數。我得到這個錯誤: Intrinsic function, cannot be defined 我做了什麼錯了? 我正在使用Visual Studio 2005.

    18熱度

    4回答

    ARM參考手冊沒有詳細介紹各個指令(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348b/BABIIBBG.html)。有沒有更詳細的內容?

    1熱度

    1回答

    我有一個內聯彙編程序循環,它使用MMX指令從int32數據數組中累積添加元素。尤其是,它使用MMX寄存器可容納16個int32s並行計算16個不同累積和的事實。 我現在想將這段代碼轉換爲MMX內在函數,但是我恐怕會遭受性能損失,因爲不能明確地構造編譯器以使用8個MMX寄存器來容納16個獨立的總和。 有人可以對此進行評論,也許提出一個解決方案如何將下面的代碼段轉換爲使用intrinsics? ==聯

    6熱度

    6回答

    我有以下瓶頸功能。 typedef unsigned char byte; void CompareArrays(const byte * p1Start, const byte * p1End, const byte * p2, byte * p3) { const byte b1 = 128-30; const byte b2 = 128+30; for (c

    5熱度

    5回答

    我的圖像處理項目使用灰度圖像。我有ARM Cortex-A8處理器平臺。我想要使​​用NEON。 我有一個灰度圖像(考慮下面的例子),在我的算法中,我只需要添加列。 我怎樣才能加載4個8位像素值在並行,這是uint8_t,如4 uint32_t的到128位NEON寄存器中的一個?我必須使用什麼內在來做到這一點? 我的意思是: 我必須加載它們轉換爲32位,因爲如果你仔細看,那一刻我做255 + 25

    2熱度

    5回答

    我一直在試圖找出如何在一個非常關鍵的幾行獲得在我的代碼一些改進: float x = a*b; float y = c*d; float z = e*f; float w = g*h; 所有A,B,C ...是彩車。 我決定研究使用SSE,但似乎無法找到任何改善,實際上它變慢了兩倍。我SSE代碼: Vector4 abcd, efgh, result; abcd = [float a,

    2熱度

    3回答

    這些數據類型是什麼? __m64,__m128, __m256?

    4熱度

    2回答

    我想弄清楚如何最好地預先計​​算一些正弦和餘弦值,將它們存儲在對齊的塊中,然後稍後用它們進行SSE計算: 在我的程序開始時,我創建了一個與成員對象: static __m128 *m_sincos; 然後我初始化該成員在構造函數: m_sincos = (__m128*) _aligned_malloc(Bins*sizeof(__m128), 16); for (int t=0; t<Bi

    2熱度

    2回答

    許多SSE指令允許源操作數爲16字節對齊的內存地址。例如,各種(不)包裝說明。 PUNCKLBW具有以下特徵: PUNPCKLBW XMM1,XMM2/M128 現在,這似乎並不可能有內在的。它看起來像使用_mm_load * intrinsics來讀取內存中的任何東西是強制性的。這是PUNPCKLBW的內在特徵: __m128i _mm_unpacklo_epi8(__m128i a,__m12