mmx

    0熱度

    1回答

    給定一個長度爲8的字節向量,例如,如何使用mmx指令將所有2轉換爲5? .data v1 BYTE 1, 2, 3, 4, 1, 2, 3, 4 謝謝。 編輯:2和5只是一個例子。它們實際上是一個過程的參數。

    1熱度

    2回答

    這很簡單,但我還沒有弄清楚。 這個問題是關於一個程序集mmx,但它是純粹的邏輯。 試想以下情形: MM0: 04 03 02 01 04 03 02 01 <-- input MM1: 02 02 02 02 02 02 02 02 MM2: 04 03 02 01 04 03 02 01 <-- copy of input after pcmpgtw MM0, MM1 MM0: FF

    2熱度

    1回答

    有誰知道如何使用MMX寄存器從16位字擴展到32位字?我想從存儲在MMX寄存器中的兩個16位字中獲得兩個32位符號擴展字。沒有SSE4指令允許。 問候

    17熱度

    2回答

    我在哪裏可以找到關於常見SIMD技巧的信息?我有一個指令集並知道如何編寫非棘手的SIMD代碼,但我知道,現在SIMD功能更強大。它可以容納複雜的條件無分支代碼。 例如(ARMv6),下面的指令序列集合等於Ra和Rb的對應字節的無符號的最小路的每個字節: USUB8 Rd, Ra, Rb SEL Rd, Rb, Ra 教程的鏈接/罕見SIMD技術也很好: )ARMv6對我來說是最有趣的,但x8

    4熱度

    2回答

    我正在編寫多線程的高度並行應用程序。我已經寫了一個SSE加速的線程類。如果我要編寫MMX加速線程類,那麼同時運行兩個線程(一個SSE線程和一個每個內核的MMX線程)會使性能顯着提高嗎? 我認爲這樣的設置可以幫助隱藏內存延遲,但是我想在開始向它傾注時間之前確定。

    3熱度

    2回答

    讓我以此爲序。我對ASM的經驗非常有限,對於SIMD更少。 但碰巧我有以下MMX/SSE優化代碼,我希望將這些代碼移植到AltiVec指令中以便在PPC/Cell處理器上使用。 這可能是一個很大的問題。儘管它只有幾行代碼,但我在嘗試着解決這裏發生的事情方面遇到了麻煩。 原來的功能: static inline int convolve(const short *a, const short *b,

    2熱度

    2回答

    我有這樣的代碼片段: @combinerows: mov esi,eax and edi,Row1Mask and ebx,Row2Mask or ebx,edi //NewQ:= (Row1 and Row1Mask) or (Row2 and Row2Mask); //Result:= NewQ xor q; PUNPCK

    1熱度

    1回答

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