Hi gcc-patches mailing list,
Christophe Lyon <[email protected]> has requested that the following forgejo 
pull request
be published on the mailing list.

Created on: 2025-11-10 16:24:10+00:00
Latest update: 2025-11-12 13:32:09+00:00
Changes: 3 changed files, 50 additions, 4 deletions
Head revision: clyon/gcc-TEST ref pr122175 commit 
0308c12111160a5b5e5884209b153d2f1e6b99cb
Base revision: gcc/gcc-TEST ref trunk commit 
ef4c2666f2504c57b4e25dd5e7fc431ca05616b5 r16-5122-gef4c2666f2504c
Merge base: ef4c2666f2504c57b4e25dd5e7fc431ca05616b5
Full diff url: https://forge.sourceware.org/gcc/gcc-TEST/pulls/123.diff
Discussion:  https://forge.sourceware.org/gcc/gcc-TEST/pulls/123
Requested Reviewers: rearnsha

arm: mve: avoid invalid immediate values in vbicq_n, vorrq_n, vmvnq_n [PR122175]

A constant value with the top bit of a 16-bit const passed to vbicq_n_u16 will
generate invalid assembly.  Avoid this by masking the constant during assembly
generation.

The same applies to vorrq_n and vmvnq_n.

gcc/ChangeLog:

        PR target/122175
        * config/arm/iterators.md (asm_const_size): New mode attr.
        * config/arm/mve.md (@mve_<mve_insn>q_n_<supf><mode>): Use it.

gcc/testsuite/ChangeLog:

        PR target/122175
        * gcc.target/arm/mve/intrinsics/pr122175.c: New test.

Co-authored-by: Richard Earnshaw <[email protected]>


Changed files:
- A: gcc/testsuite/gcc.target/arm/mve/intrinsics/pr122175.c
- M: gcc/config/arm/iterators.md
- M: gcc/config/arm/mve.md


Christophe Lyon (1):
  arm: mve: avoid invalid immediate values in vbicq_n, vorrq_n, vmvnq_n
    [PR122175]

 gcc/config/arm/iterators.md                   |  8 ++++
 gcc/config/arm/mve.md                         |  8 ++--
 .../gcc.target/arm/mve/intrinsics/pr122175.c  | 38 +++++++++++++++++++
 3 files changed, 50 insertions(+), 4 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/intrinsics/pr122175.c

-- 
2.51.1

Reply via email to