[LLVMbugs] [Bug 12329] New: movq rax mmx not supported: suffix or operands invalid for `movq'

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Mar 22 10:28:36 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=12329

             Bug #: 12329
           Summary: movq rax mmx not supported: suffix or operands invalid
                    for `movq'
           Product: clang
           Version: unspecified
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: luke.weber at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 8251
  --> http://llvm.org/bugs/attachment.cgi?id=8251
code derived from spandsp/srv/gsm0610_rpe.c

When compiling the attached code with  gcc -std=gnu99 -m64 -c -o testmovq.o
~/Downloads/movqtest.c

I get the following error:
/var/folders/7l/nf67_yxd1_lb845mrbs8rr640000gn/T//ccnaerIG.s:24:suffix or
operands invalid for `movq'

I'm using the newest llvm-clang that came with Xcode. Background, I changed a
compiler constraint from "X" to "m" for a vector and I'm not sure if this is
correct, but don't think it has an impact on the issue and silences an similar
error on leaq line above.

The offending line: movq %%rax,%%mm5;

If I change this line to be movd %%eax, %%mm5 it seems to work, at least the
compiler doesn't complain.

The movq should be supported per intel spec, but it's not totally clear as in
some descriptions they talk about movd being the only way to read registers,
but clearly in Vol. 2B 4-61 of
http://download.intel.com/products/processor/manual/325462.pdf in the
instruction list it states:
REX.W + 0F 6E /r
MOVQ mm, r/m64
MMX Move quadword from r/m64
to mm.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list