What sort of benefits have you seen from something like this in real software? I tried some techniques like this before, but in the end they didn't have much of an impact.
My use case was also preventing garbage processes from thrashing the cache, so the process using nontemporal stores was not the important process. A proof-of-concept merging of the two showed the same benefits from nontemporal stores, and the same principle applies anyways.