[AArch64][GlobalISel] Fix miscompile of <16 x s8> G_EXTRACT_VECTOR_ELT.
authorAmara Emerson <amara@apple.com>
Thu, 19 Aug 2021 22:45:50 +0000 (15:45 -0700)
committerAmara Emerson <amara@apple.com>
Thu, 19 Aug 2021 23:22:32 +0000 (16:22 -0700)
commita0051f71499bbe92fd15e9fb25005e7c55f6e9bd
treedc3ae73b185cda564c5419e007e8cf4b5c5db77c
parent0edcd91d11d912467a78a3220caf5fedc46d4d69
[AArch64][GlobalISel] Fix miscompile of <16 x s8> G_EXTRACT_VECTOR_ELT.

When support for copying vector s8 lanes was added recently, this also
had the side effect of fixing a fallback for <16 x s8> extracts since
both used the same helper. However, there was a bug in another helper
to get the regclass for a specific FPR-native type, which was assigning
FPR16 to s8 instead of FPR8.
llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
llvm/test/CodeGen/AArch64/GlobalISel/select-extract-vector-elt.mir