This is the mail archive of the gcc-prs@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]

c/7723: Internal compiler error - Pentium3 sse - gcc 3.2


>Number:         7723
>Category:       c
>Synopsis:       Internal compiler error - Pentium3 sse - gcc 3.2
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 26 03:06:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     morandini@aero.polimi.it
>Release:        gcc version 3.2
>Organization:
>Environment:
SuSE Linux 8.0, kernle 2.4.18, dual pentiun 3
gcc -v:
Reading specs from /home2/marco/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/specs
Configured with: ../configure --enable-threads=posix --enable-languages=c,c++,f77 --prefix=/home2/marco/local : (reconfigured) ../configure --enable-languages=c,c++,f77 --enable-__cxa_atexit --prefix=/home2/marco/local : (reconfigured) ../configure --enable-languages=c,c++,f77 --enable-__cxa_atexit --prefix=/home2/marco/local
Thread model: posix
gcc version 3.2
>Description:
1)
with this code:
/*-------------------*/
typedef int v4sf __attribute__ ((mode(V4SF)));
int main(void) {
	v4sf a={0.,0.,0.,0.};
	return 0;
};
/*------------------*/

marco@pc-31c:~> gcc -msse -march=pentium3 -mfpmath=sse main1.c: In function `main':
main1.c:5: Internal compiler error in instantiate_virtual_regs_1, at function.c:3972

2)this code is compiled, but the program gives a SIGSEGV. What's wrong?
(binutils  2.13.90.0.4 20020814)
/*------------------*/
typedef int v4sf __attribute__ ((mode(V4SF)));
int main(void) {
	v4sf a={1.,1.,1.,1.};
	v4sf b={2.,2.,2.,2.};
	v4sf c;
	c=__builtin_ia32_addss (a, b);
	return 0;
};
/*----------------*/

Here is the assembly of the second program:
        .file   "main.c"
        .text
        .align 2
.globl main
        .type   main,@function
main:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $56, %esp
        andl    $-16, %esp
        movl    $0, %eax
        subl    %eax, %esp
        movl    $0x3f800000, -24(%ebp)
        movl    $0x3f800000, -20(%ebp)
        movl    $0x3f800000, -16(%ebp)
        movl    $0x3f800000, -12(%ebp)
        movl    $0x40000000, -40(%ebp)
        movl    $0x40000000, -36(%ebp)
        movl    $0x40000000, -32(%ebp)
        movl    $0x40000000, -28(%ebp)
        movaps  -24(%ebp), %xmm0
        addss   -40(%ebp), %xmm0
        movaps  %xmm0, -56(%ebp)
        movl    $0, %eax
        leave
        ret
.Lfe1:
        .size   main,.Lfe1-main
        .ident  "GCC: (GNU) 3.2"
>How-To-Repeat:
see description
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


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