2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-24 19:21:12 +08:00

testsuite: Enable p9-lxvx-stxvx testcases and fold-vec-extract

This patch enables the p9-lxvx-stxvx testcases with appropriate
requirements.  It also adjusts the expected matching instructions
in the fold-vec-extract testcases for BE.

gcc/testsuite/ChangeLog:

	* gcc.target/powerpc/fold-vec-extract-float.p9.c: rldicl and
	subfic only for target LE.
	* gcc.target/powerpc/fold-vec-extract-longlong.p9.c: xori only
	for target LE.  Adjust mfvsrd and add mfvsrld for BE.
	* gcc.target/powerpc/fold-vec-extract-short.p9.c: vextuhrx for LE.
	vextuhlx for BE.
	* gcc.target/powerpc/p9-lxvx-stxvx-1.c: Remove target.
	* gcc.target/powerpc/p9-lxvx-stxvx-2.c: Remove target.
	* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Remove target. Require
	float128
This commit is contained in:
David Edelsohn 2020-10-21 12:24:00 -04:00
parent 945151b7f1
commit 083c17f86d
6 changed files with 15 additions and 11 deletions

@ -6,8 +6,8 @@
/* { dg-options "-mdejagnu-cpu=power9 -O2 " } */
/* { dg-final { scan-assembler-times {\mxscvspdp\M} 2 } } */
/* { dg-final { scan-assembler-times {\mrldicl\M} 1 } } */
/* { dg-final { scan-assembler-times {\msubfic\M} 1 } } */
/* { dg-final { scan-assembler-times {\mrldicl\M} 1 { target le } } } */
/* { dg-final { scan-assembler-times {\msubfic\M} 1 { target le } } } */
/* { dg-final { scan-assembler-times {\msldi\M} 1 } } */
/* { dg-final { scan-assembler-times {\mmtvsrdd\M} 1 } } */
/* { dg-final { scan-assembler-times {\mvslo\M} 1 } } */

@ -1,5 +1,5 @@
/* Verify that overloaded built-ins for vec_extract() with long long
inputs produce the right code for a P9 (LE) target. */
inputs produce the right code for a P9 target. */
/* { dg-do compile { target lp64 } } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
@ -10,11 +10,13 @@
// p9 vars: xori, rldic, mtvsrdd, vslo, mfvsrd
/* results. */
/* { dg-final { scan-assembler-times {\mxori\M} 3 } } */
/* { dg-final { scan-assembler-times {\mxori\M} 3 { target le } } } */
/* { dg-final { scan-assembler-times {\mrldic\M} 3 } } */
/* { dg-final { scan-assembler-times {\mmtvsrdd\M} 3 } } */
/* { dg-final { scan-assembler-times {\mvslo\M} 3 } } */
/* { dg-final { scan-assembler-times {\mmfvsrd\M} 6 } } */
/* { dg-final { scan-assembler-times {\mmfvsrd\M} 6 { target le } } } */
/* { dg-final { scan-assembler-times {\mmfvsrd\M} 3 { target be } } } */
/* { dg-final { scan-assembler-times {\mmfvsrld\M} 3 { target be } } } */
#include <altivec.h>

@ -1,17 +1,18 @@
/* Verify that overloaded built-ins for vec_extract() with short
inputs produce the right code for a P9 (LE) target. */
inputs produce the right code for a P9 target. */
/* { dg-do compile { target lp64 } } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
/* { dg-options "-mdejagnu-cpu=power9 -O2" } */
// six tests total. Targeting P9 LE.
// six tests total. Targeting P9.
// p9 (le) variable offset: slwi, vextuhlx, extsh
// p9 (le) const offset: li, vextuhlx, extsh
/* { dg-final { scan-assembler-times {\mslwi\M} 3 } } */
/* { dg-final { scan-assembler-times {\mli\M} 3 } } */
/* { dg-final { scan-assembler-times "vextuhrx" 6 } } */
/* { dg-final { scan-assembler-times "vextuhrx" 6 { target le } } } */
/* { dg-final { scan-assembler-times "vextuhlx" 6 { target be } } } */
/* { dg-final { scan-assembler-times {\mextsh\M} 2 } } */
#include <altivec.h>

@ -1,4 +1,4 @@
/* { dg-do compile { target { powerpc64le-*-* } } } */
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
/* { dg-options "-mdejagnu-cpu=power9 -O3" } */
/* { dg-final { scan-assembler "lxvx" } } */

@ -1,4 +1,4 @@
/* { dg-do compile { target { powerpc64le-*-* } } } */
/* { dg-do compile } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
/* { dg-options "-mdejagnu-cpu=power9 -O1" } */
/* { dg-final { scan-assembler "lxvx" } } */

@ -1,4 +1,5 @@
/* { dg-do compile { target { powerpc64le-*-* } } } */
/* { dg-do compile } */
/* { dg-require-effective-target ppc_float128_sw } */
/* { dg-options "-mdejagnu-cpu=power9 -O3 -mfloat128" } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
/* { dg-final { scan-assembler "lxvx" } } */