blur2_3.asm 735 B

12345678910111213141516171819
  1. ; Genero los nuevos registros para la suma
  2. movdqa xmm9, xmm3
  3. psrldq xmm9, 8 ; xmm9 = |SUM(p1)|0x0|
  4. movdqa xmm10, xmm4
  5. pslldq xmm10, 8 ; xmm10 = |0x0|SUM(p2)|
  6. paddusw xmm9, xmm10 ; xmm9 = |SUM(p1)|SUM(p2)|
  7. movdqa xmm10, xmm4
  8. psrldq xmm10, 8 ; xmm10 = |SUM(p3)|0x0|
  9. movdqa xmm11, xmm5
  10. pslldq xmm11, 8 ; xmm11 = |0x0|SUM(p4)|
  11. paddusw xmm10, xmm11 ; xmm10 = |SUM(p3)|SUM(p4)|
  12. ; Sumo los pixeles de una misma fila
  13. paddusw xmm3, xmm4 ; xmm3 = |SUM(p0)+SUM(p2)|SUM(p1)+SUM(p3)|
  14. paddusw xmm3, xmm9 ; xmm3 = |SUM(p0)+SUM(p2)+SUM(p1)|SUM(p1)+SUM(p3)+SUM(p2)|
  15. paddusw xmm5, xmm4 ; xmm4 = |SUM(p4)+SUM(p2)|SUM(p5)+SUM(p3)|
  16. paddusw xmm5, xmm10 ; xmm4 = |SUM(p4)+SUM(p2)+SUM(p3)|SUM(p5)+SUM(p3)+SUM(p4)|