[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 22:26:53 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=313
--- Comment #15 from Michael Nolan <mtnolan2640 at gmail.com> ---
(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. And bclr doesn't
need to read TAR, so multiplexing TAR/LR on the same port would be possible.
> so the above table should guide the numbering. LR - that's not an SPR,
> is it?
It is, it's SPR #8
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
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-riscv-dev
mailing list