https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117292
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wilco at gcc dot gnu.org --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So there is a mismatch in the constraint and predicates. The predicates checks aarch64_reg_or_xor_imm which in turns checks aarch64_simd_valid_xor_imm . While the constraint is Do which checks aarch64_simd_valid_orr_imm which accepts a little bit more than aarch64_simd_valid_xor_imm when SVE is turned off.