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))