From: lkcl Date: Fri, 25 Dec 2020 17:42:52 +0000 (+0000) Subject: (no commit message) X-Git-Tag: convert-csv-opcode-to-binary~896 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=04a9c4a44bc6387fc9c1910ad36f44aac3e4f73f;p=libreriscv.git --- diff --git a/openpower/sv/overview.mdwn b/openpower/sv/overview.mdwn index fe50bc7fa..f6e615367 100644 --- a/openpower/sv/overview.mdwn +++ b/openpower/sv/overview.mdwn @@ -472,3 +472,11 @@ also have post-result analysis applied to them. With Vectors of CRs being utilised *for* predication, possibilities for compact and elegant code begin to emerge from this innocuous-looking addition to SV. +# Exception-based Fail-on-first + +One of the major issues with Vectorised LD/ST operations is when a batch of LDs cross a page-fault boundary. With considerable resources being taken up with in-flight data, a large Vector LD being cancelled or unable to roll back is either a detriment to performance or can cause data corruption. + +What if, then, rather than cancel an entire Vector LD because the last operation would cause a page fault, instead truncate the Vector to the last successful element? + +This is called "fail-on-first". Here is strncpy, illustrated: +