5 mmx_601(unsigned long y, unsigned long *output)
7 asm(" movd (%0), %%mm0; /* Load y 0x00000000000000yy */\
8 psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */\
9 movd %%mm0, (%1); /* Store output */"
11 : "r" (&y), "r" (output));
14 int main(int argc, char *argv[])
16 unsigned char output[16];
17 memset(output, 0, sizeof(output));
18 mmx_601(1, (unsigned long*)output);
19 printf("%02x%02x\n", *(unsigned char*)&output[1], *(unsigned char*)&output[0]);