clang 20.0.0git
Macros | Functions
raointintrin.h File Reference

Go to the source code of this file.

Macros

#define __DEFAULT_FN_ATTRS    __attribute__((__always_inline__, __nodebug__, __target__("raoint")))
 

Functions

static __inline__ void __DEFAULT_FN_ATTRS _aadd_i32 (int *__A, int __B)
 Atomically add a 32-bit value at memory operand __A and a 32-bit __B, and store the result to the same memory location.
 
static __inline__ void __DEFAULT_FN_ATTRS _aand_i32 (int *__A, int __B)
 Atomically and a 32-bit value at memory operand __A and a 32-bit __B, and store the result to the same memory location.
 
static __inline__ void __DEFAULT_FN_ATTRS _aor_i32 (int *__A, int __B)
 Atomically or a 32-bit value at memory operand __A and a 32-bit __B, and store the result to the same memory location.
 
static __inline__ void __DEFAULT_FN_ATTRS _axor_i32 (int *__A, int __B)
 Atomically xor a 32-bit value at memory operand __A and a 32-bit __B, and store the result to the same memory location.
 

Macro Definition Documentation

◆ __DEFAULT_FN_ATTRS

#define __DEFAULT_FN_ATTRS    __attribute__((__always_inline__, __nodebug__, __target__("raoint")))

Definition at line 17 of file raointintrin.h.

Function Documentation

◆ _aadd_i32()

static __inline__ void __DEFAULT_FN_ATTRS _aadd_i32 ( int __A,
int  __B 
)
static

Atomically add a 32-bit value at memory operand __A and a 32-bit __B, and store the result to the same memory location.

This intrinsic should be used for contention or weak ordering. It may result in bad performance for hot data used by single thread only.

This intrinsic corresponds to the AADD instruction.

Parameters
__AA pointer to a 32-bit memory location.
__BA 32-bit integer value.
MEM[__A+31:__A] := MEM[__A+31:__A] + __B[31:0]

Definition at line 38 of file raointintrin.h.

◆ _aand_i32()

static __inline__ void __DEFAULT_FN_ATTRS _aand_i32 ( int __A,
int  __B 
)
static

Atomically and a 32-bit value at memory operand __A and a 32-bit __B, and store the result to the same memory location.

This intrinsic should be used for contention or weak ordering. It may result in bad performance for hot data used by single thread only.

This intrinsic corresponds to the AAND instruction.

Parameters
__AA pointer to a 32-bit memory location.
__BA 32-bit integer value.
MEM[__A+31:__A] := MEM[__A+31:__A] AND __B[31:0]

Definition at line 60 of file raointintrin.h.

◆ _aor_i32()

static __inline__ void __DEFAULT_FN_ATTRS _aor_i32 ( int __A,
int  __B 
)
static

Atomically or a 32-bit value at memory operand __A and a 32-bit __B, and store the result to the same memory location.

This intrinsic should be used for contention or weak ordering. It may result in bad performance for hot data used by single thread only.

This intrinsic corresponds to the AOR instruction.

Parameters
__AA pointer to a 32-bit memory location.
__BA 32-bit integer value.
MEM[__A+31:__A] := MEM[__A+31:__A] OR __B[31:0]

Definition at line 82 of file raointintrin.h.

◆ _axor_i32()

static __inline__ void __DEFAULT_FN_ATTRS _axor_i32 ( int __A,
int  __B 
)
static

Atomically xor a 32-bit value at memory operand __A and a 32-bit __B, and store the result to the same memory location.

This intrinsic should be used for contention or weak ordering. It may result in bad performance for hot data used by single thread only.

This intrinsic corresponds to the AXOR instruction.

Parameters
__AA pointer to a 32-bit memory location.
__BA 32-bit integer value.
MEM[__A+31:__A] := MEM[__A+31:__A] XOR __B[31:0]

Definition at line 104 of file raointintrin.h.