The vmvnq_n* intrinsics and have [u]int[16|32]_t arguments, so use <V_elem> iterator instead of HI in mve_vmvnq_n_<supf><mode>.
2022-01-13 Christophe Lyon <christophe.l...@foss.st.com> gcc/ * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode for operand 1. diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md index 171dd384133..5c3b34dce3a 100644 --- a/gcc/config/arm/mve.md +++ b/gcc/config/arm/mve.md @@ -617,7 +617,7 @@ (define_insn "mve_vcvtaq_<supf><mode>" (define_insn "mve_vmvnq_n_<supf><mode>" [ (set (match_operand:MVE_5 0 "s_register_operand" "=w") - (unspec:MVE_5 [(match_operand:HI 1 "immediate_operand" "i")] + (unspec:MVE_5 [(match_operand:<V_elem> 1 "immediate_operand" "i")] VMVNQ_N)) ] "TARGET_HAVE_MVE" -- 2.25.1