rs6000: Fix infinite loop building ghostscript and icu [PR93658]

Previous push didn't get the ChangeLog entries or the actual fix.
Push those now.

gcc/
	PR target/93658
	* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX
	vector modes.

gcc/testsuite/
	PR target/93658
	* gcc.target/powerpc/pr93658.c: New test.
This commit is contained in:
Peter Bergner 2020-02-20 11:25:12 -06:00
parent 2c52b2884b
commit e6f24f824b
3 changed files with 12 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2020-02-20 Peter Bergner <bergner@linux.ibm.com>
PR target/93658
* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX
vector modes.
2020-02-20 Martin Liska <mliska@suse.cz>
PR translation/93831

View file

@ -8808,7 +8808,7 @@ rs6000_legitimate_address_p (machine_mode mode, rtx x, bool reg_ok_strict)
bool quad_offset_p = mode_supports_dq_form (mode);
/* If this is an unaligned stvx/ldvx type address, discard the outer AND. */
if (VECTOR_MEM_ALTIVEC_P (mode)
if (VECTOR_MEM_ALTIVEC_OR_VSX_P (mode)
&& GET_CODE (x) == AND
&& CONST_INT_P (XEXP (x, 1))
&& INTVAL (XEXP (x, 1)) == -16)

View file

@ -1,3 +1,8 @@
2020-02-20 Peter Bergner <bergner@linux.ibm.com>
PR target/93658
* gcc.target/powerpc/pr93658.c: New test.
2020-02-20 Tobias Burnus <tobias@codesourcery.com>
PR fortran/93825