[GlobalISel] Allow different types for G_SBFX and G_UBFX operands
authorBrendon Cahoon <brendon.cahoon@amd.com>
Tue, 30 Mar 2021 15:19:29 +0000 (11:19 -0400)
committerBrendon Cahoon <brendon.cahoon@amd.com>
Fri, 2 Apr 2021 15:11:06 +0000 (11:11 -0400)
commit09a88278cbe10927cce488f725e9820f79ce2f54
tree213f4a743944f43999faa810979b649f1206751c
parent4a3e006830aaaf094f3a8ea0a3780a5e1b6f3ecc
[GlobalISel] Allow different types for G_SBFX and G_UBFX operands

Change the definition of G_SBFX and G_UBFX so that the lsb and width
can have different types than the src and dst operands.

Differential Revision: https://reviews.llvm.org/D99739
llvm/include/llvm/Target/GenericOpcodes.td
llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-sextinreg.mir
llvm/test/CodeGen/AArch64/GlobalISel/legalize-sbfx.mir
llvm/test/CodeGen/AArch64/GlobalISel/legalize-ubfx.mir
llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
llvm/unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp