We do this by merging the source with the high bits set to 0.
This should be able to handle cases where the result size is any multiple of the narrow size
Add support for any multiple of the narrow type.
Hi! After running a bisect, I believe this patch is causing the assertion error in https://bugs.llvm.org/show_bug.cgi?id=43171. Could you look into this? There is a reproducer attached to the bug.