The C# Specification says that reading and writing is atomic for 32bit types and smaller (as well as for references). So if I have an Int32 field in my class I know that multiple threads can read and write to it and they will be atomic in operation and so the value will always be consistent (although caching issues are a potential problem but that is not the point of this question).
Is this the same on 64bit systems as well? If I compile my app for 64bit does that mean an Int64 is still considered to not be atomic? Or can I now consider an Int64 to be atomic in read/write because it is compiled for and running on a 64bit system?