https://gcc.gnu.org/g:4fbaac1f089f2236b5b1e79e18baba05239ad3b1

commit r15-1371-g4fbaac1f089f2236b5b1e79e18baba05239ad3b1
Author: Lingling Kong <lingling.k...@intel.com>
Date:   Mon Jun 17 16:11:09 2024 +0800

    [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.

Diff:
---
 gcc/testsuite/gcc.target/i386/apx-zu-1.c | 6 ++++++
 gcc/testsuite/gcc.target/i386/apx-zu-2.c | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/gcc/testsuite/gcc.target/i386/apx-zu-1.c 
b/gcc/testsuite/gcc.target/i386/apx-zu-1.c
index 927a87673a7a..bc0e7fbb4dd6 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 3ee04495d98a..7585492bd7c2 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))

Reply via email to