public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/108447] New: [13 Regression] glibc math/test-*-iseqsig failures
@ 2023-01-18 17:37 jakub at gcc dot gnu.org
  2023-01-18 17:37 ` [Bug tree-optimization/108447] " jakub at gcc dot gnu.org
                   ` (27 more replies)
  0 siblings, 28 replies; 29+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-01-18 17:37 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 108447
           Summary: [13 Regression] glibc math/test-*-iseqsig failures
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: missed-optimization, wrong-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
                CC: aldyh at gcc dot gnu.org, amacleod at redhat dot com,
                    bergner at gcc dot gnu.org, danglin at gcc dot gnu.org,
                    fw at gcc dot gnu.org, jsm28 at gcc dot gnu.org,
                    rguenth at gcc dot gnu.org, romain.geissler at amadeus dot com,
                    seurer at gcc dot gnu.org, unassigned at gcc dot gnu.org,
                    xry111 at gcc dot gnu.org
        Depends on: 107608
  Target Milestone: ---

+++ This bug was initially created as a clone of Bug #107608 +++

From https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107608#c32 :

FYI, most likely it's totally unrelated to this bug, for right now with latest
gcc trunk and glibc trunk on x86-64, I still see the following iseqsig errors:

FAIL: math/test-double-iseqsig
FAIL: math/test-float-iseqsig
FAIL: math/test-float128-iseqsig
FAIL: math/test-float32-iseqsig
FAIL: math/test-float32x-iseqsig
FAIL: math/test-float64-iseqsig
FAIL: math/test-float64x-iseqsig
FAIL: math/test-ldouble-iseqsig

I think this can be reduced to e.g.
__attribute__((noipa)) int
foo (float x, float y)
{
  _Bool cmp1 = x <= y;
  _Bool cmp2 = x >= y;
  if (cmp1 && cmp2)
    return 1;
  else if (!cmp1 && !cmp2)
    return -1;
  return 0;
}

int
main ()
{
  if (foo (0.0f, __builtin_nanf ("")) != -1)
    __builtin_abort ();
  if (foo (__builtin_nanf (""), -42.0f) != -1)
    __builtin_abort ();
  if (foo (0.0f, -0.0f) != 1)
    __builtin_abort ();
  if (foo (42.0f, 42.0f) != 1)
    __builtin_abort ();
  if (foo (42.0f, -0.0f) != 0)
    __builtin_abort ();
  if (foo (0.0f, -42.0f) != 0)
    __builtin_abort ();
  return 0;
}
and is fairly different from the PR106805 bug, which is about iseqsig too, but
in that case the ranges of the operands are singletons and there are issues not
just on the trunk, but also on GCC 12 etc. (though more on the trunk).

In the above short testcase, it works fine in GCC 12 and only fails on the
trunk.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107608
[Bug 107608] [13 Regression] Failure on fold-overflow-1.c and pr95115.c

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

end of thread, other threads:[~2023-01-27 14:41 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-18 17:37 [Bug tree-optimization/108447] New: [13 Regression] glibc math/test-*-iseqsig failures jakub at gcc dot gnu.org
2023-01-18 17:37 ` [Bug tree-optimization/108447] " jakub at gcc dot gnu.org
2023-01-18 17:54 ` jakub at gcc dot gnu.org
2023-01-18 18:04 ` jakub at gcc dot gnu.org
2023-01-18 18:54 ` amacleod at redhat dot com
2023-01-18 19:48 ` jakub at gcc dot gnu.org
2023-01-18 20:19 ` jakub at gcc dot gnu.org
2023-01-18 22:21 ` amacleod at redhat dot com
2023-01-18 22:26 ` amacleod at redhat dot com
2023-01-19 10:02 ` aldyh at gcc dot gnu.org
2023-01-19 10:05 ` aldyh at gcc dot gnu.org
2023-01-19 10:16 ` jakub at gcc dot gnu.org
2023-01-19 10:17 ` aldyh at gcc dot gnu.org
2023-01-19 10:29 ` jakub at gcc dot gnu.org
2023-01-19 10:43 ` rguenther at suse dot de
2023-01-19 11:39 ` aldyh at gcc dot gnu.org
2023-01-19 16:05 ` jakub at gcc dot gnu.org
2023-01-19 16:32 ` jakub at gcc dot gnu.org
2023-01-19 20:00 ` amacleod at redhat dot com
2023-01-19 20:14 ` amacleod at redhat dot com
2023-01-19 21:28 ` amacleod at redhat dot com
2023-01-19 22:27 ` cvs-commit at gcc dot gnu.org
2023-01-20 15:24 ` jakub at gcc dot gnu.org
2023-01-20 15:36 ` amacleod at redhat dot com
2023-01-20 16:07 ` amacleod at redhat dot com
2023-01-20 16:59 ` jakub at gcc dot gnu.org
2023-01-23 17:26 ` amacleod at redhat dot com
2023-01-27 14:38 ` cvs-commit at gcc dot gnu.org
2023-01-27 14:41 ` amacleod at redhat dot com

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).