xmm register constraint -> Internal compiler error
Jean-Marc Valin
valj01@gel.usherb.ca
Thu Sep 13 18:00:00 GMT 2001
When I try compiling the following program:
struct xmm {
float a1;
float a2;
float a3;
float a4;
};
int main()
{
xmm a;
__asm__ __volatile__ ("" : : "x" (a));
}
I get:
% /opt/gcc-3.0/bin/g++ -S -c test_asm.cc
test_asm.cc: In function `int main()':
test_asm.cc:12: Internal compiler error in emit_move_insn, at expr.c:2711
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
% /opt/gcc-3.0/bin/g++ -v
Reading specs from /opt/gcc-3.0/lib/gcc-lib/i686-pc-linux-gnu/3.0/specs
Configured with: ../gcc-3.0/configure --prefix=/opt/gcc-3.0
--enable-version-specific-runtime-libs --enable-shared --with-gnu-as
--with-gnu-ld --enable-threads --with-cpu=athlon
Thread model: posix
gcc version 3.0
I guess it's probably not the right way to specify the constraint, but I haven't
been able to find any example. Since it crashes gcc, I thought I should mention
it anyway (I get that with gcc-2.95.3 too). By the way, what's wrong with this
code?
Thanks,
Jean-Marc
More information about the Gcc-bugs
mailing list