[Bug target/65167] ICE: in assign_by_spills, at lra-assigns.c:1383 (unable to find a register to spill) with -O -fschedule-insns -fcheck-pointer-bounds -mmpx

2015-02-25 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65167 --- Comment #6 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to Uroš Bizjak from comment #5) (In reply to Ilya Enkovich from comment #4) + if (TARGET_MPX BND_REGNO_P (regno)) No need for TARGET_MPX check

[Bug target/65167] ICE: in assign_by_spills, at lra-assigns.c:1383 (unable to find a register to spill) with -O -fschedule-insns -fcheck-pointer-bounds -mmpx

2015-02-24 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65167 --- Comment #1 from Ilya Enkovich enkovich.gnu at gmail dot com --- For call arguments we usually store bounds passed in bounds tables and then fill bounds passed in registers. But with -fschedule-insns we have order changed and all hard

[Bug target/65167] ICE: in assign_by_spills, at lra-assigns.c:1383 (unable to find a register to spill) with -O -fschedule-insns -fcheck-pointer-bounds -mmpx

2015-02-24 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65167 --- Comment #4 from Ilya Enkovich enkovich.gnu at gmail dot com --- ix86_function_arg_regno_p doesn't recognize bnd registers as args. Also avoid_func_arg_motion doesn't work for BNDSTX because it is not a single set. This patch works

[Bug target/65103] New: [i386] GOTOFF relocation is not propagated into address expression

2015-02-18 Thread enkovich.gnu at gmail dot com
Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: enkovich.gnu at gmail dot com In PIC code there are multiple cases when GOTOFF relocation is put into register and then used in address expression instead of using relocation directly

[Bug target/65105] [i386] XMM registers are not used for 64bit computations on 32bit target

2015-02-18 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65105 --- Comment #2 from Ilya Enkovich enkovich.gnu at gmail dot com --- For this test I see 'plus' and 'minus' ops have DI mode until RA and get GPR pairs: (insn 12 35 13 2 (parallel [ (set (reg:DI 0 ax [orig:98 D.1945 ] [98

[Bug target/65105] New: [i386] XMM registers are not used for 64bit computations on 32bit target

2015-02-18 Thread enkovich.gnu at gmail dot com
Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: enkovich.gnu at gmail dot com XMM registers may be used for 64bit operations on 32bit target. It should make code faster and free some GPRs. Here is an example test where GCC

[Bug target/65044] ICE: SIGSEGV in contains_struct_check with -fsanitize=address -fcheck-pointer-bounds

2015-02-13 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65044 --- Comment #1 from Ilya Enkovich enkovich.gnu at gmail dot com --- ICE occurs due to NULL field attached to a constructor element used for initialization of internal asan structure. Overall I don't think we should allow simultaneous usage

[Bug rtl-optimization/64317] [5 Regression] Ineffective allocation of PIC base register

2015-02-13 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64317 --- Comment #11 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to Vladimir Makarov from comment #10) I guess it is easy to check by preventing pic pseudo generation. i386 back-end doesn't support fixed PIC register any more

[Bug tree-optimization/65002] [5 Regression] ICE: Segmentation fault

2015-02-11 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65002 --- Comment #6 from Ilya Enkovich enkovich.gnu at gmail dot com --- Is this actually an ICE on valid code? 'const' attribute seems incorrect here similar to what we had in PR64353. The problem comes from SSA inconsistency caused by the wrong

[Bug rtl-optimization/64317] [5 Regression] Ineffective allocation of PIC base register

2015-02-06 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64317 --- Comment #5 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to Jakub Jelinek from comment #4) Does #c2 fix this, or is #c3 an unrelated bugreport that still needs fixing? Problem is still seen after the fix. I put test here

[Bug rtl-optimization/64960] New: Inefficient address pre-computation in PIC mode

2015-02-06 Thread enkovich.gnu at gmail dot com
: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: enkovich.gnu at gmail dot com After EBX was unfixed in i386 PIC target, we may see addresses of static objects are loaded from GOT and placed to the stack for later usage. It allows to reuse PIC register for other

[Bug rtl-optimization/64317] [5 Regression] Ineffective allocation of PIC base register

2015-02-05 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64317 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added CC

[Bug middle-end/64805] Specific use of __attribute ((always_inline)) breaks MPX functionality with -fcheck-pointer-bounds -mmpx

2015-01-27 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64805 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added CC

[Bug tree-optimization/64277] [4.9/5 Regression] Incorrect warning array subscript is above array bounds

2015-01-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64277 --- Comment #12 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to Richard Biener from comment #10) Ick - that will also paper over good warnings so I'd rather not do that. I'm also worried about possible good warnings removal

[Bug tree-optimization/64277] [4.9/5 Regression] Incorrect warning array subscript is above array bounds

2015-01-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64277 --- Comment #8 from Ilya Enkovich enkovich.gnu at gmail dot com --- Created attachment 34569 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34569action=edit patch to disable warnings for array references generated by cunroll

[Bug tree-optimization/64277] [4.9/5 Regression] Incorrect warning array subscript is above array bounds

2015-01-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64277 --- Comment #13 from Ilya Enkovich enkovich.gnu at gmail dot com --- Ranges have to be used for maxiter computations to have consistent analysis in complete unroll and vrp. Following patch allows to refine maxiter estimation using ranges

[Bug tree-optimization/64277] [4.9/5 Regression] Incorrect warning array subscript is above array bounds

2015-01-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64277 --- Comment #9 from Ilya Enkovich enkovich.gnu at gmail dot com --- Nice solution for this problem would be to have a better estimation of maximum loop iterations number. Currently array size and index step are used to get the maximum ignoring

[Bug jit/64722] On 2nd time libgccjit is run in-process on i686, generated code clobbers %ebx register

2015-01-23 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64722 --- Comment #14 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to David Malcolm from comment #13) Ilya: I can't speak to the correctness of the above code or patch, but r220044 fixes the original issue I ran into. Do you want

[Bug tree-optimization/64277] [4.9/5 Regression] Incorrect warning array subscript is above array bounds

2015-01-22 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64277 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added CC

[Bug jit/64722] On 2nd time libgccjit is run in-process on i686, generated code clobbers %ebx register

2015-01-22 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64722 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added CC

[Bug jit/64722] On 2nd time libgccjit is run in-process on i686, generated code clobbers %ebx register

2015-01-22 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64722 --- Comment #11 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to David Malcolm from comment #10) which led to investigating this code in ix86_conditional_register_usage: 4394 j = PIC_OFFSET_TABLE_REGNUM; 4395 if (j

[Bug jit/64722] On 2nd time libgccjit is run in-process on i686, generated code clobbers %ebx register

2015-01-22 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64722 --- Comment #8 from Ilya Enkovich enkovich.gnu at gmail dot com --- different hooks(In reply to Jakub Jelinek from comment #5) Can you explain it? Usually when this function is called, pic_offset_table_rtx is NULL and your i386.h macro relies

[Bug target/64691] New: Suboptimal register allocation for bytes comparison on i386

2015-01-20 Thread enkovich.gnu at gmail dot com
Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: enkovich.gnu at gmail dot com This problem was actually found in 256.bzip2 benchmark codes compiled by GCC 5.0 on -O2. There is a small loop with bytes comparison which appeared

[Bug target/64363] Unresolved labels with -fcheck-pointer-bounds and -mmpx

2015-01-15 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64363 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added CC

[Bug middle-end/64353] [5 Regression] ICE: in execute_todo, at passes.c:1986

2015-01-14 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64353 --- Comment #7 from Ilya Enkovich enkovich.gnu at gmail dot com --- Right, wrong const attribute causes no VUSE for calls to the function which leads to # VUSE .MEM generated for added loads and requires SSA update. We may actually call

[Bug middle-end/64353] [5 Regression] ICE: in execute_todo, at passes.c:1986

2015-01-12 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64353 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added CC

[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-12-09 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995 --- Comment #12 from Ilya Enkovich enkovich.gnu at gmail dot com --- For r218506 bootstrap with BOOT_CFLAGS=-O2 -g -fcheck-pointer-bounds -mmpx on x86_64-unknown-linux-gnu is OK.

[Bug target/64003] valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md

2014-12-05 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64003 --- Comment #21 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to Jeffrey A. Law from comment #20) Ilya, it's the function call in this code I think: (cond [(eq_attr length_nobnd !0) (plus (symbol_ref

[Bug target/64003] valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md

2014-12-05 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64003 --- Comment #22 from Ilya Enkovich enkovich.gnu at gmail dot com --- Created attachment 34195 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34195action=edit Proposed patch

[Bug target/64003] valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md

2014-12-05 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64003 --- Comment #26 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to rsand...@gcc.gnu.org from comment #25) If all you want to do is add 1 byte to the length to account for a prefix then it might be cleaner to use

[Bug tree-optimization/64183] New: [5.0 Regression] Complete unroll doesn't happen for a while-loop

2014-12-04 Thread enkovich.gnu at gmail dot com
Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: enkovich.gnu at gmail dot com Created attachment 34189 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34189action=edit Reproducer There is a performance regression

[Bug tree-optimization/64183] [5.0 Regression] Complete unroll doesn't happen for a while-loop

2014-12-04 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64183 --- Comment #2 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to Richard Biener from comment #1) It works correctly for int bits; void test () { while (bits (unsigned int)25) bits += 8; } Right. But shift

[Bug target/64003] valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md

2014-12-04 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64003 --- Comment #17 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to Jorn Wolfgang Rennecke from comment #13) AFAICS, the length attribute was broken in r217125 https://gcc.gnu.org/ml/gcc-cvs/2014-11/msg00133.html If I

[Bug target/64055] [5 regression] gnat.dg/derived_aggregate.adb FAILs on 32-bit i386

2014-11-28 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64055 --- Comment #6 from Ilya Enkovich enkovich.gnu at gmail dot com --- TREE_INT_CST_LOW (maxval) assumes integer constant anyway. Therefore we may use simpler check. It fixes gnat.dg/derived_aggregate.adb. diff --git a/gcc/tree-chkp.c b/gcc/tree

[Bug middle-end/63994] Ada bootstrap fails with -fcheck-pointer-bounds -mmpx

2014-11-27 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63994 --- Comment #7 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to rguent...@suse.de from comment #6) I see. I mainly wonder because of LTO which can combine TUs from C and Ada and because for example both Fortran and Ada define

[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-11-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995 --- Comment #8 from Ilya Enkovich enkovich.gnu at gmail dot com --- With both patches applied bootstrap is OK

[Bug lto/64075] [5 Regression] ICE: in bp_pack_value, at data-streamer.h:106

2014-11-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64075 --- Comment #4 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to H.J. Lu from comment #3) It was caused by r217655. The problem was introduced earlier when function_code field in tree_function_decl was extended to 12 bits. LTO

[Bug middle-end/63994] Ada bootstrap fails with -fcheck-pointer-bounds -mmpx

2014-11-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63994 --- Comment #3 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to rguent...@suse.de from comment #2) TARGET_CFLAGS=-O2 -g -mmpx -fcheck-pointer-bounds TARGET_CXXFLAGS=-O2 -g -mmpx -fcheck-pointer-bounds BOOT_CFLAGS=-O2 -g

[Bug middle-end/63994] Ada bootstrap fails with -fcheck-pointer-bounds -mmpx

2014-11-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63994 --- Comment #5 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to rguent...@suse.de from comment #4) Any reason why non-C-family languages cannot use MPX? Richard. There is no fundamental restriction. If someone wants

[Bug lto/64075] [5 Regression] ICE: in bp_pack_value, at data-streamer.h:106

2014-11-26 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64075 --- Comment #7 from Ilya Enkovich enkovich.gnu at gmail dot com --- (In reply to Dmitry Gorbachev from comment #6) The patch works, thanks! But the committed test is incorrect, because the original, unpatched compiler, does not fail

[Bug target/64056] [5 Regression] gcc.target/i386/chkp-strlen-4.c etc. FAIL

2014-11-25 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64056 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added CC

[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-11-25 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995 --- Comment #3 from Ilya Enkovich enkovich.gnu at gmail dot com --- Patch removing duplicating bounds symbols is in review. With this patch applied bootstrap goes till the end but there are lots of stage2 and stage3 comparison error. I looked

[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-11-25 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995 --- Comment #5 from Ilya Enkovich enkovich.gnu at gmail dot com --- Created attachment 34112 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34112action=edit -g0 problem reproducer

[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-11-25 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995 --- Comment #6 from Ilya Enkovich enkovich.gnu at gmail dot com --- For attached -g0 problem reproducer: gcc pr63995-2.c -c -O2 -mmpx -fcheck-pointer-bounds -g -o 1.o gcc pr63995-2.c -c -O2 -mmpx -fcheck-pointer-bounds -g0 -o 2.o objdump_pl -d 1

[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-11-25 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995 --- Comment #7 from Ilya Enkovich enkovich.gnu at gmail dot com --- In chkpopt pass calls to bndmk are moved down to uses to decrease register pressure. Debug info introduces new uses and therefore it affects a position where bndmk calls appear

[Bug other/63992] fcheck-pointer-bounds and friends are undocumented

2014-11-20 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63992 --- Comment #1 from Ilya Enkovich enkovich.gnu at gmail dot com --- It is a part of already approved patch (https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02317.html) which waits for MPX runtime to be approved.

[Bug middle-end/63994] Ada bootstrap fails with -fcheck-pointer-bounds -mmpx

2014-11-20 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63994 --- Comment #1 from Ilya Enkovich enkovich.gnu at gmail dot com --- What does bootstrap with -fcheck-pointer-bounds -mmpx mean? Any instruction on how to reproduce?

[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-11-20 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995 --- Comment #1 from Ilya Enkovich enkovich.gnu at gmail dot com --- Created attachment 34052 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34052action=edit reproducer

[Bug bootstrap/63995] Bootstrap error with -mmpx -fcheck-pointer-bounds

2014-11-20 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995 --- Comment #2 from Ilya Enkovich enkovich.gnu at gmail dot com --- I had a successful bootstrap with instrumentation some time ago but it's not performed regularly. We are extending regression testing for instrumentation now and coverage should

[Bug middle-end/63766] [5 Regression] ICE: in gimple_predict_edge, at predict.c:578

2014-11-18 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63766 --- Comment #5 from Ilya Enkovich enkovich.gnu at gmail dot com --- I forgot to mention PR in a ChangeLog. Patch is in trunk: https://gcc.gnu.org/ml/gcc-cvs/2014-11/msg00707.html

[Bug middle-end/63766] [5 Regression] ICE: in gimple_predict_edge, at predict.c:578

2014-11-07 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63766 --- Comment #2 from Ilya Enkovich enkovich.gnu at gmail dot com --- Problem caused by the fact that now all function come to local optimizations in SSA form. It affects inline parameters computation and therefore inlining order. During early

[Bug middle-end/63766] [5 Regression] ICE: in gimple_predict_edge, at predict.c:578

2014-11-07 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63766 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added CC

[Bug rtl-optimization/63620] RELOAD lost SET_GOT dependency on Darwin

2014-10-29 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63620 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added CC

[Bug ipa/63664] New: ipa-icf pass fails with segfault

2014-10-28 Thread enkovich.gnu at gmail dot com
Assignee: unassigned at gcc dot gnu.org Reporter: enkovich.gnu at gmail dot com Created attachment 33825 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33825action=edit Reproducer There is a segfault in ipa-icf pass. g++ test.cpp -O2 -c test.cpp:40:1: internal compiler error

[Bug lto/63555] New: ICE compiling simple test with SDB debugging info

2014-10-16 Thread enkovich.gnu at gmail dot com
: lto Assignee: unassigned at gcc dot gnu.org Reporter: enkovich.gnu at gmail dot com I see ICE when try to compile a small test with -gcoff. Problem appears when we have structure field and static variable with the same name. Here is a reproducer: typedef struct { int *next

[Bug lto/62034] New: ICE for big statically initialized arrays compiled with LTO

2014-08-06 Thread enkovich.gnu at gmail dot com
Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: enkovich.gnu at gmail dot com Created attachment 33259 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33259action=edit Reproducer I get ICE when try to compile tests with big amount

[Bug middle-end/61734] [4.10 Regression] Regression in ABS_EXPR recognition

2014-07-29 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61734 --- Comment #10 from Ilya Enkovich enkovich.gnu at gmail dot com --- Thanks for the fix! Is there any reason for ABS_EXPR detection for not working on 64bit target for the same test? The only difference should be the long long type size. How

[Bug middle-end/61734] [4.10 Regression] Regression in ABS_EXPR recognition

2014-07-29 Thread enkovich.gnu at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61734 --- Comment #12 from Ilya Enkovich enkovich.gnu at gmail dot com --- Before your last fix both 32bit and 64bit versions of .original look similar except a condition. We have (a - b 0) for 64 bit and (a b) for 32bit. 64bit version (before

[Bug tree-optimization/61734] New: Regression in ABS_EXPR recognition

2014-07-07 Thread enkovich.gnu at gmail dot com
-optimization Assignee: unassigned at gcc dot gnu.org Reporter: enkovich.gnu at gmail dot com Recently a performance regression occurred in tests heavily using ABS computation (observed on x86 and ARM targets). It is caused by missing ABS_EXPR recognition which results in sub-optimal

[Bug tree-optimization/60559] New: g++.dg/vect/pr60023.cc fails with -fno-tree-dce (ICE)

2014-03-18 Thread enkovich.gnu at gmail dot com
Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: enkovich.gnu at gmail dot com Test gcc/testsuite/g++.dg/vect/pr60023.cc -fno-tree-dce fails with ICE if executed with additional -fno-tree-dce flag. As I can see the problem is in generated mask load which

[Bug middle-end/57055] New: Incorrect CFG after transactional memory passes

2013-04-24 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57055 Bug #: 57055 Summary: Incorrect CFG after transactional memory passes Classification: Unclassified Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal

[Bug target/50962] Additional opportunity for AGU stall avoidance optimization for Atom processor

2011-11-02 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962 --- Comment #2 from Ilya Enkovich enkovich.gnu at gmail dot com 2011-11-02 13:05:46 UTC --- Created attachment 25689 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25689 Proposed patch

[Bug target/50962] Additional opportunity for AGU stall avoidance optimization for Atom processor

2011-11-02 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added CC||enkovich.gnu

[Bug target/50164] [IRA, 4.7 Regression] Performance degradation due to increased memory instructions count

2011-10-28 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50164 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added Status|REOPENED|RESOLVED

[Bug target/50164] [IRA, 4.7 Regression] Performance degradation due to increased memory instructions count

2011-08-30 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50164 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added Attachment #25083|0 |1

[Bug target/50164] [IRA, 4.7 Regression] Performance degradation due to increased memory instructions count

2011-08-30 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50164 --- Comment #8 from Ilya Enkovich enkovich.gnu at gmail dot com 2011-08-30 10:50:44 UTC --- I attached a fixed reproducer. It is closer to the original test and has higher registers pressure then the previous version. It has the same problem

[Bug target/50164] [IRA, 4.7 Regression] Performance degradation due to increased memory instructions count

2011-08-29 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50164 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added Status|WAITING |RESOLVED

[Bug target/50164] [IRA, 4.7 Regression] Performance degradation due to increased memory instructions count

2011-08-29 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50164 Ilya Enkovich enkovich.gnu at gmail dot com changed: What|Removed |Added Status|RESOLVED|REOPENED

[Bug target/50164] [IRA, 4.7 Regression] Performance degradation due to increased memory instructions count

2011-08-25 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50164 --- Comment #2 from Ilya Enkovich enkovich.gnu at gmail dot com 2011-08-25 09:31:29 UTC --- (In reply to comment #1) Yesterday I sent a patch http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01954.html which most probably solved the problem

[Bug target/50164] New: [IRA, 4.7 Regression] Performance degradation due to increased memory instructions count

2011-08-23 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50164 Bug #: 50164 Summary: [IRA, 4.7 Regression] Performance degradation due to increased memory instructions count Classification: Unclassified Product: gcc Version: 4.7.0

[Bug rtl-optimization/50088] movzbl is generated instead of movl

2011-08-17 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50088 --- Comment #13 from Ilya Enkovich enkovich.gnu at gmail dot com 2011-08-17 09:07:20 UTC --- (In reply to comment #12) Created attachment 25025 [details] A patch to use the same mode for shift count This is an untested patch to use the same

[Bug rtl-optimization/50088] movzbl is generated instead of movl

2011-08-17 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50088 --- Comment #15 from Ilya Enkovich enkovich.gnu at gmail dot com 2011-08-17 14:16:27 UTC --- (In reply to comment #14) I think this problem is unique to x86 since some instructions have different sizes in register operands. In this example

[Bug rtl-optimization/50088] movzbl is generated instead of movl

2011-08-16 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50088 --- Comment #8 from Ilya Enkovich enkovich.gnu at gmail dot com 2011-08-16 06:55:34 UTC --- (In reply to comment #4) Well, yes, I think the proposal was to spill/load the full SImode instead which would avoid both the partial dependency

[Bug rtl-optimization/50088] movzbl is generated instead of movl

2011-08-16 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50088 --- Comment #9 from Ilya Enkovich enkovich.gnu at gmail dot com 2011-08-16 07:28:33 UTC --- (In reply to comment #5) It is for movqi. We can only safely replace mozbl with movl if the source is 4byte aligned. It should a new backend option

[Bug rtl-optimization/50037] Unroll factor exceeds max trip count

2011-08-15 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50037 --- Comment #8 from Ilya Enkovich enkovich.gnu at gmail dot com 2011-08-15 09:06:18 UTC --- This patch did not work for me. Tried on following loop (-O2 -funroll-loops): for ( count = ((*(hdrptr)) 0x7); count 0; count--, addr++ ) sum

[Bug rtl-optimization/50088] New: movzbl is generated instead of movl

2011-08-15 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50088 Bug #: 50088 Summary: movzbl is generated instead of movl Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3

[Bug rtl-optimization/50088] movzbl is generated instead of movl

2011-08-15 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50088 --- Comment #2 from Ilya Enkovich enkovich.gnu at gmail dot com 2011-08-15 13:24:05 UTC --- Actually we do not need any zero extensions here. Zero extended load appears only after IRA if we have to spill/fill register. Here is c code from

[Bug rtl-optimization/50037] New: Unroll factor exceeds max trip count

2011-08-10 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50037 Bug #: 50037 Summary: Unroll factor exceeds max trip count Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3

[Bug rtl-optimization/50037] Unroll factor exceeds max trip count

2011-08-10 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50037 --- Comment #2 from Ilya Enkovich enkovich.gnu at gmail dot com 2011-08-10 15:33:22 UTC --- I wouldn't blame vectorizer here. Following loop is unrolled with unroll factor 8 even if vectorizer is disabled: for ( count = ((*(hdrptr)) 0x3) * 2

[Bug middle-end/49959] New: ABS pattern is not recognized

2011-08-03 Thread enkovich.gnu at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49959 Summary: ABS pattern is not recognized Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: