https://gcc.gnu.org/g:e65ab03fac39bc708dbc9c7436e17887b6457f05
commit r15-4448-ge65ab03fac39bc708dbc9c7436e17887b6457f05 Author: Christophe Lyon <christophe.l...@linaro.org> Date: Fri Aug 30 09:37:34 2024 +0000 arm: [MVE intrinsics] update v[id]wdup tests 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.l...@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. Diff: --- gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c | 6 +++--- gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c | 6 +++--- 18 files changed, 54 insertions(+), 54 deletions(-) diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c index b24e7a2f5af2..e6004056c2c4 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u16.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c index 75c41450a380..b36dbcd85855 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u32.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c index 90d64671dcfd..b1577065a48b 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_m_wb_u8.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c index 87af2b6817ac..f1fae4b47e75 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u16.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c index ec136dc32226..4282826a4f48 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u32.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c index 3653d00bc5d9..afc8eb281ae4 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_wb_u8.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c index e9d994ccfc58..fd250c2652c0 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u16.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c index 07438b023515..dbb1961dea5d 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u32.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c index 96280225351d..5f0047174873 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdwdupq_x_wb_u8.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c index 84733f94e7c7..4d7b0a194ac9 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u16.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c index a175744b6542..e78f818ffb81 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u32.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c index 7240b6e72bc8..2c2f44c87eac 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_m_wb_u8.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c index eaa496bb2da3..ccdc3d4ad333 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u16.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c index c1912d774864..1faffff4d219 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u32.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c index f0d66a9ba29e..91b0ef41bdc2 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_wb_u8.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c index 265aef42c92c..8b474e192c37 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u16.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c index 585e41075dba..30bf37c7d4f9 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u32.c @@ -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" } } */ diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c index ca39081dfc5a..ae9dd2baa41d 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/viwdupq_x_wb_u8.c @@ -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" } } */