| %MACRO TEST_GENERIC 5 |
| ;global _test_ %+ %1 %+ _ %+ %4 |
| ;global test_ %+ %1 %+ _ %+ %4 |
| _test_ %+ %1 %+ _ %+ %4: |
| test_ %+ %1 %+ _ %+ %4: |
| mov edx, [ esp + 4 ] |
| mov eax, [ esp + 8 ] |
| %2 %3, [ edx ] |
| %2 %5, [ eax ] |
| %1 %3, %5 |
| %2 [ edx ], %3 |
| ret |
| %ENDMACRO |
| |
| TEST_GENERIC pabsb, movq, mm0, mmx, mm1 |
| TEST_GENERIC pabsw, movq, mm0, mmx, mm1 |
| TEST_GENERIC pabsd, movq, mm0, mmx, mm1 |
| |
| TEST_GENERIC pabsb, movdqu, xmm0, xmm, xmm1 |
| TEST_GENERIC pabsw, movdqu, xmm0, xmm, xmm1 |
| TEST_GENERIC pabsd, movdqu, xmm0, xmm, xmm1 |
| |
| TEST_GENERIC psignb, movq, mm0, mmx, mm1 |
| TEST_GENERIC psignw, movq, mm0, mmx, mm1 |
| TEST_GENERIC psignd, movq, mm0, mmx, mm1 |
| |
| TEST_GENERIC psignb, movdqu, xmm0, xmm, xmm1 |
| TEST_GENERIC psignw, movdqu, xmm0, xmm, xmm1 |
| TEST_GENERIC psignd, movdqu, xmm0, xmm, xmm1 |
| |
| TEST_GENERIC phaddw, movq, mm0, mmx, mm1 |
| TEST_GENERIC phaddsw, movq, mm0, mmx, mm1 |
| TEST_GENERIC phaddd, movq, mm0, mmx, mm1 |
| |
| TEST_GENERIC phaddw, movdqu, xmm0, xmm, xmm1 |
| TEST_GENERIC phaddsw, movdqu, xmm0, xmm, xmm1 |
| TEST_GENERIC phaddd, movdqu, xmm0, xmm, xmm1 |
| |
| TEST_GENERIC phsubw, movq, mm0, mmx, mm1 |
| TEST_GENERIC phsubsw, movq, mm0, mmx, mm1 |
| TEST_GENERIC phsubd, movq, mm0, mmx, mm1 |
| |
| TEST_GENERIC phsubw, movdqu, xmm0, xmm, xmm1 |
| TEST_GENERIC phsubsw, movdqu, xmm0, xmm, xmm1 |
| TEST_GENERIC phsubd, movdqu, xmm0, xmm, xmm1 |
| |
| TEST_GENERIC pmulhrsw, movq, mm0, mmx, mm1 |
| TEST_GENERIC pmulhrsw, movdqu, xmm0, xmm, xmm1 |
| |
| TEST_GENERIC pmaddubsw, movq, mm0, mmx, mm1 |
| TEST_GENERIC pmaddubsw, movdqu, xmm0, xmm, xmm1 |
| |
| TEST_GENERIC pshufb, movq, mm0, mmx, mm1 |
| TEST_GENERIC pshufb, movdqu, xmm0, xmm, xmm1 |
| |
| %MACRO TEST_ALIGNR 5 |
| ;global _test_ %+ %1 %+ _ %+ %4 |
| ;global test_ %+ %1 %+ _ %+ %4 |
| _test_ %+ %1 %+ _ %+ %4: |
| test_ %+ %1 %+ _ %+ %4: |
| mov edx, [ esp + 4 ] |
| mov eax, [ esp + 8 ] |
| %2 %3, [ edx ] |
| %2 %5, [ eax ] |
| %1 %3, %5, 3 |
| %2 [ edx ], %3 |
| ret |
| %ENDMACRO |
| |
| TEST_ALIGNR palignr, movq, mm0, mmx, mm1 |
| TEST_ALIGNR palignr, movdqu, xmm0, xmm, xmm1 |