Considerando che sto codifica in C++, se possibile, vorrei utilizzare una soluzione Intrinsics simile per leggere informazioni utili circa l'hardware, le mie preoccupazioni/considerazioni sono:Intrinsics per informazioni come CPUID?
- non so assemblaggio beh, sarà un investimento considerevole solo per ottenere questo tipo di informazioni (nonostante sembri CPU si tratta solo di lanciare valori e leggere registri.)
- c'è almeno 2 sintassi popolare per asm (Intel e AT & T) , quindi è frammentato
- stranamente abbastanza Intrinsics sono più popolari e supportati del codice asm in questi giorni
- non tutti i compilatori che sono nel mio radar adesso supportano in linea asm, MSVC 64 bit è uno; Ho paura di trovare altri difetti simili mentre sto scavando di più nei set di funzionalità dei diversi compilatori che devo usare.
- considerando il trand penso che sia più produttivo per me scommettere su Intrinsics, dovrebbe essere anche molto più semplice di qualsiasi codice asm.
E l'ultima domanda a cui devo rispondere è: come fare una cosa simile con gli intrinsechi? Perché non ho trovato niente di diverso dagli opcode CPUID per ottenere questo tipo di informazioni.
Clang ha un assemblatore integrato, e il suo sostegno per il montaggio stile Intel è imprevedibile a volte. Non può generare un semplice 'negate (neg)' in stile Intel. – jww