Per le opzioni GCC CFLAGS
: -msse
, -msse2
, -mssse3
, -msse4
, -msse4.1
, -msse4.2
. Sono esclusivi nel loro uso o possono essere usati insieme?Qual è la differrence tra cflgs SSE opzioni di -msse, -msse2, -mssse3, -msse4 RTC ..? e come determinare?
La mia comprensione è che la scelta di quale impostare dipende dal fatto che l'arco di destinazione, che il programma verrà eseguito su, supporta o no, è corretto?
Se sì, come potrei sapere che cosa sse miei plantari target? In Linux, ho cat/proc/cpuinfo, ma cosa succede se mac o Windows?
Grazie!
Le istruzioni SSE sono state migliorate/modificate su varie generazioni di CPU. la compilazione per un target 4.2 preclude l'utilizzo del codice generato su generazioni precedenti. –
grazie per la 1a risposta. quindi cosa dovrei scegliere? solo l'ultimo (è -msse4.2)? – yaya
A meno che non si disponga di un requisito SIMD specifico, compilare semplicemente il minimo comune denominatore, ad esempio omettere le opzioni -msse. –