https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113926
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Naveen H.S <[email protected]>: https://gcc.gnu.org/g:f152cf1734f8087b982605ce93d4fb048283564e commit r17-1491-gf152cf1734f8087b982605ce93d4fb048283564e Author: Naveen <[email protected]> Date: Thu Jun 11 06:26:23 2026 -0700 [AArch64]: Use MOVI for lowâ64âbit integer SIMD constant vectors [PR113926] Extend AdvSIMD constant materialization to recognize 128âbit integer vector constants where the low 64 bits contain a duplicated scalar value and the high 64 bits are zero. Bootstrapped and tested on aarch64-linux-gnu. gcc/ChangeLog: PR target/113926 * config/aarch64/aarch64.cc (struct simd_immediate_info): Add width field to record AdvSIMD output vector width. (simd_immediate_info::simd_immediate_info): Initialize width to zero in all constructors. (aarch64_simd_valid_imm): Allow 128-bit AdvSIMD MOV immediates with zero high 64 bits to be materialized using 64-bit MOVI. (aarch64_output_simd_imm): Use recorded immediate width when outputting AdvSIMD immediates. gcc/testsuite/ChangeLog: PR target/113926 * gcc.target/aarch64/pr113926.c: New test. * gcc.target/aarch64/pr113926_1.c: New test. Signed-off-by: Naveen <[email protected]>
