From: Peter Bergner Date: Mon, 3 Apr 2017 18:06:52 +0000 (-0500) Subject: backport: re PR target/80246 (Builtin's for POWER's dxex[q] and diex[q] use the wrong... X-Git-Tag: releases/gcc-5.5.0~425 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=467e6037587977141e61237471144cd87fa05499;p=thirdparty%2Fgcc.git backport: re PR target/80246 (Builtin's for POWER's dxex[q] and diex[q] use the wrong types) Backport from mainline 2017-04-03 Peter Bergner PR target/80246 * gcc.target/powerpc/dfp-builtin-1.c: Require hard_dfp, not powerpc_vsx_ok. (std, ld): Limit scan-assembler-times check to lp64. (stwu, stw, lwz): Add scan-assembler-times check for ilp32. * gcc.target/powerpc/dfp-builtin-2.c: Require hard_dfp, not powerpc_vsx_ok. PR target/80246 * gcc.target/powerpc/pr80246.c: Require hard_dfp. From-SVN: r246660 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 68609277c65f..6e8a86d2205e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,19 @@ +2017-04-03 Peter Bergner + + Backport from mainline + 2017-04-03 Peter Bergner + + PR target/80246 + * gcc.target/powerpc/dfp-builtin-1.c: Require hard_dfp, not + powerpc_vsx_ok. + (std, ld): Limit scan-assembler-times check to lp64. + (stwu, stw, lwz): Add scan-assembler-times check for ilp32. + * gcc.target/powerpc/dfp-builtin-2.c: Require hard_dfp, not + powerpc_vsx_ok. + + PR target/80246 + * gcc.target/powerpc/pr80246.c: Require hard_dfp. + 2017-03-30 Peter Bergner Backport from mainline diff --git a/gcc/testsuite/gcc.target/powerpc/dfp-builtin-1.c b/gcc/testsuite/gcc.target/powerpc/dfp-builtin-1.c index bb5ad8866972..e4addedd59c9 100644 --- a/gcc/testsuite/gcc.target/powerpc/dfp-builtin-1.c +++ b/gcc/testsuite/gcc.target/powerpc/dfp-builtin-1.c @@ -1,5 +1,5 @@ /* { dg-do compile { target { powerpc*-*-linux* } } } */ -/* { dg-require-effective-target powerpc_vsx_ok } */ +/* { dg-require-effective-target hard_dfp } */ /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */ /* { dg-options "-mcpu=power7 -O2" } */ /* { dg-final { scan-assembler-times "ddedpd " 4 } } */ @@ -8,8 +8,12 @@ /* { dg-final { scan-assembler-times "diex " 1 } } */ /* { dg-final { scan-assembler-times "dscli " 2 } } */ /* { dg-final { scan-assembler-times "dscri " 2 } } */ -/* { dg-final { scan-assembler-times "std " 1 } } */ -/* { dg-final { scan-assembler-times "ld " 1 } } */ +/* { dg-final { scan-assembler-times "std " 1 { target lp64 } } } */ +/* { dg-final { scan-assembler-times "ld " 1 { target lp64 } } } */ +/* 32-bit needs a stack frame, and needs two GPR mem insns per _Decimal64. */ +/* { dg-final { scan-assembler-times "stwu " 2 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times "stw " 2 { target ilp32 } } } */ +/* { dg-final { scan-assembler-times "lwz " 2 { target ilp32 } } } */ /* { dg-final { scan-assembler-times "stfd " 1 } } */ /* { dg-final { scan-assembler-times "lfd " 1 } } */ /* { dg-final { scan-assembler-not "bl __builtin" } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/dfp-builtin-2.c b/gcc/testsuite/gcc.target/powerpc/dfp-builtin-2.c index 1c1a4b34be79..b3b7c990f837 100644 --- a/gcc/testsuite/gcc.target/powerpc/dfp-builtin-2.c +++ b/gcc/testsuite/gcc.target/powerpc/dfp-builtin-2.c @@ -1,7 +1,5 @@ /* { dg-do compile { target { powerpc*-*-linux* } } } */ -/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ -/* { dg-skip-if "" { powerpc*-*-*spe* } { "*" } { "" } } */ -/* { dg-require-effective-target powerpc_vsx_ok } */ +/* { dg-require-effective-target hard_dfp } */ /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */ /* { dg-options "-mcpu=power7 -O2" } */ /* { dg-final { scan-assembler-times "ddedpdq " 4 } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/pr80246.c b/gcc/testsuite/gcc.target/powerpc/pr80246.c index 915e31f2023e..b43d8314b8be 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr80246.c +++ b/gcc/testsuite/gcc.target/powerpc/pr80246.c @@ -1,5 +1,5 @@ /* { dg-do compile { target { powerpc*-*-linux* } } } */ -/* { dg-require-effective-target dfp } */ +/* { dg-require-effective-target hard_dfp } */ /* { dg-options "-O2" } */ /* { dg-final { scan-assembler-times "dxex " 1 } } */ /* { dg-final { scan-assembler-times "dxexq " 1 } } */