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.