Utilizzo il processore Cortex-A8 e non capisco come utilizzare il flag -mfpu
.ARM Cortex-A8: Come utilizzare sia NEON che vfpv3
Sulla Cortex-A8 ci sono entrambi vfpv3 e neon co-processori. In precedenza non ero saper utilizzare al neon così mi è stato solo usando
gcc -marm -mfloat-abi=softfp -mfpu=vfpv3
Ora ho capito come i processori SIMD correre e ho scritto certo codice utilizzando intrinseche al neon. Per utilizzare al neon coprocessore ora la mia bandiera -mfpu deve cambiare per -mfpu=neon
, quindi la mia linea di comando del compilatore simile a questa
gcc -marm -mfloat-abi=softfp -mfpu=neon
Ora, questo significa che il mio vfpv3
non viene utilizzato più? Ho un sacco di codice che non sta facendo uso di NEON, quelle parti non fanno uso di vfpv3
.
Se sono ancora utilizzati sia neon che vfpv3, non ho problemi, ma se viene utilizzato solo uno di essi, come posso utilizzare entrambi?
Igor I ha solo valori di virgola mobile a precisione singola. In effetti vedo molte istruzioni f (fads, fsitos), quindi penso che le istruzioni vfp vengano ancora emesse dal compilatore. – HaggarTheHorrible
Una domanda non correlata, sai cosa significa un processore a doppia emissione? Cortex-A8 è processore dual issue cosa significa? Puoi indicarmi qualche link? La mia ricerca non è stata così produttiva. – HaggarTheHorrible
Vikram, Coretex A8 è un processore fuori produzione doppio. Ciò significa (in modo diverso) che può eseguire alcuni o tutti 1) decodificare e accodare per l'esecuzione fuori ordine due istruzioni per orologio, 2) eseguire due istruzioni di questo tipo per orologio e/o 3) può ritirarne due risultati per orologio. In altre parole, nelle migliori condizioni può eseguire due istruzioni per orologio, sostenute. Le migliori condizioni si verificano solo quando non ci sono errori di cache, previsioni errate dei rami, ecc. –