http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53317
Bug #: 53317 Summary: Conversion from __float128 to __int128 Classification: Unclassified Product: gcc Version: 4.6.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: ahak...@gmail.com Conversion from __float128 to __int128 does not seem correct in gcc 4.6.3 version (gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2)). I am not aware if this has been fixed in the later version. Here are a few examples: Input = 0x00011002000E38000000080000000000 Result = 0x406F1802000E38000000080000000000 Correct result should be: Result = 0x406F1002000E38000000080000000000 Input = 0x000115260000058B00022A4E00000164 Result = 0x406F3F6E000005EF00022A4E00000164 Correct result should be: Result = 0x406F15260000058B00022A4E00000164 Input = 0x00014810000000000000000000033170 Result = 0x406F4810000331700000000000033170 Correct result should be: Result = 0x406F4810000000000000000000033170 Thanks.