This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug other/63395] New: Cygwin vs Cygwin64 Floating Point Discrepancy


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]