Bug 8451 - altivec ice in gcc 3.2
Summary: altivec ice in gcc 3.2
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: other (show other bugs)
Version: 3.2
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2002-11-04 09:46 UTC by hartwood
Modified: 2003-07-25 17:33 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
s.i (729 bytes, text/x-c)
2003-05-21 15:17 UTC, hartwood
Details

Note You need to log in before you can comment on or make changes to this bug.
Description hartwood 2002-11-04 09:46:02 UTC
 /usr/local/vxworks/lib/gcc-lib/powerpc-wrs-vxworks/3.2/cpp0 -lang-c -v -isystem /usr/local/vxworks/lib/gcc-lib/include -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D__vxworks -D__vxworks__ -D__vxworks -D__vxworks__ -Asystem=vxworks -Asystem=embedded -Acpu=powerpc -Amachine=powerpc -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -D_CALL_SYSV -D__BIG_ENDIAN__ -Amachine=bigendian -D_ARCH_PPC -D__ALTIVEC__ -DCPU_FAMILY=PPC -DCPU=PPC603 source/s.c -Wall s.i
ignoring nonexistent directory "/usr/local/vxworks/lib/gcc-lib/include"
GNU CPP version 3.2 (cpplib) (PowerPC System V.4)
ignoring nonexistent directory "/usr/local/vxworks/powerpc-wrs-vxworks/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/vxworks/include
 /usr/local/vxworks/lib/gcc-lib/powerpc-wrs-vxworks/3.2/include
 /usr/local/vxworks/powerpc-wrs-vxworks/sys-include
End of search list.
 /usr/local/vxworks/lib/gcc-lib/powerpc-wrs-vxworks/3.2/cc1 -fpreprocessed s.i -quiet -dumpbase s.c -maltivec -mabi=altivec -O1 -Wall -version -o s.s
GNU CPP version 3.2 (cpplib) (PowerPC System V.4)
GNU C version 3.2 (powerpc-wrs-vxworks)
        compiled by GNU C version 3.1 20020420 (prerelease).
source/s.c: In function `gcc3_2_ice':
source/s.c:17: Internal compiler error in extract_bit_field, at expmed.c:1147
Please submit a full bug report,

Release:
gcc version 3.2: Darwin cross powerpc-wrs-vxworks

Environment:
Configured with: ../gcc-3.2/configure --prefix=/usr/local/vxworks --with-headers=/Tornado/target/h --enable-altivec --enable-languages=c --disable-shared --with-cpu=7400 --disable-multilib --target=powerpc-wrs-vxworks : (reconfigured) ../gcc-3.2/configure --prefix=/usr/local/vxworks --with-headers=/Tornado/target/h --enable-altivec --enable-languages=c --disable-shared --with-cpu=7400 --disable-multilib --with-gnu-as --with-gnu-ld --target=powerpc-wrs-vxworks
Thread model: vxworks

How-To-Repeat:
#include <altivec.h>


void gcc3_2_ice (const float a)
{
        const vector float small = (const vector float) {1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6};

        vector float b;
        register vector float c;
        register vector bool int d;
        register vector float e;

        * (float *) &b = a;
        c = vec_splat (b, 0);
        d = vec_cmplt (e, small);
        e = c;
}
Comment 1 hartwood 2002-11-04 09:46:02 UTC
Fix:
fixed by backporting this patch:

http://gcc.gnu.org/ml/gcc-patches/2002-04/msg01546.html
Comment 2 Aldy Hernandez 2002-11-04 10:52:24 UTC
State-Changed-From-To: open->closed
State-Changed-Why: fixed