Fixes a crash in the expanded scatter gather sequence when a double word index is negative and needs to be sign-extended. Without sign extension, the computed address may be invalid (e.g. base + 0xffffffff, instead of base - 1). Double indices are always signed in scatter/gather instrs; they are already loaded in 32-bit registers in the expansion.
Also adds test for the same. Fixes some asm test code to use pcmpeqq for xmm comparisons; vcmpeqss does it only for the low 32-bits.
Issue: #2985 (closed)