]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm: [MVE intrinsics] update v[id]wdup tests
authorChristophe Lyon <christophe.lyon@linaro.org>
Fri, 30 Aug 2024 09:37:34 +0000 (09:37 +0000)
committerChristophe Lyon <christophe.lyon@linaro.org>
Fri, 18 Oct 2024 07:41:14 +0000 (07:41 +0000)
Testing v[id]wdup overloads with '1' as argument for uint32_t* does
not make sense: this patch adds a new 'unit32_t *a' parameter to foo2
in such tests.

The difference with v[id]dup tests (where we removed 'foo2') is that
in 'foo1' we test the overload with a variable 'wrap' parameter (b)
and we need foo2 to test the overload with an immediate (1).

2024-08-28  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/testsuite/

* gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c: Use pointer
parameter in foo2.
* gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c: Likewise.
* gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c: Likewise.
* gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c: Likewise.
* gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c: Likewise.
* gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c: Likewise.
* gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c: Likewise.
* gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c: Likewise.
* gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c: Likewise.
* gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c: Likewise.
* gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c: Likewise.
* gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c: Likewise.
* gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c: Likewise.
* gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c: Likewise.
* gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c: Likewise.
* gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c: Likewise.
* gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c: Likewise.
* gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c: Likewise.

18 files changed:
gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c

index b24e7a2f5af2ea48c800e50e9d7b2b469c4f9b89..e6004056c2c41ed391e4dfd80aee7c2081bb13ed 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint16x8_t inactive, uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint16x8_t
-foo2 (uint16x8_t inactive, mve_pred16_t p)
+foo2 (uint16x8_t inactive, uint32_t *a, mve_pred16_t p)
 {
-  return vdwdupq_m (inactive, 1, 1, 1, p);
+  return vdwdupq_m (inactive, a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index 75c41450a38042f7797e983a28d129a199b748a0..b36dbcd8585516e73f11500e96a43dcd6211e330 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint32x4_t inactive, uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint32x4_t
-foo2 (uint32x4_t inactive, mve_pred16_t p)
+foo2 (uint32x4_t inactive, uint32_t *a, mve_pred16_t p)
 {
-  return vdwdupq_m (inactive, 1, 1, 1, p);
+  return vdwdupq_m (inactive, a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index 90d64671dcfdbfd94071db6f19cda21bb5e8bc14..b1577065a48bc78b566c7399ceea0dce6e135e25 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint8x16_t inactive, uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint8x16_t
-foo2 (uint8x16_t inactive, mve_pred16_t p)
+foo2 (uint8x16_t inactive, uint32_t *a, mve_pred16_t p)
 {
-  return vdwdupq_m (inactive, 1, 1, 1, p);
+  return vdwdupq_m (inactive, a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index 87af2b6817acbc264ca98b98ec97c5607165e3ae..f1fae4b47e75c5608069f369e19147d17943b00e 100644 (file)
@@ -41,13 +41,13 @@ foo1 (uint32_t *a, uint32_t b)
 **     ...
 */
 uint16x8_t
-foo2 ()
+foo2 (uint32_t *a)
 {
-  return vdwdupq_u16 (1, 1, 1);
+  return vdwdupq_u16 (a, 1, 1);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index ec136dc3222614b178fe74d344f63716c623417f..4282826a4f48cb935a2e4b9147f5d10568cbeed9 100644 (file)
@@ -41,13 +41,13 @@ foo1 (uint32_t *a, uint32_t b)
 **     ...
 */
 uint32x4_t
-foo2 ()
+foo2 (uint32_t *a)
 {
-  return vdwdupq_u32 (1, 1, 1);
+  return vdwdupq_u32 (a, 1, 1);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index 3653d00bc5d9761984ae51b3b999a0aa295504f6..afc8eb281ae42055a321491ca95674f5eaf9a614 100644 (file)
@@ -41,13 +41,13 @@ foo1 (uint32_t *a, uint32_t b)
 **     ...
 */
 uint8x16_t
-foo2 ()
+foo2 (uint32_t *a)
 {
-  return vdwdupq_u8 (1, 1, 1);
+  return vdwdupq_u8 (a, 1, 1);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index e9d994ccfc583c6e5f9cdf2112b5da572609a7c9..fd250c2652c02c92d83f8e38e6fbd9ab158765ad 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint16x8_t
-foo2 (mve_pred16_t p)
+foo2 (uint32_t *a, mve_pred16_t p)
 {
-  return vdwdupq_x_u16 (1, 1, 1, p);
+  return vdwdupq_x_u16 (a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index 07438b023515d2bbafffa5f7c7dbeae2d55ea32d..dbb1961dea5d81e05c0af89ea0b59dfe9c545341 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint32x4_t
-foo2 (mve_pred16_t p)
+foo2 (uint32_t *a, mve_pred16_t p)
 {
-  return vdwdupq_x_u32 (1, 1, 1, p);
+  return vdwdupq_x_u32 (a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index 96280225351d3bfd04b2c9a241425dd1aad45727..5f0047174873a6c607795c08b9083a075a6af000 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint8x16_t
-foo2 (mve_pred16_t p)
+foo2 (uint32_t *a, mve_pred16_t p)
 {
-  return vdwdupq_x_u8 (1, 1, 1, p);
+  return vdwdupq_x_u8 (a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index 84733f94e7c7fa7424cac60779f12e2df2a0a7dc..4d7b0a194ac9d3a9ce5cd02632ed0888b6d8f8d7 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint16x8_t inactive, uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint16x8_t
-foo2 (uint16x8_t inactive, mve_pred16_t p)
+foo2 (uint16x8_t inactive, uint32_t *a, mve_pred16_t p)
 {
-  return viwdupq_m (inactive, 1, 1, 1, p);
+  return viwdupq_m (inactive, a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index a175744b6542394e2c07d2caff229e6fc9d292d7..e78f818ffb8138ab734559df7003efe8bfaca5e4 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint32x4_t inactive, uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint32x4_t
-foo2 (uint32x4_t inactive, mve_pred16_t p)
+foo2 (uint32x4_t inactive, uint32_t *a, mve_pred16_t p)
 {
-  return viwdupq_m (inactive, 1, 1, 1, p);
+  return viwdupq_m (inactive, a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index 7240b6e72bc8c22490d43e6b9928836f82c759b4..2c2f44c87eacee42f1cbbcb0af95138d5f163c60 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint8x16_t inactive, uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint8x16_t
-foo2 (uint8x16_t inactive, mve_pred16_t p)
+foo2 (uint8x16_t inactive, uint32_t *a, mve_pred16_t p)
 {
-  return viwdupq_m (inactive, 1, 1, 1, p);
+  return viwdupq_m (inactive, a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index eaa496bb2da317380859f5acaab6a4cf0af8d524..ccdc3d4ad333bb085556a3e4bf144774958bb4d3 100644 (file)
@@ -41,13 +41,13 @@ foo1 (uint32_t *a, uint32_t b)
 **     ...
 */
 uint16x8_t
-foo2 ()
+foo2 (uint32_t *a)
 {
-  return viwdupq_u16 (1, 1, 1);
+  return viwdupq_u16 (a, 1, 1);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index c1912d77486445d597ce0cbb49181ad43357045a..1faffff4d2195b7017af580ff64a13de427b078a 100644 (file)
@@ -41,13 +41,13 @@ foo1 (uint32_t *a, uint32_t b)
 **     ...
 */
 uint32x4_t
-foo2 ()
+foo2 (uint32_t *a)
 {
-  return viwdupq_u32 (1, 1, 1);
+  return viwdupq_u32 (a, 1, 1);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index f0d66a9ba29ecae3f9640b373a76b8eebdaf4de9..91b0ef41bdc2dafdbc844437fa55d0dbd8da973e 100644 (file)
@@ -41,13 +41,13 @@ foo1 (uint32_t *a, uint32_t b)
 **     ...
 */
 uint8x16_t
-foo2 ()
+foo2 (uint32_t *a)
 {
-  return viwdupq_u8 (1, 1, 1);
+  return viwdupq_u8 (a, 1, 1);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index 265aef42c92c2480a53badf1bc840a0e39dc7d8b..8b474e192c378a0c52ac52f9812706eac655883c 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint16x8_t
-foo2 (mve_pred16_t p)
+foo2 (uint32_t *a, mve_pred16_t p)
 {
-  return viwdupq_x_u16 (1, 1, 1, p);
+  return viwdupq_x_u16 (a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index 585e41075dba9acc1dddc2541c3fbea074a1a8ab..30bf37c7d4f98e97134bb40110d1adc05155761b 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint32x4_t
-foo2 (mve_pred16_t p)
+foo2 (uint32_t *a, mve_pred16_t p)
 {
-  return viwdupq_x_u32 (1, 1, 1, p);
+  return viwdupq_x_u32 (a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */
index ca39081dfc5af8930ea0abd2d6455d504317daef..ae9dd2baa41d67a1cfbd1c4ae80209857a103a43 100644 (file)
@@ -53,13 +53,13 @@ foo1 (uint32_t *a, uint32_t b, mve_pred16_t p)
 **     ...
 */
 uint8x16_t
-foo2 (mve_pred16_t p)
+foo2 (uint32_t *a, mve_pred16_t p)
 {
-  return viwdupq_x_u8 (1, 1, 1, p);
+  return viwdupq_x_u8 (a, 1, 1, p);
 }
 
 #ifdef __cplusplus
 }
 #endif
 
-/* { dg-final { scan-assembler-not "__ARM_undef" } } */
\ No newline at end of file
+/* { dg-final { scan-assembler-not "__ARM_undef" } } */