From: lkcl Date: Wed, 16 Dec 2020 01:45:37 +0000 (+0000) Subject: (no commit message) X-Git-Tag: convert-csv-opcode-to-binary~1305^2 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=66d7dd7083027fc4c7273ef1f953a0fdfdf861c0;p=libreriscv.git --- diff --git a/openpower/sv/svp_rewrite/svp64.mdwn b/openpower/sv/svp_rewrite/svp64.mdwn index dd44f4c9c..a278c1ad2 100644 --- a/openpower/sv/svp_rewrite/svp64.mdwn +++ b/openpower/sv/svp_rewrite/svp64.mdwn @@ -116,12 +116,11 @@ CR based predication. TODO: select alternate CR for twin predication? see [[dis This is a novel concept that allows predication to be applied to a single source and a single dest register. The following types of traditional Vector operations may be encoded with it, *without requiring explicit opcodes to do so* -* VSPLAT -* VEXTRACT -* VINSERT -* VREDUCE -* VEXPAND -* VCOMPRESS +* VSPLAT (a single scalar distributed across a vector) +* VEXTRACT (a single scalar taken from a vector) +* VINSERT (a scalar inserted into a vector) +* VREDUCE (sequential selection of certain elements) +* VEXPAND (insertion of a sequence of elements) Those patterns (and more) may be applied to: @@ -134,6 +133,8 @@ Those patterns (and more) may be applied to: This is a huge list that creates extremely powerful combinations, particularly given that one of the predicate options is `(1<_` where `` is a decimal integer and `` is a binary integer. Two integers are used to enable future register expansions to add more registers by appending more LSB bits to ``.