[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 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 #8 from Ilya Enkovich 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 and the mismatched load/store >

[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 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. That should work. A bet

[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 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 mode for shift count. We

[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 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, shift count > is CL regardl

[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 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 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. > > Now I have code size 419 (g

[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 changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|

[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 changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED

[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 changed: What|Removed |Added Attachment #25083|0 |1 is obsolete|

[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 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 as the first reproducer. Reprodu

[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 changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|

[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 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 changed: What|Removed |Added CC||enkovich.gnu at gmail dot

[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/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 changed: What|Removed |Added CC||enkovich.gnu at gmail dot com

[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 --- 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 update_ssa only in case of missing V

[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 changed: What|Removed |Added CC||enkovich.gnu at gmail dot com

[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 to be

[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 changed: What|Removed |Added CC||enkovich.gnu at gmail dot com

[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 changed: What|Removed |Added CC||enkovich.gnu at gmail dot com

[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 --- 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 on that. > When initializing

[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 --- (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 != INVALID_REGNUM) > 4396fixed_r

[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 --- (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 me to keep this > bug open

[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 --- Created attachment 34569 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34569&action=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 #9 from Ilya Enkovich --- 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 starting index value range. An

[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 --- (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. Thus I disable them only in c

[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 --- 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 and avoid warnings. diff --git a/gcc

[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 changed: What|Removed |Added CC||enkovich.gnu at gmail dot com

[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 changed: What|Removed |Added CC||enkovich.gnu at gmail dot com

[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 --- (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 because of the same symptom.

[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 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 --- 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 attribute. Probably just ignore

[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 --- (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. This test case demonstrates per

[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 --- 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 of Pointer Bounds Checker and Addre

[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] 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/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 --- 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]) (plus:DI (reg:DI 0 ax [o

[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 --- 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 registers are filled with values befo

[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 --- 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 for reproducer: diff --git a/gcc/conf

[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 --- (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, there will be no bnd regs when this

[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 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=33825&action=edit Reproducer There is a segfault in ipa-icf pass. >g++ test.cpp -O2 -c test.cpp:40:1: internal comp

[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 changed: What|Removed |Added CC||enkovich.gnu at gmail dot com

[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 --- 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 SRA we call convert_callers_for_

[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 changed: What|Removed |Added CC||enkovich.gnu at gmail dot com

[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 --- I forgot to mention PR in a ChangeLog. Patch is in trunk: https://gcc.gnu.org/ml/gcc-cvs/2014-11/msg00707.html

[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 --- 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 --- 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 --- Created attachment 34052 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34052&action=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 --- 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 become better. This particul

[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 changed: What|Removed |Added CC||enkovich.gnu at gmail dot com

[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 --- 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 into one of them and the differ

[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 --- Created attachment 34112 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34112&action=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 --- 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.o >1.dump >objdump_pl -d 2

[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 --- 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. -g0 case: :

[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 --- 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 --- (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 streamers were not fixed appro

[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 --- (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 -mmpx > -fcheck-pointer

[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 --- (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 to implement Pointer Bounds Checke

[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 --- (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 on it. It failed on functions > __mulsc

[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 --- (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 > interoperability with C.

[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 --- 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-chkp.c index 0fb78cc..84886da

[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
ormal 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=34189&action=edit Reproducer There is a performance r

[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 --- (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 operator in the attache

[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 --- (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 understand the problem correctly th

[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 --- (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 ("ix86_bnd_prefixed_insn_p (insn)

[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 --- Created attachment 34195 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34195&action=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 --- (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 ADJUST_INSN_LENGTH. You could then keep >

[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 --- For r218506 bootstrap with BOOT_CFLAGS="-O2 -g -fcheck-pointer-bounds -mmpx" on x86_64-unknown-linux-gnu is OK.

[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 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 --- 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 does it affect optimizations?

[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 --- 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 and after the patch) { sum = (

[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=33259&action=edit Reproducer I get ICE when try to compile tests with big am

[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: unassig...@gcc.

[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 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; count > 0; count--, addr++ )

[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 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 += *addr; No multiplication by

[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 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 reproducer: n1 = (n1 + 1) & 1