http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58429
Bug ID: 58429 Summary: _Decimal64 support is broken on powerpc64 with the mode32 ABI (-m32 -mpowerpc64) Product: gcc Version: 4.7.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: vincent-gcc at vinc17 dot net On gcc110.fsffrance.org: $ cat ./decimal64.c #include <stdio.h> int main(void) { _Decimal64 x = 1; if (x != x) { printf ("Error!\n"); return 1; } else { printf ("OK\n"); return 0; } } $ gcc -Wall -std=gnu99 -m32 -mpowerpc64 decimal64.c -o decimal64 -O $ ./decimal64 OK $ gcc -Wall -std=gnu99 -m32 -mpowerpc64 decimal64.c -o decimal64 $ ./decimal64 Error! (The lack of error with -O is due to obvious optimization; a "volatile" on the variable makes the error appear in every case.) The problem doesn't appear with -m32 alone or -mpowerpc64 alone. Both are needed to make it appear. $ gcc --version gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.