Оптимум на P4

Тема в разделе "WASM.A&O", создана пользователем LocTb, 29 мар 2005.

  1. LocTb

    LocTb New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2004
    Сообщения:
    54
    Подскажите что, быстрее на P4 (таких 4 блока подряд для xmm0,xmm1,xmm2,xmm3):
    Код (Text):
    1.  
    2. mov     edx,20h
    3.  
    4. pmovmskb    eax,xmm0
    5. movd        xmm6,eax
    6. movd        xmm7,esi
    7. pslldq      xmm6,4
    8. por     xmm6,xmm7      
    9. movdqa      [edi],xmm6  ;edi - 16byte aligned
    10. movdqa      [edi+10h],xmm5
    11. test        eax,eax
    12. cmovne      eax,edx
    13. add     edi,eax
    14. add     esi,10h    
    15.  
    16. .xmm1Interation:
    17.  


    или
    Код (Text):
    1.  
    2. pmovmskb    eax,xmm0
    3. test        eax,eax
    4. jz      .xmm1Interation
    5. movd        xmm6,eax
    6. movd        xmm7,esi
    7. pslldq      xmm6,4
    8. por     xmm6,xmm7      
    9. movdqa      [edi],xmm6  ;edi - 16byte aligned
    10. movdqa      [edi+10h],xmm5
    11. add     edi,20h
    12. add     esi,10h    
    13.  
    14. .xmm1Interation:
    15.  




    и ещё небольшой:
    Код (Text):
    1.  
    2. movntdq     [edi-30h],xmm0  ;[edi-30] - 16byte aligned
    3. movntdq     [edi-20h],xmm1
    4. movntdq     [edi-10h],xmm2
    5. maskmovdqu  xmm3,xmm4
    6.  


    или
    Код (Text):
    1.  
    2. maskmovdqu  xmm0,xmm1   ;edi- 16byte aligned
    3. movntdq     [edi-10h],xmm2
    4. movntdq     [edi-20h],xmm3
    5. movntdq     [edi-30h],xmm4
    6.  


    выполнится ли за 1 bus transaction?