Prise en charge de l'assembleur intégré pour AVX2 et AVX-512

De RAD Studio
Aller à : navigation, rechercher

Remonter à Compilateur Delphi


Les modules de l'assembleur intégré (CHASM et CHASM64) liés dans le compilateur Delphi Olympus pour Win32 et Win64 prennent en charge les instructions AVX2 et AVX-512.

Attention: Pour tester cette fonctionnalité, vous devez disposer d'un processeur compatible AVX-512 (comme celui des processeurs INTEL récents). Pour plus d'informations, rendez-vous sur :

https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX-512}}

Nouveaux registres

Registres dcc32 dcc64
XMM16 .. XMM31
Checkmark.svg
YMM0 .. YMM7
Checkmark.svg
Checkmark.svg
YMM8 .. YMM31
Checkmark.svg
ZMM0 .. ZMM7
Checkmark.svg
Checkmark.svg
ZMM8 .. ZMM31
Checkmark.svg
BND0 .. BND3
Checkmark.svg
Checkmark.svg
K0 .. K7
Checkmark.svg
Checkmark.svg


Nouveaux préfixes d'instruction

Préfixe d'instruction dcc32 dcc64 Syntaxe Intel
xacquire
Checkmark.svg
Checkmark.svg
xrelease
Checkmark.svg
Checkmark.svg
<evex>
Checkmark.svg
Checkmark.svg
{evex}


Nouveaux préfixes d'expression

Préfixe dcc32 dcc64
oword
Checkmark.svg
Checkmark.svg
yword
Checkmark.svg
Checkmark.svg
zword
Checkmark.svg
Checkmark.svg


Différence entre la syntaxe Delphi et la syntaxe Intel

La syntaxe Intel AVX-512 utilise des accolades { } qui sont déjà utilisées pour les commentaires begin/end dans Delphi.

Cette implémentation utilise donc des caractères inférieur à et supérieur à < > à la place.

Catégorie Syntaxe Delphi Syntaxe Intel
Registre Opmask <k1> ,, <k7> {k1} .. {k7}
Modificateur de mise à zéro <z> {z}
Broadcast incorporé <1to2> <1to4> <1to8> <1to16> {1to2} {1to4} {1to8} {1to16}
Mode d'arrondi statique <sae> <rn-sae> <rd-sae> <ru-sae> <rz-sae> {sae} {rn-sae} {rd-sae} {ru-sae} {rz-sae}
Forcer le préfixe d'encodage EVEX <evex> {evex}


Voir aussi