[Libre-soc-isa] [Bug 1056] questions and feedback (v2) on OPF RFC ls010

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Thu Jun 1 00:58:04 BST 2023


https://bugs.libre-soc.org/show_bug.cgi?id=1056

--- Comment #42 from Paul Mackerras <paulus at ozlabs.org> ---
(In reply to Luke Kenneth Casson Leighton from comment #40)

> but - and this is the key - i still *do not* consider "Saturation"
> to be an ACTUAL modification of the INSTRUCTION.  the Pseudocode
> does NOT change.

I disagree. A saturating addition is not the same as a normal addition. If you
don't change the RTL then it would no longer accurately describe the operation
being performed, since the meaning of "+" is defined in section 1.3.4 to be
two's complement addition. You either need to replace the "+" in the RTL with
some notation for a saturating addition, or you need to add a statement that
calls some kind of saturate() function on the result before writing it to the
destination GPR.

Look at the RTL for vaddsbs, for instance. It does si8_CLAMP(src1 + src2). (The
saturation functions are called xxx_CLAMP() in the vector chapter.)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Libre-SOC-ISA mailing list