#
7eb878b5 |
| 17-Mar-2025 |
Anzo <[email protected]> |
fix(DecodeUnit): add `II exception` to the `TileLink` of the cbo instr (#4430)
Currently, only the CHI version of XS supports the CBO instruction , so we are adding the illegal instruction to the Tl
fix(DecodeUnit): add `II exception` to the `TileLink` of the cbo instr (#4430)
Currently, only the CHI version of XS supports the CBO instruction , so we are adding the illegal instruction to the TlieLink version of XS.
show more ...
|
#
6520f4f4 |
| 22-Jan-2025 |
Tang Haojin <[email protected]> |
feat(Zawrs): support Zawrs extension (#4211)
This commit implements a basic nop-based Zawrs extension.
- `wrs.sto` in this commit acts as a nop instruction. - `wrs.nto` in this commit acts as a nop
feat(Zawrs): support Zawrs extension (#4211)
This commit implements a basic nop-based Zawrs extension.
- `wrs.sto` in this commit acts as a nop instruction. - `wrs.nto` in this commit acts as a nop instruction, except it: - raises illegal instruction exception when !isModeM && mstatus.TW=1, or - raises virtual instruction exception when privState.V && mstatus.TW=0 && hstatus.VTW=1
Seems that completely raises no exception is also a valid implementation, but raises an exception can help OS to do scheduling during waiting.
Also, like WFI, interrupts cannot take on wrs instructions.
show more ...
|
#
f7fe02a8 |
| 30-Dec-2024 |
junxiong-ji <[email protected]> |
style(decode): add comments and small modification on code style (#3774)
|
#
99f369f9 |
| 20-Dec-2024 |
xiaofeibao-xjtu <[email protected]> |
timing(Vector,Decode): judge isComplex by inst encoding directly (#4066)
|
#
1d72fb53 |
| 09-Dec-2024 |
xiaofeibao <[email protected]> |
timing(DecodeUnit): remove fpToVecDecoder
|
#
12861ac7 |
| 21-Nov-2024 |
linzhida <[email protected]> |
feat(Backend): add support for Zacas extension
misc: remove assert temporarily
|
#
9fabe323 |
| 04-Dec-2024 |
Ziyue Zhang <[email protected]> |
area(decode): move vecExceptionGen to complex docoder (#3961)
|
#
72090f4c |
| 28-Nov-2024 |
Ziyue Zhang <[email protected]> |
fix(decode): not eliminate old vd when vstart is not zero (#3948)
* when vstart is not zero, it need to combine the old data in the range
of 0 to vstart, so we need old vd in this case
* different
fix(decode): not eliminate old vd when vstart is not zero (#3948)
* when vstart is not zero, it need to combine the old data in the range
of 0 to vstart, so we need old vd in this case
* different instructions may have same fuoptype, so we need to check
both futype and fuoptype to distinguish the instructions
show more ...
|
#
9c13e962 |
| 07-Nov-2024 |
lin zhida <[email protected]> |
fix(aes): fix exception check for aes64ks1i.
rnum of aes64ks1i must be in the range 0x0..0xA. The values 0xB..0xF are reserved.
|
#
4376b525 |
| 08-Nov-2024 |
Ziyue Zhang <[email protected]> |
busytable: support eliminate old vd when read vl's state
|
#
614d2bc6 |
| 08-Nov-2024 |
HeiHuDie <[email protected]> |
feat(zvfh,zfh): add F16 support
|
#
13168c60 |
| 06-Nov-2024 |
linzhida <[email protected]> |
fix(zfh): flh/fsh should raise illegal exception when fs is off.
|
#
211d620b |
| 31-Oct-2024 |
lewislzh <[email protected]> |
feat(zihintpause): support zihintpause
|
#
2a4ac712 |
| 19-Sep-2024 |
Easton Man <[email protected]> |
feat(decode): no rob compress when is last in ftq
set canRobCompress to false when a instruction is the last one in its Ftq entry.
|
#
00cefdff |
| 04-Oct-2024 |
Xuan Hu <[email protected]> |
fix(vector, decode): use OPFV[VF] encoded in inst to check if need FS not Off (#3696)
* When FS is Off, executing vfslide1up/down should raise illegal instruction exception
|
#
df3b4b92 |
| 20-Sep-2024 |
Anzooooo <[email protected]> |
feat(rv64v): support first only fault instruction
|
#
b0480352 |
| 30-Aug-2024 |
Ziyue Zhang <[email protected]> |
feat(rv64v): support vleff instruction in backend
* use the last uop to update vl * the vleff instructions are run inorder
|
#
e9f7c490 |
| 14-Sep-2024 |
Xuan Hu <[email protected]> |
feat(Zicbom,Zicboz): add permission check and convert CBO.INVAL to CBO.FLUSH when CBIE=0b01 (#3559)
* CSR
* When reset, xenvcfg.CBZE = 1, xenvcfg.CBCFE = 1, xenvcfg.CBIE = 0b11,
while x in {m, s,
feat(Zicbom,Zicboz): add permission check and convert CBO.INVAL to CBO.FLUSH when CBIE=0b01 (#3559)
* CSR
* When reset, xenvcfg.CBZE = 1, xenvcfg.CBCFE = 1, xenvcfg.CBIE = 0b11,
while x in {m, s, h}.
* Support xenvcfg.CBIE = Flush(0b01)
* Decode
* Use the illegalInst and virtualInst conditions from CSR to assert
EX_II or EX_VI.
* Convert CBO.INVAL to CBO.FLUSH when envcfg.CBIE === EnvCBIE.Flush.
show more ...
|
#
ecdd9295 |
| 13-Sep-2024 |
Xuan Hu <[email protected]> |
fix(Svinval): make all insts in Sinval behavior like fence to avoid software wrong usage (#3534)
* Since software cannot promiss all sinval.vma between sfence.w.inval
and sfence.inval.ir, we make s
fix(Svinval): make all insts in Sinval behavior like fence to avoid software wrong usage (#3534)
* Since software cannot promiss all sinval.vma between sfence.w.inval
and sfence.inval.ir, we make sinval.vma always wait forward.
show more ...
|
#
253db1a4 |
| 03-Sep-2024 |
Junxiong Ji <[email protected]> |
Backend: stop block_backward for csrr, in rename stage
|
#
a9becb0d |
| 01-Sep-2024 |
Junxiong Ji <[email protected]> |
accelerate read only csrr by pipelining
|
#
81229133 |
| 05-Sep-2024 |
Ziyue Zhang <[email protected]> |
fix(rv64v): set vwredsum instructions always depend on oldvd (#3495)
* vwredsum's split type is UopSplitType.VEC_VWW
|
#
c2a2229d |
| 05-Sep-2024 |
lewislzh <[email protected]> |
feat(riscv64): support RISC-V Smrnmi extension (#3480)
|
#
20b2b626 |
| 26-Aug-2024 |
sinceforYy <[email protected]> |
feat(riscv64): Support RISC-V Zfa extension
* Support fli.{h.s.d}, fminm.{h.s.d}, fmaxm.{h.s.d} * Support fround.{h.s.d}, froundnx.{h.s.d}, fcvtmod.w.d * Support fleq.{h.s.d}, fltq.{h.s.d}
|
#
499d2763 |
| 31-Aug-2024 |
Ziyue Zhang <[email protected]> |
feat(rv64): add Zimop extension support
* All MOP.R.n and MOP.RR.n only update rd with 0s. This would be changed when any MOP redefined by some other extensions. * Define all MOP.R.n and MOP.RR.n se
feat(rv64): add Zimop extension support
* All MOP.R.n and MOP.RR.n only update rd with 0s. This would be changed when any MOP redefined by some other extensions. * Define all MOP.R.n and MOP.RR.n seperated instruction name for future easier modification, since any one of MOP could be meaningful instruction in the future. * If rd is not 0, mop instructions will convert to a move instruction, which move x0 to rd. * If rd is 0, mop instructions will convert to a addi intruction, whose rs0 is x0 and imm is 0.
show more ...
|