Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1063999 - internal compiler error: in rs6000_secondary_reload_fail, at config/rs6000/rs6000.c:15222
Summary: internal compiler error: in rs6000_secondary_reload_fail, at config/rs6000/rs...
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: gcc
Version: 7.0
Hardware: ppc64
OS: Linux
Target Milestone: rc
: ---
Assignee: Jakub Jelinek
QA Contact: qe-baseos-tools
Depends On:
TreeView+ depends on / blocked
Reported: 2014-02-11 18:26 UTC by Orion Poplawski
Modified: 2015-07-12 08:56 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-03-31 18:30:01 UTC
Target Upstream Version:

Attachments (Terms of Use)

Description Orion Poplawski 2014-02-11 18:26:05 UTC
Description of problem:

Trying to compile eigen3 for EPEL7/ppc64 I get:

/usr/bin/c++   -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mcpu=power7 -mtune=power7  -fexceptions -pedantic -Wall -Wextra -Wundef -Wcast-align -Wchar-subscripts -Wnon-virtual-dtor -Wunused-local-typedefs -Wpointer-arith -Wwrite-strings -Wformat-security -Wno-psabi -Wno-variadic-macros -Wno-long-long -fno-check-new -fno-common -fstrict-aliasing -ansi  -g2 -g0 -O2  -fno-inline-functions   -Wl,-z,relro  CMakeFiles/product_mmtr_4.dir/product_mmtr.cpp.o  -o product_mmtr_4 -rdynamic 
/usr/bin/c++   -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches  -m64 -mcpu=power7 -mtune=power7  -fexceptions -pedantic -Wall -Wextra -Wundef -Wcast-align -Wchar-subscripts -Wnon-virtual-dtor -Wunused-local-typedefs -Wpointer-arith -Wwrite-strings -Wformat-security -Wno-psabi -Wno-variadic-macros -Wno-long-long -fno-check-new -fno-common -fstrict-aliasing -ansi  -g2 -g0 -O2  -fno-inline-functions   -Wl,-z,relro  CMakeFiles/mapstaticmethods_6.dir/mapstaticmethods.cpp.o  -o mapstaticmethods_6 -rdynamic 
rs6000_secondary_reload_inner:15249, type = load
(parallel [
        (set (reg:V4SI 77 0)
            (reg:V4SI 32 0))
        (clobber (reg:DI 3 3))
/builddir/build/BUILD/eigen-eigen-ffa86ffb5570/test/product_extra.cpp: In function 'void product_extra(const MatrixType&) [with MatrixType = Eigen::Matrix<std::complex<float>, -1, -1>]':
/builddir/build/BUILD/eigen-eigen-ffa86ffb5570/test/product_extra.cpp:101:1: internal compiler error: in rs6000_secondary_reload_fail, at config/rs6000/rs6000.c:15222

Version-Release number of selected component (if applicable):

Comment 1 Orion Poplawski 2014-02-11 18:38:42 UTC
Possibly related?

Comment 3 Jakub Jelinek 2014-03-11 11:07:10 UTC
I suppose -mno-vsx and/or -mno-altivec could work around this.

Comment 4 Orion Poplawski 2014-03-11 18:27:54 UTC
-mno-vsx appears to work, thanks.  Although I suspect that this will make for a significant performance hit on a matrix manipulation library.

Comment 8 Marek Polacek 2014-09-16 11:47:03 UTC
I've just tried this on a ppc64 box, using gcc-4.8.3-6.el7.ppc64.  I removed the -mno-vsx line from the spec file, and eigen3 seems to build fine, including the testsuite.  The .cpp file that we previously ICEd on seems to be compiled correctly now:

/usr/bin/c++   -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mcpu=power7 -mtune=power7  -fexceptions -pedantic -Wall -Wextra -Wundef -Wcast-align -Wchar-subscripts -Wnon-virtual-dtor -Wunused-local-typedefs -Wpointer-arith -Wwrite-strings -Wformat-security -Wno-psabi -Wno-variadic-macros -Wno-long-long -fno-check-new -fno-common -fstrict-aliasing -ansi  -g2 -g0 -O2  -fno-inline-functions   -Wl,-z,relro  CMakeFiles/mapstaticmethods_6.dir/mapstaticmethods.cpp.o  -o mapstaticmethods_6 -rdynamic
make[3]: Leaving directory `/root/rpmbuild/BUILD/eigen-eigen-6b38706d90a9/ppc64-redhat-linux-gnu'
/usr/bin/cmake -E cmake_progress_report /root/rpmbuild/BUILD/eigen-eigen-6b38706d90a9/ppc64-redhat-linux-gnu/CMakeFiles
[ 22%] Built target mapstaticmethods_6

So, can you try to build eigen3 with newer gcc, please?

Comment 9 Orion Poplawski 2014-09-17 03:33:54 UTC
The EPEL builders still have gcc-4.8.2-16.2.el7_0.  Is this an update somewhere?

Comment 10 Marek Polacek 2014-09-18 11:56:49 UTC
You could either build eigen3 locally (in mock) with a new gcc (I hope I could upload the rpms somewhere for you), or just wait until RHEL7.1 is released - then the EPEL builders should be updated, though I'm not sure about EPEL builders at all.

Note You need to log in before you can comment on or make changes to this bug.