From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9403 invoked by alias); 22 Jan 2003 15:30:22 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 9383 invoked by uid 48); 22 Jan 2003 15:30:21 -0000 Date: Wed, 22 Jan 2003 15:30:00 -0000 Message-ID: <20030122153021.9382.qmail@sources.redhat.com> To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, kfredrik@cs.joensuu.fi, nobody@gcc.gnu.org From: bangerth@dealii.org Reply-To: bangerth@dealii.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, kfredrik@cs.joensuu.fi, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: target/9401: [x86] ICE with MMX/SSE codes X-SW-Source: 2003-01/txt/msg01200.txt.bz2 List-Id: Old Synopsis: g++ 3.1 and above produce internal compiler error when using built-in vector intrinsics New Synopsis: [x86] ICE with MMX/SSE codes State-Changed-From-To: open->analyzed State-Changed-By: bangerth State-Changed-When: Wed Jan 22 15:30:21 2003 State-Changed-Why: Confirmed. Here's a small testcase: ------------------------ typedef int v4sf __attribute__ ((mode(V4SF))); struct X { X() {} X(int); int foo() { return *(int *)&x; } v4sf x; }; void bar() { X x; int i, r, b; for(r=0; r /home/bangerth/bin/gcc-3.4-pre/bin/gcc -msse -O3 x.cc x.cc: In function `void bar()': x.cc:15: error: unable to find a register to spill in class `GENERAL_REGS' x.cc:15: error: this is the insn: (insn:HI 56 87 62 2 0x401b8a7c (set (reg/v:SI 0 eax [67]) (subreg:SI (reg/v:V4SF 21 exmm0 [59]) 0)) 45 {*movsi_1} (nil) (expr_list:REG_EQUIV (mem/f:SI (plus:SI (reg/f:SI 7 esp) (const_int 4 [0x4])) [0 S4 A32]) (expr_list:REG_DEAD (reg/v:V4SF 21 exmm0 [59]) (nil)))) x.cc:15: internal compiler error: in spill_failure, at reload1.c:1924 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. g/a> /home/bangerth/bin/gcc-3.3-pre/bin/gcc -msse -O3 x.cc x.cc: In function `void bar()': x.cc:15: error: unable to find a register to spill in class `GENERAL_REGS' x.cc:15: error: this is the insn: (insn:HI 55 85 61 2 0x401d70b0 (set (reg/v:SI 0 eax [67]) (subreg:SI (reg/v:V4SF 21 exmm0 [59]) 0)) 38 {*movsi_1} (nil) (expr_list:REG_EQUIV (mem/f:SI (plus:SI (reg/f:SI 7 esp) (const_int 4 [0x4])) [0 S4 A32]) (expr_list:REG_DEAD (reg/v:V4SF 21 exmm0 [59]) (nil)))) x.cc:15: internal compiler error: in spill_failure, at reload1.c:1920 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. g/a> /home/bangerth/bin/gcc-3.2.2-pre/bin/gcc -msse -O3 x.cc x.cc: In function `void bar()': x.cc:15: Internal compiler error in gen_reg_rtx, at emit-rtl.c:662 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. W. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9401