[Bug rtl-optimization/10837] noreturn attribute causes no sibling calling optimization

2024-02-11 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10837 gooncreeper changed: What|Removed |Added CC||goon.pri.low at gmail dot com --- Comment

[Bug tree-optimization/112928] New: missed-optimization: automatic storage address comparisons

2023-12-08 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112928 Bug ID: 112928 Summary: missed-optimization: automatic storage address comparisons Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal

[Bug middle-end/112662] missed-optimization: loop increment until wrap

2023-12-30 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112662 --- Comment #2 from gooncreeper --- I believe I got my initial optimized function wrong, it should actually be this unsigned opt(unsigned a) { if (++a > 999) a = 0; return a; } opt: lea eax, [rdi+1] xor edx,

[Bug middle-end/112660] missed-optimization: combine shifts when shifted out bits are known 0

2023-11-24 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112660 --- Comment #1 from gooncreeper --- This could be further extended for signed integers as we can assume for left shifts that shifted out bits are always 0 else UB, and always combine x << a >> b.

[Bug tree-optimization/112687] New: missed-optimization: switch statement does not simplify to it's expression

2023-11-23 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112687 Bug ID: 112687 Summary: missed-optimization: switch statement does not simplify to it's expression Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity:

[Bug middle-end/112685] New: missed-optimization: division / modulo loops

2023-11-23 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112685 Bug ID: 112685 Summary: missed-optimization: division / modulo loops Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component:

[Bug tree-optimization/112645] missed-optimization: cswitch optimization missed in nested if-statement

2023-11-23 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112645 --- Comment #2 from gooncreeper --- I am going to move the second problem to it's own bug since I realize it actually quite a different problem, and deserves it's own thread of discussion.

[Bug middle-end/112685] missed-optimization: division / modulo loops

2023-11-23 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112685 --- Comment #2 from gooncreeper --- (In reply to Andrew Pinski from comment #1) > I thought I had saw this a while back. > > Note the Linux kernel does this kind of loop explicity to avoid the division > though as the cases where it does is

[Bug tree-optimization/112608] New: Missed-optimization: Multiple Division Constants

2023-11-18 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112608 Bug ID: 112608 Summary: Missed-optimization: Multiple Division Constants Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal Priority: P3

[Bug middle-end/112629] New: Missed-optimization: constant << (b + signed_constant)

2023-11-19 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112629 Bug ID: 112629 Summary: Missed-optimization: constant << (b + signed_constant) Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal Priority: P3

[Bug middle-end/112629] Missed-optimization: constant << (b + signed_constant)

2023-11-19 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112629 --- Comment #3 from gooncreeper --- This optimization could also be performed for unsigned integers if we know they won't overflow in the optimization.

[Bug tree-optimization/112645] New: missed-optimization: cswitch optimization missed in nested if-statement

2023-11-20 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112645 Bug ID: 112645 Summary: missed-optimization: cswitch optimization missed in nested if-statement Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity:

[Bug tree-optimization/112657] New: missed optimization: cmove not used with multiple returns

2023-11-21 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112657 Bug ID: 112657 Summary: missed optimization: cmove not used with multiple returns Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal

[Bug tree-optimization/112659] New: missed-optimization: if (exp) return exp; else return 0;

2023-11-21 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112659 Bug ID: 112659 Summary: missed-optimization: if (exp) return exp; else return 0; Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal

[Bug middle-end/112660] New: missed-optimization: combine shifts when shifted out bits are known 0

2023-11-21 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112660 Bug ID: 112660 Summary: missed-optimization: combine shifts when shifted out bits are known 0 Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity:

[Bug tree-optimization/112659] missed-optimization: if (exp) return exp; else return 0;

2023-11-21 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112659 --- Comment #4 from gooncreeper --- (In reply to Andrew Pinski from comment #2) > >Note: this happens for all operators, not just addition! > > Actually it is just addition with a constant on the trunk. > ``` > int g(int v, int b) { > if

[Bug middle-end/112662] New: missed-optimization: loop increment until wrap

2023-11-21 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112662 Bug ID: 112662 Summary: missed-optimization: loop increment until wrap Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal Priority: P3

[Bug middle-end/112663] New: missed-optimization: sum of 1 to n

2023-11-21 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112663 Bug ID: 112663 Summary: missed-optimization: sum of 1 to n Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end

[Bug middle-end/112664] New: missed-optimization: extra comparison when reordering statements

2023-11-21 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112664 Bug ID: 112664 Summary: missed-optimization: extra comparison when reordering statements Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal

[Bug middle-end/112664] missed-optimization: extra comparison when reordering statements

2023-11-21 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112664 --- Comment #2 from gooncreeper --- (In reply to Andrew Pinski from comment #1) > Dup. > > *** This bug has been marked as a duplicate of bug 105496 *** Apologies. Though, how are you so good at finding duplicates? What's the secret?

[Bug middle-end/112664] missed-optimization: extra comparison when reordering statements

2023-11-21 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112664 --- Comment #4 from gooncreeper --- (In reply to Andrew Pinski from comment #1) > Dup. > > *** This bug has been marked as a duplicate of bug 105496 *** Apologies. Though, how are you so good at finding duplicates? What's the secret?(In reply

[Bug tree-optimization/114538] New: constant fold for (v + 1 == 0) == (v + 1 < v) fails when v + 1 is stored in variable

2024-03-31 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114538 Bug ID: 114538 Summary: constant fold for (v + 1 == 0) == (v + 1 < v) fails when v + 1 is stored in variable Product: gcc Version: 14.0 Status: UNCONFIRMED

[Bug middle-end/114547] New: missed-optimization: use sign flag

2024-04-01 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114547 Bug ID: 114547 Summary: missed-optimization: use sign flag Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end

[Bug middle-end/114547] comparison than less than 0 (or greater or equal to than 0) after a subtraction does not use the flags regster

2024-04-01 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114547 --- Comment #2 from gooncreeper --- (In reply to Andrew Pinski from comment #1) > I am not sure this is always better ... sets and setns are 1 uop, just like any other setcc why wouldn't it be better?

[Bug rtl-optimization/114524] New: Use less expensive expression when expressions are equal

2024-03-28 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114524 Bug ID: 114524 Summary: Use less expensive expression when expressions are equal Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal

[Bug middle-end/114669] New: use >= comparison when testing high bits

2024-04-09 Thread goon.pri.low at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114669 Bug ID: 114669 Summary: use >= comparison when testing high bits Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: