From: Haochen Jiang Date: Mon, 15 Sep 2025 07:17:35 +0000 (+0800) Subject: i386/testsuite: Fix non unique name tests X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=89a7d765ecabd47ee609ca0a3bfbd14ff27abc77;p=thirdparty%2Fgcc.git i386/testsuite: Fix non unique name tests After r16-3651, compare_tests script will explicitly mention those tests have the same name. This helps us review all the tests we have. Among them, most of them are unintentional typos (e.g., keep testing the same vector size for scan-assembler). Fix them through this commit. gcc/testsuite/ChangeLog: * gcc.target/i386/avx512bw-vpackssdw-1.c: Fix xmm/ymm mask tests. * gcc.target/i386/avx512bw-vpacksswb-1.c: Ditto. * gcc.target/i386/avx512bw-vpackusdw-1.c: Ditto. * gcc.target/i386/avx512bw-vpackuswb-1.c: Ditto. * gcc.target/i386/avx512bw-vpermw-1.c: Test xmm. * gcc.target/i386/avx512bw-vpmulhw-1.c: Fix xmm/ymm mask tests. * gcc.target/i386/avx512f-vec-init.c: Remove duplicate test. * gcc.target/i386/avx512fp16-13.c: Fix test for aligned load. * gcc.target/i386/avx512fp16-conjugation-1.c: Revise the test to test more precisely on masks. * gcc.target/i386/avx512fp16vl-conjugation-1.c: Ditto. * gcc.target/i386/avx512vbmi-vpermb-1.c: Test xmm. * gcc.target/i386/avx512vl-vcvtpd2ps-1.c: Fix scan asm. * gcc.target/i386/avx512vl-vinsert-1.c: Fix typo. * gcc.target/i386/avx512vl-vpmulld-1.c: Fix xmm/ymm mask tests. * gcc.target/i386/avx512vl-vptestmd-1.c: Ditto. * gcc.target/i386/bitwise_mask_op-1.c: Fix typo. * gcc.target/i386/cond_op_shift_q-1.c: Test both vpsra{,v} and vpsll{,v}. * gcc.target/i386/cond_op_shift_ud-1.c: Ditto. * gcc.target/i386/cond_op_shift_uq-1.c: Ditto. * gcc.target/i386/memcpy-pr95886.c: Fix the wrong const int. * gcc.target/i386/part-vect-sqrtph-1.c: Remove duplicate test. * gcc.target/i386/pr107432-7.c: Test vpmov{s,z}xbw instead of vpmov{s,z}xbd. * gcc.target/i386/pr88828-0.c: Fix pblendw scan asm. --- diff --git a/gcc/testsuite/gcc.target/i386/avx512bw-vpackssdw-1.c b/gcc/testsuite/gcc.target/i386/avx512bw-vpackssdw-1.c index 70bef644d52..4bb0be1258c 100644 --- a/gcc/testsuite/gcc.target/i386/avx512bw-vpackssdw-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512bw-vpackssdw-1.c @@ -4,8 +4,8 @@ /* { dg-final { scan-assembler-times "vpackssdw\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpackssdw\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpackssdw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpackssdw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpackssdw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpackssdw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpackssdw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpackssdw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/avx512bw-vpacksswb-1.c b/gcc/testsuite/gcc.target/i386/avx512bw-vpacksswb-1.c index b867dcb1320..a59502c9493 100644 --- a/gcc/testsuite/gcc.target/i386/avx512bw-vpacksswb-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512bw-vpacksswb-1.c @@ -4,8 +4,8 @@ /* { dg-final { scan-assembler-times "vpacksswb\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpacksswb\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpacksswb\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpacksswb\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpacksswb\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpacksswb\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpacksswb\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpacksswb\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/avx512bw-vpackusdw-1.c b/gcc/testsuite/gcc.target/i386/avx512bw-vpackusdw-1.c index 2421b5cfff9..035ad3f2d34 100644 --- a/gcc/testsuite/gcc.target/i386/avx512bw-vpackusdw-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512bw-vpackusdw-1.c @@ -4,8 +4,8 @@ /* { dg-final { scan-assembler-times "vpackusdw\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpackusdw\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpackusdw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpackusdw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpackusdw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpackusdw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpackusdw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpackusdw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/avx512bw-vpackuswb-1.c b/gcc/testsuite/gcc.target/i386/avx512bw-vpackuswb-1.c index 122a6a084cc..d2027ca02bc 100644 --- a/gcc/testsuite/gcc.target/i386/avx512bw-vpackuswb-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512bw-vpackuswb-1.c @@ -4,8 +4,8 @@ /* { dg-final { scan-assembler-times "vpackuswb\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpackuswb\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpackuswb\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpackuswb\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpackuswb\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpackuswb\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpackuswb\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpackuswb\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/avx512bw-vpermw-1.c b/gcc/testsuite/gcc.target/i386/avx512bw-vpermw-1.c index 7196c9a6258..30e3f6d1b88 100644 --- a/gcc/testsuite/gcc.target/i386/avx512bw-vpermw-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512bw-vpermw-1.c @@ -6,9 +6,9 @@ /* { dg-final { scan-assembler-times "vpermw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpermw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpermw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpermw\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpermw\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpermw\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpermw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpermw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpermw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/avx512bw-vpmulhw-1.c b/gcc/testsuite/gcc.target/i386/avx512bw-vpmulhw-1.c index 6ded26c9fc4..4f53e5cbab8 100644 --- a/gcc/testsuite/gcc.target/i386/avx512bw-vpmulhw-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512bw-vpmulhw-1.c @@ -3,10 +3,10 @@ /* { dg-final { scan-assembler-times "vpmulhw\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpmulhw\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpmulhw\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpmulhw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%xmm\[0-9\]+\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpmulhw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%xmm\[0-9\]+\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpmulhw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*%ymm\[0-9\]+\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpmulhw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*%ymm\[0-9\]+\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpmulhw\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*%ymm\[0-9\]+\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpmulhw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%xmm\[0-9\]+\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpmulhw\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%xmm\[0-9\]+\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vec-init.c b/gcc/testsuite/gcc.target/i386/avx512f-vec-init.c index c00fa427571..6cc8261d4f7 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-vec-init.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-vec-init.c @@ -4,7 +4,6 @@ /* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpbroadcastd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpbroadcastq\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpbroadcastb\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 2 } } */ /* { dg-final { scan-assembler-times "vpbroadcastb\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/avx512fp16-13.c b/gcc/testsuite/gcc.target/i386/avx512fp16-13.c index 92ac197e106..8bd0e39b056 100644 --- a/gcc/testsuite/gcc.target/i386/avx512fp16-13.c +++ b/gcc/testsuite/gcc.target/i386/avx512fp16-13.c @@ -36,7 +36,7 @@ load512_ph (void const *p) return _mm512_load_ph (p); } -/* { dg-final { scan-assembler-times "vmovdqa64\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\]*\\)" 1 } } */ +/* { dg-final { scan-assembler-times "vmovdqa64\[ \\t\]*\[^,\]*,\[^\{\n\]*%zmm\[0-9\]" 1 } } */ __m256h __attribute__ ((noinline, noclone)) @@ -45,7 +45,7 @@ load256_ph (void const *p) return _mm256_load_ph (p); } -/* { dg-final { scan-assembler-times "vmovdqa\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*\\)" 1 } } */ +/* { dg-final { scan-assembler-times "vmovdqa\[ \\t\]*\[^,\]*,\[^\{\n\]*%ymm\[0-9\]" 1 } } */ __m128h __attribute__ ((noinline, noclone)) @@ -53,7 +53,8 @@ load_ph (void const *p) { return _mm_load_ph (p); } -/* { dg-final { scan-assembler-times "vmovdqa\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*\\)" 1 } } */ + +/* { dg-final { scan-assembler-times "vmovdqa\[ \\t\]*\[^,\]*,\[^\{\n\]*%xmm\[0-9\]" 1 } } */ __m512h __attribute__ ((noinline, noclone)) diff --git a/gcc/testsuite/gcc.target/i386/avx512fp16-conjugation-1.c b/gcc/testsuite/gcc.target/i386/avx512fp16-conjugation-1.c index 1b974e77046..a1e81b0360c 100644 --- a/gcc/testsuite/gcc.target/i386/avx512fp16-conjugation-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512fp16-conjugation-1.c @@ -1,5 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O2 -mavx512fp16" } */ +/* { dg-final { scan-assembler-times "vpxord\[^\n\]*%zmm\[0-9\]+" 3 } } */ +/* { dg-final { scan-assembler-times "kmovw\[^\n\]*%k\[1-9\]+" 2 } } */ +/* { dg-final { scan-assembler-times "vmovaps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vmovaps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ #include __m512h @@ -9,8 +13,6 @@ test_mm512_conj_pch (__m512h __A) return _mm512_conj_pch (__A); } -/* { dg-final { scan-assembler-times "vpxord\[^\n\]*%zmm\[0-9\]+" 3 } } */ - __m512h __attribute__ ((noinline, noclone)) test_mm512_mask_conj_pch (__m512h __W, __mmask16 __U, __m512h __A) @@ -18,10 +20,6 @@ test_mm512_mask_conj_pch (__m512h __W, __mmask16 __U, __m512h __A) return _mm512_mask_conj_pch (__W, __U, __A); } -/* { dg-final { scan-assembler-times "vpxord\[^\n\]*%zmm\[0-9\]+" 3 } } */ -/* { dg-final { scan-assembler-times "kmovw\[^\n\]*%k\[1-9\]+" 2 } } */ -/* { dg-final { scan-assembler-times "vmovaps\[^\n]" 2 } } */ - __m512h __attribute__ ((noinline, noclone)) test_mm512_maskz_conj_pch (__mmask16 __U, __m512h __A) @@ -29,6 +27,3 @@ test_mm512_maskz_conj_pch (__mmask16 __U, __m512h __A) return _mm512_maskz_conj_pch (__U, __A); } -/* { dg-final { scan-assembler-times "vpxord\[^\n\]*%zmm\[0-9\]+" 3 } } */ -/* { dg-final { scan-assembler-times "kmovw\[^\n\]*%k\[1-9\]+" 2 } } */ -/* { dg-final { scan-assembler-times "vmovaps\[ \\t\]+\[^\{\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/avx512fp16vl-conjugation-1.c b/gcc/testsuite/gcc.target/i386/avx512fp16vl-conjugation-1.c index 3ba664f4aec..05368052b65 100644 --- a/gcc/testsuite/gcc.target/i386/avx512fp16vl-conjugation-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512fp16vl-conjugation-1.c @@ -1,5 +1,11 @@ /* { dg-do compile } */ /* { dg-options "-O2 -mavx512fp16 -mavx512vl -mavx512dq" } */ +/* { dg-final { scan-assembler-times "vpxor\[^\n\]*%ymm\[0-9\]+" 3 } } */ +/* { dg-final { scan-assembler-times "vmovaps\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vmovaps\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpxor\[^\n\]*%xmm\[0-9\]+" 3 } } */ +/* { dg-final { scan-assembler-times "vmovaps\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vmovaps\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ #include __m256h @@ -9,8 +15,6 @@ test_mm256_conj_pch (__m256h __A) return _mm256_conj_pch (__A); } -/* { dg-final { scan-assembler-times "vpxor\[^\n\]*%ymm\[0-9\]+" 3 } } */ - __m128h __attribute__ ((noinline, noclone)) test_mm_conj_pch (__m128h __A) @@ -18,8 +22,6 @@ test_mm_conj_pch (__m128h __A) return _mm_conj_pch (__A); } -/* { dg-final { scan-assembler-times "vpxor\[^\n\]*%xmm\[0-9\]+" 3 } } */ - __m256h __attribute__ ((noinline, noclone)) test_mm256_mask_conj_pch (__m256h __W, __mmask8 __U, __m256h __A) @@ -27,8 +29,6 @@ test_mm256_mask_conj_pch (__m256h __W, __mmask8 __U, __m256h __A) return _mm256_mask_conj_pch (__W, __U, __A); } -/* { dg-final { scan-assembler-times "vmovaps\[^\n\]*%ymm\[0-9\]+" 2 } } */ - __m128h __attribute__ ((noinline, noclone)) test_mm_mask_conj_pch (__m128h __W, __mmask8 __U, __m128h __A) @@ -36,20 +36,15 @@ test_mm_mask_conj_pch (__m128h __W, __mmask8 __U, __m128h __A) return _mm_mask_conj_pch (__W, __U, __A); } -/* { dg-final { scan-assembler-times "vmovaps\[^\n\]*%xmm\[0-9\]+" 2 } } */ - __m256h __attribute__ ((noinline, noclone)) test_mm256_maskz_conj_pch (__mmask8 __U, __m256h __A) { return _mm256_maskz_conj_pch (__U, __A); } -/* { dg-final { scan-assembler-times "vmovaps\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ __m128h __attribute__ ((noinline, noclone)) test_mm_maskz_conj_pch (__mmask8 __U, __m128h __A) { return _mm_maskz_conj_pch (__U, __A); } - -/* { dg-final { scan-assembler-times "vmovaps\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/avx512vbmi-vpermb-1.c b/gcc/testsuite/gcc.target/i386/avx512vbmi-vpermb-1.c index f701c5aa18f..837aeb88f82 100644 --- a/gcc/testsuite/gcc.target/i386/avx512vbmi-vpermb-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512vbmi-vpermb-1.c @@ -6,9 +6,9 @@ /* { dg-final { scan-assembler-times "vpermb\[ \\t\]+\[^\n\]*%ymm\[0-9\]+\[^\{\]" 3 } } */ /* { dg-final { scan-assembler-times "vpermb\[ \\t\]+\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\[^\{\]" 1 } } */ /* { dg-final { scan-assembler-times "vpermb\[ \\t\]+\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}" 1 } } */ -/* { dg-final { scan-assembler-times "vpermb\[ \\t\]+\[^\n\]*%zmm\[0-9\]+\[^\{\]" 3 } } */ -/* { dg-final { scan-assembler-times "vpermb\[ \\t\]+\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\[^\{\]" 1 } } */ -/* { dg-final { scan-assembler-times "vpermb\[ \\t\]+\[^\n\]*%zmm\[0-9\]+\{%k\[1-7\]\}\{z\}" 1 } } */ +/* { dg-final { scan-assembler-times "vpermb\[ \\t\]+\[^\n\]*%xmm\[0-9\]+\[^\{\]" 3 } } */ +/* { dg-final { scan-assembler-times "vpermb\[ \\t\]+\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\[^\{\]" 1 } } */ +/* { dg-final { scan-assembler-times "vpermb\[ \\t\]+\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}" 1 } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vcvtpd2ps-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vcvtpd2ps-1.c index fc29f45f145..b0cd6e4f1a5 100644 --- a/gcc/testsuite/gcc.target/i386/avx512vl-vcvtpd2ps-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512vl-vcvtpd2ps-1.c @@ -1,9 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O2 -mavx512vl" } */ -/* { dg-final { scan-assembler-times "vcvtpd2psy\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vcvtpd2psy\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vcvtpd2psx\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vcvtpd2psx\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vcvtpd2psy\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vcvtpd2psy\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vcvtpd2psx\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vcvtpd2psx\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vinsert-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vinsert-1.c index f12260a23f3..c0b57a6224b 100644 --- a/gcc/testsuite/gcc.target/i386/avx512vl-vinsert-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512vl-vinsert-1.c @@ -95,4 +95,4 @@ f8 (V4 x, double y) /* { dg-final { scan-assembler-not "vinserti64x2" } } */ /* { dg-final { scan-assembler-not "vinsertf64x2" } } */ /* { dg-final { scan-assembler-not "vextracti64x2" } } */ -/* { dg-final { scan-assembler-not "vextracti64x2" } } */ +/* { dg-final { scan-assembler-not "vextractf64x2" } } */ diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vpmulld-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vpmulld-1.c index f03907807f4..b92b7f77443 100644 --- a/gcc/testsuite/gcc.target/i386/avx512vl-vpmulld-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512vl-vpmulld-1.c @@ -1,8 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-mavx512vl -O2" } */ /* { dg-final { scan-assembler-times "vpmulld\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpmulld\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vpmulld\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpmulld\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vpmulld\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpmulld\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/avx512vl-vptestmd-1.c b/gcc/testsuite/gcc.target/i386/avx512vl-vptestmd-1.c index 4ec618c43c7..58b9745b8fe 100644 --- a/gcc/testsuite/gcc.target/i386/avx512vl-vptestmd-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512vl-vptestmd-1.c @@ -1,8 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-mavx512vl -O2" } */ /* { dg-final { scan-assembler-times "vptestmd\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%k\[0-7\](?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vptestmd\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%k\[0-7\](?:\n|\[ \\t\]+#)" 1 } } */ -/* { dg-final { scan-assembler-times "vptestmd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*%k\[0-7\]\{%*k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vptestmd\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%k\[0-7\]\{%*k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "vptestmd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*%k\[0-7\](?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vptestmd\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\]*%k\[0-7\]\{%*k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/bitwise_mask_op-1.c b/gcc/testsuite/gcc.target/i386/bitwise_mask_op-1.c index 826ed6921d4..b2c40aafee9 100644 --- a/gcc/testsuite/gcc.target/i386/bitwise_mask_op-1.c +++ b/gcc/testsuite/gcc.target/i386/bitwise_mask_op-1.c @@ -77,7 +77,7 @@ foo_xorb (__m512i a, __m512i b, __m512i c, __m512i d) return _mm512_mask_add_epi64 (c, m1 ^ m2, a, d); } -/* { dg-final { scan-assembler-times "korw" "2" } } */ +/* { dg-final { scan-assembler-times "kxorw" "2" } } */ __m512i foo_andq (__m512i a, __m512i b, __m512i c, __m512i d) diff --git a/gcc/testsuite/gcc.target/i386/cond_op_shift_q-1.c b/gcc/testsuite/gcc.target/i386/cond_op_shift_q-1.c index 1b981b57497..19f2fabb620 100644 --- a/gcc/testsuite/gcc.target/i386/cond_op_shift_q-1.c +++ b/gcc/testsuite/gcc.target/i386/cond_op_shift_q-1.c @@ -2,8 +2,8 @@ /* { dg-options "-O2 -march=skylake-avx512 -fdump-tree-optimized -DTYPE=int64" } */ /* { dg-final { scan-tree-dump-times ".COND_SHR" 2 "optimized" } } */ /* { dg-final { scan-tree-dump-times ".COND_SHL" 2 "optimized" } } */ -/* { dg-final { scan-assembler-times "vpsravq" 1 } } */ -/* { dg-final { scan-assembler-times "vpsllvq" 1 } } */ +/* { dg-final { scan-assembler-times "vpsraq" 1 } } */ +/* { dg-final { scan-assembler-times "vpsllq" 1 } } */ /* { dg-final { scan-assembler-times "vpsravq" 1 } } */ /* { dg-final { scan-assembler-times "vpsllvq" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/cond_op_shift_ud-1.c b/gcc/testsuite/gcc.target/i386/cond_op_shift_ud-1.c index eea0f6720c6..6a5c943a399 100644 --- a/gcc/testsuite/gcc.target/i386/cond_op_shift_ud-1.c +++ b/gcc/testsuite/gcc.target/i386/cond_op_shift_ud-1.c @@ -2,8 +2,8 @@ /* { dg-options "-O2 -march=skylake-avx512 -fdump-tree-optimized -DTYPE=uint32" } */ /* { dg-final { scan-tree-dump-times ".COND_SHR" 2 "optimized" } } */ /* { dg-final { scan-tree-dump-times ".COND_SHL" 2 "optimized" } } */ -/* { dg-final { scan-assembler-times "vpsrlvd" 1 } } */ -/* { dg-final { scan-assembler-times "vpsllvd" 1 } } */ +/* { dg-final { scan-assembler-times "vpsrld" 1 } } */ +/* { dg-final { scan-assembler-times "vpslld" 1 } } */ /* { dg-final { scan-assembler-times "vpsrlvd" 1 } } */ /* { dg-final { scan-assembler-times "vpsllvd" 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/cond_op_shift_uq-1.c b/gcc/testsuite/gcc.target/i386/cond_op_shift_uq-1.c index 77a03886d06..b8a3c50c380 100644 --- a/gcc/testsuite/gcc.target/i386/cond_op_shift_uq-1.c +++ b/gcc/testsuite/gcc.target/i386/cond_op_shift_uq-1.c @@ -4,7 +4,7 @@ /* { dg-final { scan-tree-dump-times ".COND_SHL" 2 "optimized" } } */ /* { dg-final { scan-assembler-times "vpsrlq" 1 } } */ /* { dg-final { scan-assembler-times "vpsllq" 1 } } */ -/* { dg-final { scan-assembler-times "vpsrlq" 1 } } */ -/* { dg-final { scan-assembler-times "vpsllq" 1 } } */ +/* { dg-final { scan-assembler-times "vpsrlvq" 1 } } */ +/* { dg-final { scan-assembler-times "vpsllvq" 1 } } */ #include "cond_op_shift_d-1.c" diff --git a/gcc/testsuite/gcc.target/i386/memcpy-pr95886.c b/gcc/testsuite/gcc.target/i386/memcpy-pr95886.c index 0699146296a..6f39b992728 100644 --- a/gcc/testsuite/gcc.target/i386/memcpy-pr95886.c +++ b/gcc/testsuite/gcc.target/i386/memcpy-pr95886.c @@ -74,7 +74,7 @@ void cpy_123406789 (void *d) __builtin_memcpy (d, a1234067890, 9); } -/* { dg-final { scan-rtl-dump-times "const_int 578437695685198337" 1 "expand"} } */ +/* { dg-final { scan-rtl-dump-times "const_int 578437674277470721" 1 "expand"} } */ const char a1234507890[10] = { 1, 2, 3, 4, 5, 0, 7, 8, 9 }; diff --git a/gcc/testsuite/gcc.target/i386/part-vect-sqrtph-1.c b/gcc/testsuite/gcc.target/i386/part-vect-sqrtph-1.c index b7f9e7fb9b2..a6e62d0094b 100644 --- a/gcc/testsuite/gcc.target/i386/part-vect-sqrtph-1.c +++ b/gcc/testsuite/gcc.target/i386/part-vect-sqrtph-1.c @@ -1,7 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-mavx512fp16 -mavx512vl -Ofast" } */ /* { dg-final { scan-assembler-times {(?n)vsqrtph[ \t].*%xmm[0-9]} 2 { target { ! ia32 } } } } */ -/* { dg-final { scan-assembler-times {(?n)vsqrtph[ \t].*%xmm[0-9]} 2 { target { ! ia32 } } } } */ void foo16_sqrt (_Float16* a, _Float16* __restrict c) diff --git a/gcc/testsuite/gcc.target/i386/pr107432-7.c b/gcc/testsuite/gcc.target/i386/pr107432-7.c index 1b33e9a9508..45c58b4bd36 100644 --- a/gcc/testsuite/gcc.target/i386/pr107432-7.c +++ b/gcc/testsuite/gcc.target/i386/pr107432-7.c @@ -10,10 +10,10 @@ /* { dg-final { scan-assembler-times "vpmovsxbd" 7 { target { ! ia32 } } } } */ /* { dg-final { scan-assembler-times "vpmovzxbd" 5 { target { ia32 } } } } */ /* { dg-final { scan-assembler-times "vpmovzxbd" 7 { target { ! ia32 } } } } */ -/* { dg-final { scan-assembler-times "vpmovsxbd" 5 { target { ia32 } } } } */ -/* { dg-final { scan-assembler-times "vpmovsxbd" 7 { target { ! ia32 } } } } */ -/* { dg-final { scan-assembler-times "vpmovzxbd" 5 { target { ia32 } } } } */ -/* { dg-final { scan-assembler-times "vpmovzxbd" 7 { target { ! ia32 } } } } */ +/* { dg-final { scan-assembler-times "vpmovsxbw" 4 { target { ia32 } } } } */ +/* { dg-final { scan-assembler-times "vpmovsxbw" 5 { target { ! ia32 } } } } */ +/* { dg-final { scan-assembler-times "vpmovzxbw" 4 { target { ia32 } } } } */ +/* { dg-final { scan-assembler-times "vpmovzxbw" 5 { target { ! ia32 } } } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr88828-0.c b/gcc/testsuite/gcc.target/i386/pr88828-0.c index 441c441b51d..6fceafe6ce5 100644 --- a/gcc/testsuite/gcc.target/i386/pr88828-0.c +++ b/gcc/testsuite/gcc.target/i386/pr88828-0.c @@ -9,15 +9,13 @@ v4si foo (v4si x) return (v4si){ x[0], 1, x[2], 3 }; } -/* { dg-final { scan-assembler "pblendw" } } */ - v4si bar (v4sf x) { return (v4si){ 1, x[1], x[2], 3 }; } /* { dg-final { scan-assembler "cvttps2dq" } } */ -/* { dg-final { scan-assembler "pblendw" } } */ +/* { dg-final { scan-assembler-times "pblendw" 2 } } */ v4si baz (v4si x) {