https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63395
Bug ID: 63395 Summary: Cygwin vs Cygwin64 Floating Point Discrepancy Product: gcc Version: 4.8.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: bernardwidynski at gmail dot com Created attachment 33590 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33590&action=edit C source program that prints the floating point output I transitioned from Cygwin to Cygwin64 and noticed that one of my programs produces differing floating point output. I realize that floating point round off can produce differing outputs on different computer platforms, but Cygwin and Cygwin64 are each running on the same computer and the same floating point hardware is used. I noticed that with identical input values, the output values are different. I printed the floating point number in hexadecimal format and the outputs do not match. See the attached flterr.c program. This program computes the square of a floating-point number. The value of x before and after the square is printed. There are two iterations. On the first iteration Cygwin and Cygwin64 produce the same output: 0x3ff441395eb3a15d. But on the second iteration, differing outputs are printed: For Cygwin, the output is 0x400b56a2041cc08e. For Cygwin64, the output is 0x400b56a2041cc08d. See the attached files flterr.out and flterr64.out. Is there some explanation for this? This seems to be an error. I am running Cygwin and Cygwin64 on the same computer. The information from the system display shows the following: HP Pavilion dv5 Notebook PC Windows 7 Home Premium ServicePack 1 AMD Turion(tm) II P540 Dual-Core Processor 2.40 GHz 4.00 GB (3.74 GB usable) 64-bit Operating System The files gcc-v.out and gcc-v64.out show the gcc output when executing the make command. I've also attached cygcheck.out and cygcheck64.out for each installation. I thought perhaps that this may be a hardware error and I tried this same program on another computer which has the the following processor: AMD Phenom(tm) II N620 Dual-Core Processor 2.80 GHz The same error occurred. Apparently Cygwin and Cygwin64 are handling floating point differently and do not produce identical outputs.