rs6000: Fix ICE in decompose_normal_address. [PR93974]
authorPeter Bergner <bergner@linux.ibm.com>
Fri, 17 Apr 2020 04:26:41 +0000 (23:26 -0500)
committerPeter Bergner <bergner@linux.ibm.com>
Fri, 17 Apr 2020 04:26:41 +0000 (23:26 -0500)
commitdd75498db79675a1a0b73c25e5f110969ee72d9d
tree2a922265561c7abda125081907967a1ef97345cf
parent5fb9a619eee6632f89d9d8df1515addb9a4a6404
rs6000: Fix ICE in decompose_normal_address. [PR93974]

Fix an ICE in decompose_normal_address(), which cannot handle Altivec AND:
addresses, by disallowing them via implementing the target hook
rs6000_cannot_substitute_mem_equiv_p.

gcc/
PR rtl-optimization/93974
* config/rs6000/rs6000.c (TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV_P): Define.
(rs6000_cannot_substitute_mem_equiv_p): New function.

gcc/testsuite/
PR rtl-optimization/93974
* g++.dg/pr93974.C: New test.
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/pr93974.C [new file with mode: 0644]