public inbox for gcc-cvs@sourceware.org help / color / mirror / Atom feed
From: Richard Sandiford <rsandifo@gcc.gnu.org> To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-3401] aarch64: Use using directives to inherit constructors Date: Thu, 20 Oct 2022 09:38:20 +0000 (GMT) [thread overview] Message-ID: <20221020093820.812F53815E45@sourceware.org> (raw) https://gcc.gnu.org/g:7bca7218ac92b8f842d93dd672385c2ba0f8faf9 commit r13-3401-g7bca7218ac92b8f842d93dd672385c2ba0f8faf9 Author: Richard Sandiford <richard.sandiford@arm.com> Date: Thu Oct 20 10:37:34 2022 +0100 aarch64: Use using directives to inherit constructors Now that the codebase is C++11, we can use using directives to inherit constructors from base classes. gcc/ * config/aarch64/aarch64-sve-builtins-functions.h (quiet) (rtx_code_function, rtx_code_function_rotated, unspec_based_function) (unspec_based_function_rotated, unspec_based_function_exact_insn) (unspec_based_fused_function, unspec_based_fused_lane_function): Replace constructors with using directives. * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl) (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl) (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend) (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl) (svst234_impl, svundef_impl): Likewise. * config/aarch64/aarch64-sve-builtins-sve2.cc (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise. (svstnt1_scatter_truncate_impl): Likewise. Diff: --- gcc/config/aarch64/aarch64-sve-builtins-base.cc | 43 +++++------------ .../aarch64/aarch64-sve-builtins-functions.h | 56 ++++------------------ gcc/config/aarch64/aarch64-sve-builtins-sve2.cc | 12 ++--- 3 files changed, 24 insertions(+), 87 deletions(-) diff --git a/gcc/config/aarch64/aarch64-sve-builtins-base.cc b/gcc/config/aarch64/aarch64-sve-builtins-base.cc index d52454bcf27..141f44d4d94 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins-base.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins-base.cc @@ -536,8 +536,7 @@ public: class svcnt_bhwd_pat_impl : public svcnt_bhwd_impl { public: - constexpr svcnt_bhwd_pat_impl (machine_mode ref_mode) - : svcnt_bhwd_impl (ref_mode) {} + using svcnt_bhwd_impl::svcnt_bhwd_impl; gimple * fold (gimple_folder &f) const override @@ -588,8 +587,7 @@ public: class svcreate_impl : public quiet<multi_vector_function> { public: - constexpr svcreate_impl (unsigned int vectors_per_tuple) - : quiet<multi_vector_function> (vectors_per_tuple) {} + using quiet<multi_vector_function>::quiet; gimple * fold (gimple_folder &f) const override @@ -722,12 +720,7 @@ public: class svdotprod_lane_impl : public unspec_based_function_base { public: - constexpr svdotprod_lane_impl (int unspec_for_sint, - int unspec_for_uint, - int unspec_for_float) - : unspec_based_function_base (unspec_for_sint, - unspec_for_uint, - unspec_for_float) {} + using unspec_based_function_base::unspec_based_function_base; rtx expand (function_expander &e) const override @@ -1003,8 +996,7 @@ public: class svget_impl : public quiet<multi_vector_function> { public: - constexpr svget_impl (unsigned int vectors_per_tuple) - : quiet<multi_vector_function> (vectors_per_tuple) {} + using quiet<multi_vector_function>::quiet; gimple * fold (gimple_folder &f) const override @@ -1118,8 +1110,7 @@ public: class svld1_extend_impl : public extending_load { public: - constexpr svld1_extend_impl (type_suffix_index memory_type) - : extending_load (memory_type) {} + using extending_load::extending_load; rtx expand (function_expander &e) const override @@ -1158,8 +1149,7 @@ public: class svld1_gather_extend_impl : public extending_load { public: - constexpr svld1_gather_extend_impl (type_suffix_index memory_type) - : extending_load (memory_type) {} + using extending_load::extending_load; rtx expand (function_expander &e) const override @@ -1289,8 +1279,7 @@ public: class svld234_impl : public full_width_access { public: - constexpr svld234_impl (unsigned int vectors_per_tuple) - : full_width_access (vectors_per_tuple) {} + using full_width_access::full_width_access; unsigned int call_properties (const function_instance &) const override @@ -1372,8 +1361,7 @@ public: class svldff1_gather_extend : public extending_load { public: - constexpr svldff1_gather_extend (type_suffix_index memory_type) - : extending_load (memory_type) {} + using extending_load::extending_load; rtx expand (function_expander &e) const override @@ -2070,8 +2058,7 @@ public: class svset_impl : public quiet<multi_vector_function> { public: - constexpr svset_impl (unsigned int vectors_per_tuple) - : quiet<multi_vector_function> (vectors_per_tuple) {} + using quiet<multi_vector_function>::quiet; gimple * fold (gimple_folder &f) const override @@ -2199,8 +2186,7 @@ public: class svst1_scatter_truncate_impl : public truncating_store { public: - constexpr svst1_scatter_truncate_impl (scalar_int_mode to_mode) - : truncating_store (to_mode) {} + using truncating_store::truncating_store; rtx expand (function_expander &e) const override @@ -2219,8 +2205,7 @@ public: class svst1_truncate_impl : public truncating_store { public: - constexpr svst1_truncate_impl (scalar_int_mode to_mode) - : truncating_store (to_mode) {} + using truncating_store::truncating_store; rtx expand (function_expander &e) const override @@ -2235,8 +2220,7 @@ public: class svst234_impl : public full_width_access { public: - constexpr svst234_impl (unsigned int vectors_per_tuple) - : full_width_access (vectors_per_tuple) {} + using full_width_access::full_width_access; unsigned int call_properties (const function_instance &) const override @@ -2351,8 +2335,7 @@ public: class svundef_impl : public quiet<multi_vector_function> { public: - constexpr svundef_impl (unsigned int vectors_per_tuple) - : quiet<multi_vector_function> (vectors_per_tuple) {} + using quiet<multi_vector_function>::quiet; rtx expand (function_expander &e) const override diff --git a/gcc/config/aarch64/aarch64-sve-builtins-functions.h b/gcc/config/aarch64/aarch64-sve-builtins-functions.h index 120b7266943..ec943c53a35 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins-functions.h +++ b/gcc/config/aarch64/aarch64-sve-builtins-functions.h @@ -30,18 +30,7 @@ template<typename T> class quiet : public T { public: - constexpr quiet () : T () {} - - /* Unfortunately we can't use parameter packs yet. */ - template<typename T1> - constexpr quiet (const T1 &t1) : T (t1) {} - - template<typename T1, typename T2> - constexpr quiet (const T1 &t1, const T2 &t2) : T (t1, t2) {} - - template<typename T1, typename T2, typename T3> - constexpr quiet (const T1 &t1, const T2 &t2, const T3 &t3) - : T (t1, t2, t3) {} + using T::T; unsigned int call_properties (const function_instance &) const override @@ -200,9 +189,7 @@ public: class rtx_code_function : public rtx_code_function_base { public: - constexpr rtx_code_function (rtx_code code_for_sint, rtx_code code_for_uint, - int unspec_for_fp = -1) - : rtx_code_function_base (code_for_sint, code_for_uint, unspec_for_fp) {} + using rtx_code_function_base::rtx_code_function_base; rtx expand (function_expander &e) const override @@ -219,10 +206,7 @@ public: class rtx_code_function_rotated : public rtx_code_function_base { public: - constexpr rtx_code_function_rotated (rtx_code code_for_sint, - rtx_code code_for_uint, - int unspec_for_fp = -1) - : rtx_code_function_base (code_for_sint, code_for_uint, unspec_for_fp) {} + using rtx_code_function_base::rtx_code_function_base; rtx expand (function_expander &e) const override @@ -272,11 +256,7 @@ public: class unspec_based_function : public unspec_based_function_base { public: - constexpr unspec_based_function (int unspec_for_sint, int unspec_for_uint, - int unspec_for_fp) - : unspec_based_function_base (unspec_for_sint, unspec_for_uint, - unspec_for_fp) - {} + using unspec_based_function_base::unspec_based_function_base; rtx expand (function_expander &e) const override @@ -293,12 +273,7 @@ public: class unspec_based_function_rotated : public unspec_based_function_base { public: - constexpr unspec_based_function_rotated (int unspec_for_sint, - int unspec_for_uint, - int unspec_for_fp) - : unspec_based_function_base (unspec_for_sint, unspec_for_uint, - unspec_for_fp) - {} + using unspec_based_function_base::unspec_based_function_base; rtx expand (function_expander &e) const override @@ -321,12 +296,7 @@ template<insn_code (*CODE) (int, machine_mode)> class unspec_based_function_exact_insn : public unspec_based_function_base { public: - constexpr unspec_based_function_exact_insn (int unspec_for_sint, - int unspec_for_uint, - int unspec_for_fp) - : unspec_based_function_base (unspec_for_sint, unspec_for_uint, - unspec_for_fp) - {} + using unspec_based_function_base::unspec_based_function_base; rtx expand (function_expander &e) const override @@ -378,12 +348,7 @@ template<insn_code (*INT_CODE) (int, machine_mode)> class unspec_based_fused_function : public unspec_based_function_base { public: - constexpr unspec_based_fused_function (int unspec_for_sint, - int unspec_for_uint, - int unspec_for_fp) - : unspec_based_function_base (unspec_for_sint, unspec_for_uint, - unspec_for_fp) - {} + using unspec_based_function_base::unspec_based_function_base; rtx expand (function_expander &e) const override @@ -413,12 +378,7 @@ template<insn_code (*INT_CODE) (int, machine_mode)> class unspec_based_fused_lane_function : public unspec_based_function_base { public: - constexpr unspec_based_fused_lane_function (int unspec_for_sint, - int unspec_for_uint, - int unspec_for_fp) - : unspec_based_function_base (unspec_for_sint, unspec_for_uint, - unspec_for_fp) - {} + using unspec_based_function_base::unspec_based_function_base; rtx expand (function_expander &e) const override diff --git a/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc b/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc index 9eb0bdda12e..ca8f20db57e 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc @@ -138,8 +138,7 @@ public: class svldnt1_gather_extend_impl : public extending_load { public: - constexpr svldnt1_gather_extend_impl (type_suffix_index memory_type) - : extending_load (memory_type) {} + using extending_load::extending_load; rtx expand (function_expander &e) const override @@ -178,11 +177,7 @@ public: class svmovl_lb_impl : public unspec_based_function_base { public: - constexpr svmovl_lb_impl (int unspec_for_sint, int unspec_for_uint, - int unspec_for_fp) - : unspec_based_function_base (unspec_for_sint, unspec_for_uint, - unspec_for_fp) - {} + using unspec_based_function_base::unspec_based_function_base; rtx expand (function_expander &e) const override @@ -393,8 +388,7 @@ public: class svstnt1_scatter_truncate_impl : public truncating_store { public: - constexpr svstnt1_scatter_truncate_impl (scalar_int_mode to_mode) - : truncating_store (to_mode) {} + using truncating_store::truncating_store; rtx expand (function_expander &e) const override
reply other threads:[~2022-10-20 9:38 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20221020093820.812F53815E45@sourceware.org \ --to=rsandifo@gcc.gnu.org \ --cc=gcc-cvs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).