This is generally handled already in early CSE and/or generically with
valuetracking.
InstCombine assumes that div/rem with i1 operands will have
already been handled which is not always the case if a non-standard
pipeline is being used:
https://github.com/llvm/llvm-project/issues/62607
This just adds i1 handling to InstructionSimplify so that
InstCombine's assumptions are fulfilled by itself.