xxxxxxxxxx
void* SSE_sobelRow(ubyte* src, ubyte* dst, size_t srcStride){ asm{
push RDI;
mov RAX, 0; mov RDX, 0; mov RCX, 0; //clear 'parameter' registers
mov RAX, src;
mov RDI, dst;
//gen
movups XMM0,[RAX];
movaps XMM1,XMM0;
pslldq XMM0,1;
movaps XMM2,XMM1;
psrldq XMM1,1;
pavgb XMM1,XMM0;
pavgb XMM1,XMM2;
movups [RDI],XMM1;
//gen end
pop RDI;
}}