[SDAG] Disable illegal extract_subvector splitting for scalable vectors (#170315)
The "half spanning" legalization of extract_subvector is only valid for
fixed-length vectors. This patch disables it for scalable vectors and
makes more careful use of ElementCount in the lowering.
Fixes regression from https://github.com/llvm/llvm-project/pull/154101,
which was encountered here:
https://github.com/llvm/llvm-project/pull/166748#issuecomment-3600498185
Note: We could optimize this case given the known vscale, but this patch
only attempts to fix the miscompile.