| Opcode | Encoding | 16-bit | 32-bit | 64-bit | CPUID Feature Flag(s) | Description |
|---|---|---|---|---|---|---|
66 0F AE mem/6CLWB m8 | m | Valid | Valid | Valid | clwb | Write back the cache line containing m8 into main memory. The data may remain in the cache line afterwards. |
Encoding
| Encoding | Operand |
|---|---|
m | ModRM.r/m[w] |
Description
The CLWB instruction writes back the cache line (if modified) containing m8 into main memory. The data may remain in the cache line afterwards, but this is not guaranteed.
Operation
public void CLWB(IntPtr addr)
{
CacheLineWriteBack(addr)
}Flags Affected
None.Intrinsics
void _mm_clwb(void const* p)Exceptions
Real-Address Mode
#UD- If the
LOCK- prefix is used.
#SS(0)- If a memory operand using the
SS- segment has an effective address that is outside the
SS- segment's limit.
#GP(0)- If a memory operand (using a segment other than
SS- ) has an effective address that is outside the segment's limit.
Virtual-8086 Mode
#UD- If the
LOCK- prefix is used.
#SS(0)- If a memory operand using the
SS- segment has an effective address that is outside the
SS- segment's limit.
#GP(0)- If a memory operand (using a segment other than
SS- ) has an effective address that is outside the segment's limit.
#PF(fc)- If a page fault occurs.
Protected Mode
#UD- If the
LOCK- prefix is used.
#SS(0)- If a memory operand using the
SS- segment has an effective address that is outside the
SS- segment's limit.
#GP(0)- If the destination is located in a non-writable segment.
- If a memory operand uses a segment containing a
NULLselector. - If a memory operand (using a segment other than
SS) has an effective address that is outside the segment's limit.
#PF(fc)- If a page fault occurs.
Compatibility Mode
#UD- If the
LOCK- prefix is used.
#SS(0)- If a memory operand using the
SS- segment has an effective address that is outside the
SS- segment's limit.
#GP(0)- If the destination is located in a non-writable segment.
- If a memory operand uses a segment containing a
NULLselector. - If a memory operand (using a segment other than
SS) has an effective address that is outside the segment's limit.
#PF(fc)- If a page fault occurs.
Long Mode
#UD- If the
LOCK- prefix is used.
#SS(0)- If a memory operand using the
SSsegment is in non-canonical form. - If a memory operand using the
SSsegment has an effective address that is outside theSSsegment's limit.
#GP(0)- If a memory operand (using a segment other than
SS) is in non-canonical form. - If the destination is located in a non-writable segment.
- If a memory operand uses a segment containing a
NULLselector. - If a memory operand (using a segment other than
SS) has an effective address that is outside the segment's limit.
#PF(fc)- If a page fault occurs.