Support f16 on targets where GCC doesn't support it
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
La issue non indica file né test; inizia individuando la gestione esistente di f16 nel backend di generazione del codice Rust GCC e gli entry point per ABI, conversioni, aritmetica, cast e matematica. Usa i simboli helper elencati e la pull request rust-lang/rust 150946 come contesto, e considera il lavoro completato quando tutti e sei i casi funzionano su target in cui GCC non dispone del supporto nativo per f16.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
@tgross35 mentioned we could support it the following way:
1. Treat it as a u16 in ABI (calling convention, alignment, etc)
2. To extend: call `__extendhfsf2` for f16->f32, `__extendhfdf2` for f16->f64
3. To trunc: call `__truncsfhf2` for f32->f16, `__truncdfhf2` for f64->f16
4. For arithmetic: extend to `f32`, perform the op, truncate back to `f16`
5. For casts to/from int: go via f32
6. For math ops: if I get https://github.com/rust-lang/rust/pull/150946 over the line then this won't be needed in most cases, but anything else can go via f32
- Lingua principale
- Rust
- Stelle
- 1.2k
- Fork
- 105
- Merge medio
- 6h 23m
- PR unite (30g)
- 19
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rust-lang/rustc_codegen_gcc
-
Re-enable -fno-lto testApertatests
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
rust-lang/rustc_codegen_gcc#993 ·
I maintainer di solito rispondono entro 1 giorno
-
tests
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
rust-lang/rustc_codegen_gcc#992 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
rust-lang/rustc_codegen_gcc#970 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Support `#[no_builtin]`Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
rust-lang/rustc_codegen_gcc#943 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 3/5 1-2 giorni Idoneità per principianti 64/100
rust-lang/rustc_codegen_gcc#930 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di rust-lang/rustc_codegen_gcc
Issue simili
-
area::tern-sync kind::cleanup triage::ready
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
review-bot
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
midagedev/bloomery#160 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
oxidecomputer/humility#737 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno