Much like ValueTypeByHwMode/RegInfoByHwMode, this patch allows targets
to modify an instruction's encoding based on HwMode. When the
EncodingInfos field is non-empty the Inst and Size fields of the Instruction
are ignored and taken from EncodingInfos instead.
As part of this promote getHwMode() from TargetSubtargetInfo to MCSubtargetInfo.
This new feature is not used by any of the existing in-tree targets - new code
is generated only if targets use EncodingByHwMode.
That being said, there's basic test coverage in llvm/test/TableGen/HwModeEncodeDecode.td