From dbf103b64580f781bcf0ef5191e7de522c1156d3 Mon Sep 17 00:00:00 2001 From: lkcl Date: Wed, 16 Dec 2020 13:31:00 +0000 Subject: [PATCH] --- openpower/sv/svp_rewrite/svp64.mdwn | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/openpower/sv/svp_rewrite/svp64.mdwn b/openpower/sv/svp_rewrite/svp64.mdwn index 82d87d36a..f36d6fb4c 100644 --- a/openpower/sv/svp_rewrite/svp64.mdwn +++ b/openpower/sv/svp_rewrite/svp64.mdwn @@ -122,16 +122,20 @@ alternative: ## ELWIDTH Encoding -| Op Kind | ELWIDTH Value | Mnemonic | Description | -|---------|---------------|---------------------------|-------------------------------------------------------------------------------------| -| Integer | 00 | `ELWIDTH=b` | Byte: 8-bit integer | -| Integer | 01 | `ELWIDTH=h` | Halfword: 16-bit integer | -| Integer | 10 | `ELWIDTH=w` | Word: 32-bit integer | -| Integer | 11 | `ELWIDTH=d` | Doubleword: 64-bit integer | -| FP | 00 | `ELWIDTH=bf16` (Reserved) | Reserved for [`bf16`](https://en.wikipedia.org/wiki/Bfloat16_floating-point_format) | -| FP | 01 | `ELWIDTH=f16` | 16-bit IEEE 754 Half floating-point | -| FP | 10 | `ELWIDTH=f32` | 32-bit IEEE 754 Single floating-point | -| FP | 11 | `ELWIDTH=f64` | 64-bit IEEE 754 Double floating-point | +Default behaviour is set to 0b00 so that zeros follow the convention of "npt doing anything". In this case it means that elwidth overrides are not applicable. Thus if a 32 bit instruction operates on 32 bit, `elwidth=0b00` specifies that this behaviour is unmodified. Likewise when a processor is switched from 64 bit to 32 bit mode, `elwidth=0b00` states that, again, the behaviour is not to be modified. + +Only when elwidth is nonzero is the element width overridden to the explicitly required value. + +| Op Kind | Value | Mnemonic | Description | +|---------|-------|---------------------------|-------------------------------------------------------------------------------------| +| Integer | 00 | DEFAULT | default behaviour for operation | +| Integer | 01 | `ELWIDTH=b` | Byte: 8-bit integer | +| Integer | 10 | `ELWIDTH=h` | Halfword: 16-bit integer | +| Integer | 11 | `ELWIDTH=w` | Word: 32-bit integer | +| FP | 00 | DEFAULT | default behaviour | +| FP | 01 | `ELWIDTH=bf16` (rsvd) | Reserved for [`bf16`](https://en.wikipedia.org/wiki/Bfloat16_floating-point_format) | +| FP | 10 | `ELWIDTH=f16` | 16-bit IEEE 754 Half floating-point | +| FP | 11 | `ELWIDTH=f32` | 32-bit IEEE 754 Single floating-point | ## SUBVL Encoding -- 2.30.2