public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/105621] New: [13 Regression] Wrong code with -O3
@ 2022-05-16 19:03 vsevolod.livinskiy at gmail dot com
  2022-05-17  6:58 ` [Bug tree-optimization/105621] " rguenth at gcc dot gnu.org
  2022-05-17 10:50 ` marxin at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: vsevolod.livinskiy at gmail dot com @ 2022-05-16 19:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105621

            Bug ID: 105621
           Summary: [13 Regression] Wrong code with -O3
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vsevolod.livinskiy at gmail dot com
  Target Milestone: ---

Link to the Compiler Explorer: https://godbolt.org/z/jscK4bTP6

Reproducer:
#include <stdio.h>

unsigned short a = (unsigned short)31272;
int b = -1902905271;
unsigned int c = 1618489477U;
bool d = (bool)0;

void test(unsigned short a, int b, unsigned c) __attribute__((noipa));
void test(unsigned short a, int b, unsigned c) {
  for (int i = 2; i < 24; i += 3)
    d = b ? a ? c : 2086607777901731118 : 0; 
}

int main() {
    test(a, b, c);
    printf("%d\n", (int)d);
    if (d != 1)
      __builtin_abort();
}

Error:
>$ g++ -O2 driver.cpp && ./a.out 
1
>$ g++ -O3 driver.cpp && ./a.out 
0
Aborted (core dumped)

GCC version 13.0.0 20220516 (69c4b5c519f0df37e4903992644cc29682721bc1)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-05-17 10:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-16 19:03 [Bug tree-optimization/105621] New: [13 Regression] Wrong code with -O3 vsevolod.livinskiy at gmail dot com
2022-05-17  6:58 ` [Bug tree-optimization/105621] " rguenth at gcc dot gnu.org
2022-05-17 10:50 ` marxin 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).