Author Topic: constraints in 64 bit  (Read 15948 times)

nobody

  • Guest
constraints in 64 bit
« on: June 03, 2009, 06:32:57 PM »
Hi,
can someone tell me if my constraints "D" and "S" are correctly used for 64 bit code? Or how the "D" & "S" are renamed when compiling 64 bit code?

void pipe_mult_ushort(ushort *data,ushort *rands)
{
__asm__ __volatile__(".intel_syntax noprefix\n\t"

"movdqa xmm0,[rdi]\n\t"         // load xmm0 & xmm1
                "movdqa xmm1,[rsi]\n\t"

"movdqa xmm2,0x10[rdi]\n\t"     // load xmm2 & xmm3
                "movdqa xmm3,0x10[rsi]\n\t"
......[more code omited] ....
                     :
                     :  "D" (data) ,"S" (rands)
                     :  "xmm0","xmm1","xmm2","xmm3","xmm4","xmm5","xmm6","xmm7",
                        "xmm8","xmm9","xmm10","xmm11","xmm12","xmm13","xmm14","xmm15",
                        "mm0","mm1","mm2","mm3","mm4","mm5","mm6","mm7",
                        "r8","r9","r10","r11","r12","r13","r14","r15",
                        "rax","rbx","rcx","rdx",
                        "memory");