Fixes #63692.
In reference to volatile memory accesses, the langref says (https://llvm.org/docs/LangRef.html#volatile-memory-accesses):
the backend should never split or merge target-legal volatile load/store instructions.
Which was not being upheld.