http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55864



--- Comment #3 from beldmit at nm dot ru 2013-01-03 16:33:02 UTC ---

If this case is better to reproduce the problem or I completely do not

understand the asm usage?



The mmx registers and operations are used to speedup the 64-bit xor.



void _xor64_asm(const unsigned char * arg1, const unsigned char * arg2,

unsigned char* out)

{

  __asm__(

  "movq (%1), %%mm0;"

  "movq (%2), %%mm1;"

  "pxor %%mm0, %%mm1;"

  "movl %0, %%ecx;"

  "movq %%mm1, (%%ecx);"

  "emms"

: "=ym"(out)

: "r"(arg1), "r"(arg2)

: "mm1", "mm2", "ecx");

}

Reply via email to