| Nom |
Description |
| weak |
Ce paramètre permet d'indiquer que l'opération de cmpxchg est faible : cela signifie que la valeur initiale peut ne pas correspondre à la condition de comparaison (c'est-à-dire qu'elle n'échoue pas systématiquement). |
| volatile |
Ce paramètre permet d'indiquer que cette opération doit être traitée comme volatile, c'est-à-dire que l'optimisation de compilation ne doit pas affecter son ordre d'exécution (utile dans les systèmes où la valeur peut changer par des moyens extérieurs). |
| pointer |
Ce paramètre permet d'indiquer le pointeur vers l'emplacement mémoire à modifier de manière atomique. |
| cmp |
Ce paramètre permet d'indiquer la valeur de comparaison : l'opération vérifie si la valeur actuelle à l'emplacement mémoire est égale à cette valeur. |
| new |
Ce paramètre permet d'indiquer la nouvelle valeur devant être entreposée si la comparaison réussit (c'est-à-dire que la valeur en mémoire est égale à cmp). |
| target-scope |
Ce paramètre permet de définir un contexte de synchronisation pour l'opération, ce qui permet de spécifier des règles de synchronisation spécifiques (comme une synchronisation sur un processeur ou un espace d'adresse particulier). |
| successordering |
Ce paramètre permet d'indiquer l'ordre de mémoire devant être appliqué en cas de succès de l'opération (par exemple, monotonic, acquire, release,...). |
| failureordering |
Ce paramètre permet d'indiquer l'ordre de mémoire devant être appliqué en cas d'échec de l'opération (similaire à successordering, mais pour le cas où la comparaison échoue). |
Cette instruction permet de modifier la mémoire de manière atomique.