Assolutamente. Ho ragionato a bocce ferme e ho pensato che non è una cosa gravissima per alcune ragioni:
- Intel si è già scottata una volta con le furbate nel compilatore, non so se abbia voglia di riprovarci.
Mah! Secondo me intel è legalmente autorizzata a fare quello che gli pare, alla fin fine basta questo disclaimer per ribaltare tutta la responsabilità sullo sviluppatore che sceglie icc al posto di un altro compilatore:
tratto da wikipedia -
Intel C++ Compiler
:
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Se le ottimizzazioni superiori a sse vengono ignorate con cpu non-intel, è per questioni di cautela.
Il tuo processore non-intel supporta ssse3, avx, fma? Ooops, potrebbero non venir utilizzate...
- Visti i nuovi ryzen non so quanto quelli di rosetta vogliano abbandonare gli amd.
Penso non se ne curino minimamente: il codice compilato con icc girerà su AMD. Forse più lentamente di quanto potrebbe andare, ma girerà.
Fin'ora si sono preoccupati di sfruttare al 100% le cpu intel? No.
E allora finché AMD non avrà l'80% del mercato possono tranquillamente ignorarla.
- Non so come funzione l'icc su piattaforme android, che quelli di rosy stanno spingendo.
Penso che icc venga usato perloppiù in settori ad alte prestazioni. Per le cose normali, Visual C++ o gcc sono più affidabili.
E di ARM ad alte prestazioni non se ne trovano molti in giro, quindi: anche se icc compila su ARM, non credo sia particolarmente veloce e/o affidabile. IMO.
Aspetta che esca l'applicazione con icc, poi ne riparliamo.
Magari metti in preallarme "quel" Daniel per patchare il binario.