When storing cryptographic keys, crypto code wants to be sure that the compiler will not insert loads or stores that were not present in the source. Moreover, it wants to be able to zero memory and know that no bits from that memory "escape" into registers etc.