CallLowering can emit hint instructions (G_ASSERT_ZEXT, G_ASSERT_SEXT) to communicate whether or not a parameter/return value is expected to be sign or zero extended.
When we run into one of these along with a G_LOAD, we need to be careful to select the correct type of extended load.
e.g.
https://godbolt.org/z/x3oG4s3MT
In the above example, without this patch, GISel will not emit a sign-extended load. SDAG has the correct behaviour here.
The work here is identical to how we already combine G_SEXT_INREG with G_LOAD. However, because this can be important for ABI-conformance, it needs to run at all optimization levels. So, this is split out into its own combine which runs under combines_for_extload.