public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/114290] New: GCC output incorrect output with -O2 @ 2024-03-09 9:52 jlame646 at gmail dot com 2024-03-09 18:34 ` [Bug ipa/114290] " i at rvalue dot moe ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: jlame646 at gmail dot com @ 2024-03-09 9:52 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114290 Bug ID: 114290 Summary: GCC output incorrect output with -O2 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jlame646 at gmail dot com Target Milestone: --- The following program gives wrong output `0` with `-O2` for input `2`. When `f(1,1)` is commented out(or removed) it produces correct output. https://godbolt.org/z/3rxah7Grx ``` #include <cstdio> #include <iostream> struct Node { int x; }; Node f(int A, int B) { if (A < 0) return {0}; return {A / B + (A % B != 0)}; } Node g(int C, int D) { if (C > 0) return {0}; return {C / D + (C % D != 0)}; } int main() { int n; std::cin >> n; f(1, 1); //commenting this line fixes the issue Node t = g(-1, n); std::cout << t.x; } ``` ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ipa/114290] GCC output incorrect output with -O2 2024-03-09 9:52 [Bug c++/114290] New: GCC output incorrect output with -O2 jlame646 at gmail dot com @ 2024-03-09 18:34 ` i at rvalue dot moe 2024-03-09 18:39 ` [Bug ipa/114290] [11/12/13/14 regression] GCC output incorrect output with -O2 since r9-7460-g9f2cfe108f75de sjames at gcc dot gnu.org ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: i at rvalue dot moe @ 2024-03-09 18:34 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114290 rvalue <i at rvalue dot moe> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |i at rvalue dot moe --- Comment #1 from rvalue <i at rvalue dot moe> --- I've done some bisect and found the problematic commit was 9f2cfe108f75de49a331ba27f01d509e2c8c1c70 and the problematic patch was https://gcc.gnu.org/pipermail/gcc-patches/2019-June/524662.html Tested on target x86_64-unknown-linux-gnu ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ipa/114290] [11/12/13/14 regression] GCC output incorrect output with -O2 since r9-7460-g9f2cfe108f75de 2024-03-09 9:52 [Bug c++/114290] New: GCC output incorrect output with -O2 jlame646 at gmail dot com 2024-03-09 18:34 ` [Bug ipa/114290] " i at rvalue dot moe @ 2024-03-09 18:39 ` sjames at gcc dot gnu.org 2024-03-09 18:41 ` sjames at gcc dot gnu.org ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: sjames at gcc dot gnu.org @ 2024-03-09 18:39 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114290 Sam James <sjames at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sjames at gcc dot gnu.org Summary|GCC output incorrect output |[11/12/13/14 regression] |with -O2 |GCC output incorrect output | |with -O2 since | |r9-7460-g9f2cfe108f75de See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=90982 --- Comment #2 from Sam James <sjames at gcc dot gnu.org> --- r9-7460-g9f2cfe108f75de ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ipa/114290] [11/12/13/14 regression] GCC output incorrect output with -O2 since r9-7460-g9f2cfe108f75de 2024-03-09 9:52 [Bug c++/114290] New: GCC output incorrect output with -O2 jlame646 at gmail dot com 2024-03-09 18:34 ` [Bug ipa/114290] " i at rvalue dot moe 2024-03-09 18:39 ` [Bug ipa/114290] [11/12/13/14 regression] GCC output incorrect output with -O2 since r9-7460-g9f2cfe108f75de sjames at gcc dot gnu.org @ 2024-03-09 18:41 ` sjames at gcc dot gnu.org 2024-03-09 20:53 ` pinskia at gcc dot gnu.org 2024-03-09 21:04 ` pinskia at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: sjames at gcc dot gnu.org @ 2024-03-09 18:41 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114290 Sam James <sjames at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org --- Comment #3 from Sam James <sjames at gcc dot gnu.org> --- (In reply to Sam James from comment #2) > r9-7460-g9f2cfe108f75de ... i.e. r10-1350-gbaf8d2ecd702d4. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ipa/114290] [11/12/13/14 regression] GCC output incorrect output with -O2 since r9-7460-g9f2cfe108f75de 2024-03-09 9:52 [Bug c++/114290] New: GCC output incorrect output with -O2 jlame646 at gmail dot com ` (2 preceding siblings ...) 2024-03-09 18:41 ` sjames at gcc dot gnu.org @ 2024-03-09 20:53 ` pinskia at gcc dot gnu.org 2024-03-09 21:04 ` pinskia at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: pinskia at gcc dot gnu.org @ 2024-03-09 20:53 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114290 Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Target Milestone|--- |11.5 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug ipa/114290] [11/12/13/14 regression] GCC output incorrect output with -O2 since r9-7460-g9f2cfe108f75de 2024-03-09 9:52 [Bug c++/114290] New: GCC output incorrect output with -O2 jlame646 at gmail dot com ` (3 preceding siblings ...) 2024-03-09 20:53 ` pinskia at gcc dot gnu.org @ 2024-03-09 21:04 ` pinskia at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: pinskia at gcc dot gnu.org @ 2024-03-09 21:04 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114290 Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|UNCONFIRMED |RESOLVED --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Yes this is a dup of bug 113907. What is happening is fnsplit happens and splits off from both f and g: return {A / B + (A % B != 0)}; and return {C / D + (C % D != 0)}; into a new 2 functions and the range information is still there for A/B (C/D). Which is fine. And then ICF comes along and sees this 2 new functions are the same (which they are) but since the range information is there still from one version of the function (which in this case the bad one), the wrong result happens. This is all described in PR 113907 too. *** This bug has been marked as a duplicate of bug 113907 *** ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-03-09 21:04 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-03-09 9:52 [Bug c++/114290] New: GCC output incorrect output with -O2 jlame646 at gmail dot com 2024-03-09 18:34 ` [Bug ipa/114290] " i at rvalue dot moe 2024-03-09 18:39 ` [Bug ipa/114290] [11/12/13/14 regression] GCC output incorrect output with -O2 since r9-7460-g9f2cfe108f75de sjames at gcc dot gnu.org 2024-03-09 18:41 ` sjames at gcc dot gnu.org 2024-03-09 20:53 ` pinskia at gcc dot gnu.org 2024-03-09 21:04 ` pinskia at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).