Intel Intrinsics est en fait une bibliothèque qui facilite l'accès à un certain nombre de jeux d'instructions Intel, tels que SSE (Streaming SIMD Extensions), AVX, etc. - pour les programmeurs C. Le but est de pouvoir utiliser ces jeux d'instructions pour la parallélisation, etc. sans avoir à faire de la programmation assembleur de bas niveau à la main.
La plate-forme ARM possède des jeux d'instructions similaires qui répondent à de nombreux objectifs identiques. Par exemple, NEON est l'alternative ARM à SSE sur Intel. NEON vous donne des instructions SIMD que vous pouvez exploiter pour augmenter la parallélisation.
Et comme pour l'Intrinsèque Intel, vous avez l'Intrinsèque du compilateur ARM, qui sert le même objectif. Vous pouvez inclure "arm_neon.h" dans votre programme C pour pouvoir utiliser les instructions NEON avec une interface C sans avoir à recourir à la programmation assembleur de bas niveau.
Il convient toutefois de noter que les instructions disponibles sur Intel et ARM ne sont pas identiques. Ainsi, comme pour les "programmes ordinaires", vous ne pouvez pas utiliser directement les instructions SIMD pour Intel sur ARM (ou vice versa). En pratique, les programmeurs utilisent souvent des bibliothèques logicielles contenant des opérations de niveau supérieur prêtes à l'emploi, capables de tirer parti des instructions Intel et ARM. Un bon exemple est la bibliothèque de traitement d'images "Simd" ( https://github.com/ermig1979/Simd ) qui propose des opérations de haut niveau ayant des implémentations distinctes et optimisées pour SSE, AVX, VMX, VSX et NEON (c'est-à-dire Intel, PowerPC et ARM).
D'après ce que je peux voir, la croissance des nouvelles fonctions de parallélisation est très élevée sur les plates-formes Intel et ARM - elle est essentielle pour fournir des performances de nouvelle génération à certains utilisateurs. Sur les puces ARM plus récentes, vous avez par exemple accès au jeu d'instructions SVE (Scalable Vector Extensions, qui est essentiellement un jeu d'instructions SIMD encore meilleur pour les processeurs ARM 64 bits). Il n'y a pas d'avantage inhérent aux plates-formes Intel ou ARM en termes de fourniture de nouveaux jeux d'instructions SIMD améliorés pour les programmeurs à l'avenir.
Les processeurs d'Apple (par exemple dans les iPhones et les iPads) utilisent le jeu d'instructions NEON depuis de nombreuses années. Les processeurs A5 et ultérieurs disposent également du jeu d'instructions NEON avancé. Les processeurs A11 plus récents disposent des instructions SVE, et les tout derniers processeurs A12 ajoutent en plus le support SIMD pour les nombres complexes.