r239365 - in /branches/gcc-6-branch/gcc: Change...

krebbel@gcc.gnu.org krebbel@gcc.gnu.org
Thu Aug 11 13:35:00 GMT 2016


Author: krebbel
Date: Thu Aug 11 13:35:01 2016
New Revision: 239365

URL: https://gcc.gnu.org/viewcvs?rev=239365&root=gcc&view=rev
Log:
S/390: Fix vecinit expansion.

The fallback routine in the S/390 vecinit expander did not check
whether each of the initializer elements is a proper general_operand.
Since revision r236582 the expander is invoked also with e.g. symbol
refs with an odd addend resulting in invalid insns.

Fixed by forcing the element into a register in such cases.

gcc/ChangeLog:

2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	Backport from mainline
	2016-07-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/s390.c (s390_expand_vec_init): Force initializer
	element to register if it doesn't match general_operand.


Modified:
    branches/gcc-6-branch/gcc/ChangeLog
    branches/gcc-6-branch/gcc/config/s390/s390.c



More information about the Gcc-cvs mailing list