From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55548) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X3IUF-000594-I2 for qemu-devel@nongnu.org; Sat, 05 Jul 2014 01:26:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X3IUE-000708-Nn for qemu-devel@nongnu.org; Sat, 05 Jul 2014 01:26:11 -0400 Received: from zeniv.linux.org.uk ([2002:c35c:fd02::1]:60146) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X3IUE-000704-Gb for qemu-devel@nongnu.org; Sat, 05 Jul 2014 01:26:10 -0400 Date: Sat, 5 Jul 2014 06:26:07 +0100 From: Al Viro Message-ID: <20140705052607.GW18016@ZenIV.linux.org.uk> References: <20140702040508.GK18016@ZenIV.linux.org.uk> <53B41E36.30906@twiddle.net> <20140702152027.GN18016@ZenIV.linux.org.uk> <20140703065104.GP18016@ZenIV.linux.org.uk> <20140703182501.GQ18016@ZenIV.linux.org.uk> <53B5BAC7.1010603@twiddle.net> <20140704005024.GT18016@ZenIV.linux.org.uk> <53B62DCD.6030201@twiddle.net> <20140704072937.GU18016@ZenIV.linux.org.uk> <20140705014055.GV18016@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140705014055.GV18016@ZenIV.linux.org.uk> Sender: Al Viro Subject: Re: [Qemu-devel] [RFC] alpha qemu arithmetic exceptions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: Peter Maydell , QEMU Developers On Sat, Jul 05, 2014 at 02:40:55AM +0100, Al Viro wrote: > d) at least on EV6 and EV67 DNOD *still* trips INV. According to the > manual suppression of INV by DNOD is optional. And while their text > might be interpreted as "INV is suppressed if operation with denorm > wouldn't result in something unpleasant" (which would apply to > sqrt(DBL_MIN/2)), the same behaviour happens on DBL_MIN/2 + DBL_MIN/2, > where the result is a good finite value, so it really looks like DNOD > doesn't suppress INV at all on these processors. > > Does anybody have 21364 to run some tests on? In fact, DNOD is simply not implemented on those guys - if you try to set it, the bit still reads zero. Worse, according to Compiler Writer's Guide for the 21264/21364, "Alpha architecture FPCR bit 47 (DNOD) is not implemented by the 21264 or 21364". In other words, it looks like FPCR.DNOD is something from (never-produced) 21464.