Subject: port-alpha/18769: IEEE FP rounding bug NetBSD/alpha
To: None <gnats-bugs@gnats.netbsd.org>
From: None <thorpej@shagadelic.org>
List: netbsd-bugs
Date: 10/22/2002 12:17:38
>Number:         18769
>Category:       port-alpha
>Synopsis:       IEEE FP rounding bug NetBSD/alpha
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-alpha-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 22 12:18:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Jason R Thorpe
>Release:        NetBSD 1.6I
>Organization:
Wasabi Systems, Inc.
>Environment:
	
	
System: NetBSD frau-farbissina.shagadelic.org 1.6I NetBSD 1.6I (FRAU-FARBISSINA) #149: Sat Oct 12 12:39:17 PDT 2002     thorpej@frau-farbissina.shagadelic.org:/u2/netbsd/src/sys/arch/alpha/compile/FRAU-FARBISSINA alpha
Architecture: alpha
Machine: alpha
>Description:
	NetBSD/alpha appears to have an IEEE FP rounding bug in the
	kernel FP completion code.  This bug causes failures in the
	GCC 3.3 testsuite.

>How-To-Repeat:
	Compile the following program with "cc -mieee".  The optimization
	level is irrelevant.

double
d (unsigned long long k)
{
  double x;

  x = (double) k;
  return x;
}

int
main (int argc, char *argv[])
{
  unsigned long long k;
  double x;

  k = 0x8693ba6d7d220401ULL;
  x = d (k);
  k = (unsigned long long) x;
  if (k != 0x8693ba6d7d220800ULL)
    abort ();
}

	This code is taken from the relevant GCC testcase.  The
	testcase passes when compiled *without* "cc -mieee".

>Fix:
	Not known at this time.  (More analysis of the problem needs
	to be done.)
>Release-Note:
>Audit-Trail:
>Unformatted: