Re: [PATCH v2 0/2] arm: recognize vdupq idioms [PR124043]

Torbjörn Svensson via Sourceware Forge <[email protected]> Sat, 01 Aug 2026 16:22:04 +0000
Newsgroups gmane.comp.gcc.patches
Message-ID <bmm.hkxxx9g6ps.gcc.gcc.azoff.208.7038.CMT@forge-stage.sourceware.org>
I took v2 for a spin and the crypto tests are changed from XFAIL -> PASS, but there are the following regressions for -mfloat-abi=soft:

-PASS: gcc.target/arm/armv8_2-fp16-neon-1.c scan-assembler-times vdup\\.16\\td[0-9]+, r[0-9]+ 2
-PASS: gcc.target/arm/armv8_2-fp16-neon-1.c scan-assembler-times vdup\\.16\\tq[0-9]+, r[0-9]+ 2
-PASS: gcc.target/arm/armv8_2-fp16-neon-1.c scan-assembler-times vdup\\.16\\td[0-9]+, d[0-9]+\\[1\\] 1
-PASS: gcc.target/arm/armv8_2-fp16-neon-1.c scan-assembler-times vdup\\.16\\tq[0-9]+, d[0-9]+\\[1\\] 1
+FAIL: gcc.target/arm/armv8_2-fp16-neon-1.c scan-assembler-times vdup\\.16\\td[0-9]+, r[0-9]+ 2
+FAIL: gcc.target/arm/armv8_2-fp16-neon-1.c scan-assembler-times vdup\\.16\\tq[0-9]+, r[0-9]+ 2
+FAIL: gcc.target/arm/armv8_2-fp16-neon-1.c scan-assembler-times vdup\\.16\\td[0-9]+, d[0-9]+\\[1\\] 1
+FAIL: gcc.target/arm/armv8_2-fp16-neon-1.c scan-assembler-times vdup\\.16\\tq[0-9]+, d[0-9]+\\[1\\] 1

-PASS: gcc.target/arm/armv8_2-fp16-neon-2.c scan-assembler-times vdup\\.16\\td[0-9]+, r[0-9]+ 3
-PASS: gcc.target/arm/armv8_2-fp16-neon-2.c scan-assembler-times vdup\\.16\\tq[0-9]+, r[0-9]+ 2
-PASS: gcc.target/arm/armv8_2-fp16-neon-2.c scan-assembler-times vdup\\.16\\td[0-9]+, d[0-9]+\\[1\\] 1
-PASS: gcc.target/arm/armv8_2-fp16-neon-2.c scan-assembler-times vdup\\.16\\tq[0-9]+, d[0-9]+\\[1\\] 1
+FAIL: gcc.target/arm/armv8_2-fp16-neon-2.c scan-assembler-times vdup\\.16\\td[0-9]+, r[0-9]+ 3
+FAIL: gcc.target/arm/armv8_2-fp16-neon-2.c scan-assembler-times vdup\\.16\\tq[0-9]+, r[0-9]+ 2
+FAIL: gcc.target/arm/armv8_2-fp16-neon-2.c scan-assembler-times vdup\\.16\\td[0-9]+, d[0-9]+\\[1\\] 1
+FAIL: gcc.target/arm/armv8_2-fp16-neon-2.c scan-assembler-times vdup\\.16\\tq[0-9]+, d[0-9]+\\[1\\] 1

I have not looked into why they are failing, but they are failing for all the targets that I do test.
Example target where the fail is visible: `thumb/arch=armv6s-m/cpu=cortex-m0/float-abi=soft/fpu=auto`

--
https://forge.sourceware.org/gcc/gcc/pulls/208#issuecomment-7038