Bug 1127840

Summary: dolphin emulator build with march=native fails on gcc 4.9.1 - internal compiler error
Product: [Fedora] Fedora Reporter: sheepdestroyer <sheepdestroyer>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: alexjnewt, jakub, law, sheepdestroyer
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: gcc-4.9.1-9.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-29 16:02:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Preprocessed source none

Description sheepdestroyer 2014-08-07 16:26:30 UTC
build of https://github.com/dolphin-emu/dolphin with standard flags succeeds
build with LTO and -Ofastsucceed too

However on a Sandybridge cpu, attempt to build with march=native fails with :
   internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1449

This error was reported to dolphin team here : https://code.google.com/p/dolphin-emu/issues/detail?id=7552


end of build log :

[ 94%] Building CXX object Source/Core/Core/CMakeFiles/core.dir/HW/WiimoteReal/IODummy.cpp.o
Linking CXX static library libcore.a
[ 94%] Built target core
[ 94%] [ 94%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/ARCodeAddEdit.cpp.o
[ 94%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/AboutDolphin.cpp.o
Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/CheatsWindow.cpp.o
[ 94%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/ConfigMain.cpp.o
[ 94%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/BreakpointDlg.cpp.o
[ 94%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/BreakpointView.cpp.o
[ 95%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/BreakpointWindow.cpp.o
[ 95%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/CodeView.cpp.o
[ 95%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/CodeWindow.cpp.o
[ 95%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/CodeWindowFunctions.cpp.o
[ 95%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/DSPDebugWindow.cpp.o
[ 95%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/DSPRegisterView.cpp.o
[ 95%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/DebuggerPanel.cpp.o
[ 95%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/DebuggerUIUtil.cpp.o
[ 95%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/JitWindow.cpp.o
[ 96%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/MemoryCheckDlg.cpp.o
[ 96%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/MemoryView.cpp.o
[ 96%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/MemoryWindow.cpp.o
[ 96%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/RegisterView.cpp.o
[ 96%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/RegisterWindow.cpp.o
[ 96%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/FifoPlayerDlg.cpp.o
[ 96%] Building CXX object Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Frame.cpp.o
/home/sheepdestroyer/Downloads/dolphin-master/Source/Core/DolphinWX/Debugger/RegisterView.cpp: In member function ‘virtual void CRegisterView::Update()’:
/home/sheepdestroyer/Downloads/dolphin-master/Source/Core/DolphinWX/Debugger/RegisterView.cpp:186:6: internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1449
 void CRegisterView::Update()
      ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccOGSyuS.out file, please attach this to your bugreport.
Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/build.make:468: recipe for target 'Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/RegisterView.cpp.o' failed
make[2]: *** [Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/Debugger/RegisterView.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:882: recipe for target 'Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/all' failed
make[1]: *** [Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
make: *** [all] Error 2

Comment 1 sheepdestroyer 2014-08-07 16:27:56 UTC
Created attachment 924959 [details]
Preprocessed source

Preprocessed source attached to the report

Comment 2 sheepdestroyer 2014-08-09 15:54:09 UTC
this error only happens when building gui, building no-gui with -march=native succeeds. Would like to try with shared wxwidget but I am blocked by bug 1124402 : https://bugzilla.redhat.com/show_bug.cgi?id=1124402

Comment 3 Jeremy Newton 2014-08-09 16:02:14 UTC
Hmm I believe this is not a GCC issue but a dolphin issue.  Contact them as well because they can be helpful as well.

Comment 4 sheepdestroyer 2014-08-09 16:05:19 UTC
did that yesterday, was closed with invalid : https://code.google.com/p/dolphin-emu/issues/detail?id=7552

Comment 5 sheepdestroyer 2014-08-09 16:06:31 UTC
for reference, I am using rawhide's gcc 4.9.1

Comment 6 Jeremy Newton 2014-08-09 16:19:28 UTC
Hmmm I didn't see that internal compiler bug line... That's curious. Hopefully the GCC maintained can help

Comment 7 sheepdestroyer 2014-09-15 15:34:22 UTC
Last update to gcc in rawhide fixed this problem for me