[InstSimplify] Only fold gep of a pointer difference when the division is exact (#237685)
The `ashr` and `sdiv` folds in simplifyGEPInst (`gep V, (ashr (sub P,
V), C) -> P` and its `sdiv` form) are only correct if the divisions are
exact.
Fixes #234269.
Assisted-by: Claude Opus 5.5