Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* Mark Zihintntl as ratified
* Mark Zicond as ratified
* Mark Zfa as ratified
* Mark Zvbc as ratified
* Mark Zbkb ratified
* Mark xperm4/8 of Zbkx as ratified
* Update Zbkb - remove Zbe
|
|
|
|
|
|
Continuation of f0c6e9575f640e31a591b03f6bced408e9e08bac
|
|
Continuation of e07ce62356e1f9a4497ec004fda5e6d5aadfcd48
|
|
These do not have a path to ratification.
I left the ones that are generic versions of ratified instructions
(e.g. orc.b is a special case of gorci).
|
|
See https://github.com/riscv-software-src/riscv-isa-sim/pull/1660 for explanation
|
|
It is highly speculative at this point, but it adds maintenance burden.
|
|
Zbt (cmov) conflicts with ratified Zicond (czero.eqz)
Zbm will conflict with soon-to-be-frozen Zpa
|
|
* move opcode of zvbb
* move all zvk* out
|
|
|
|
add `_n0' on `rd` for `c.li`, `c.mv`, `c.add`, and `c.lqsp`.
Signed-off-by: Hiroo HAYASHI <24754036+hirooih@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
store-releasee
|
|
confusion hopefully
|
|
the load-acquire byte (so `lb.aq` and `lb.aqrl`), I'm not sure that will work but it passes the tests here.
|
|
* add mop.r.N and mop.rr.N pseudo-inst
* add c.mop.N pseudo-inst
* add arg_lut entries and emitted pseudoops for Zimop/Zcmop
* add pseudoinsts for Zimop
* add pseudoinsts for Zcmop
* update zcmop mnemonics
* update zcmop mnemonics
|
|
|
|
C.ADDIW cannot have an rd of 0
|
|
The code point of rd=0 in C.ADDIW is restricted.
Fix formatting while in these files.
Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add encodings for all instructions in the Zvk extensions:
- Zvbb, Vector Bit-manipulation instructions used in Cryptography,
- Zvbc, Vector Carryless Multiplication
- Zvkg, Vector GCM/GMAC instruction for Cryptography,
- Zvkned, NIST Suite: Vector AES Encryption & Decryption (Single
Round),
- Zvknha, Zvknhb, NIST Suite: Vector SHA-2,
- Zvksed, ShangMi Suite: SM4 Block Cipher Instructions
- Zvkssh, ShangMi Suite: SM3 Hash Function Instructions
Add two "shorthand" extensions:
- Zvkn: NIST Suite, imports Zvbb, Zvbc, Zvkned, and Zvknh
- Zvks: ShangMi Suite, imports Zvbb, Zvbc, Zvksed, and Zvksh
Three new fields are listed in constants.py:
- 'zimm5', used to encode round constants (Zvkns, Zvksed, Zvksh),
and 5-bit shift constant (vwsll.vi in Zvbb)
- 'zimm6hi, zimm6lo', used to encode the 6 bits rotate amount
in vror.vi.
The Zvk instructions – with the exception of Zvbb, Zvbc – reside in the
P opcode space. Some encodings conflict with proposed instructions
in the P extension (packed SIMD). Zvk and P are exclusive of each
other, no implementation will implement both. Conflicting P instructions
are marked as pseudo of the Zvk instructions.
The encodings match the current documentation of the specification
at <https://github.com/riscv/riscv-crypto/tree/master/doc/vector>,
at Version v0.9.1, 25 April, 2023 (Freeze Candidate).
Co-authored-by: Eric Gouriou <ego@rivosinc.com>
Co-authored-by: Stanislaw Kardach <kda@semihalf.com>
Co-authored-by: Kornel Duleba <mindal@semihalf.com>
Co-authored-by: Raghav Gupta <rgupta@rivosinc.com>
Signed-off-by: Eric Gouriou <ego@rivosinc.com>
|
|
|
|
Zfa adds 'missing' floating-point functionality:
- fli.[hsdq]: floating-point load-immediate
- fminm/fmaxm.[hsdq]: IEEE 754-2019 minimum and maximum
- fround(nx)?.[hsdq]: IEEE 754-2019 roundToIntegral(Exact)?
- fcvtmod.w.d: ECMAScript modular float->integer conversion
- move instructions for XLEN < FLEN
- comparisons that support quiet NaN inputs
This adds a surprisingly large number of files, as the instructions
added with Zfa depend on context (e.g., .h-variants become available
only if Zfh is present).
|
|
Forgot to add this as part of #168.
|
|
GREV instruction no longer exist in the zbpbo specified by [v0.9.11 spec](https://github.com/riscv/riscv-p-spec/blob/master/P-ext-proposal.adoc#51-zbpbo)
|
|
* Move Zawrs to ratified folder
* Move Zawrs to ratified folder
|
|
This reverts commit 24cba79065aa975ad91e92c5d59f2e1dafa5ab26.
|
|
This reverts commit 3485bbcda5509615e4d18708722d67871efb7eaf.
|
|
This reverts commit 6b5a0648ab6b99507aef3c902afbcd3cd9d90353.
|
|
This reverts commit 9b0eddd52b9e3c1fbd1dab56ecbaa88747254a2a.
|
|
This reverts commit 2cf6da8f9a370ee5c0012d4ae4f403c3d920d1e8.
|
|
This reverts commit 115e4237407e8c02b945dfb12c086ee57200dd55.
|
|
|
|
Adding RV128 shift opcodes changed what metadata we emit for SLLI, SRLI,
and SRAI. Thus, downstream tooling that relies on these to connote the
RV64 variants of these instructions is semantically affected.
Fix by reverting SLLI etc. to being the RV64 variants.
|
|
This will reduce the chance that people pick the wrong shamt width.
|
|
|
|
pack instruction should be imported from zbe -- instead of zbp.
Signed-off-by: Babu P S <11073327+eflaner@users.noreply.github.com>
|
|
Removing import of csrrs and crrci as the instruction's pseudo opcode for is already included.
Signed-off-by: Babu P S <11073327+eflaner@users.noreply.github.com>
|
|
* Correction of riscv-p-spec opcodes
- Reorganized 'p' into sub-extensions zpn, zpfs & zbpbo
- Some instructions such as insb, smmul has been rearranged according XLEN.
* removed rv_m in rv32_zbpbp + newline additions
Co-authored-by: Babu P S <babu.ps@incoresemi.com>
|