:lle LLVM 15:llä haaroittunut ja pää on nyt avoinna LLVM 16:lle, yksi tämän seuraavan kääntäjän julkaisujakson varhaisista muutoksista on skaalautuvan vektoroinnin mahdollistaminen oletusarvoisesti RISC-V:lle tuetuilla kohteilla RISC-V-vektorikäskyille.
LLVM-kehittäjä Philip Reames on ottanut oletuksena käyttöön skaalautuvan vektoroinnin tuetuille RISC-V-kohteille, joissa on Zve-tai V-laajennukset. Hän selitti muutoksen kanssa:
Tämä muutos mahdollistaa vektoroinnin (käyttämällä vain skaalautuvaa vektorointia, kiinteät vektorit eivät ole vielä käytössä) RISCV:lle, kun vektoriohjeet ovat saatavilla kohdekonfiguraatiolle.
Tässä vaiheessa tuloksena saadun kokoonpanon pitäisi olla sekä vakaa (esim. ei kaatumisia) että kannattava (eli muutama tapaus, jossa skalaarisilmukat päihittävät vektorin), mutta sitä ei tule olemaan erityisen hyvin viritetty (eli lähetämme parasta mahdollista). vektorisilmukka). Tämän muutoksen tavoitteena on kohdistaa testaus organisaatioiden välillä ja varmistaa, että oletuskokoonpano vastaa mahdollisimman tarkasti loppupään käyttämiä asetuksia.
Tämä paljastaa suuren määrän koodia, joka ei muuten ole ollut oletusarvoisesti käytössä, ja siksi sitä ei ehkä ole käytetty kokonaan. Ottaen huomioon, että ongelmien putoaminen ei ole odottamatonta. Jos huomaat ongelmia, muista sisällyttää mahdollisimman paljon tietoja, kun palautat tämän muutoksen.
Kaksi päivää on kulunut, eikä toistaiseksi ole palautunut, joten toivottavasti näyttää hyvältä. Lisätietoja kiinnostuneille osoitteessa reviews.llvm.org. Koska tämä muutos on LLVM 16-kehityssyklin alussa, on vielä runsaasti aikaa parantaa kääntäjän RISC-V-vektorisointitukea ennen vakaata julkaisua vasta maaliskuun tienoilla.
RISC-V”V”on täydellinen vektorimatematiikan laajennus tälle rojaltivapaalle CPU-arkkitehtuurille, kun taas Zve on sen”vaatimaton”osajoukko, joka on tarkoitettu sulautettujen laitteiden ja mikro-ohjainten pienempiin ytimiin. RISC-V:n Vector Extension 1.0 on ollut jäädytettynä viime vuodesta ja sitä pidettiin riittävän vakaana ohjelmistotyön aloittamiseksi. RISC-V V 1.0-spesifikaatiot kiinnostuneille löytyvät GitHubista.