[Codegen] TargetLowering::SimplifySetCC(): omit urem when possible

Summary:

This addresses the regression that is being exposed by D50222 in `test/CodeGen/X86/jump_sign.ll`

The missing fold, at least partially, looks trivial:

https://rise4fun.com/Alive/Zsln

i.e. if we are comparing with zero, and comparing the `urem`-by-non-power-of-two,

and the `urem` is of something that may at most have a single bit set (or no bits set at all),

the `urem` is not needed.

Reviewers: RKSimon, craig.topper, xbolva00, spatel

Reviewed By: xbolva00, spatel

Subscribers: xbolva00, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63390