Instruction
AOR
Atomically ORs a register into a naturally aligned 32- or 64-bit value in memory without returning anything, as a weakly ordered remote atomic operation.
Forms
| Instruction | Encoding | Requires |
|---|---|---|
AOR m32, r32
AOR_MEM32_GPR32 | F2 0F 38 FC /r | RAO_INT |
AOR m64, r64 64-bit mode only
AOR_MEM64_GPR64 | F2 REX.W 0F 38 FC /r | RAO_INT |
AOR m32, r32
AOR_MEMi32_GPR32i32_APX | EVEX.LLZ.F2.MAP4.W0 FC /r | APX_F + RAO_INT |
AOR m64, r64
AOR_MEMi64_GPR64i64_APX | EVEX.LLZ.F2.MAP4.W1 FC /r | APX_F + RAO_INT |
Intrinsics
The C intrinsics of Clang 23.1.2 that compile to AOR, each with the form it compiles to and the Clang options it needs. The forms come from compiling every intrinsic and decoding the result with Intel XED; all intrinsics A–Z explains the method.
| Intrinsic | Compiles to |
|---|---|
_aor_i32
void _aor_i32(int *__A, int __B) |
|
_aor_i64
void _aor_i64(long long *__A, long long __B) |
|
CPUID and processors
Each form belongs to an XED ISA set. A form can be used when the processor reports every CPUID bit of one of its ISA set's alternatives.
| ISA set | CPUID | Processors in XED |
|---|---|---|
RAO_INT | RAO_INT | None yet: XED lists these instructions only under its placeholder for future processors. |
APX_F_RAO_INT | APX_F + RAO_INT | None yet: XED lists these instructions only under its placeholder for future processors. |
More RAO-INT instructions
More APX instructions
Sources
- Intel XED v2026.08.23 (commit
0bcb6237345c): forms, encodings, ISA sets, CPUID bits and chip model. - Clang's x86 intrinsic headers, LLVM 23.1.2 (commit
85ac56026243): the intrinsics, their signatures and doc comments, and the Clang of that release, which compiled each of them. - Intel Architecture Instruction Set Extensions and Future Features Programming Reference (319433-062, June 2026)
- Intel Advanced Performance Extensions (Intel APX) Architecture Specification, revision 7.0 (July 2025)
The tables are derived from Intel XED, Copyright Intel Corporation, licensed under the Apache License 2.0; x86-64.net converted and reformatted them. The intrinsics and their signatures come from Clang, part of the LLVM Project, licensed under the Apache License 2.0 with LLVM Exceptions. The text is our own.