RISC-V
Käskykanta > Käskykannan laajennoksia

Yleisiin ja standardoituihin laajennoksia kuuluu M, joka sisältää kokonaislukujen kerto- ja jakolaskut.
RISC-V:n jakolasku nollalla ei aiheuta poikkeusta, vaan se on tarkistettava jakolaskun jälkeen ehdollisella haarautumisella.
On olemassa myös spesifikaatio pelkälle Zmmul-laajennukselle kertolaskua varten.
Atomisuuden toteuttavat käskyt (laajennus A) ovat tarpeen moniajokäyttöjärjestelmiä ja säikeitä varten. Atominen käsky on "lue, muuta ja kirjoita" -tyyppinen käsky, joita tarvitaan synkronointiin samassa muistiavaruudessa toimivia ohjelmia varten.
RISC-V tuntee useita laajennoksia liukulukumatematiikkaa varten. Peruslaajennus F lisää suorittimeen 32 liukulukurekisteriä f0–f31, joihin mahtuu 32-bittinen IEEE 754-2008 -standardin mukainen liukuluku (float) ja statusrekisterin fcsr. Liukulukujen lataus- ja tallennuskäskyt muistuttavat peruskäskykannan käskyjä ja rekisterissä olevan muistiosoitteen lisäksi latauksen osoitteeseen voidaan lisätä 12-bittinen etumerkillinen immediate-arvo. Operaatiot ovat lisäys, vähennys, kertolasku, jakolasku, neliöjuuri, vertailut ja muunnos kokonaisluvuksi tai kokonaisluvusta. RISC-V mahdollistaa myös liukulukurekisterin siirron kokonaislukurekisteriin.
Laajennus D laajentaa rekisterit 64 bittiä leveiksi kaksoistarkkuuden luvuille (double).
Liukulukurekisteri voidaan siirtää kokonaislukurekisteriin, jos suoritin on 64-bittinen.
RISC-V-standardin marraskuussa 2021 hyväksytty osa The RISC-V Instruction Set Manual Volume II: Privileged Architecture sisältää laajennukset, joita tarvitaan muistinsuojauksen, monen käyttäjän käyttöjärjestelmän ja hypervisorin toteuttamiseen. Tämä määrittelee rajattujen oikeuksien CSR-rekisterit (control and status registers) ja niitä käyttävät käskyt.
Laajennokset I, M, A, F, D, Zicsr ja Zifencei toteuttavaa käskykantaa pidetään yleiskäyttöisenä ja sen tunnetaan myös nimellä G (general).
Pakatut käskyt sisältävä laajennus C vähentää muistikäyttöä lisäämällä lyhyet 16-bittiset käskyt yleisille operaatioille. Yleisesti noin 50-60% konekielikäskyistä voidaan korvata lyhyillä vaihtoehdoilla, mikä vähentää koodin kokoa 25-30%. Kaikki käskyt voivat nyt alkaa 16 bitin rajalta.
“Q” Standard Extension for Quad-Precision Floating-Point  mahdollistaa 128 bittiä leveiden nelinkertaisen tarkkuuden lukujen käsittelyn.
"Zfh" and "Zfhmin" Standard Extensions for Half-Precision Floating-Point sisältää 16 bittiä leveiden liukulukujen käsittelyn.
RISC-V Bit-Manipulation ISA-extensions (Zba, Zbb, Zbc, Zbs) sisältää mm. roll-käskyt ja bittien laskentaa
Lisäys sisältää erilaisia käskyjä, joiden päämäärä on koodin koon pienentäminen, suorituskyvyn parantaminen tai energiatehokkuus. Zba sisältää käskyjä bittien siirtoon (kertomiseen 2,4 tai 8:lla) ja summaukseen samalla käskyllä. Zbb sisältää käskyjä sanan asetettujen bittien laskemiseen, sanan alussa olevien nollabittien laskemiseen., valitse suurempi tai pienempi arvo (MAX, MIN), vaihda sanan tavujärjestys, bittien rotate-operaatio. Käskyt mahdollisestavat esimerkiksi C-kielen merkkijonojen strlen() tai strcmp() -tyylisten operaatioiden optimoinnin. Zbc sisältää käskyt muistinumerottomaan kertolaskuun, jota käytetään eräissä salakirjoitus- ja tarkistussumma-algoritmeissa. Zbs sisältää sanan yksittäisten bittien lukemisen tai asettamisen.
“Zicntr” Standard Extension for Base Counters and Timers sisältää suorituskykylaskureita ja kellonajan
Suunniteltuja laajennoksia ovat mm.
“J” Standard Extension for Dynamically Translated Languages
“P” Standard Extension for Packed-SIMD Instructions
5. RISC-V konferenssi päätti hylätä SIMD-käskyt vektorikäskyjen hyväksi. Löytyi kuitenkin halua määrittää SIMD-käskyt kokonaisluvuille pieniin suorittimiin, mikä on mahdollisesti uusi toteutus.
“V” Standard Extension for Vector Operations
“Zam” Standard Extension for Misaligned Atomics, v0.1
“Zfinx”, “Zdinx”, “Zhinx”, “Zhinxmin”: Standard Extensions for Floating-Point in Integer Registers, Version 1.0.0-rc
Mahdollinen laajennus yksinkertaisen tarkkuuden liukulukujen laskemiseksi ilman liukulukulaajennoksen rekistereitä.