aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.target/i386')
-rw-r--r--gcc/testsuite/gcc.target/i386/addr-space-1.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-512-convert-1.c36
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-512-vcvt2ph2bf8s-2.c6
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-512-vcvt2ph2hf8s-2.c6
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c6
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c6
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2bf8s-2.c6
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2hf8s-2.c6
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c28
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-convert-1.c72
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512fp16-vmovw-1b.c2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr117946.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr118017.c4
-rw-r--r--gcc/testsuite/gcc.target/i386/pr119425.c37
-rw-r--r--gcc/testsuite/gcc.target/i386/pr119450.c15
-rw-r--r--gcc/testsuite/gcc.target/i386/pr55583.c7
-rw-r--r--gcc/testsuite/gcc.target/i386/sse2-float16-5.c2
17 files changed, 156 insertions, 86 deletions
diff --git a/gcc/testsuite/gcc.target/i386/addr-space-1.c b/gcc/testsuite/gcc.target/i386/addr-space-1.c
index 1e13147..9a5ce9c 100644
--- a/gcc/testsuite/gcc.target/i386/addr-space-1.c
+++ b/gcc/testsuite/gcc.target/i386/addr-space-1.c
@@ -1,4 +1,4 @@
-/* { dg-do compile */
+/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler "movl\[ \t\]%gs:\\((%eax|%rax)\\), %eax" } } */
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-convert-1.c b/gcc/testsuite/gcc.target/i386/avx10_2-512-convert-1.c
index e932362..ff103d0 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-convert-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-convert-1.c
@@ -86,9 +86,9 @@ avx10_2_vcvtbiasph2bf8_test (void)
void extern
avx10_2_vcvtbiasph2bf8s_test (void)
{
- x256i = _mm512_cvtbiassph_bf8 (x512i, x512h);
- x256i = _mm512_mask_cvtbiassph_bf8 (x256i, m32, x512i, x512h);
- x256i = _mm512_maskz_cvtbiassph_bf8 (m32, x512i, x512h);
+ x256i = _mm512_cvts_biasph_bf8 (x512i, x512h);
+ x256i = _mm512_mask_cvts_biasph_bf8 (x256i, m32, x512i, x512h);
+ x256i = _mm512_maskz_cvts_biasph_bf8 (m32, x512i, x512h);
}
void extern
@@ -102,9 +102,9 @@ avx10_2_vcvtbiasph2hf8_test (void)
void extern
avx10_2_vcvtbiasph2hf8s_test (void)
{
- x256i = _mm512_cvtbiassph_hf8 (x512i, x512h);
- x256i = _mm512_mask_cvtbiassph_hf8 (x256i, m32, x512i, x512h);
- x256i = _mm512_maskz_cvtbiassph_hf8 (m32, x512i, x512h);
+ x256i = _mm512_cvts_biasph_hf8 (x512i, x512h);
+ x256i = _mm512_mask_cvts_biasph_hf8 (x256i, m32, x512i, x512h);
+ x256i = _mm512_maskz_cvts_biasph_hf8 (m32, x512i, x512h);
}
void extern
@@ -118,9 +118,9 @@ avx10_2_vcvt2ph2bf8_test (void)
void extern
avx10_2_vcvt2ph2bf8s_test (void)
{
- x512i = _mm512_cvts2ph_bf8 (x512h, x512h);
- x512i = _mm512_mask_cvts2ph_bf8 (x512i, m64, x512h, x512h);
- x512i = _mm512_maskz_cvts2ph_bf8 (m64, x512h, x512h);
+ x512i = _mm512_cvts_2ph_bf8 (x512h, x512h);
+ x512i = _mm512_mask_cvts_2ph_bf8 (x512i, m64, x512h, x512h);
+ x512i = _mm512_maskz_cvts_2ph_bf8 (m64, x512h, x512h);
}
void extern
@@ -134,9 +134,9 @@ avx10_2_vcvt2ph2hf8_test (void)
void extern
avx10_2_vcvt2ph2hf8s_test (void)
{
- x512i = _mm512_cvts2ph_hf8 (x512h, x512h);
- x512i = _mm512_mask_cvts2ph_hf8 (x512i, m64, x512h, x512h);
- x512i = _mm512_maskz_cvts2ph_hf8 (m64, x512h, x512h);
+ x512i = _mm512_cvts_2ph_hf8 (x512h, x512h);
+ x512i = _mm512_mask_cvts_2ph_hf8 (x512i, m64, x512h, x512h);
+ x512i = _mm512_maskz_cvts_2ph_hf8 (m64, x512h, x512h);
}
void extern
@@ -158,9 +158,9 @@ avx10_2_vcvtph2bf8_test (void)
void extern
avx10_2_vcvtph2bf8s_test (void)
{
- x256i = _mm512_cvtsph_bf8 (x512h);
- x256i = _mm512_mask_cvtsph_bf8 (x256i, m32, x512h);
- x256i = _mm512_maskz_cvtsph_bf8 (m32, x512h);
+ x256i = _mm512_cvts_ph_bf8 (x512h);
+ x256i = _mm512_mask_cvts_ph_bf8 (x256i, m32, x512h);
+ x256i = _mm512_maskz_cvts_ph_bf8 (m32, x512h);
}
void extern
@@ -174,9 +174,9 @@ avx10_2_vcvtph2hf8_test (void)
void extern
avx10_2_vcvtph2hf8s_test (void)
{
- x256i = _mm512_cvtsph_hf8 (x512h);
- x256i = _mm512_mask_cvtsph_hf8 (x256i, m32, x512h);
- x256i = _mm512_maskz_cvtsph_hf8 (m32, x512h);
+ x256i = _mm512_cvts_ph_hf8 (x512h);
+ x256i = _mm512_mask_cvts_ph_hf8 (x256i, m32, x512h);
+ x256i = _mm512_maskz_cvts_ph_hf8 (m32, x512h);
}
void extern
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvt2ph2bf8s-2.c b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvt2ph2bf8s-2.c
index aa8545c..33d9c0c 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvt2ph2bf8s-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvt2ph2bf8s-2.c
@@ -64,16 +64,16 @@ TEST (void)
CALC(res_ref, src1.a, src2.a);
- res1.x = INTRINSIC (_cvts2ph_bf8) (src1.x, src2.x);
+ res1.x = INTRINSIC (_cvts_2ph_bf8) (src1.x, src2.x);
if (UNION_CHECK (AVX512F_LEN, i_b) (res1, res_ref))
abort ();
- res2.x = INTRINSIC (_mask_cvts2ph_bf8) (res2.x, mask, src1.x, src2.x);
+ res2.x = INTRINSIC (_mask_cvts_2ph_bf8) (res2.x, mask, src1.x, src2.x);
MASK_MERGE (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN, i_b) (res2, res_ref))
abort ();
- res3.x = INTRINSIC (_maskz_cvts2ph_bf8) (mask, src1.x, src2.x);
+ res3.x = INTRINSIC (_maskz_cvts_2ph_bf8) (mask, src1.x, src2.x);
MASK_ZERO (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN, i_b) (res3, res_ref))
abort ();
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvt2ph2hf8s-2.c b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvt2ph2hf8s-2.c
index afed1d1..b9fdfac 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvt2ph2hf8s-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvt2ph2hf8s-2.c
@@ -64,16 +64,16 @@ TEST (void)
CALC(res_ref, src1.a, src2.a);
- res1.x = INTRINSIC (_cvts2ph_hf8) (src1.x, src2.x);
+ res1.x = INTRINSIC (_cvts_2ph_hf8) (src1.x, src2.x);
if (UNION_CHECK (AVX512F_LEN, i_b) (res1, res_ref))
abort ();
- res2.x = INTRINSIC (_mask_cvts2ph_hf8) (res2.x, mask, src1.x, src2.x);
+ res2.x = INTRINSIC (_mask_cvts_2ph_hf8) (res2.x, mask, src1.x, src2.x);
MASK_MERGE (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN, i_b) (res2, res_ref))
abort ();
- res3.x = INTRINSIC (_maskz_cvts2ph_hf8) (mask, src1.x, src2.x);
+ res3.x = INTRINSIC (_maskz_cvts_2ph_hf8) (mask, src1.x, src2.x);
MASK_ZERO (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN, i_b) (res3, res_ref))
abort ();
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c
index 88ced07..93de7ea 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtbiasph2bf8s-2.c
@@ -61,16 +61,16 @@ TEST (void)
CALC (res_ref, src1.a, src2.a);
- res1.x = INTRINSIC (_cvtbiassph_bf8) (src1.x, src2.x);
+ res1.x = INTRINSIC (_cvts_biasph_bf8) (src1.x, src2.x);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res1, res_ref))
abort ();
- res2.x = INTRINSIC (_mask_cvtbiassph_bf8) (res2.x, mask, src1.x, src2.x);
+ res2.x = INTRINSIC (_mask_cvts_biasph_bf8) (res2.x, mask, src1.x, src2.x);
MASK_MERGE (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res2, res_ref))
abort ();
- res3.x = INTRINSIC (_maskz_cvtbiassph_bf8) (mask, src1.x, src2.x);
+ res3.x = INTRINSIC (_maskz_cvts_biasph_bf8) (mask, src1.x, src2.x);
MASK_ZERO (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res3, res_ref))
abort ();
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c
index 1a8b4d6..0333f08 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtbiasph2hf8s-2.c
@@ -60,16 +60,16 @@ TEST (void)
CALC (res_ref, src1.a, src2.a);
- res1.x = INTRINSIC (_cvtbiassph_hf8) (src1.x, src2.x);
+ res1.x = INTRINSIC (_cvts_biasph_hf8) (src1.x, src2.x);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res1, res_ref))
abort ();
- res2.x = INTRINSIC (_mask_cvtbiassph_hf8) (res2.x, mask, src1.x, src2.x);
+ res2.x = INTRINSIC (_mask_cvts_biasph_hf8) (res2.x, mask, src1.x, src2.x);
MASK_MERGE (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res2, res_ref))
abort ();
- res3.x = INTRINSIC (_maskz_cvtbiassph_hf8) (mask, src1.x, src2.x);
+ res3.x = INTRINSIC (_maskz_cvts_biasph_hf8) (mask, src1.x, src2.x);
MASK_ZERO (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res3, res_ref))
abort ();
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2bf8s-2.c b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2bf8s-2.c
index f4853ce..c22e1aa 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2bf8s-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2bf8s-2.c
@@ -60,16 +60,16 @@ TEST (void)
CALC(res_ref, src.a);
- res1.x = INTRINSIC (_cvtsph_bf8) (src.x);
+ res1.x = INTRINSIC (_cvts_ph_bf8) (src.x);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res1, res_ref))
abort ();
- res2.x = INTRINSIC (_mask_cvtsph_bf8) (res2.x, mask, src.x);
+ res2.x = INTRINSIC (_mask_cvts_ph_bf8) (res2.x, mask, src.x);
MASK_MERGE (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res2, res_ref))
abort ();
- res3.x = INTRINSIC (_maskz_cvtsph_bf8) (mask, src.x);
+ res3.x = INTRINSIC (_maskz_cvts_ph_bf8) (mask, src.x);
MASK_ZERO (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res3, res_ref))
abort ();
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2hf8s-2.c b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2hf8s-2.c
index 43610bf..e6872e8 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2hf8s-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2hf8s-2.c
@@ -60,16 +60,16 @@ TEST (void)
CALC(res_ref, src.a);
- res1.x = INTRINSIC (_cvtsph_hf8) (src.x);
+ res1.x = INTRINSIC (_cvts_ph_hf8) (src.x);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res1, res_ref))
abort ();
- res2.x = INTRINSIC (_mask_cvtsph_hf8) (res2.x, mask, src.x);
+ res2.x = INTRINSIC (_mask_cvts_ph_hf8) (res2.x, mask, src.x);
MASK_MERGE (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res2, res_ref))
abort ();
- res3.x = INTRINSIC (_maskz_cvtsph_hf8) (mask, src.x);
+ res3.x = INTRINSIC (_maskz_cvts_ph_hf8) (mask, src.x);
MASK_ZERO (i_b) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN_HALF, i_b) (res3, res_ref))
abort ();
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c
index d057c83..1db5a89 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c
@@ -9,6 +9,7 @@
#endif
#include "avx10-helper.h"
#include <limits.h>
+#include <string.h>
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
@@ -37,7 +38,7 @@ TEST (void)
UNION_TYPE (AVX512F_LEN, h) s;
UNION_TYPE (AVX512F_LEN, i_w) res1, res2, res3;
MASK_TYPE mask = MASK_VALUE;
- short res_ref[SIZE] = { 0 };
+ short res_ref[SIZE] = { 0 }, res_ref2[SIZE] = { 0 };
int i, sign = 1;
for (i = 0; i < SIZE; i++)
@@ -54,11 +55,7 @@ TEST (void)
res3.x = INTRINSIC (_maskz_ipcvtts_ph_epu8) (mask, s.x);
CALC (s.a, res_ref);
-
-#if AVX512F_LEN == 512
- res1.x = INTRINSIC (_ipcvtts_roundph_epu8) (s.x, 8);
- res2.x = INTRINSIC (_mask_ipcvtts_roundph_epu8) (res2.x, mask, s.x, 8);
- res3.x = INTRINSIC (_maskz_ipcvtts_roundph_epu8) (mask, s.x, 8);
+ memcpy(res_ref2, res_ref, sizeof(res_ref));
if (UNION_CHECK (AVX512F_LEN, i_w) (res1, res_ref))
abort ();
@@ -70,5 +67,24 @@ TEST (void)
MASK_ZERO (i_w) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN, i_w) (res3, res_ref))
abort ();
+
+#if AVX512F_LEN == 512
+ for (i = 0; i < SIZE; i++)
+ res2.a[i] = DEFAULT_VALUE;
+
+ res1.x = INTRINSIC (_ipcvtts_roundph_epu8) (s.x, 8);
+ res2.x = INTRINSIC (_mask_ipcvtts_roundph_epu8) (res2.x, mask, s.x, 8);
+ res3.x = INTRINSIC (_maskz_ipcvtts_roundph_epu8) (mask, s.x, 8);
+
+ if (UNION_CHECK (AVX512F_LEN, i_w) (res1, res_ref2))
+ abort ();
+
+ MASK_MERGE (i_w) (res_ref2, mask, SIZE);
+ if (UNION_CHECK (AVX512F_LEN, i_w) (res2, res_ref2))
+ abort ();
+
+ MASK_ZERO (i_w) (res_ref2, mask, SIZE);
+ if (UNION_CHECK (AVX512F_LEN, i_w) (res3, res_ref2))
+ abort ();
#endif
}
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-convert-1.c b/gcc/testsuite/gcc.target/i386/avx10_2-convert-1.c
index 62791d0..3d5e921 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-convert-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-convert-1.c
@@ -138,13 +138,13 @@ avx10_2_vcvtbiasph2bf8_test (void)
void extern
avx10_2_vcvtbiasph2bf8s_test (void)
{
- x128i = _mm_cvtbiassph_bf8 (x128i, x128h);
- x128i = _mm_mask_cvtbiassph_bf8 (x128i, m8, x128i, x128h);
- x128i = _mm_maskz_cvtbiassph_bf8 (m8, x128i, x128h);
+ x128i = _mm_cvts_biasph_bf8 (x128i, x128h);
+ x128i = _mm_mask_cvts_biasph_bf8 (x128i, m8, x128i, x128h);
+ x128i = _mm_maskz_cvts_biasph_bf8 (m8, x128i, x128h);
- x128i = _mm256_cvtbiassph_bf8 (x256i, x256h);
- x128i = _mm256_mask_cvtbiassph_bf8 (x128i, m16, x256i, x256h);
- x128i = _mm256_maskz_cvtbiassph_bf8 (m16, x256i, x256h);
+ x128i = _mm256_cvts_biasph_bf8 (x256i, x256h);
+ x128i = _mm256_mask_cvts_biasph_bf8 (x128i, m16, x256i, x256h);
+ x128i = _mm256_maskz_cvts_biasph_bf8 (m16, x256i, x256h);
}
void extern
@@ -162,13 +162,13 @@ avx10_2_vcvtbiasph2hf8_test (void)
void extern
avx10_2_vcvtbiasph2hf8s_test (void)
{
- x128i = _mm_cvtbiassph_hf8 (x128i, x128h);
- x128i = _mm_mask_cvtbiassph_hf8 (x128i, m8, x128i, x128h);
- x128i = _mm_maskz_cvtbiassph_hf8 (m8, x128i, x128h);
+ x128i = _mm_cvts_biasph_hf8 (x128i, x128h);
+ x128i = _mm_mask_cvts_biasph_hf8 (x128i, m8, x128i, x128h);
+ x128i = _mm_maskz_cvts_biasph_hf8 (m8, x128i, x128h);
- x128i = _mm256_cvtbiassph_hf8 (x256i, x256h);
- x128i = _mm256_mask_cvtbiassph_hf8 (x128i, m16, x256i, x256h);
- x128i = _mm256_maskz_cvtbiassph_hf8 (m16, x256i, x256h);
+ x128i = _mm256_cvts_biasph_hf8 (x256i, x256h);
+ x128i = _mm256_mask_cvts_biasph_hf8 (x128i, m16, x256i, x256h);
+ x128i = _mm256_maskz_cvts_biasph_hf8 (m16, x256i, x256h);
}
void extern
@@ -185,12 +185,12 @@ avx10_2_vcvt2ph2bf8_test (void)
void extern
avx10_2_vcvt2ph2bf8s_test (void)
{
- x128i = _mm_cvts2ph_bf8 (x128h, x128h);
- x128i = _mm_mask_cvts2ph_bf8 (x128i, m16, x128h, x128h);
- x128i = _mm_maskz_cvts2ph_bf8 (m16, x128h, x128h);
- x256i = _mm256_cvts2ph_bf8 (x256h, x256h);
- x256i = _mm256_mask_cvts2ph_bf8 (x256i, m32, x256h, x256h);
- x256i = _mm256_maskz_cvts2ph_bf8 (m32, x256h, x256h);
+ x128i = _mm_cvts_2ph_bf8 (x128h, x128h);
+ x128i = _mm_mask_cvts_2ph_bf8 (x128i, m16, x128h, x128h);
+ x128i = _mm_maskz_cvts_2ph_bf8 (m16, x128h, x128h);
+ x256i = _mm256_cvts_2ph_bf8 (x256h, x256h);
+ x256i = _mm256_mask_cvts_2ph_bf8 (x256i, m32, x256h, x256h);
+ x256i = _mm256_maskz_cvts_2ph_bf8 (m32, x256h, x256h);
}
void extern
@@ -207,12 +207,12 @@ avx10_2_vcvt2ph2hf8_test (void)
void extern
avx10_2_vcvt2ph2hf8s_test (void)
{
- x128i = _mm_cvts2ph_hf8 (x128h, x128h);
- x128i = _mm_mask_cvts2ph_hf8 (x128i, m16, x128h, x128h);
- x128i = _mm_maskz_cvts2ph_hf8 (m16, x128h, x128h);
- x256i = _mm256_cvts2ph_hf8 (x256h, x256h);
- x256i = _mm256_mask_cvts2ph_hf8 (x256i, m32, x256h, x256h);
- x256i = _mm256_maskz_cvts2ph_hf8 (m32, x256h, x256h);
+ x128i = _mm_cvts_2ph_hf8 (x128h, x128h);
+ x128i = _mm_mask_cvts_2ph_hf8 (x128i, m16, x128h, x128h);
+ x128i = _mm_maskz_cvts_2ph_hf8 (m16, x128h, x128h);
+ x256i = _mm256_cvts_2ph_hf8 (x256h, x256h);
+ x256i = _mm256_mask_cvts_2ph_hf8 (x256i, m32, x256h, x256h);
+ x256i = _mm256_maskz_cvts_2ph_hf8 (m32, x256h, x256h);
}
void extern
@@ -242,13 +242,13 @@ avx10_2_vcvtph2bf8_test (void)
void extern
avx10_2_vcvtph2bf8s_test (void)
{
- x128i = _mm_cvtsph_bf8 (x128h);
- x128i = _mm_mask_cvtsph_bf8 (x128i, m8, x128h);
- x128i = _mm_maskz_cvtsph_bf8 (m8, x128h);
+ x128i = _mm_cvts_ph_bf8 (x128h);
+ x128i = _mm_mask_cvts_ph_bf8 (x128i, m8, x128h);
+ x128i = _mm_maskz_cvts_ph_bf8 (m8, x128h);
- x128i = _mm256_cvtsph_bf8 (x256h);
- x128i = _mm256_mask_cvtsph_bf8 (x128i, m16, x256h);
- x128i = _mm256_maskz_cvtsph_bf8 (m16, x256h);
+ x128i = _mm256_cvts_ph_bf8 (x256h);
+ x128i = _mm256_mask_cvts_ph_bf8 (x128i, m16, x256h);
+ x128i = _mm256_maskz_cvts_ph_bf8 (m16, x256h);
}
void extern
@@ -266,13 +266,13 @@ avx10_2_vcvtph2hf8_test (void)
void extern
avx10_2_vcvtph2hf8s_test (void)
{
- x128i = _mm_cvtsph_hf8 (x128h);
- x128i = _mm_mask_cvtsph_hf8 (x128i, m8, x128h);
- x128i = _mm_maskz_cvtsph_hf8 (m8, x128h);
+ x128i = _mm_cvts_ph_hf8 (x128h);
+ x128i = _mm_mask_cvts_ph_hf8 (x128i, m8, x128h);
+ x128i = _mm_maskz_cvts_ph_hf8 (m8, x128h);
- x128i = _mm256_cvtsph_hf8 (x256h);
- x128i = _mm256_mask_cvtsph_hf8 (x128i, m16, x256h);
- x128i = _mm256_maskz_cvtsph_hf8 (m16, x256h);
+ x128i = _mm256_cvts_ph_hf8 (x256h);
+ x128i = _mm256_mask_cvts_ph_hf8 (x128i, m16, x256h);
+ x128i = _mm256_maskz_cvts_ph_hf8 (m16, x256h);
}
void extern
diff --git a/gcc/testsuite/gcc.target/i386/avx512fp16-vmovw-1b.c b/gcc/testsuite/gcc.target/i386/avx512fp16-vmovw-1b.c
index a96007d..9b08f5a 100644
--- a/gcc/testsuite/gcc.target/i386/avx512fp16-vmovw-1b.c
+++ b/gcc/testsuite/gcc.target/i386/avx512fp16-vmovw-1b.c
@@ -1,4 +1,4 @@
-/* { dg-do run {target avx512fp16} } */
+/* { dg-do run { target avx512fp16 } } */
/* { dg-options "-O2 -mavx512fp16" } */
static void do_test (void);
diff --git a/gcc/testsuite/gcc.target/i386/pr117946.c b/gcc/testsuite/gcc.target/i386/pr117946.c
index c4bf825..b46921c 100644
--- a/gcc/testsuite/gcc.target/i386/pr117946.c
+++ b/gcc/testsuite/gcc.target/i386/pr117946.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target { ! ia32 } } } */
+/* { dg-require-effective-target dfp } */
/* { dg-options "-O -favoid-store-forwarding -mavx10.1 -mprefer-avx128 --param=store-forwarding-max-distance=128 -Wno-psabi" } */
/* { dg-warning "'-mavx10.1' is aliased to 512 bit since GCC14.3 and GCC15.1 while '-mavx10.1-256' and '-mavx10.1-512' will be deprecated in GCC 16 due to all machines 512 bit vector size supported" "" { target *-*-* } 0 } */
typedef __attribute__((__vector_size__ (64))) _Decimal32 V;
diff --git a/gcc/testsuite/gcc.target/i386/pr118017.c b/gcc/testsuite/gcc.target/i386/pr118017.c
index 28797a0..831ec6e 100644
--- a/gcc/testsuite/gcc.target/i386/pr118017.c
+++ b/gcc/testsuite/gcc.target/i386/pr118017.c
@@ -1,5 +1,7 @@
/* PR target/118017 */
-/* { dg-do compile { target int128 } } */
+/* { dg-do compile } */
+/* { dg-require-effective-target int128 } */
+/* { dg-require-effective-target dfp } */
/* { dg-options "-Og -frounding-math -mno-80387 -mno-mmx -Wno-psabi" } */
typedef __attribute__((__vector_size__ (64))) _Float128 F;
diff --git a/gcc/testsuite/gcc.target/i386/pr119425.c b/gcc/testsuite/gcc.target/i386/pr119425.c
new file mode 100644
index 0000000..b926979
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr119425.c
@@ -0,0 +1,37 @@
+/* PR target/119425 */
+/* { dg-do compile { target { ! ia32 } } } */
+/* { dg-options "-Os -fno-vect-cost-model -ftree-slp-vectorize -mavxneconvert -mapxf" } */
+extern long K512[];
+extern long sha512_block_data_order_ctx[];
+
+#define Ch(x, y, z) ~x &z
+#define ROUND_00_15(i, a, b, c, d, e, f, g, h) \
+ T1 += ~e & g + K512[i]; \
+h = 0; \
+d += h += T1
+#define ROUND_16_80(i, j, a, b, c, d, e, f, g, h, X) \
+ ROUND_00_15(i + j, , , , d, e, , g, h)
+
+unsigned sha512_block_data_order_f, sha512_block_data_order_g;
+
+void
+sha512_block_data_order()
+{
+ unsigned a, b, c, d, e, h, T1;
+ int i = 6;
+ for (; i < 80; i += 6) {
+ ROUND_16_80(i, 0, , , , d, e, , , h, );
+ ROUND_16_80(i, 11, , , , a, b, , d, e, );
+ ROUND_16_80(i, 12, , , , h, a, , c, d, );
+ ROUND_16_80(i, 13, , , , sha512_block_data_order_g, h, , b, c, );
+ ROUND_16_80(i, 14, , , , sha512_block_data_order_f,
+ sha512_block_data_order_g, , a, b, );
+ ROUND_16_80(i, 15, , , , e, sha512_block_data_order_f, , , a, );
+
+ }
+ sha512_block_data_order_ctx[0] += a;
+ sha512_block_data_order_ctx[1] += b;
+ sha512_block_data_order_ctx[2] += c;
+ sha512_block_data_order_ctx[3] += d;
+
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr119450.c b/gcc/testsuite/gcc.target/i386/pr119450.c
new file mode 100644
index 0000000..fa4bbda
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr119450.c
@@ -0,0 +1,15 @@
+/* PR target/119450 */
+/* { dg-do compile } */
+/* { dg-options "-O3" } */
+
+long *a;
+int b;
+
+void
+foo (void)
+{
+ unsigned d = b >> 30;
+ a = (long *) (__UINTPTR_TYPE__) d;
+ if (*a & 1 << 30)
+ *a = 0;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr55583.c b/gcc/testsuite/gcc.target/i386/pr55583.c
index ea6a2d5..8773451 100644
--- a/gcc/testsuite/gcc.target/i386/pr55583.c
+++ b/gcc/testsuite/gcc.target/i386/pr55583.c
@@ -1,9 +1,8 @@
/* { dg-do compile } */
/* { dg-options "-O2 -Wno-shift-count-overflow" } */
-/* { dg-final { scan-assembler-times {(?n)shrd[ql]?[\t ]*\$2} 4 { target { ! ia32 } } } } */
-/* { dg-final { scan-assembler-times {(?n)shrdl?[\t ]*\$2} 2 { target ia32 } } } */
-/* { dg-final { scan-assembler-times {(?n)shldl?[\t ]*\$2} 1 { target ia32 } } } */
-/* { dg-final { scan-assembler-times {(?n)shld[ql]?[\t ]*\$2} 2 { target { ! ia32 } } } } */
+/* { dg-additional-options "-mno-sse -mno-mmx" { target ia32 } } */
+/* { dg-final { scan-assembler-times {(?n)shrd[ql]?[\t ]*\$2} 4 } } */
+/* { dg-final { scan-assembler-times {(?n)shld[ql]?[\t ]*\$2} 2 } } */
typedef unsigned long long u64;
typedef unsigned int u32;
diff --git a/gcc/testsuite/gcc.target/i386/sse2-float16-5.c b/gcc/testsuite/gcc.target/i386/sse2-float16-5.c
index c3ed23b..8207842 100644
--- a/gcc/testsuite/gcc.target/i386/sse2-float16-5.c
+++ b/gcc/testsuite/gcc.target/i386/sse2-float16-5.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target ia32} } */
+/* { dg-do compile { target ia32 } } */
/* { dg-options "-O2 -mno-sse2" } */
_Float16 a;