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:
parent
945151b7f1
commit
083c17f86d
@ -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" } } */
|
||||
|
Loading…
x
Reference in New Issue
Block a user