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

            Bug ID: 104771
           Summary: '-fcompare-debug' failure w/ -mno-vsx -O1
                    -frename-registers
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: compare-debug-failure
          Severity: normal
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-e300c3-linux-gnu

Created attachment 52556
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52556&action=edit
gdk diff

g++ 12.0.1 20220227 snapshot (g:d1574a9b820f17adb9004255e2018967e9be063b) fails
-fcompare-debug check when compiling the following testcase w/ -mno-vsx -O1
-frename-registers:

int n;

void
quux ();

template <typename>
void
bar (long double y)
{
  for (int i = 0; i < n; ++i)
    {
      double uninit, a;

      for (int j = 0; j < n; ++j)
        {
        }

      a = uninit / y + n;
      if (a != 0.0)
        quux ();
    }
}

void
foo (long double x)
{
  bar<short int> (x);
  bar<int> (x);
}

% powerpc-e300c3-linux-gnu-g++-12.0.1 -mno-vsx -O1 -fcompare-debug
-frename-registers -c vrsxlrxu.cpp
powerpc-e300c3-linux-gnu-g++-12.0.1: error: vrsxlrxu.cpp: '-fcompare-debug'
failure

-fno-rename-registers or -mvsx "fixes" it.

gdk diff attached.

Reply via email to