Use x86_64_general_operand in a bunch more SI mode insn patterns

The x86_64_general_operand predicate applies some important constraints,
such as that a symbol_ref cannot be an immediate operand under -fPIC.
With the ILP32 model, these constraints matter for SI mode instructions
(rather than just DI mode) too, since address values are SI mode.

Previously the x86_64_general_operand predicate was used inconsistently,
e.g. on add patterns but not on sub and mul patterns.  This fix changes
all the relevant patterns to use x86_64_general_operand in place of
vanilla general_operand.  This is consistent with how the -mx32 support
handles this issue in the upstream trunk code.

TEST= toolchain trybots

Review URL:
1 file changed