On 10/4/22 18:38, Ravi Pokala wrote:
-----Original Message-----
From: <owner-src-committ...@freebsd.org> on behalf of Hans Petter Selasky
<hsela...@freebsd.org>
Date: 2022-10-04, Tuesday at 04:53
To: <src-committ...@freebsd.org>, <dev-commits-src-...@freebsd.org>,
<dev-commits-src-main@FreeBSD.org>
Subject: git: 1024bb26337b - main - qdivrem: Predict division by zero as false.
The branch main has been updated by hselasky:
URL:
https://cgit.FreeBSD.org/src/commit/?id=1024bb26337bdc6679af477977247e9155d502bc
commit 1024bb26337bdc6679af477977247e9155d502bc
Author: Hans Petter Selasky <hsela...@freebsd.org>
AuthorDate: 2022-10-04 10:28:25 +0000
Commit: Hans Petter Selasky <hsela...@freebsd.org>
CommitDate: 2022-10-04 11:51:06 +0000
qdivrem: Predict division by zero as false.
Division by zero triggers an arithmetic exception and should not be
very
common. Predict this.
Looking at this change with a little more context, I see that (static volatile
const unsigned int) 'zero' is set to 0... and then used as the denominator for
division. Since these are all integers, I would expect that to cause a fatal
divide-by-zero exception. And yet, there's more code after that divide-by-zero.
What am I missing?
Hi,
I know some rare CPU's continue executing after division by zero, but
the ones the FreeBSD support doesn't. Maybe it's something we've
inherited. I have no good explanation for that extra code.
--HPS