[SLP]Support copyable GEP/zext main ops and relax gather pointer compatibility
Extends copyable-element modeling to single-index scalar GEPs (copyable
lane = gep V, 0) and scalar zexts (copyable lane = zext of a truncated
constant), and treats constant-offset lanes (including the bare base
pointer) as compatible with any same-object pointer when classifying
gathered loads. Runtime-strided accesses like b[i*S] form a single
masked gather with a vectorized address splat(b) + zext(mul <0..7>, S)
instead of a strided-load/scalar-load/gather mix.
Fixes #63855
Reviewers: bababuck, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/221599