Fix to avoid generating 64-bit gather/scatter when force32BitAddressing is set

Checks to see if 64-bit gather/scatter were improperly failing to recognize situations where it is safe to replace 64-bit gather/scatter operations with their 32-bit versions.  This was leading to noticeably sub-par code generation on generic-16 targets.  The fix recognizes that offsets might consist of some number of adds before you come across a SExt or appropriate constant vector.