re PR target/79951 (ICE in extract_insn, at recog.c:2311 on ppc64le with -mno-cmpb)

PR target/79951
	* config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
	for VECTOR_UNIT_VSX_P (<MODE>mode) too.
	* gcc.target/powerpc/pr79951.c: New.

From-SVN: r246228
This commit is contained in:
Pat Haugen 2017-03-17 16:42:29 +00:00 committed by Pat Haugen
parent 6b4c3c7b23
commit d8fe28be76
4 changed files with 22 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2017-03-17 Pat Haugen <pthaugen@us.ibm.com>
PR target/79951
* config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
for VECTOR_UNIT_VSX_P (<MODE>mode) too.
2017-03-17 Bernd Schmidt <bschmidt@redhat.com>
* reload.c (find_reloads): When reloading a nonoffsettable address,

View File

@ -4831,7 +4831,7 @@
(unspec:SFDF [(match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>")
(match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv>")]
UNSPEC_COPYSIGN))]
"TARGET_<MODE>_FPR && TARGET_CMPB"
"TARGET_<MODE>_FPR && (TARGET_CMPB || VECTOR_UNIT_VSX_P (<MODE>mode))"
"@
fcpsgn %0,%2,%1
xscpsgndp %x0,%x2,%x1"

View File

@ -1,3 +1,8 @@
2017-03-17 Pat Haugen <pthaugen@us.ibm.com>
PR target/79951
* gcc.target/powerpc/pr79951.c: New.
2017-03-17 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/79910

View File

@ -0,0 +1,10 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target powerpc_p8vector_ok } */
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
/* { dg-options "-mcpu=power8 -S -mno-cmpb" } */
float testf (float x, float y)
{
return __builtin_copysignf (x, y);
}