This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: problem in extended asm
- From: James E Wilson <wilson at specifixinc dot com>
- To: Ankit Jain <ankitjain1580 at yahoo dot com>
- Cc: gcc at gcc dot gnu dot org, gcc-help at gcc dot gnu dot org
- Date: Thu, 12 Aug 2004 16:04:01 -0700
- Subject: Re: problem in extended asm
- References: <20040809171020.61634.qmail@web52901.mail.yahoo.com>
Ankit Jain wrote:
a simple question: why the followinf instruction
dosent work in gcc
asm("movq i(%1),%%mm0 \n"
"movq %%mm0,(%0)
:"=r"(x)
:"r"(m)); //m is an array
Always include a testcase that can be compiled. A program fragment like
this is a very poor bug report, as often the bug is in something you
left out.
In this particular case, the problem is likely that you are using
arrays, and register allocation can not assign an array to a register,
at least not after you have referenced an element of it. Hence, you can
not use an 'r' constraint with an array.
Try using a vector type or a union instead of an array.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com