still fails on 403 et al. regrename.c: In function 'regrename_optimize': regrename.c:200:1: internal compiler error: Segmentation fault regrename_optimize () ^ 0x96698f crash_signal ../../gcc/toplev.c:335 0x9a2657 ssa_default_def(function*, tree_node*) ../../gcc/tree-dfa.c:310 0x9a2c68 get_or_create_ssa_default_def(function*, tree_node*) ../../gcc/tree-dfa.c:362 0x9d0773 get_reaching_def ../../gcc/tree-into-ssa.c:1188 0x9d0773 get_reaching_def ../../gcc/tree-into-ssa.c:1175 0x9d24f8 rewrite_update_phi_arguments ../../gcc/tree-into-ssa.c:2017 0x9d24f8 rewrite_update_dom_walker::before_dom_children(basic_block_def*) ../../gcc/tree-into-ssa.c:2133 0x9d24f8 rewrite_update_dom_walker::before_dom_children(basic_block_def*) ../../gcc/tree-into-ssa.c:2069 0xddcbea dom_walker::walk(basic_block_def*) ../../gcc/domwalk.c:176 0x9ceba2 rewrite_blocks ../../gcc/tree-into-ssa.c:2188 0x9d604e update_ssa(unsigned int) ../../gcc/tree-into-ssa.c:3311 0x9b729f version_loop_for_if_conversion ../../gcc/tree-if-conv.c:1962 0x9bad10 tree_if_conversion ../../gcc/tree-if-conv.c:2042 0x9bad10 main_tree_if_conversion ../../gcc/tree-if-conv.c:2097 0x9bad10 execute ../../gcc/tree-if-conv.c:2147 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. specmake: *** [regrename.o] Error 1
On Tue, Oct 22, 2013 at 6:08 PM, Sergey Ostanevich <sergos....@gmail.com> wrote: > I use > -march=core-avx2 -static -Ofast -flto -funroll-loops > with all 3 patches applied to git version I mentioned > > the same is in progress for 'take 3' > > On Tue, Oct 22, 2013 at 5:26 PM, Jakub Jelinek <ja...@redhat.com> wrote: >> On Tue, Oct 22, 2013 at 05:16:29PM +0400, Sergey Ostanevich wrote: >>> ouch.. html got me! >>> >>> applying to the same as before >>> >>> commit 0e3dfadd374c3045a926afa6d06af276cee2108d >>> Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> >>> Date: Fri Oct 18 08:36:28 2013 +0000 >>> >>> trying '06 build. >>> >>> >>> for take 2 on HSW there were mixed results for passed tests: >>> >>> 400.perlbench +0.25% >>> 401.bzip2 -0.40% >>> 429.mcf -1.67% >>> 456.hmmer +0% >>> 458.sjeng -1.65% >>> 471.omnetpp -1.72% >>> 483.xalancbmk -0.25% >>> 410.bwaves +0% >>> 433.milc -0.28% >>> 444.namd -1.13% >>> 450.soplex -1.01% >>> 459.GemsFDTD -0.25% >>> 470.lbm +1.44% >>> 482.sphinx3 +0.61% >> >> Thanks. >> >> If this is with AVX or AVX2, there can be multiple things. >> >> One is whether if-conversion in it's current form is really so harmful >> for generated code quality (we have various testcases where what we get with >> it is very bad, but perhaps there are still testcases where it improves >> non-vectorized loops), another one is when the masked loads/stores/gather is >> actually beneficial and whether we don't want some better tuning for it. >> The patchset as whole does both things, so determining what is what is hard. >> >> If only the first two patches are applied and not the third, then it should >> give a picture on whether it is a win to have if-conversion done in it's >> current form only for vectorized bbs. >> >> And, if all 3 patches are applied, but the condition in tree_if_conversion: >> if ((flag_tree_loop_vectorize || loop->force_vect) >> && (flag_tree_loop_if_convert == -1 || any_mask_load_store) >> && !version_loop_for_if_conversion (loop, &version_outer_loop, >> any_mask_load_store)) >> goto cleanup; >> is changed into just >> if (any_mask_load_store >> && !version_loop_for_if_conversion (loop, &version_outer_loop, true)) >> goto cleanup; >> then if-conversion would happen as before, just in cases where previously >> we wouldn't if-convert because of conditional loads/stores, but now we >> could, those changes would be limited to vectorized loops only. >> >> Jakub