public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/56043] New: ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c
@ 2013-01-19  2:35 janis at gcc dot gnu.org
  2013-02-07 20:16 ` [Bug target/56043] " meissner at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: janis at gcc dot gnu.org @ 2013-01-19  2:35 UTC (permalink / raw)
  To: gcc-bugs


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.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/56043] ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c
  2013-01-19  2:35 [Bug target/56043] New: ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c janis at gcc dot gnu.org
@ 2013-02-07 20:16 ` meissner at gcc dot gnu.org
  2013-02-07 20:27 ` meissner at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2013-02-07 20:16 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56043

Michael Meissner <meissner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2013-02-07
         AssignedTo|unassigned at gcc dot       |meissner at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/56043] ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c
  2013-01-19  2:35 [Bug target/56043] New: ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c janis at gcc dot gnu.org
  2013-02-07 20:16 ` [Bug target/56043] " meissner at gcc dot gnu.org
@ 2013-02-07 20:27 ` meissner at gcc dot gnu.org
  2013-02-08 19:36 ` meissner at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2013-02-07 20:27 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56043

--- Comment #1 from Michael Meissner <meissner at gcc dot gnu.org> 2013-02-07 20:27:19 UTC ---
Created attachment 29390
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29390
Patch to fix the problem

There are two problems here.

The first problem is the segmentation fault if the builtin function does not
have an implicit function.  The patch adds code to return NULL_TREE in this
case, rather than cause a segmentation violation due to a NULL pointer.

However, in the case of powerpc-none-eabi, the vsx-mass-1.c test would still
fail, since some of the builtin functions are not treated as builtin (such as
atan2, which is what caused the fault).  Since the MASS library is only
available for powerpc Linux, I have restricted the test to only run on
powerpc*-*-linux*.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/56043] ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c
  2013-01-19  2:35 [Bug target/56043] New: ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c janis at gcc dot gnu.org
  2013-02-07 20:16 ` [Bug target/56043] " meissner at gcc dot gnu.org
  2013-02-07 20:27 ` meissner at gcc dot gnu.org
@ 2013-02-08 19:36 ` meissner at gcc dot gnu.org
  2013-02-08 19:48 ` meissner at gcc dot gnu.org
  2013-02-08 19:50 ` meissner at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2013-02-08 19:36 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56043

--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> 2013-02-08 19:36:12 UTC ---
Author: meissner
Date: Fri Feb  8 19:36:04 2013
New Revision: 195898

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195898
Log:
[gcc]
2013-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

    PR target/56043
    * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
    If there is no implicit builtin declaration, just return NULL.

[gcc/testsuite]
2013-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

    PR target/56043
    * gcc.target/powerpc/vsx-mass-1.c: Only run this test on
    powerpc*-*-linux*.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/rs6000.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/powerpc/vsx-mass-1.c


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/56043] ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c
  2013-01-19  2:35 [Bug target/56043] New: ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c janis at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2013-02-08 19:36 ` meissner at gcc dot gnu.org
@ 2013-02-08 19:48 ` meissner at gcc dot gnu.org
  2013-02-08 19:50 ` meissner at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2013-02-08 19:48 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56043

--- Comment #3 from Michael Meissner <meissner at gcc dot gnu.org> 2013-02-08 19:47:07 UTC ---
Author: meissner
Date: Fri Feb  8 19:46:52 2013
New Revision: 195899

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195899
Log:
[gcc]
2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

    PR target/56043
    * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
    If there is no implicit builtin declaration, just return NULL.

[gcc/testsuite]
2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

    PR target/56043
    * gcc.target/powerpc/vsx-mass-1.c: Only run this test on
    powerpc*-*-linux*.


Modified:
    branches/gcc-4_7-branch/gcc/ChangeLog
    branches/gcc-4_7-branch/gcc/config/rs6000/rs6000.c
    branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_7-branch/gcc/testsuite/gcc.target/powerpc/vsx-mass-1.c


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/56043] ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c
  2013-01-19  2:35 [Bug target/56043] New: ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c janis at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2013-02-08 19:48 ` meissner at gcc dot gnu.org
@ 2013-02-08 19:50 ` meissner at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: meissner at gcc dot gnu.org @ 2013-02-08 19:50 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56043

Michael Meissner <meissner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #4 from Michael Meissner <meissner at gcc dot gnu.org> 2013-02-08 19:50:26 UTC ---
Fixed in the mainline with subversion id 195898.
Fixed in the 4.7 branch with subversion id 195899.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-02-08 19:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-19  2:35 [Bug target/56043] New: ICE in rs6000_builtin_vectorized_libmass for vsx-mass-1.c janis at gcc dot gnu.org
2013-02-07 20:16 ` [Bug target/56043] " meissner at gcc dot gnu.org
2013-02-07 20:27 ` meissner at gcc dot gnu.org
2013-02-08 19:36 ` meissner at gcc dot gnu.org
2013-02-08 19:48 ` meissner at gcc dot gnu.org
2013-02-08 19:50 ` meissner at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).