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



More information about the Gcc-bugs mailing list