[libre-riscv-dev] [Bug 313] Create Branch Pipeline for POWER9
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Fri May 15 23:23:53 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=313
--- Comment #17 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Michael Nolan from comment #15)
> (In reply to Luke Kenneth Casson Leighton from comment #14)
> > waaaa...
> >
> > insn CR SPR1 SPR2 SPR3
> > ---- -- ---- ---- ----
> > op_b xx LR xx xx
> > op_ba xx LR xx xx
> > op_bl xx LR xx xx
> > op_bla xx LR xx xx
> > op_bc CR, LR, CTR xx
> > op_bca CR, LR, CTR xx
> > op_bcl CR, LR, CTR xx
> > op_bcla CR, LR, CTR xx
> > op_bclr CR, LR, CTR xx
> > op_bclrl CR, LR, CTR xx
> > op_bcctr CR, LR, CTR xx
> > op_bcctrl CR, LR, CTR xx
> > op_bctar CR, LR, CTR, TAR
> > op_bctarl CR, LR, CTR, TAR
> >
> > op_sc xx xx xx MSR
> > op_scv xx LR, SRR1, MSR
> > op_rfscv xx LR, CTR, MSR
> > op_rfid xx SRR0, SRR1, MSR
> > op_hrfid xx HSRR0, HSRR1, MSR
> >
> > and if we did TRAP in the Branch pipeline as well, that would be
> > *six* incoming 64-bit register latch paths. nooo, i don't think so :)
>
>
> That table is a bit large, at least for the branch instructions. None of the
> branches except for bclr(l) need to read LR, only write to it.
err... nuts. the parser is bringing lr in as an input, when it should not.
that's another bug. let me update the table...
> And bclr
> doesn't need to read TAR, so multiplexing TAR/LR on the same port would be
> possible.
yep. good catch.
> > so the above table should guide the numbering. LR - that's not an SPR,
> > is it?
> It is, it's SPR #8
okaaay good.
> what are the opcodes starting with op_sc? I don't see any of them in the
> power_enums list, nor do I see corresponding opcodes in the power ISA
> specification
(i saw you found them, later comment - decoder/isa/system.py)
sooo, iiinteresting: OP_TRAP needs up to 3 SPRs, but OP_B* does not.
that is almost worthwhile considering having OP_TRAP and OP_B* in the
same pipeline... mm... 5 64-bit datapaths... yyeah no :)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-riscv-dev
mailing list