diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index 6a6573317cf..27dd672ca76 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -459,10 +459,12 @@ ) (define_expand "vec_init" - [(match_operand:VDQ 0 "s_register_operand") + [(match_operand:VDQX 0 "s_register_operand") (match_operand 1 "" "")] "TARGET_NEON || TARGET_HAVE_MVE" { + if (TARGET_HAVE_MVE && GET_MODE_SIZE (GET_MODE (operands[0])) != 16) + FAIL; neon_expand_vector_init (operands[0], operands[1]); DONE; })