[TTI] Fix value-based BasicTTIImpl vp.{gather,scatter} costing (#148020)
After #147677 we now preserve value based costing for vp intrinsics
instead of switching it to type based costing.
However for vp.gather and vp.scatter, even though they fallback to their
functionally equivalent masked.gather and masked.scatter, the number of
arguments are different due to the alignment being a dedicated argument.
This caused a crash detected at
https://lab.llvm.org/staging/#/builders/210/builds/988
Thix fixes it by explicitly handling the two intrinsics and adding test
coverage.
Note that the type based costing isn't yet implemented for
masked.gather/masked.scatter so it doesn't show up correctly.