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

target/5609: ICE on SSE2 inline assembler



>Number:         5609
>Category:       target
>Synopsis:       ICE on SSE2 inline assembler
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Feb 06 06:06:05 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Thomas Womack
>Release:        gcc-3.1-20020204
>Organization:
>Environment:
SuSE 7.3 on P4/1300
>Description:
The following source:

typedef int ___m128 __attribute__ ((mode(V4SI)));

typedef union {___m128 m128; unsigned char m128i_8[16];} __m128i;

inline __m128i _mm_cmpeq_epi8(__m128i a, __m128i b)
{
    __m128i alpha;
    asm("pcmpeqb %[param],%[inout]" :
        [inout] "=Y" (alpha.m128) :
        "[inout]" (a.m128),
        [param] "Y" (b.m128));
    return alpha;
}

int main(void)
{
    __m128i a,b;
    a = _mm_cmpeq_epi8(b,b);
}

gives an error message "internal error: Segmentation fault" at line 10 (the line with the asm command), when compiled with gcc-3.1 -msse2 -S using the 20020204 snapshot.
>How-To-Repeat:
Compile source with gcc-3.1 -msse2 -S
>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]