The test here is reduced from the fuzzer-generated crasher in:
https://llvm.org/PR50023
I don't know if this is the best or complete solution, but the zext of the i42 type appears to match the behavior that I'm seeing if we run a weird type example like this through the IR optimizer with -O1.