[AArch64][GlobalISel] Fix atomic truncating stores from generating invalid copies.
authorAmara Emerson <amara@apple.com>
Wed, 10 Nov 2021 04:41:26 +0000 (20:41 -0800)
committerAmara Emerson <amara@apple.com>
Wed, 10 Nov 2021 04:47:50 +0000 (20:47 -0800)
commitaf4dc633f86f62ae587b25ed2a17b6bf5fe7a3ac
treed6839b51536e60b31df661f48acaaa30db7be17f
parentd71bb6a4091893b12d52947d4d4f774a672921bf
[AArch64][GlobalISel] Fix atomic truncating stores from generating invalid copies.

If the source reg is a 64b vreg, then we need to emit a subreg copy to a 32b
gpr before we select sub-64b variants like STLRW.
llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
llvm/test/CodeGen/AArch64/GlobalISel/select-truncstore-atomic.mir [new file with mode: 0644]