[Patch combine] Don't create vector mode ZERO_EXTEND from subregs

The code in simplify set to handle transforming the paradoxical subreg
expression:

  (set FOO (subreg:M (mem:N BAR) 0))

in to:

  (set FOO (zero_extend:M (mem:N BAR)))

Does not consider the case where M is a vector mode, allowing it to
construct (for example):

  (zero_extend:V4SI (mem:SI))

For one, this has the wrong semantics - but fortunately we fail long
before then in expand_compound_operation.

We need to explicitly reject vector modes from this transformation.

gcc/

	* combine.c (simplify_set): Do not transform subregs to zero_extends
	if the destination mode is a vector mode.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@255578 138bc75d-0d04-0410-961f-82ee72b054a4
2 files changed