On 27/01/2026 14:29, Christophe Lyon wrote:
Depending on how GCC was configured, default -mtune parameter can load
the floating-point constant using either:
     movw    r3, #52429
     movt    r3, 16268
     or
     ldr     r3, .L4

Update the expected code to accept both versions.

Tested on:
- arm-linux-gnueabihf --with-tune=cortex-a9 --with-arch=armv7-a
- arm-none-eabi --with-cpu=cortex-m0
- arm-none-eabi --with-cpu=cortex-m55

2026-01-26  Christophe Lyon  <[email protected]>

        gcc/testsuite/
        * gcc.target/arm/mve/intrinsics/vdupq_n_f32.c: Update expected
        code.

OK

R.
---
  gcc/testsuite/gcc.target/arm/mve/intrinsics/vdupq_n_f32.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdupq_n_f32.c 
b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdupq_n_f32.c
index 81c2e29f5e5..6a01ce47b6d 100644
--- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdupq_n_f32.c
+++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vdupq_n_f32.c
@@ -24,7 +24,12 @@ foo (float32_t a)
  /*
  **foo1:
  **    ...
+** (
  **    ldr     r[0-9]+, .L.*
+** |
+**     movw    (r[0-9]+), #52429
+**     movt    \1, 16268
+** )
  **    vdup.32 q[0-9]+, r[0-9]+
  **    ...
  */

Reply via email to