Prise en charge de l'assembleur intégré pour AVX2 et AVX-512
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}}
Sommaire
Nouveaux registres
Registres | dcc32 | dcc64 |
---|---|---|
XMM16 .. XMM31 | ||
YMM0 .. YMM7 | ||
YMM8 .. YMM31 | ||
ZMM0 .. ZMM7 | ||
ZMM8 .. ZMM31 | ||
BND0 .. BND3 | ||
K0 .. K7 |
Nouveaux préfixes d'instruction
Préfixe d'instruction | dcc32 | dcc64 | Syntaxe Intel |
---|---|---|---|
xacquire | |||
xrelease | |||
<evex> | {evex} |
Nouveaux préfixes d'expression
Préfixe | dcc32 | dcc64 |
---|---|---|
oword | ||
yword | ||
zword |
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} |