Quindi, l'RPi ha il supporto float?
Sì, in particolare (sul Pi originale) VFPv2.
Se è così, è più veloce quel galleggiante morbido?
sì
Ci sono alcuni articoli in giro che dicono che è meglio usare algoritmi soft float su dispositivi ARM, perché pochissimi chip ARM hanno coprocessori float.
Nel 2007 il floating point on arm era un casino, molti chip non avevano affatto una FPU. Quelli che avevano spesso ne avevano uno tra diversi e incompatibili. Il peggio Debian arm (una delle maggiori distribuzioni linux di arm al momento) fu per ragioni storiche costruito per una FPU chiamata FPA che pochissimi chip avevano e si basava principalmente sull'emulazione del kernel per il virgola mobile (il virgola mobile del software è lento, il virgola mobile emulato dal kernel è più lento). Penso che la situazione in altre distro fosse simile ma non sono positivo su questo.
Dato il disastro al momento, fu fatta la descrizione che l'opzione migliore era quella di fare una porta EABI usando la versione basale (soft-float) di EABI. Questa ABI è stata progettata in modo tale che il codice possa utilizzare l'ABI di base mentre opzionalmente utilizza la FPU. L'idea all'epoca era che il nucleo della distro sarebbe stato costruito usando il software in virgola mobile e quindi il codice specifico che utilizzava in modo massiccio il virgola mobile poteva essere costruito con hardware virgola mobile ma utilizzando comunque la linea di base (soft float) ABI. Questa porta era conosciuta nel mondo Debian come "armel".
Tuttavia, il bit "pacchetti specifici creati utilizzando l'hardware in virgola mobile" non ha funzionato. In pratica pochi pacchetti si sono preoccupati di fare una cosa del genere e c'era anche il sovraccarico di mescolare i valori tra registri interi e in virgola mobile.
Passiamo rapidamente al 2011 e la situazione era notevolmente cambiata. Arm aveva spinto in modo aggressivo VFP e la stragrande maggioranza dei "processori di applicazioni" (il genere di cose che trovi nei telefoni cellulari e simliar) l'aveva adottato. Un certo numero di distro Linux importanti (almeno Debian, Ubuntu e Fedora inizialmente, più tardi) hanno scelto di fare le porte usando l'hardware in virgola mobile e l'ABI del float. Sfortunatamente per il Pi queste distro (che stavano raggiungendo la compilazione nel momento in cui il Pi fu rilasciato) generalmente stabilirono i loro requisiti hardware minimi come ARMv7 con VFPv3_d16 in modo che non funzionassero sul Pi.
Quindi i fan di Pi hanno iniziato a lavorare su varianti di distro specifiche per pi che utilizzavano l'hardware in virgola mobile e l'ABI del float ma erano costruite con impostazioni del compilatore che sarebbero state eseguite sul pi.