[Libre-soc-dev] bug in microwatt stfsu and stfdu

Luke Kenneth Casson Leighton lkcl at lkcl.net
Thu May 20 02:07:32 BST 2021

On Thursday, May 20, 2021, Paul Mackerras <paulus at ozlabs.org> wrote:

> Arguably the spec could/should have something like this in the RTL:
>         if RA = 0 then
>                 invalid_form()
>         else
>                 ... (existing RTL)
>         endif


a case could be made for:
         if RA = 0 then
         ... (existing RTL)

on the basis that the function would return if the trap decided to allow
the existing RTL to proceed.

i woild advocate that this is incorect, that your pseudocode is correct, on
the basis that it is the *trap* that must take responsibility for full
compliant (emulated) implementation of the instruction.

just like in lib/powerpc/sstep.c


crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68

More information about the Libre-soc-dev mailing list