This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What is difference between DCCIMVAC and DCIMVAC?

The DCIMVAC represents a cache invalidate work. But one specific remark is that it will clean the data if the data is dirty before invalidation. Refer to followings

/******************************************************/

6.2.4 Data cache maintenance considerations

DCIMVAC operations in AArch32 and DC IVAC instructions in AArch64 perform an invalidate of the target address. If the data is dirty within the cluster then a clean is performed before the invalidate.

/******************************************************/

And DCCIMVAC also cleans the data and invalidate the data. Of course, clean works is only effected in case of data dirty.

Then, DCIMVAC and DCCIMVAC operation seems same regardless data is dirty or not.

Is there any big difference or a specific usage case for DCIMVAC or DCCIMVAC?