When using persistent memory like Intel optane DCPMM, is it possible to see partial result after reboot if system crash(power outage) in execution of movnt instruction?
For:
- 4 or 8 byte
movntiwhich x86 guarantees atomic for other purposes? - 16-byte SSE
movntdq/movntpswhich aren't guaranteed atomic but which in practice probably are on CPUs supporting persistent memory. - 32-byte AVX
vmovntdq/vmovntps - 64-byte AVX512
vmovntdq/vmovntpsfull-line stores - bonus question:
MOVDIR64Bwhich has guaranteed 64-byte write atomicity, on future CPUs that support it and DC-PM. e.g. Sapphire Rapids Xeon / Tiger Lake / Tremont.
movntpd is assumed to be identical to movntps.
Related questions: