[Libre-soc-bugs] [Bug 324] create POWER9 DIV pipeline
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Fri Jun 19 14:52:01 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=324
--- Comment #15 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #14)
> (In reply to Luke Kenneth Casson Leighton from comment #12)
> > If an attempt is made to perform any of the divisions
> > <anything> % 0 0x8000_0000_0000_0000 % -1
>
> Those are just the conditions where the corresponding div* instruction would
> overflow.
ok.
> >
> > that's likely going to have to be special-cased as well, or at least tested
> > and we work out what is supposed to be put into RT.
>
> already done:
> https://salsa.debian.org/Kazan-team/power-instruction-analyzer/-/blob/
> 13dae100c6bc5685059195010ceb46ae68b9f306/src/instr_models.rs#L195
brilliant.
> > interestingly these
> > do *not* result in overflow flags being set.
>
> To clarify my previous statement, the OV, OV32, and SO flags are only set
> when the div*o variant of the instructions is selected but that doesn't
> exist for the mod* instructions, that's because div* is XO-form and mod* is
> X-form. I'm assuming ALUOutputStage will handle that wrinkle, though didn't
> yet check.
yes it does. microwatt's source (now in the CSV files) sets on a per-op basis
whether followup OV/OV32/SO shall be actioned. the Simulator ISACaller uses
the *exact* same PowerDecoder2 to determine this exact same information.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list