Performing an atomic load or store of a 64-bit value, using an address outside the default address space, triggers an assertion failure on ARM.
The ARM back-end is missing an address space cast that is required in this situation.
This patch assumes that ARM synchronization semantics are the same irrespective of the address space.
This doesn't sound like the right solution.
Maybe I'm misunderstanding what you're trying to do, but if the address space is different because it's in a different virtual environment (encapsulation, security, hardware purposes), then casting it to the default address space won't point to the "right" element.