This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

picking xmm registers in gcc for x86 / extended at&t assembly


Hi,

I have the following code:

int main() {
  signed short Asse1[8] __attribute__ ((aligned
(16)));
  signed short Asse2[8] __attribute__ ((aligned
(16)));
  asm("pmaxsw %1, %0" : "=x" (Asse1) : "0" (Asse1),
"x" (Asse2));
}

gcc 3.2.1 crashes with an internal compiler error.
gcc 3.3.1 responds with:

small.cpp:4: error: impossible constraint in `asm'


first operand(constraint): match output with
arbritrary xmm register
second operand(constraint): first input is same as
output
third operand(constraint): match second input with
arbritrary xmm register

the output is %0, which matches the destination
operand in the asm
instruction.

What is wrong?

Lodewijk Smit




__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]