The default register bank selection code for G_LOAD assumes that we ought to use a FPR when the load is casted to a float/double.
For atomics, this isn't true; we should always use GPRs.
Without this patch, we crash in the following example:
https://godbolt.org/z/MThjas441
Also make the code a little more stylistically consistent while we're here.
Also test some other weird cast combinations as well.
can use the reference variant: cast<GLoad>(MI).isAtomic()