aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLingling Kong <lingling.kong@intel.com>2024-06-17 16:11:09 +0800
committerLingling Kong <lingling.kong@intel.com>2024-06-17 16:17:47 +0800
commit4fbaac1f089f2236b5b1e79e18baba05239ad3b1 (patch)
tree0af1f4acaf755e2d032cd225179450b38ca9502d
parentb5d3ad256afdfd891d37d8fdb126d599f150e78b (diff)
downloadgcc-4fbaac1f089f2236b5b1e79e18baba05239ad3b1.zip
gcc-4fbaac1f089f2236b5b1e79e18baba05239ad3b1.tar.gz
gcc-4fbaac1f089f2236b5b1e79e18baba05239ad3b1.tar.bz2
[APX ZU] Fix test for target-support check
gcc/testsuite/ChangeLog: * gcc.target/i386/apx-zu-1.c: Add attribute for noinline, and target apx. * gcc.target/i386/apx-zu-2.c: Add target-support check.
-rw-r--r--gcc/testsuite/gcc.target/i386/apx-zu-1.c6
-rw-r--r--gcc/testsuite/gcc.target/i386/apx-zu-2.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/apx-zu-1.c b/gcc/testsuite/gcc.target/i386/apx-zu-1.c
index 927a876..bc0e7fb 100644
--- a/gcc/testsuite/gcc.target/i386/apx-zu-1.c
+++ b/gcc/testsuite/gcc.target/i386/apx-zu-1.c
@@ -9,26 +9,32 @@
/* { dg-final { scan-assembler-times "setzue" 1} } */
/* { dg-final { scan-assembler-times "setzuge" 1} } */
/* { dg-final { scan-assembler "imulzu"} } */
+
+__attribute__((noinline, noclone, target("apxf")))
long long foo0 (int a)
{
return a == 0 ? 0 : 1;
}
+__attribute__((noinline, noclone, target("apxf")))
long foo1 (int a, int b)
{
return a > b ? 0 : 1;
}
+__attribute__((noinline, noclone, target("apxf")))
int foo2 (int a, int b)
{
return a != b ? 0 : 1;
}
+__attribute__((noinline, noclone, target("apxf")))
short foo3 (int a, int b)
{
return a < b ? 0 : 1;
}
+__attribute__((noinline, noclone, target("apxf")))
unsigned long
f1(unsigned short x)
{
diff --git a/gcc/testsuite/gcc.target/i386/apx-zu-2.c b/gcc/testsuite/gcc.target/i386/apx-zu-2.c
index 3ee0449..7585492 100644
--- a/gcc/testsuite/gcc.target/i386/apx-zu-2.c
+++ b/gcc/testsuite/gcc.target/i386/apx-zu-2.c
@@ -5,6 +5,9 @@
int main(void)
{
+ if (!__builtin_cpu_supports ("apxf"))
+ return 0;
+
if (foo0 (0))
__builtin_abort ();
if (foo1 (3, 2))