From: Jacob Lifshay Date: Fri, 21 Apr 2023 00:39:34 +0000 (-0700) Subject: fill in instruction forms X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=79c462ecb4835fdd1602ea510608fe9205f75a8c;p=libreriscv.git fill in instruction forms --- diff --git a/openpower/sv/rfc/ls013.mdwn b/openpower/sv/rfc/ls013.mdwn index cfa364a32..6fe1f4042 100644 --- a/openpower/sv/rfc/ls013.mdwn +++ b/openpower/sv/rfc/ls013.mdwn @@ -220,7 +220,7 @@ semantics therefore Saturated variants of these instructions need not be propose | 110 | `minsw RT,RA,RB` | `RT = (int32_t)RA < (int32_t)RB ? RA : RB` | | 111 | `maxsw RT,RA,RB` | `RT = (int32_t)RA > (int32_t)RB ? RA : RB` | -## Integer Min/Max MM-Form +## Minimum/Maximum MM-Form * minmax RT, RA, RB, MMM * minmax. RT, RA, RB, MMM @@ -263,28 +263,42 @@ Special Registers altered: CR0 (if Rc=1) ``` +Assembly Aliases: see +[`MMM` -- Integer Min/Max Mode](#mmm-integer-min-max-mode) + ---------- \newpage{} # Instruction Formats -Add the following entries to Book I 1.6.1.15 X-FORM: +Add the following entries to Book I 1.6.1 Word Instruction Formats: + +## MM-FORM ``` - |0 |6 |11 |16 |21 |26 |31 | - | PO | FRT | FRA | FRB | FMM[0:3] / | XO | Rc | + |0 |6 |11 |16 |21 |24 |25 |31 | + | PO | FRT | FRA | FRB | FMM | XO | Rc | + | PO | RT | RA | RB | MMM | / | XO | Rc | ``` -Add a new field to Book I 1.6.2 Word Instruction Fields: +Add the following new fields to Book I 1.6.2 Word Instruction Fields: ``` FMM (21:24) Field used to specify minimum/maximum mode for fminmax[s]. - Formats: A + Formats: MM + + MMM (21:23) + Field used to specify minimum/maximum mode for integer minmax. + + Formats: MM ``` +Add `MM` to the `Formats:` list for all of `FRT`, `FRA`, `FRB`, `XO (25:30)`, +`Rc`, `RT`, `RA` and `RB`. + ---------- \newpage{} @@ -296,11 +310,11 @@ Add a new field to Book I 1.6.2 Word Instruction Fields: Appendix G Power ISA sorted by Compliancy Subset Appendix H Power ISA sorted by mnemonic -| Form | Book | Page | Version | mnemonic | Description | +| Form | Book | Page | Version | Mnemonic | Description | |------|------|------|---------|----------|-------------| -| A | I | # | 3.2B | fminmax | Floating Minimum/Maximum | -| A | I | # | 3.2B | fminmaxs | Floating Minimum/Maximum Single | -| ??? | I | # | 3.2B | minmax | Minimum/max Signed/Unsigned | +| MM | I | # | 3.2B | fminmax | Floating Minimum/Maximum | +| MM | I | # | 3.2B | fminmaxs | Floating Minimum/Maximum Single | +| MM | I | # | 3.2B | minmax | Minimum/Maximum | ## fmax instruction count