This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/56043] New: ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c
- From: "janis at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 19 Jan 2013 02:35:18 +0000
- Subject: [Bug target/56043] New: ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56043
Bug #: 56043
Summary: ICE in rs6000_builtin_vectorized_libmass for
vsx-mass-1.c
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: janis@gcc.gnu.org
CC: meissner@gcc.gnu.org
Target: powerpc-none-eabi
My mainline compiler for powerpc-none-eabi gets a null pointer dereference for
a test:
/scratch/janisjo/build6/fsf-powerpc-eabi/src/gcc-mainline/gcc/testsuite/gcc.target/powerpc/vsx-mass-1.c:
In function 'test_float_atan2':^M
/scratch/janisjo/build6/fsf-powerpc-eabi/src/gcc-mainline/gcc/testsuite/gcc.target/powerpc/vsx-mass-1.c:80:1:
internal compiler error: Segmentation fault^M
0x85fb2d2 crash_signal^M
/scratch/janisjo/build6/fsf-powerpc-eabi/src/gcc-mainline/gcc/toplev.c:332^M
0x813611c contains_struct_check
/scratch/janisjo/build6/fsf-powerpc-eabi/src/gcc-mainline/gcc/tree.h:3782
0x88b5172 rs6000_builtin_vectorized_libmass
/scratch/janisjo/build6/fsf-powerpc-eabi/src/gcc-mainline/gcc/config/rs6000/rs6000.c:3751
0x88093be vect_analyze_loop_operations
/scratch/janisjo/build6/fsf-powerpc-eabi/src/gcc-mainline/gcc/tree-vect-loop.c:1443
0x880ac46 vect_analyze_loop_2
/scratch/janisjo/build6/fsf-powerpc-eabi/src/gcc-mainline/gcc/tree-vect-loop.c:1720
0x880ac46 vect_analyze_loop(loop*)
/scratch/janisjo/build6/fsf-powerpc-eabi/src/gcc-mainline/gcc/tree-vect-loop.c:1773
0x8825e13 vectorize_loops()
/scratch/janisjo/build6/fsf-powerpc-eabi/src/gcc-mainline/gcc/tree-vectorizer.c:113
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
FAIL: gcc.target/powerpc/vsx-mass-1.c (internal compiler error)
FAIL: gcc.target/powerpc/vsx-mass-1.c (test for excess errors)
The null pointer dereference comes from a null value assigned to bdecl returned
from builtin_decl_implicit in calls in rs6000_builtin_vectorized_libmass. If
that function returns NULL_TREE when bdecl is NULL then the test program
compiles but nost of the assembly scans fail, so perhaps that isn't a valid
fix.
Here's the output from my tests when the null pointers are avoided:
PASS: gcc.target/powerpc/vsx-mass-1.c (test for excess errors)
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+atan2d2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+atan2f4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+hypotd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+hypotf4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+powd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+powf4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+acosd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+acosf4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+acoshd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+acoshf4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+asind2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+asinf4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+asinhd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+asinhf4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+atand2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+atanf4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+atanhd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+atanhf4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+cbrtd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+cbrtf4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+cosd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+cosf4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+coshd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+coshf4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+erfd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+erff4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+erfcd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+erfcf4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+exp2d2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+exp2f4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+expd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+expf4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+expm1d2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+expm1f4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+lgamma
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+lgammaf
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+log10d2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+log10f4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+log1pd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+log1pf4
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+log2d2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+log2f4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+logd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+logf4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+sind2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+sinf4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+sinhd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+sinhf4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+tand2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+tanf4
PASS: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+tanhd2
FAIL: gcc.target/powerpc/vsx-mass-1.c scan-assembler bl[\\. ]+tanhf4
Here's how my compiler is configured:
Using built-in specs.
COLLECT_GCC=install/bin/powerpc-none-eabi-gcc
COLLECT_LTO_WRAPPER=/scratch/janisjo/build6/fsf-powerpc-eabi/install/bin/../libexec/gcc/powerpc-none-eabi/4.8.0/lto-wrapper
Target: powerpc-none-eabi
Configured with:
/scratch/janisjo/build6/fsf-powerpc-eabi/src/gcc-mainline/configure
--build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=powerpc-none-eabi
--enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch
--with-gnu-as --with-gnu-ld --enable-languages=c,c++ --disable-shared
--enable-lto --with-newlib --disable-nls --prefix=/opt/codesourcery
--with-headers=yes --with-sysroot=/opt/codesourcery/powerpc-none-eabi
--with-build-sysroot=/scratch/janisjo/build6/fsf-powerpc-eabi/install/powerpc-none-eabi
--with-gmp=$HOSTLIBS/usr --with-mpfr=$HOSTLIBS/usr --with-mpc=$HOSTLIBS/usr
--with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm'
--with-isl=$HOSTLIBS/usr --with-cloog=$HOSTLIBS/usr --with-libelf=$HOSTLIBS/usr
--disable-libgomp --disable-libitm --enable-poison-system-directories
--with-build-time-tools=/scratch/janisjo/build6/fsf-powerpc-eabi/install/powerpc-none-eabi/bin
--with-build-time-tools=/scratch/janisjo/build6/fsf-powerpc-eabi/install/powerpc-none-eabi/bin
Thread model: single
gcc version 4.8.0 20130119 (experimental) [trunk revision 195309] (GCC)
As far as I can tell the test has failed for this configuration since it was
added.