The VM uses supports_cx8 (named from the x86 cmpxchg8 operation that allows 64-bit CAS on 32-bit systems) as a proxy for "supports atomic 64-bit operations on Java longs". In addition to being used for compare-and-set operations on Java longs, it is also used within unsafe.cpp to control atomic load/store of Java longs.
The recent fix of 7009756 correctly implemented the atomic load/store aspects of this for the case where supports_cx8 is true and it was proposed to change the test from supports_cx8 to a more specific supports_atomic_<type>_ops, as it was pointed out that platforms can support 64-bit load/store even if they don't support 64-bit CAS. However due to timing constraints with the HS20 schedule it was not feasible to make that change at that time.
This CR now proposes to clean up the current code by defining the necessary supports_atomic_XXX_ops and in the process remove the CPU-based ifdefs that were put in.