vstrq_impl derives from store_truncating and vldrq_impl derives from load_extending which both implement call_properties.
No need to re-implement them in the derived classes. gcc/ChangeLog: * config/arm/arm-mve-builtins-base.cc (vstrq_impl): Remove call_properties. (vldrq_impl): Likewise. --- gcc/config/arm/arm-mve-builtins-base.cc | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/gcc/config/arm/arm-mve-builtins-base.cc b/gcc/config/arm/arm-mve-builtins-base.cc index 7938efcdf68..737403527a9 100644 --- a/gcc/config/arm/arm-mve-builtins-base.cc +++ b/gcc/config/arm/arm-mve-builtins-base.cc @@ -203,11 +203,6 @@ class vstrq_impl : public store_truncating public: using store_truncating::store_truncating; - unsigned int call_properties (const function_instance &) const override - { - return CP_WRITE_MEMORY; - } - rtx expand (function_expander &e) const override { insn_code icode; @@ -369,11 +364,6 @@ class vldrq_impl : public load_extending public: using load_extending::load_extending; - unsigned int call_properties (const function_instance &) const override - { - return CP_READ_MEMORY; - } - rtx expand (function_expander &e) const override { insn_code icode; -- 2.34.1