Commit 6a69355c by Michael Meissner Committed by Michael Meissner

re PR target/81348 (PowerPC64: Code built with -mcpu=power9 hits SEGV in RTL split2)

[gcc]
2017-07-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/81348
	* config/rs6000/rs6000.md (HI sign_extend splitter): Use the
	correct operand in doing the split.

[gcc/testsuite]
2017-07-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/81348
	* gcc.target/powerpc/pr81348.c: New test.

From-SVN: r250054
parent 5e32025a
2017-07-07 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/81348
* config/rs6000/rs6000.md (HI sign_extend splitter): Use the
correct operand in doing the split.
2017-07-07 Carl Love <cel@us.ibm.com> 2017-07-07 Carl Love <cel@us.ibm.com>
* config/rs6000/rs6000-c: Add support for built-in function * config/rs6000/rs6000-c: Add support for built-in function
......
...@@ -940,7 +940,7 @@ ...@@ -940,7 +940,7 @@
(set (match_dup 0) (set (match_dup 0)
(sign_extend:EXTHI (match_dup 2)))] (sign_extend:EXTHI (match_dup 2)))]
{ {
operands[2] = gen_rtx_REG (HImode, REGNO (operands[1])); operands[2] = gen_rtx_REG (HImode, REGNO (operands[0]));
}) })
(define_insn_and_split "*extendhi<mode>2_dot" (define_insn_and_split "*extendhi<mode>2_dot"
......
2017-07-07 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/81348
* gcc.target/powerpc/pr81348.c: New test.
2017-07-07 Szabolcs Nagy <szabolcs.nagy@arm.com> 2017-07-07 Szabolcs Nagy <szabolcs.nagy@arm.com>
* gfortran.dg/vect/pr60510.f: Require vect_double support. * gfortran.dg/vect/pr60510.f: Require vect_double support.
......
/* { dg-do compile { target { powerpc64*-*-* && lp64 } } } */
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
/* { dg-options "-mcpu=power9 -Og" } */
/* PR target/81348: Compiler died in doing short->float conversion due to using
the wrong register in a define_split. */
int a;
short b;
float ***c;
void d(void)
{
int e = 3;
if (a)
e = b;
***c = e;
}
/* { dg-final { scan-assembler {\mlxsihzx\M} } } */
/* { dg-final { scan-assembler {\mvextsh2d\M} } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment