rs6000: Fix infinite loop building ghostscript and icu [PR93658]
authorPeter Bergner <bergner@linux.ibm.com>
Thu, 20 Feb 2020 17:25:12 +0000 (11:25 -0600)
committerPeter Bergner <bergner@linux.ibm.com>
Thu, 20 Feb 2020 17:25:12 +0000 (11:25 -0600)
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.

gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/testsuite/ChangeLog

index fc8f9e85baee0edaa4a8285bb806e9c79a9d12aa..95c883ebe4973adb7c9eae8b508c9c518e6dbe22 100644 (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
index f34e1ba70c68adbe6716f01dd4abc0b89be3c024..9910b27ed24fe862f9da4ec08b1a9c2e1112e84f 100644 (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)
index 89acd3f518f1505da54d9b144c556419462535b1..e0399e01f2c463aef5be77d2c38744c6fcfc8d9d 100644 (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