[gcc r17-2285] Remove uses of `CONSTEXPR` macro
Karl Meakin via Gcc-cvs <[email protected]>
| Newsgroups | gmane.comp.gcc.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://gcc.gnu.org/g:d06b04d90ca5dc572ecf49fc3676eb21e872ae14 commit r17-2285-gd06b04d90ca5dc572ecf49fc3676eb21e872ae14 Author: Karl Meakin <[email protected]> Date: Thu Jul 9 14:04:49 2026 +0000 Remove uses of `CONSTEXPR` macro The `CONSTEXPR` macro was used to support building GCC with compiler that don't support `constexpr`, but we have required GCC to be built with in C++14 mode for a few years now, so any compiler will have to support `constexpr` anyway. gcc/ChangeLog: * bitmap.h: Replace uses of `CONSTEXPR` with `constexpr`. * config/aarch64/aarch64-acle-builtins.cc: Likewise. * config/aarch64/aarch64-builtins.cc: Likewise. * config/aarch64/aarch64-protos.h: Likewise. * config/aarch64/aarch64-sve-builtins-base.cc: Likewise. * config/aarch64/aarch64-sve-builtins-functions.h: Likewise. * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise. * config/aarch64/aarch64-sve-builtins-sme.cc: Likewise. * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise. * config/aarch64/aarch64.cc: Likewise. * config/aarch64/driver-aarch64.cc: Likewise. * config/arm/arm-mve-builtins-base.cc: Likewise. * config/arm/arm-mve-builtins-functions.h: Likewise. * config/arm/arm-mve-builtins-shapes.cc: Likewise. * config/arm/arm-mve-builtins.cc: Likewise. * config/riscv/andes-vector-builtins-bases.cc: Likewise. * config/riscv/riscv-protos.h: Likewise. * config/riscv/riscv-vector-builtins-bases.cc: Likewise. * config/riscv/riscv-vector-builtins-shapes.cc: Likewise. * config/riscv/riscv-vector-builtins.cc: Likewise. * config/riscv/riscv-vector-builtins.h: Likewise. * config/riscv/sifive-vector-builtins-bases.cc: Likewise. * machmode.h: Likewise. Diff: --- gcc/bitmap.h | 2 +- gcc/config/aarch64/aarch64-acle-builtins.cc | 17 +- gcc/config/aarch64/aarch64-builtins.cc | 2 +- gcc/config/aarch64/aarch64-protos.h | 24 +- gcc/config/aarch64/aarch64-sve-builtins-base.cc | 80 +- .../aarch64/aarch64-sve-builtins-functions.h | 42 +- gcc/config/aarch64/aarch64-sve-builtins-shapes.cc | 8 +- gcc/config/aarch64/aarch64-sve-builtins-sme.cc | 4 +- gcc/config/aarch64/aarch64-sve-builtins-sve2.cc | 36 +- gcc/config/aarch64/aarch64.cc | 2 +- gcc/config/aarch64/driver-aarch64.cc | 4 +- gcc/config/arm/arm-mve-builtins-base.cc | 24 +- gcc/config/arm/arm-mve-builtins-functions.h | 36 +- gcc/config/arm/arm-mve-builtins-shapes.cc | 2 +- gcc/config/arm/arm-mve-builtins.cc | 8 +- gcc/config/riscv/andes-vector-builtins-bases.cc | 24 +- gcc/config/riscv/riscv-protos.h | 2 +- gcc/config/riscv/riscv-vector-builtins-bases.cc | 638 ++++++++-------- gcc/config/riscv/riscv-vector-builtins-shapes.cc | 2 +- gcc/config/riscv/riscv-vector-builtins.cc | 808 ++++++++++----------- gcc/config/riscv/riscv-vector-builtins.h | 2 +- gcc/config/riscv/sifive-vector-builtins-bases.cc | 14 +- gcc/machmode.h | 54 +- 23 files changed, 915 insertions(+), 920 deletions(-) diff --git a/gcc/bitmap.h b/gcc/bitmap.h index 31d469425d4d..c6fd91ee90a0 100644 --- a/gcc/bitmap.h +++ b/gcc/bitmap.h @@ -331,7 +331,7 @@ class GTY(()) bitmap_head { public: static bitmap_obstack crashme; /* Poison obstack to not make it not a valid initialized GC bitmap. */ - CONSTEXPR bitmap_head() + constexpr bitmap_head() : indx (0), tree_form (false), padding (0), alloc_descriptor (0), first (NULL), current (NULL), obstack (&crashme) {} diff --git a/gcc/config/aarch64/aarch64-acle-builtins.cc b/gcc/config/aarch64/aarch64-acle-builtins.cc index 426316001ced..a415cb3771b6 100644 --- a/gcc/config/aarch64/aarch64-acle-builtins.cc +++ b/gcc/config/aarch64/aarch64-acle-builtins.cc @@ -105,7 +105,7 @@ struct registered_function_hasher : ggc_ptr_hash <registered_function> }; /* Information about each single-predicate or single-vector type. */ -static CONSTEXPR const vector_type_info vector_types[] = { +static constexpr const vector_type_info vector_types[] = { #define DEF_SVE_TYPE(ACLE_NAME, NCHARS, ABI_NAME, SCALAR_TYPE) \ { #ACLE_NAME, #ABI_NAME, "u" #NCHARS #ABI_NAME }, #include "aarch64-sve-builtins.def" @@ -123,17 +123,16 @@ static const char *const pred_suffixes[NUM_PREDS + 1] = { }; /* Static information about each mode_suffix_index. */ -CONSTEXPR const mode_suffix_info mode_suffixes[] = { +constexpr const mode_suffix_info mode_suffixes[] = { #define VECTOR_TYPE_none NUM_VECTOR_TYPES #define DEF_SVE_MODE(NAME, BASE, DISPLACEMENT, UNITS) \ { "_" #NAME, VECTOR_TYPE_##BASE, VECTOR_TYPE_##DISPLACEMENT, UNITS_##UNITS }, #include "aarch64-sve-builtins.def" #undef VECTOR_TYPE_none - { "", NUM_VECTOR_TYPES, NUM_VECTOR_TYPES, UNITS_none } -}; + {"", NUM_VECTOR_TYPES, NUM_VECTOR_TYPES, UNITS_none}}; /* Static information about each type_suffix_index. */ -CONSTEXPR const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = { +constexpr const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = { #define DEF_SVE_NEON_TYPE_SUFFIX(NAME, ACLE_TYPE, CLASS, BITS, MODE, \ NEON64, NEON128) \ { "_" #NAME, \ @@ -175,7 +174,7 @@ CONSTEXPR const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = { false, false, 0, VOIDmode, ARM_NEON_H_TYPES_LAST, ARM_NEON_H_TYPES_LAST } }; -CONSTEXPR const group_suffix_info group_suffixes[] = { +constexpr const group_suffix_info group_suffixes[] = { #define DEF_SVE_GROUP_SUFFIX(NAME, VG, VECTORS_PER_TUPLE) \ { "_" #NAME, VG, VECTORS_PER_TUPLE }, #include "aarch64-sve-builtins.def" @@ -198,7 +197,7 @@ constexpr const aarch64_acle::function_group_info neon_function_groups[] = { }; /* A list of all arm_sve.h functions. */ -static CONSTEXPR const function_group_info function_groups[] = { +static constexpr const function_group_info function_groups[] = { #define DEF_SVE_FUNCTION_GS_FPM(NAME, SHAPE, TYPES, GROUPS, PREDS, FPM_MODE) \ { #NAME, &functions::NAME, &shapes::SHAPE, types_##TYPES, groups_##GROUPS, \ preds_##PREDS, aarch64_required_extensions::REQUIRED_EXTENSIONS, \ @@ -207,7 +206,7 @@ static CONSTEXPR const function_group_info function_groups[] = { }; /* A list of all arm_neon_sve_bridge.h ACLE functions. */ -static CONSTEXPR const function_group_info neon_sve_function_groups[] = { +static constexpr const function_group_info neon_sve_function_groups[] = { #define DEF_NEON_SVE_FUNCTION(NAME, SHAPE, TYPES, GROUPS, PREDS) \ { #NAME, &neon_sve_bridge_functions::NAME, &shapes::SHAPE, types_##TYPES, \ groups_##GROUPS, preds_##PREDS, aarch64_required_extensions::ssve (0), \ @@ -216,7 +215,7 @@ static CONSTEXPR const function_group_info neon_sve_function_groups[] = { }; /* A list of all arm_sme.h functions. */ -static CONSTEXPR const function_group_info sme_function_groups[] = { +static constexpr const function_group_info sme_function_groups[] = { #define DEF_SME_FUNCTION_GS_FPM(NAME, SHAPE, TYPES, GROUPS, PREDS, FPM_MODE) \ { #NAME, &functions::NAME, &shapes::SHAPE, types_##TYPES, groups_##GROUPS, \ preds_##PREDS, aarch64_required_extensions::REQUIRED_EXTENSIONS, \ diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc index 0096285aabcb..4622b42afa68 100644 --- a/gcc/config/aarch64/aarch64-builtins.cc +++ b/gcc/config/aarch64/aarch64-builtins.cc @@ -1502,7 +1502,7 @@ struct aarch64_pragma_builtins_data unsigned int flags; }; -static CONSTEXPR aarch64_pragma_builtins_data aarch64_pragma_builtins[] = { +static constexpr aarch64_pragma_builtins_data aarch64_pragma_builtins[] = { #include "aarch64-simd-pragma-builtins.def" }; diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h index 5580f3148d6d..0852c0391a78 100644 --- a/gcc/config/aarch64/aarch64-protos.h +++ b/gcc/config/aarch64/aarch64-protos.h @@ -257,7 +257,7 @@ struct sve_vec_cost : simd_vec_cost { sve_vec_cost () = default; - CONSTEXPR sve_vec_cost (const simd_vec_cost &base, + constexpr sve_vec_cost (const simd_vec_cost &base, unsigned int clast_cost, unsigned int fadda_f16_cost, unsigned int fadda_f32_cost, @@ -369,7 +369,7 @@ struct aarch64_simd_vec_issue_info : aarch64_base_vec_issue_info { aarch64_simd_vec_issue_info () = default; - CONSTEXPR aarch64_simd_vec_issue_info (aarch64_base_vec_issue_info base, + constexpr aarch64_simd_vec_issue_info (aarch64_base_vec_issue_info base, unsigned int ld2_st2_general_ops, unsigned int ld3_st3_general_ops, unsigned int ld4_st4_general_ops) @@ -399,7 +399,7 @@ struct aarch64_sve_vec_issue_info : aarch64_simd_vec_issue_info { aarch64_sve_vec_issue_info () = default; - CONSTEXPR aarch64_sve_vec_issue_info + constexpr aarch64_sve_vec_issue_info (aarch64_simd_vec_issue_info base, unsigned int pred_ops_per_cycle, unsigned int while_pred_ops, @@ -771,7 +771,7 @@ struct aarch64_required_extensions { /* Return a requirement that includes FLAGS on top of any existing requirements. */ - inline CONSTEXPR aarch64_required_extensions + inline constexpr aarch64_required_extensions and_also (aarch64_feature_flags flags) { return { sm_off ? sm_off | flags : 0, @@ -780,7 +780,7 @@ struct aarch64_required_extensions /* Return a requirement that is as restrictive as possible while still being no more restrictive than THIS and no more restrictive than OTHER. */ - inline CONSTEXPR aarch64_required_extensions + inline constexpr aarch64_required_extensions common_denominator (const aarch64_required_extensions &other) { return { sm_off && other.sm_off @@ -792,14 +792,14 @@ struct aarch64_required_extensions } /* Require non-streaming mode and the features in FLAGS. */ - static inline CONSTEXPR aarch64_required_extensions + static inline constexpr aarch64_required_extensions nonstreaming_only (aarch64_feature_flags flags) { return { AARCH64_FL_SM_OFF | flags, 0 }; } /* Likewise, and also require SVE. */ - static inline CONSTEXPR aarch64_required_extensions + static inline constexpr aarch64_required_extensions nonstreaming_sve (aarch64_feature_flags flags) { return nonstreaming_only (AARCH64_FL_SVE | flags); @@ -807,14 +807,14 @@ struct aarch64_required_extensions /* Allow both streaming and non-streaming mode, requiring the features in FLAGS for both cases. */ - static inline CONSTEXPR aarch64_required_extensions + static inline constexpr aarch64_required_extensions streaming_compatible (aarch64_feature_flags flags) { return { AARCH64_FL_SM_OFF | flags, AARCH64_FL_SM_ON | flags }; } /* Likewise, and also require SVE for non-streaming mode. */ - static inline CONSTEXPR aarch64_required_extensions + static inline constexpr aarch64_required_extensions ssve (aarch64_feature_flags flags) { return streaming_compatible (AARCH64_FL_SVE | flags, flags); @@ -823,7 +823,7 @@ struct aarch64_required_extensions /* Allow both streaming and non-streaming mode, requiring the features in SM_OFF for non-streaming mode and the features in SM_ON for streaming mode. */ - static inline CONSTEXPR aarch64_required_extensions + static inline constexpr aarch64_required_extensions streaming_compatible (aarch64_feature_flags sm_off, aarch64_feature_flags sm_on) { @@ -831,14 +831,14 @@ struct aarch64_required_extensions } /* Likewise, and also require SVE for non-streaming mode. */ - static inline CONSTEXPR aarch64_required_extensions + static inline constexpr aarch64_required_extensions sve_and_sme (aarch64_feature_flags sm_off, aarch64_feature_flags sm_on) { return streaming_compatible (AARCH64_FL_SVE | sm_off, sm_on); } /* Require streaming mode and the features in FLAGS. */ - static inline CONSTEXPR aarch64_required_extensions + static inline constexpr aarch64_required_extensions streaming_only (aarch64_feature_flags flags) { return { 0, AARCH64_FL_SM_ON | flags }; diff --git a/gcc/config/aarch64/aarch64-sve-builtins-base.cc b/gcc/config/aarch64/aarch64-sve-builtins-base.cc index cfa4df9a9440..e841972cb422 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins-base.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins-base.cc @@ -199,7 +199,7 @@ public: class svac_impl : public function_base { public: - CONSTEXPR svac_impl (int unspec) : m_unspec (unspec) {} + constexpr svac_impl (int unspec) : m_unspec (unspec) {} gimple * fold (gimple_folder &f) const override @@ -248,7 +248,7 @@ public: class svaddv_impl : public reduction { public: - CONSTEXPR svaddv_impl () + constexpr svaddv_impl () : reduction (UNSPEC_SADDV, UNSPEC_UADDV, UNSPEC_FADDV) {} gimple * @@ -264,7 +264,7 @@ public: class svadr_bhwd_impl : public function_base { public: - CONSTEXPR svadr_bhwd_impl (unsigned int shift) : m_shift (shift) {} + constexpr svadr_bhwd_impl (unsigned int shift) : m_shift (shift) {} rtx expand (function_expander &e) const override @@ -286,7 +286,7 @@ public: class svandv_impl : public reduction { public: - CONSTEXPR svandv_impl () : reduction (UNSPEC_ANDV) {} + constexpr svandv_impl () : reduction (UNSPEC_ANDV) {} gimple * fold (gimple_folder &f) const override @@ -328,7 +328,7 @@ public: class svbrk_binary_impl : public function_base { public: - CONSTEXPR svbrk_binary_impl (int unspec) : m_unspec (unspec) {} + constexpr svbrk_binary_impl (int unspec) : m_unspec (unspec) {} rtx expand (function_expander &e) const override @@ -344,7 +344,7 @@ public: class svbrk_unary_impl : public function_base { public: - CONSTEXPR svbrk_unary_impl (int unspec) : m_unspec (unspec) {} + constexpr svbrk_unary_impl (int unspec) : m_unspec (unspec) {} rtx expand (function_expander &e) const override @@ -378,7 +378,7 @@ public: class svclast_impl : public quiet<function_base> { public: - CONSTEXPR svclast_impl (int unspec) : m_unspec (unspec) {} + constexpr svclast_impl (int unspec) : m_unspec (unspec) {} gimple * fold (gimple_folder &f) const override @@ -458,7 +458,7 @@ public: class svcmp_impl : public function_base { public: - CONSTEXPR svcmp_impl (tree_code code, int unspec_for_fp) + constexpr svcmp_impl (tree_code code, int unspec_for_fp) : m_code (code), m_unspec_for_fp (unspec_for_fp) {} gimple * @@ -516,7 +516,7 @@ public: class svcmp_wide_impl : public function_base { public: - CONSTEXPR svcmp_wide_impl (tree_code code, int unspec_for_sint, + constexpr svcmp_wide_impl (tree_code code, int unspec_for_sint, int unspec_for_uint) : m_code (code), m_unspec_for_sint (unspec_for_sint), m_unspec_for_uint (unspec_for_uint) {} @@ -618,7 +618,7 @@ public: class svcnt_bhwd_impl : public function_base { public: - CONSTEXPR svcnt_bhwd_impl (machine_mode ref_mode) : m_ref_mode (ref_mode) {} + constexpr svcnt_bhwd_impl (machine_mode ref_mode) : m_ref_mode (ref_mode) {} gimple * fold (gimple_folder &f) const override @@ -858,7 +858,7 @@ public: class svdiv_impl : public rtx_code_function { public: - CONSTEXPR svdiv_impl () + constexpr svdiv_impl () : rtx_code_function (DIV, UDIV, UNSPEC_COND_FDIV) {} gimple * @@ -1280,7 +1280,7 @@ public: class sveorv_impl : public reduction { public: - CONSTEXPR sveorv_impl () : reduction (UNSPEC_XORV) {} + constexpr sveorv_impl () : reduction (UNSPEC_XORV) {} gimple * fold (gimple_folder &f) const override @@ -1308,7 +1308,7 @@ public: class svext_bhw_impl : public function_base { public: - CONSTEXPR svext_bhw_impl (scalar_int_mode from_mode) + constexpr svext_bhw_impl (scalar_int_mode from_mode) : m_from_mode (from_mode) {} gimple * @@ -1556,7 +1556,7 @@ public: class svlast_impl : public quiet<function_base> { public: - CONSTEXPR svlast_impl (int unspec) : m_unspec (unspec) {} + constexpr svlast_impl (int unspec) : m_unspec (unspec) {} bool is_lasta () const { return m_unspec == UNSPEC_LASTA; } bool is_lastb () const { return m_unspec == UNSPEC_LASTB; } @@ -2059,7 +2059,7 @@ public: class svldxf1_impl : public full_width_access { public: - CONSTEXPR svldxf1_impl (int unspec) : m_unspec (unspec) {} + constexpr svldxf1_impl (int unspec) : m_unspec (unspec) {} unsigned int call_properties (const function_instance &) const override @@ -2086,7 +2086,7 @@ public: class svldxf1_extend_impl : public extending_load { public: - CONSTEXPR svldxf1_extend_impl (type_suffix_index memory_type, int unspec) + constexpr svldxf1_extend_impl (type_suffix_index memory_type, int unspec) : extending_load (memory_type), m_unspec (unspec) {} unsigned int @@ -2136,7 +2136,7 @@ public: class svlsl_impl : public rtx_code_function { public: - CONSTEXPR svlsl_impl () + constexpr svlsl_impl () : rtx_code_function (ASHIFT, ASHIFT) {} gimple * @@ -2159,7 +2159,7 @@ public: class svminv_impl : public reduction { public: - CONSTEXPR svminv_impl () + constexpr svminv_impl () : reduction (UNSPEC_SMINV, UNSPEC_UMINV, UNSPEC_FMINV) {} gimple * @@ -2179,7 +2179,7 @@ public: class svmaxnmv_impl : public reduction { public: - CONSTEXPR svmaxnmv_impl () : reduction (UNSPEC_FMAXNMV) {} + constexpr svmaxnmv_impl () : reduction (UNSPEC_FMAXNMV) {} gimple * fold (gimple_folder &f) const override { @@ -2196,7 +2196,7 @@ public: class svmaxv_impl : public reduction { public: - CONSTEXPR svmaxv_impl () + constexpr svmaxv_impl () : reduction (UNSPEC_SMAXV, UNSPEC_UMAXV, UNSPEC_FMAXV) {} gimple * @@ -2216,7 +2216,7 @@ public: class svminnmv_impl : public reduction { public: - CONSTEXPR svminnmv_impl () : reduction (UNSPEC_FMINNMV) {} + constexpr svminnmv_impl () : reduction (UNSPEC_FMINNMV) {} gimple * fold (gimple_folder &f) const override { @@ -2348,7 +2348,7 @@ public: class svmul_impl : public rtx_code_function { public: - CONSTEXPR svmul_impl () + constexpr svmul_impl () : rtx_code_function (MULT, MULT, UNSPEC_COND_FMUL, UNSPEC_FMUL) {} gimple * @@ -2481,7 +2481,7 @@ public: class svnot_impl : public rtx_code_function { public: - CONSTEXPR svnot_impl () : rtx_code_function (NOT, NOT, -1) {} + constexpr svnot_impl () : rtx_code_function (NOT, NOT, -1) {} rtx expand (function_expander &e) const override @@ -2512,7 +2512,7 @@ public: class svorv_impl : public reduction { public: - CONSTEXPR svorv_impl () : reduction (UNSPEC_IORV) {} + constexpr svorv_impl () : reduction (UNSPEC_IORV) {} gimple * fold (gimple_folder &f) const override @@ -2546,7 +2546,7 @@ public: class svpfirst_svpnext_impl : public function_base { public: - CONSTEXPR svpfirst_svpnext_impl (int unspec) : m_unspec (unspec) {} + constexpr svpfirst_svpnext_impl (int unspec) : m_unspec (unspec) {} gimple * fold (gimple_folder &f) const override { @@ -2574,7 +2574,7 @@ public: class svprf_bhwd_impl : public function_base { public: - CONSTEXPR svprf_bhwd_impl (machine_mode mode) : m_mode (mode) {} + constexpr svprf_bhwd_impl (machine_mode mode) : m_mode (mode) {} unsigned int call_properties (const function_instance &) const override @@ -2598,7 +2598,7 @@ public: class svprf_bhwd_gather_impl : public function_base { public: - CONSTEXPR svprf_bhwd_gather_impl (machine_mode mode) : m_mode (mode) {} + constexpr svprf_bhwd_gather_impl (machine_mode mode) : m_mode (mode) {} unsigned int call_properties (const function_instance &) const override @@ -2636,7 +2636,7 @@ public: class svptest_impl : public function_base { public: - CONSTEXPR svptest_impl (rtx_code compare) : m_compare (compare) {} + constexpr svptest_impl (rtx_code compare) : m_compare (compare) {} gimple * fold (gimple_folder &f) const override { @@ -2755,7 +2755,7 @@ public: class svqdec_svqinc_bhwd_impl : public function_base { public: - CONSTEXPR svqdec_svqinc_bhwd_impl (rtx_code code_for_sint, + constexpr svqdec_svqinc_bhwd_impl (rtx_code code_for_sint, rtx_code code_for_uint, scalar_int_mode elem_mode) : m_code_for_sint (code_for_sint), @@ -2802,7 +2802,7 @@ public: class svqdec_bhwd_impl : public svqdec_svqinc_bhwd_impl { public: - CONSTEXPR svqdec_bhwd_impl (scalar_int_mode elem_mode) + constexpr svqdec_bhwd_impl (scalar_int_mode elem_mode) : svqdec_svqinc_bhwd_impl (SS_MINUS, US_MINUS, elem_mode) {} }; @@ -2810,7 +2810,7 @@ public: class svqinc_bhwd_impl : public svqdec_svqinc_bhwd_impl { public: - CONSTEXPR svqinc_bhwd_impl (scalar_int_mode elem_mode) + constexpr svqinc_bhwd_impl (scalar_int_mode elem_mode) : svqdec_svqinc_bhwd_impl (SS_PLUS, US_PLUS, elem_mode) {} }; @@ -2818,7 +2818,7 @@ public: class svqdecp_svqincp_impl : public function_base { public: - CONSTEXPR svqdecp_svqincp_impl (rtx_code code_for_sint, + constexpr svqdecp_svqincp_impl (rtx_code code_for_sint, rtx_code code_for_uint) : m_code_for_sint (code_for_sint), m_code_for_uint (code_for_uint) @@ -2941,7 +2941,7 @@ public: class svrint_impl : public function_base { public: - CONSTEXPR svrint_impl (optab_tag optab, int cond_unspec) + constexpr svrint_impl (optab_tag optab, int cond_unspec) : m_optab (optab), m_cond_unspec (cond_unspec) {} @@ -3240,7 +3240,7 @@ public: class svsub_impl : public rtx_code_function { public: - CONSTEXPR svsub_impl () + constexpr svsub_impl () : rtx_code_function (MINUS, MINUS, UNSPEC_COND_FSUB) {} rtx @@ -3259,7 +3259,7 @@ public: class svtrn_impl : public binary_permute { public: - CONSTEXPR svtrn_impl (int base) + constexpr svtrn_impl (int base) : binary_permute (base ? UNSPEC_TRN2 : UNSPEC_TRN1), m_base (base) {} gimple * @@ -3300,7 +3300,7 @@ public: class svunpk_impl : public quiet<function_base> { public: - CONSTEXPR svunpk_impl (bool high_p) : m_high_p (high_p) {} + constexpr svunpk_impl (bool high_p) : m_high_p (high_p) {} gimple * fold (gimple_folder &f) const override @@ -3342,7 +3342,7 @@ public: class svusdot_impl : public function_base { public: - CONSTEXPR svusdot_impl (bool su) : m_su (su) {} + constexpr svusdot_impl (bool su) : m_su (su) {} rtx expand (function_expander &e) const override @@ -3370,7 +3370,7 @@ private: class svuzp_impl : public binary_permute { public: - CONSTEXPR svuzp_impl (unsigned int base) + constexpr svuzp_impl (unsigned int base) : binary_permute (base ? UNSPEC_UZP2 : UNSPEC_UZP1), m_base (base) {} gimple * @@ -3393,7 +3393,7 @@ public: class svwhilelx_impl : public while_comparison { public: - CONSTEXPR svwhilelx_impl (int unspec_for_sint, int unspec_for_uint, bool eq_p) + constexpr svwhilelx_impl (int unspec_for_sint, int unspec_for_uint, bool eq_p) : while_comparison (unspec_for_sint, unspec_for_uint), m_eq_p (eq_p) {} @@ -3492,7 +3492,7 @@ public: class svzip_impl : public binary_permute { public: - CONSTEXPR svzip_impl (unsigned int base) + constexpr svzip_impl (unsigned int base) : binary_permute (base ? UNSPEC_ZIP2 : UNSPEC_ZIP1), m_base (base) {} gimple * diff --git a/gcc/config/aarch64/aarch64-sve-builtins-functions.h b/gcc/config/aarch64/aarch64-sve-builtins-functions.h index 9fd158eda433..d305d2de0eb8 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins-functions.h +++ b/gcc/config/aarch64/aarch64-sve-builtins-functions.h @@ -71,7 +71,7 @@ using write_zt0 = add_call_properties<T, CP_WRITE_ZT0>; class multi_vector_function : public function_base { public: - CONSTEXPR multi_vector_function (unsigned int vectors_per_tuple) + constexpr multi_vector_function (unsigned int vectors_per_tuple) : m_vectors_per_tuple (vectors_per_tuple) {} unsigned int @@ -95,7 +95,7 @@ public: class full_width_access : public multi_vector_function { public: - CONSTEXPR full_width_access (unsigned int vectors_per_tuple = 1) + constexpr full_width_access (unsigned int vectors_per_tuple = 1) : multi_vector_function (vectors_per_tuple) {} tree @@ -121,7 +121,7 @@ public: class extending_load : public function_base { public: - CONSTEXPR extending_load (type_suffix_index memory_type) + constexpr extending_load (type_suffix_index memory_type) : m_memory_type (memory_type) {} unsigned int @@ -164,7 +164,7 @@ public: class truncating_store : public function_base { public: - CONSTEXPR truncating_store (scalar_int_mode to_mode) : m_to_mode (to_mode) {} + constexpr truncating_store (scalar_int_mode to_mode) : m_to_mode (to_mode) {} unsigned int call_properties (const function_instance &) const override @@ -201,7 +201,7 @@ public: class rtx_code_function_base : public function_base { public: - CONSTEXPR rtx_code_function_base (rtx_code code_for_sint, + constexpr rtx_code_function_base (rtx_code code_for_sint, rtx_code code_for_uint, int unspec_for_cond_fp = -1, int unspec_for_uncond_fp = -1) @@ -267,7 +267,7 @@ public: class unspec_based_function_base : public function_base { public: - CONSTEXPR unspec_based_function_base (int unspec_for_sint, + constexpr unspec_based_function_base (int unspec_for_sint, int unspec_for_uint, int unspec_for_fp, int unspec_for_mfp8 = -1, @@ -402,7 +402,7 @@ typedef unspec_based_function_exact_insn<code_for_aarch64_sve_sub_lane> class cond_or_uncond_unspec_function : public function_base { public: - CONSTEXPR cond_or_uncond_unspec_function (int cond_unspec, int uncond_unspec) + constexpr cond_or_uncond_unspec_function (int cond_unspec, int uncond_unspec) : m_cond_unspec (cond_unspec), m_uncond_unspec (uncond_unspec) {} rtx @@ -431,7 +431,7 @@ class sme_1mode_function : public read_write_za<unspec_based_function_base> public: using parent = read_write_za<unspec_based_function_base>; - CONSTEXPR sme_1mode_function (int unspec_for_sint, int unspec_for_uint, + constexpr sme_1mode_function (int unspec_for_sint, int unspec_for_uint, int unspec_for_fp) : parent (unspec_for_sint, unspec_for_uint, unspec_for_fp, -1, 1) {} @@ -461,7 +461,7 @@ class sme_2mode_function_t : public read_write_za<unspec_based_function_base> public: using parent = read_write_za<unspec_based_function_base>; - CONSTEXPR sme_2mode_function_t (int unspec_for_sint, int unspec_for_uint, + constexpr sme_2mode_function_t (int unspec_for_sint, int unspec_for_uint, int unspec_for_fp, int unspec_for_mfp8 = -1) : parent (unspec_for_sint, unspec_for_uint, unspec_for_fp, unspec_for_mfp8, 1) @@ -488,7 +488,7 @@ class svvdot_half_impl : public read_write_za<unspec_based_function_base> public: using parent = read_write_za<unspec_based_function_base>; - CONSTEXPR svvdot_half_impl (int unspec_for_sint, int unspec_for_uint, + constexpr svvdot_half_impl (int unspec_for_sint, int unspec_for_uint, int unspec_for_fp, int unspec_for_mfp8) : parent (unspec_for_sint, unspec_for_uint, unspec_for_fp, unspec_for_mfp8, 1) @@ -602,7 +602,7 @@ public: class fixed_insn_function : public function_base { public: - CONSTEXPR fixed_insn_function (insn_code code) : m_code (code) {} + constexpr fixed_insn_function (insn_code code) : m_code (code) {} rtx expand (function_expander &e) const override @@ -644,7 +644,7 @@ public: class binary_permute : public permute { public: - CONSTEXPR binary_permute (int unspec) : m_unspec (unspec) {} + constexpr binary_permute (int unspec) : m_unspec (unspec) {} rtx expand (function_expander &e) const override @@ -666,7 +666,7 @@ public: class multireg_permute : public function_base { public: - CONSTEXPR multireg_permute (int unspec) : m_unspec (unspec) {} + constexpr multireg_permute (int unspec) : m_unspec (unspec) {} rtx expand (function_expander &e) const override @@ -693,7 +693,7 @@ public: class integer_conversion : public function_base { public: - CONSTEXPR integer_conversion (int unspec_for_sint, int unspec_for_sintu, + constexpr integer_conversion (int unspec_for_sint, int unspec_for_sintu, int unspec_for_uint, int unspec_for_uints) : m_unspec_for_sint (unspec_for_sint), m_unspec_for_sintu (unspec_for_sintu), @@ -735,13 +735,13 @@ public: class reduction : public function_base { public: - CONSTEXPR reduction (int unspec) + constexpr reduction (int unspec) : m_unspec_for_sint (unspec), m_unspec_for_uint (unspec), m_unspec_for_fp (unspec) {} - CONSTEXPR reduction (int unspec_for_sint, int unspec_for_uint, + constexpr reduction (int unspec_for_sint, int unspec_for_uint, int unspec_for_fp) : m_unspec_for_sint (unspec_for_sint), m_unspec_for_uint (unspec_for_uint), @@ -774,7 +774,7 @@ public: class shift_wide : public function_base { public: - CONSTEXPR shift_wide (rtx_code code, int wide_unspec) + constexpr shift_wide (rtx_code code, int wide_unspec) : m_code (code), m_wide_unspec (wide_unspec) {} rtx @@ -809,7 +809,7 @@ public: class unary_count : public quiet<function_base> { public: - CONSTEXPR unary_count (rtx_code code) : m_code (code) {} + constexpr unary_count (rtx_code code) : m_code (code) {} rtx expand (function_expander &e) const override @@ -832,7 +832,7 @@ public: class while_comparison : public function_base { public: - CONSTEXPR while_comparison (int unspec_for_sint, int unspec_for_uint) + constexpr while_comparison (int unspec_for_sint, int unspec_for_uint) : m_unspec_for_sint (unspec_for_sint), m_unspec_for_uint (unspec_for_uint) {} @@ -916,11 +916,11 @@ public: /* Declare the global function base NAME, creating it from an instance of class CLASS with constructor arguments ARGS. */ #define FUNCTION(NAME, CLASS, ARGS) \ - namespace { static CONSTEXPR const CLASS NAME##_obj ARGS; } \ + namespace { static constexpr const CLASS NAME##_obj ARGS; } \ namespace functions { const function_base *const NAME = &NAME##_obj; } #define NEON_SVE_BRIDGE_FUNCTION(NAME, CLASS, ARGS) \ - namespace { static CONSTEXPR const CLASS NAME##_obj ARGS; } \ + namespace { static constexpr const CLASS NAME##_obj ARGS; } \ namespace neon_sve_bridge_functions { const function_base *const NAME = &NAME##_obj; } #endif diff --git a/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc b/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc index 00aa57a7a2c4..90bc80d81952 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc @@ -580,7 +580,7 @@ long_type_suffix (function_resolver &r, type_suffix_index type) /* Declare the function shape NAME, pointing it to an instance of class <NAME>_def. */ #define SHAPE(NAME) \ - static CONSTEXPR const NAME##_def NAME##_obj; \ + static constexpr const NAME##_def NAME##_obj; \ namespace shapes { const function_shape *const NAME = &NAME##_obj; } \ extern int __require_trailing_semicolon ATTRIBUTE_UNUSED @@ -822,7 +822,7 @@ struct ext_base : public overloaded_base<0> /* Base class for inc_dec and inc_dec_pat. */ struct inc_dec_base : public overloaded_base<0> { - CONSTEXPR inc_dec_base (bool pat_p) : m_pat_p (pat_p) {} + constexpr inc_dec_base (bool pat_p) : m_pat_p (pat_p) {} /* Resolve based on the first argument only, which must be either a scalar or a vector. If it's a scalar, it must be a 32-bit or @@ -2819,7 +2819,7 @@ SHAPE (dup_neonq); whose size is tied to the [bhwd] suffix of "svfoo". */ struct inc_dec_def : public inc_dec_base { - CONSTEXPR inc_dec_def () : inc_dec_base (false) {} + constexpr inc_dec_def () : inc_dec_base (false) {} void build (function_builder &b, const function_group_info &group) const override @@ -2844,7 +2844,7 @@ SHAPE (inc_dec); whose size is tied to the [bhwd] suffix of "svfoo". */ struct inc_dec_pat_def : public inc_dec_base { - CONSTEXPR inc_dec_pat_def () : inc_dec_base (true) {} + constexpr inc_dec_pat_def () : inc_dec_base (true) {} void build (function_builder &b, const function_group_info &group) const override diff --git a/gcc/config/aarch64/aarch64-sve-builtins-sme.cc b/gcc/config/aarch64/aarch64-sve-builtins-sme.cc index 9431feb7eeb5..dae535c7656b 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins-sme.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins-sme.cc @@ -339,7 +339,7 @@ public: class svluti_lane_zt_impl : public read_zt0<function_base> { public: - CONSTEXPR svluti_lane_zt_impl (unsigned int bits) : m_bits (bits) {} + constexpr svluti_lane_zt_impl (unsigned int bits) : m_bits (bits) {} rtx expand (function_expander &e) const override @@ -359,7 +359,7 @@ public: class svluti_zt_impl : public read_zt0<function_base> { public: - CONSTEXPR svluti_zt_impl (unsigned int bits) : m_bits (bits) {} + constexpr svluti_zt_impl (unsigned int bits) : m_bits (bits) {} unsigned int call_properties (const function_instance &) const override { diff --git a/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc b/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc index 91a5660928a8..e969953ab1d6 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins-sve2.cc @@ -81,7 +81,7 @@ unspec_sqrdcmlah (int rot) class ld1uxq_st1xq_base : public function_base { public: - CONSTEXPR ld1uxq_st1xq_base (machine_mode memory_mode) + constexpr ld1uxq_st1xq_base (machine_mode memory_mode) : m_memory_mode (memory_mode) {} tree @@ -103,7 +103,7 @@ protected: class ld234q_st234q_base : public full_width_access { public: - CONSTEXPR ld234q_st234q_base (unsigned int vector_count, machine_mode mode) + constexpr ld234q_st234q_base (unsigned int vector_count, machine_mode mode) : full_width_access (vector_count), m_mode (mode) {} @@ -224,8 +224,7 @@ public: class svcvt_fp8_impl : public function_base { public: - CONSTEXPR - svcvt_fp8_impl (int unspec) : m_unspec (unspec) {} + constexpr svcvt_fp8_impl (int unspec) : m_unspec (unspec) {} rtx expand (function_expander &e) const override @@ -294,9 +293,8 @@ public: class svfirst_lastp_impl : public function_base { public: - CONSTEXPR svfirst_lastp_impl (bool first) - : m_first (first) - {} + constexpr svfirst_lastp_impl (bool first) + : m_first (first) {} gimple * fold (gimple_folder &f) const override @@ -448,7 +446,7 @@ public: class svmatch_svnmatch_impl : public function_base { public: - CONSTEXPR svmatch_svnmatch_impl (int unspec) : m_unspec (unspec) {} + constexpr svmatch_svnmatch_impl (int unspec) : m_unspec (unspec) {} gimple * fold (gimple_folder &f) const override { @@ -587,7 +585,7 @@ public: class svqrshl_impl : public unspec_based_function { public: - CONSTEXPR svqrshl_impl () + constexpr svqrshl_impl () : unspec_based_function (UNSPEC_SQRSHL, UNSPEC_UQRSHL, -1) {} gimple * @@ -623,7 +621,7 @@ public: class svqshl_impl : public unspec_based_function { public: - CONSTEXPR svqshl_impl () + constexpr svqshl_impl () : unspec_based_function (UNSPEC_SQSHL, UNSPEC_UQSHL, -1) {} gimple * @@ -660,7 +658,7 @@ public: class svrshl_impl : public unspec_based_function { public: - CONSTEXPR svrshl_impl () + constexpr svrshl_impl () : unspec_based_function (UNSPEC_SRSHL, UNSPEC_URSHL, -1) {} gimple * @@ -852,7 +850,7 @@ public: class svtbl2_impl : public quiet<multi_vector_function> { public: - CONSTEXPR svtbl2_impl () : quiet<multi_vector_function> (2) {} + constexpr svtbl2_impl () : quiet<multi_vector_function> (2) {} rtx expand (function_expander &e) const override @@ -892,7 +890,7 @@ public: class svuzpq_impl : public binary_permute { public: - CONSTEXPR svuzpq_impl (unsigned int base) + constexpr svuzpq_impl (unsigned int base) : binary_permute (base ? UNSPEC_UZPQ2 : UNSPEC_UZPQ1), m_base (base) {} gimple * @@ -921,7 +919,7 @@ public: class svwhilerw_svwhilewr_impl : public full_width_access { public: - CONSTEXPR svwhilerw_svwhilewr_impl (int unspec) : m_unspec (unspec) {} + constexpr svwhilerw_svwhilewr_impl (int unspec) : m_unspec (unspec) {} rtx expand (function_expander &e) const override @@ -940,7 +938,7 @@ public: class svzipq_impl : public binary_permute { public: - CONSTEXPR svzipq_impl (unsigned int base) + constexpr svzipq_impl (unsigned int base) : binary_permute (base ? UNSPEC_ZIPQ2 : UNSPEC_ZIPQ1), m_base (base) {} gimple * @@ -967,8 +965,7 @@ public: class svluti_lane_impl : public function_base { public: - CONSTEXPR svluti_lane_impl (unsigned int bits) : m_bits (bits) - {} + constexpr svluti_lane_impl (unsigned int bits) : m_bits (bits) {} rtx expand (function_expander &e) const override { @@ -984,9 +981,8 @@ public: class faminmaximpl : public function_base { public: - CONSTEXPR faminmaximpl (int cond_unspec, int uncond_unspec) - : m_cond_unspec (cond_unspec), m_uncond_unspec (uncond_unspec) - {} + constexpr faminmaximpl (int cond_unspec, int uncond_unspec) + : m_cond_unspec (cond_unspec), m_uncond_unspec (uncond_unspec) {} rtx expand (function_expander &e) const override diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index f76db91d4238..a1f91dd425ef 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -482,7 +482,7 @@ struct processor }; /* Architectures implementing AArch64. */ -static CONSTEXPR const processor all_architectures[] = +static constexpr const processor all_architectures[] = { #define AARCH64_ARCH(NAME, CORE, ARCH_IDENT, D, E) \ {NAME, AARCH64_CPU_##CORE, AARCH64_CPU_##CORE, AARCH64_ARCH_##ARCH_IDENT, \ diff --git a/gcc/config/aarch64/driver-aarch64.cc b/gcc/config/aarch64/driver-aarch64.cc index 67920cc40769..278f26c92194 100644 --- a/gcc/config/aarch64/driver-aarch64.cc +++ b/gcc/config/aarch64/driver-aarch64.cc @@ -65,7 +65,7 @@ struct aarch64_core_data #define AARCH64_CORE(CORE_NAME, CORE_IDENT, SCHED, ARCH, FLAGS, COSTS, IMP, PART, VARIANT) \ { CORE_NAME, #ARCH, IMP, PART, unsigned(VARIANT), feature_deps::cpu_##CORE_IDENT }, -static CONSTEXPR const aarch64_core_data aarch64_cpu_data[] = +static constexpr const aarch64_core_data aarch64_cpu_data[] = { #include "aarch64-cores.def" { NULL, NULL, INVALID_IMP, INVALID_CORE, ALL_VARIANTS, 0 } @@ -83,7 +83,7 @@ struct aarch64_arch_driver_info #define AARCH64_ARCH(NAME, CORE, ARCH_IDENT, ARCH_REV, FLAGS) \ { #ARCH_IDENT + 1, NAME, feature_deps::ARCH_IDENT ().enable }, -static CONSTEXPR const aarch64_arch_driver_info aarch64_arches[] = +static constexpr const aarch64_arch_driver_info aarch64_arches[] = { #include "aarch64-arches.def" {NULL, NULL, 0} diff --git a/gcc/config/arm/arm-mve-builtins-base.cc b/gcc/config/arm/arm-mve-builtins-base.cc index 0fbe0d986adf..a820f8001102 100644 --- a/gcc/config/arm/arm-mve-builtins-base.cc +++ b/gcc/config/arm/arm-mve-builtins-base.cc @@ -44,7 +44,7 @@ namespace { class vdupq_impl : public quiet<function_base> { public: - CONSTEXPR vdupq_impl (int unspec_for_m_n_sint, + constexpr vdupq_impl (int unspec_for_m_n_sint, int unspec_for_m_n_uint, int unspec_for_m_n_fp) : m_unspec_for_m_n_sint (unspec_for_m_n_sint), @@ -240,7 +240,7 @@ class vstrq_scatter_impl : public store_truncating public: using store_truncating::store_truncating; - CONSTEXPR vstrq_scatter_impl (bool shifted, + constexpr vstrq_scatter_impl (bool shifted, scalar_mode to_int_mode, opt_scalar_mode to_float_mode) : store_truncating (to_int_mode, to_float_mode), @@ -290,7 +290,7 @@ public: class vstrq_scatter_base_impl : public function_base { public: - CONSTEXPR vstrq_scatter_base_impl (scalar_mode to_int_mode) + constexpr vstrq_scatter_base_impl (scalar_mode to_int_mode) : m_to_int_mode (to_int_mode) {} @@ -410,7 +410,7 @@ class vldrq_gather_impl : public load_extending public: using load_extending::load_extending; - CONSTEXPR vldrq_gather_impl (bool shifted, + constexpr vldrq_gather_impl (bool shifted, type_suffix_index signed_memory_type, type_suffix_index unsigned_memory_type, type_suffix_index float_memory_type) @@ -418,7 +418,7 @@ public: m_shifted (shifted) {} - CONSTEXPR vldrq_gather_impl (bool shifted, + constexpr vldrq_gather_impl (bool shifted, type_suffix_index signed_memory_type, type_suffix_index unsigned_memory_type) : load_extending (signed_memory_type, unsigned_memory_type, NUM_TYPE_SUFFIXES), @@ -545,7 +545,7 @@ public: class vctpq_impl : public function_base { public: - CONSTEXPR vctpq_impl (machine_mode mode) + constexpr vctpq_impl (machine_mode mode) : m_mode (mode) {} @@ -702,7 +702,7 @@ public: class vcvtxq_impl : public function_base { public: - CONSTEXPR vcvtxq_impl (int unspec_f16_f32, int unspec_for_m_f16_f32, + constexpr vcvtxq_impl (int unspec_f16_f32, int unspec_for_m_f16_f32, int unspec_f32_f16, int unspec_for_m_f32_f16) : m_unspec_f16_f32 (unspec_f16_f32), m_unspec_for_m_f16_f32 (unspec_for_m_f16_f32), @@ -760,7 +760,7 @@ public: class viddup_impl : public function_base { public: - CONSTEXPR viddup_impl (bool inc_dec, bool wrap) + constexpr viddup_impl (bool inc_dec, bool wrap) : m_inc_dec (inc_dec), m_wrap (wrap) {} @@ -960,7 +960,7 @@ public: class vadc_vsbc_impl : public function_base { public: - CONSTEXPR vadc_vsbc_impl (bool init_carry, bool add) + constexpr vadc_vsbc_impl (bool init_carry, bool add) : m_init_carry (init_carry), m_add (add) {} @@ -1202,7 +1202,7 @@ enum which_scalar_shift { class mve_function_scalar_shift : public function_base { public: - CONSTEXPR mve_function_scalar_shift (enum which_scalar_shift shl) + constexpr mve_function_scalar_shift (enum which_scalar_shift shl) : m_scalar_shift (shl) {} @@ -1296,7 +1296,7 @@ public: class mve_function_vpnot : public function_base { public: - CONSTEXPR mve_function_vpnot (void) + constexpr mve_function_vpnot (void) {} rtx @@ -1315,7 +1315,7 @@ public: class mve_function_vsetq_vgetq_lane : public function_base { public: - CONSTEXPR mve_function_vsetq_vgetq_lane (bool is_get) + constexpr mve_function_vsetq_vgetq_lane (bool is_get) : m_is_get (is_get) {} diff --git a/gcc/config/arm/arm-mve-builtins-functions.h b/gcc/config/arm/arm-mve-builtins-functions.h index 59abcf49d589..184bb9f7a420 100644 --- a/gcc/config/arm/arm-mve-builtins-functions.h +++ b/gcc/config/arm/arm-mve-builtins-functions.h @@ -32,7 +32,7 @@ template<typename T> class quiet : public T { public: - CONSTEXPR quiet () : T () {} + constexpr quiet () : T () {} unsigned int call_properties (const function_instance &) const override @@ -53,7 +53,7 @@ public: class unspec_based_mve_function_base : public function_base { public: - CONSTEXPR unspec_based_mve_function_base (rtx_code code_for_sint, + constexpr unspec_based_mve_function_base (rtx_code code_for_sint, rtx_code code_for_uint, rtx_code code_for_fp, int unspec_for_sint, @@ -209,7 +209,7 @@ unspec_based_mve_function_base::expand_unspec (function_expander &e) const class unspec_based_mve_function_exact_insn : public unspec_based_mve_function_base { public: - CONSTEXPR unspec_based_mve_function_exact_insn (rtx_code code_for_sint, + constexpr unspec_based_mve_function_exact_insn (rtx_code code_for_sint, rtx_code code_for_uint, rtx_code code_for_fp, int unspec_for_n_sint, @@ -256,7 +256,7 @@ public: class unspec_mve_function_exact_insn : public unspec_based_mve_function_base { public: - CONSTEXPR unspec_mve_function_exact_insn (int unspec_for_sint, + constexpr unspec_mve_function_exact_insn (int unspec_for_sint, int unspec_for_uint, int unspec_for_fp, int unspec_for_n_sint, @@ -297,7 +297,7 @@ public: class unspec_mve_function_exact_insn_pred_p : public unspec_based_mve_function_base { public: - CONSTEXPR unspec_mve_function_exact_insn_pred_p (int unspec_for_sint, + constexpr unspec_mve_function_exact_insn_pred_p (int unspec_for_sint, int unspec_for_uint, int unspec_for_fp, int unspec_for_p_sint, @@ -389,7 +389,7 @@ public: class unspec_mve_function_exact_insn_vshl : public unspec_based_mve_function_base { public: - CONSTEXPR unspec_mve_function_exact_insn_vshl (int unspec_for_sint, + constexpr unspec_mve_function_exact_insn_vshl (int unspec_for_sint, int unspec_for_uint, int unspec_for_n_sint, int unspec_for_n_uint, @@ -477,7 +477,7 @@ public: class unspec_based_mve_function_exact_insn_vbic : public unspec_based_mve_function_base { public: - CONSTEXPR unspec_based_mve_function_exact_insn_vbic (int unspec_for_n_sint, + constexpr unspec_based_mve_function_exact_insn_vbic (int unspec_for_n_sint, int unspec_for_n_uint, int unspec_for_m_sint, int unspec_for_m_uint, @@ -531,7 +531,7 @@ public: class unspec_based_mve_function_exact_insn_vorn : public unspec_based_mve_function_base { public: - CONSTEXPR unspec_based_mve_function_exact_insn_vorn (int unspec_for_n_sint, + constexpr unspec_based_mve_function_exact_insn_vorn (int unspec_for_n_sint, int unspec_for_n_uint, int unspec_for_m_sint, int unspec_for_m_uint, @@ -581,7 +581,7 @@ public: class unspec_based_mve_function_exact_insn_vcmp : public unspec_based_mve_function_base { public: - CONSTEXPR unspec_based_mve_function_exact_insn_vcmp (rtx_code code_for_sint, + constexpr unspec_based_mve_function_exact_insn_vcmp (rtx_code code_for_sint, rtx_code code_for_uint, rtx_code code_for_fp, int unspec_for_m_sint, @@ -707,7 +707,7 @@ public: class unspec_mve_function_exact_insn_rot : public function_base { public: - CONSTEXPR unspec_mve_function_exact_insn_rot (int unspec_for_sint, + constexpr unspec_mve_function_exact_insn_rot (int unspec_for_sint, int unspec_for_uint, int unspec_for_fp, int unspec_for_m_sint, @@ -802,7 +802,7 @@ public: class unspec_mve_function_exact_insn_vmull : public function_base { public: - CONSTEXPR unspec_mve_function_exact_insn_vmull (int unspec_for_sint, + constexpr unspec_mve_function_exact_insn_vmull (int unspec_for_sint, int unspec_for_uint, int unspec_for_m_sint, int unspec_for_m_uint) @@ -872,7 +872,7 @@ public: class unspec_mve_function_exact_insn_vmull_poly : public function_base { public: - CONSTEXPR unspec_mve_function_exact_insn_vmull_poly (int unspec_for_poly, + constexpr unspec_mve_function_exact_insn_vmull_poly (int unspec_for_poly, int unspec_for_m_poly) : m_unspec_for_poly (unspec_for_poly), m_unspec_for_m_poly (unspec_for_m_poly) @@ -926,7 +926,7 @@ public: class multi_vector_function : public function_base { public: - CONSTEXPR multi_vector_function (unsigned int vectors_per_tuple) + constexpr multi_vector_function (unsigned int vectors_per_tuple) : m_vectors_per_tuple (vectors_per_tuple) {} unsigned int @@ -945,7 +945,7 @@ public: class full_width_access : public multi_vector_function { public: - CONSTEXPR full_width_access (unsigned int vectors_per_tuple = 1) + constexpr full_width_access (unsigned int vectors_per_tuple = 1) : multi_vector_function (vectors_per_tuple) {} tree @@ -972,14 +972,14 @@ public: class load_extending : public function_base { public: - CONSTEXPR load_extending (type_suffix_index signed_memory_type, + constexpr load_extending (type_suffix_index signed_memory_type, type_suffix_index unsigned_memory_type, type_suffix_index float_memory_type) : m_signed_memory_type (signed_memory_type), m_unsigned_memory_type (unsigned_memory_type), m_float_memory_type (float_memory_type) {} - CONSTEXPR load_extending (type_suffix_index signed_memory_type, + constexpr load_extending (type_suffix_index signed_memory_type, type_suffix_index unsigned_memory_type) : m_signed_memory_type (signed_memory_type), m_unsigned_memory_type (unsigned_memory_type), @@ -1029,7 +1029,7 @@ public: class store_truncating : public function_base { public: - CONSTEXPR store_truncating (scalar_mode to_int_mode, + constexpr store_truncating (scalar_mode to_int_mode, opt_scalar_mode to_float_mode) : m_to_int_mode (to_int_mode), m_to_float_mode (to_float_mode) {} @@ -1072,7 +1072,7 @@ public: /* Declare the global function base NAME, creating it from an instance of class CLASS with constructor arguments ARGS. */ #define FUNCTION(NAME, CLASS, ARGS) \ - namespace { static CONSTEXPR const CLASS NAME##_obj ARGS; } \ + namespace { static constexpr const CLASS NAME##_obj ARGS; } \ namespace functions { const function_base *const NAME = &NAME##_obj; } #endif diff --git a/gcc/config/arm/arm-mve-builtins-shapes.cc b/gcc/config/arm/arm-mve-builtins-shapes.cc index 8a2f4a825fd5..02acc536ff48 100644 --- a/gcc/config/arm/arm-mve-builtins-shapes.cc +++ b/gcc/config/arm/arm-mve-builtins-shapes.cc @@ -373,7 +373,7 @@ half_type_suffix (function_resolver &r, /* Declare the function shape NAME, pointing it to an instance of class <NAME>_def. */ #define SHAPE(NAME) \ - static CONSTEXPR const NAME##_def NAME##_obj; \ + static constexpr const NAME##_def NAME##_obj; \ namespace shapes { const function_shape *const NAME = &NAME##_obj; } \ extern int __require_trailing_semicolon ATTRIBUTE_UNUSED diff --git a/gcc/config/arm/arm-mve-builtins.cc b/gcc/config/arm/arm-mve-builtins.cc index 5a46deef8cfd..30c363cbeca4 100644 --- a/gcc/config/arm/arm-mve-builtins.cc +++ b/gcc/config/arm/arm-mve-builtins.cc @@ -93,7 +93,7 @@ struct registered_function_hasher : nofree_ptr_hash <registered_function> static bool handle_arm_mve_types_p; /* Information about each single-predicate or single-vector type. */ -static CONSTEXPR const vector_type_info vector_types[] = { +static constexpr const vector_type_info vector_types[] = { #define DEF_MVE_TYPE(ACLE_NAME, SCALAR_TYPE) \ { #ACLE_NAME, REQUIRES_FLOAT }, #include "arm-mve-builtins.def" @@ -110,7 +110,7 @@ static const char *const pred_suffixes[NUM_PREDS + 1] = { }; /* Static information about each mode_suffix_index. */ -CONSTEXPR const mode_suffix_info mode_suffixes[] = { +constexpr const mode_suffix_info mode_suffixes[] = { #define VECTOR_TYPE_none NUM_VECTOR_TYPES #define DEF_MVE_MODE(NAME, BASE, DISPLACEMENT, UNITS) \ { "_" #NAME, VECTOR_TYPE_##BASE, VECTOR_TYPE_##DISPLACEMENT, UNITS_##UNITS }, @@ -120,7 +120,7 @@ CONSTEXPR const mode_suffix_info mode_suffixes[] = { }; /* Static information about each type_suffix_index. */ -CONSTEXPR const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = { +constexpr const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = { #define DEF_MVE_TYPE_SUFFIX(NAME, ACLE_TYPE, CLASS, BITS, MODE) \ { "_" #NAME, \ VECTOR_TYPE_##ACLE_TYPE, \ @@ -357,7 +357,7 @@ static const predication_index preds_z_or_none[] = {PRED_z, PRED_none, NUM_PREDS}; /* A list of all MVE ACLE functions. */ -static CONSTEXPR const function_group_info function_groups[] = { +static constexpr const function_group_info function_groups[] = { #define DEF_MVE_FUNCTION(NAME, SHAPE, TYPES, PREDS) \ { #NAME, &functions::NAME, &shapes::SHAPE, types_##TYPES, preds_##PREDS, \ REQUIRES_FLOAT }, diff --git a/gcc/config/riscv/andes-vector-builtins-bases.cc b/gcc/config/riscv/andes-vector-builtins-bases.cc index 4dbe0d2a844e..66623b6299be 100644 --- a/gcc/config/riscv/andes-vector-builtins-bases.cc +++ b/gcc/config/riscv/andes-vector-builtins-bases.cc @@ -150,18 +150,18 @@ public: } }; -static CONSTEXPR const nds_vfwcvtbf16_f nds_vfwcvt_s_obj; -static CONSTEXPR const nds_vfncvtbf16_f<NO_FRM> nds_vfncvt_bf16_obj; -static CONSTEXPR const nds_vfncvtbf16_f<HAS_FRM> nds_vfncvt_bf16_frm_obj; -static CONSTEXPR const nds_nibbleload<true> nds_vln8_obj; -static CONSTEXPR const nds_nibbleload<false> nds_vlnu8_obj; -static CONSTEXPR const nds_vfpmad <UNSPEC_NDS_VFPMADT, NO_FRM> nds_vfpmadt_obj; -static CONSTEXPR const nds_vfpmad <UNSPEC_NDS_VFPMADB, NO_FRM> nds_vfpmadb_obj; -static CONSTEXPR const nds_vfpmad <UNSPEC_NDS_VFPMADT, HAS_FRM> nds_vfpmadt_frm_obj; -static CONSTEXPR const nds_vfpmad <UNSPEC_NDS_VFPMADB, HAS_FRM> nds_vfpmadb_frm_obj; -static CONSTEXPR const nds_vd4dot<SIGN_EXTEND> nds_vd4dots_obj; -static CONSTEXPR const nds_vd4dot<ZERO_EXTEND> nds_vd4dotu_obj; -static CONSTEXPR const nds_vd4dotsu nds_vd4dotsu_obj; +static constexpr const nds_vfwcvtbf16_f nds_vfwcvt_s_obj; +static constexpr const nds_vfncvtbf16_f<NO_FRM> nds_vfncvt_bf16_obj; +static constexpr const nds_vfncvtbf16_f<HAS_FRM> nds_vfncvt_bf16_frm_obj; +static constexpr const nds_nibbleload<true> nds_vln8_obj; +static constexpr const nds_nibbleload<false> nds_vlnu8_obj; +static constexpr const nds_vfpmad <UNSPEC_NDS_VFPMADT, NO_FRM> nds_vfpmadt_obj; +static constexpr const nds_vfpmad <UNSPEC_NDS_VFPMADB, NO_FRM> nds_vfpmadb_obj; +static constexpr const nds_vfpmad <UNSPEC_NDS_VFPMADT, HAS_FRM> nds_vfpmadt_frm_obj; +static constexpr const nds_vfpmad <UNSPEC_NDS_VFPMADB, HAS_FRM> nds_vfpmadb_frm_obj; +static constexpr const nds_vd4dot<SIGN_EXTEND> nds_vd4dots_obj; +static constexpr const nds_vd4dot<ZERO_EXTEND> nds_vd4dotu_obj; +static constexpr const nds_vd4dotsu nds_vd4dotsu_obj; /* Declare the function base NAME, pointing it to an instance of class <NAME>_obj. */ diff --git a/gcc/config/riscv/riscv-protos.h b/gcc/config/riscv/riscv-protos.h index e7bce0db7a3a..e8eb623218dd 100644 --- a/gcc/config/riscv/riscv-protos.h +++ b/gcc/config/riscv/riscv-protos.h @@ -304,7 +304,7 @@ struct common_vector_cost /* scalable vectorization (VLA) specific cost. */ struct scalable_vector_cost : common_vector_cost { - CONSTEXPR scalable_vector_cost (const common_vector_cost &base) + constexpr scalable_vector_cost (const common_vector_cost &base) : common_vector_cost (base) {} diff --git a/gcc/config/riscv/riscv-vector-builtins-bases.cc b/gcc/config/riscv/riscv-vector-builtins-bases.cc index 0ae9b34fa2b6..6e3b3a01862e 100644 --- a/gcc/config/riscv/riscv-vector-builtins-bases.cc +++ b/gcc/config/riscv/riscv-vector-builtins-bases.cc @@ -2462,330 +2462,330 @@ public: } }; -static CONSTEXPR const vsetvl<false> vsetvl_obj; -static CONSTEXPR const vsetvl<true> vsetvlmax_obj; -static CONSTEXPR const loadstore<false, LST_UNIT_STRIDE, false> vle_obj; -static CONSTEXPR const loadstore<true, LST_UNIT_STRIDE, false> vse_obj; -static CONSTEXPR const loadstore<false, LST_UNIT_STRIDE, false> vlm_obj; -static CONSTEXPR const loadstore<true, LST_UNIT_STRIDE, false> vsm_obj; -static CONSTEXPR const loadstore<false, LST_STRIDED, false> vlse_obj; -static CONSTEXPR const loadstore<true, LST_STRIDED, false> vsse_obj; -static CONSTEXPR const loadstore<false, LST_INDEXED, false> vluxei8_obj; -static CONSTEXPR const loadstore<false, LST_INDEXED, false> vluxei16_obj; -static CONSTEXPR const loadstore<false, LST_INDEXED, false> vluxei32_obj; -static CONSTEXPR const loadstore<false, LST_INDEXED, false> vluxei64_obj; -static CONSTEXPR const loadstore<false, LST_INDEXED, true> vloxei8_obj; -static CONSTEXPR const loadstore<false, LST_INDEXED, true> vloxei16_obj; -static CONSTEXPR const loadstore<false, LST_INDEXED, true> vloxei32_obj; -static CONSTEXPR const loadstore<false, LST_INDEXED, true> vloxei64_obj; -static CONSTEXPR const loadstore<true, LST_INDEXED, false> vsuxei8_obj; -static CONSTEXPR const loadstore<true, LST_INDEXED, false> vsuxei16_obj; -static CONSTEXPR const loadstore<true, LST_INDEXED, false> vsuxei32_obj; -static CONSTEXPR const loadstore<true, LST_INDEXED, false> vsuxei64_obj; -static CONSTEXPR const loadstore<true, LST_INDEXED, true> vsoxei8_obj; -static CONSTEXPR const loadstore<true, LST_INDEXED, true> vsoxei16_obj; -static CONSTEXPR const loadstore<true, LST_INDEXED, true> vsoxei32_obj; -static CONSTEXPR const loadstore<true, LST_INDEXED, true> vsoxei64_obj; -static CONSTEXPR const binop<PLUS> vadd_obj; -static CONSTEXPR const binop<MINUS> vsub_obj; -static CONSTEXPR const vrsub vrsub_obj; -static CONSTEXPR const binop<AND> vand_obj; -static CONSTEXPR const binop<IOR> vor_obj; -static CONSTEXPR const binop<XOR> vxor_obj; -static CONSTEXPR const binop<ASHIFT> vsll_obj; -static CONSTEXPR const binop<ASHIFTRT> vsra_obj; -static CONSTEXPR const binop<LSHIFTRT> vsrl_obj; -static CONSTEXPR const binop<SMIN> vmin_obj; -static CONSTEXPR const binop<SMAX> vmax_obj; -static CONSTEXPR const binop<UMIN> vminu_obj; -static CONSTEXPR const binop<UMAX> vmaxu_obj; -static CONSTEXPR const binop<MULT> vmul_obj; -static CONSTEXPR const vmulh<UNSPEC_VMULHS> vmulh_obj; -static CONSTEXPR const vmulh<UNSPEC_VMULHU> vmulhu_obj; -static CONSTEXPR const vmulh<UNSPEC_VMULHSU> vmulhsu_obj; -static CONSTEXPR const binop<DIV> vdiv_obj; -static CONSTEXPR const binop<MOD> vrem_obj; -static CONSTEXPR const binop<UDIV> vdivu_obj; -static CONSTEXPR const binop<UMOD> vremu_obj; -static CONSTEXPR const unop<NEG> vneg_obj; -static CONSTEXPR const unop<NOT> vnot_obj; -static CONSTEXPR const ext<SIGN_EXTEND> vsext_obj; -static CONSTEXPR const ext<ZERO_EXTEND> vzext_obj; -static CONSTEXPR const widen_binop<PLUS, SIGN_EXTEND>vwadd_obj; -static CONSTEXPR const widen_binop<MINUS, SIGN_EXTEND>vwsub_obj; -static CONSTEXPR const widen_binop<MULT, SIGN_EXTEND>vwmul_obj; -static CONSTEXPR const widen_binop<PLUS, ZERO_EXTEND>vwaddu_obj; -static CONSTEXPR const widen_binop<MINUS, ZERO_EXTEND>vwsubu_obj; -static CONSTEXPR const widen_binop<MULT, ZERO_EXTEND>vwmulu_obj; -static CONSTEXPR const vwmulsu vwmulsu_obj; -static CONSTEXPR const vwcvt<SIGN_EXTEND> vwcvt_x_obj; -static CONSTEXPR const vwcvt<ZERO_EXTEND> vwcvtu_x_obj; -static CONSTEXPR const vadc vadc_obj; -static CONSTEXPR const vsbc vsbc_obj; -static CONSTEXPR const vmadc vmadc_obj; -static CONSTEXPR const vmsbc vmsbc_obj; -static CONSTEXPR const vnshift<LSHIFTRT> vnsrl_obj; -static CONSTEXPR const vnshift<ASHIFTRT> vnsra_obj; -static CONSTEXPR const vncvt_x vncvt_x_obj; -static CONSTEXPR const vmerge vmerge_obj; -static CONSTEXPR const vmv_v vmv_v_obj; -static CONSTEXPR const icmp<EQ> vmseq_obj; -static CONSTEXPR const icmp<NE> vmsne_obj; -static CONSTEXPR const icmp<LT> vmslt_obj; -static CONSTEXPR const icmp<GT> vmsgt_obj; -static CONSTEXPR const icmp<LE> vmsle_obj; -static CONSTEXPR const icmp<GE> vmsge_obj; -static CONSTEXPR const icmp<LTU> vmsltu_obj; -static CONSTEXPR const icmp<GTU> vmsgtu_obj; -static CONSTEXPR const icmp<LEU> vmsleu_obj; -static CONSTEXPR const icmp<GEU> vmsgeu_obj; -static CONSTEXPR const vmacc vmacc_obj; -static CONSTEXPR const vnmsac vnmsac_obj; -static CONSTEXPR const vmadd vmadd_obj; -static CONSTEXPR const vnmsub vnmsub_obj; -static CONSTEXPR const vwmacc vwmacc_obj; -static CONSTEXPR const vwmaccu vwmaccu_obj; -static CONSTEXPR const vwmaccsu vwmaccsu_obj; -static CONSTEXPR const vwmaccus vwmaccus_obj; -static CONSTEXPR const binop<SS_PLUS> vsadd_obj; -static CONSTEXPR const binop<SS_MINUS> vssub_obj; -static CONSTEXPR const binop<US_PLUS> vsaddu_obj; -static CONSTEXPR const binop<US_MINUS> vssubu_obj; -static CONSTEXPR const sat_op<UNSPEC_VAADDU> vaaddu_obj; -static CONSTEXPR const sat_op<UNSPEC_VAADD> vaadd_obj; -static CONSTEXPR const sat_op<UNSPEC_VASUBU> vasubu_obj; -static CONSTEXPR const sat_op<UNSPEC_VASUB> vasub_obj; -static CONSTEXPR const sat_op<UNSPEC_VSMUL> vsmul_obj; -static CONSTEXPR const sat_op<UNSPEC_VSSRL> vssrl_obj; -static CONSTEXPR const sat_op<UNSPEC_VSSRA> vssra_obj; -static CONSTEXPR const vnclip<UNSPEC_VNCLIP> vnclip_obj; -static CONSTEXPR const vnclip<UNSPEC_VNCLIPU> vnclipu_obj; -static CONSTEXPR const mask_logic<AND> vmand_obj; -static CONSTEXPR const mask_nlogic<AND> vmnand_obj; -static CONSTEXPR const mask_notlogic<AND> vmandn_obj; -static CONSTEXPR const mask_logic<XOR> vmxor_obj; -static CONSTEXPR const mask_logic<IOR> vmor_obj; -static CONSTEXPR const mask_nlogic<IOR> vmnor_obj; -static CONSTEXPR const mask_notlogic<IOR> vmorn_obj; -static CONSTEXPR const mask_nlogic<XOR> vmxnor_obj; -static CONSTEXPR const vmmv vmmv_obj; -static CONSTEXPR const vmclr vmclr_obj; -static CONSTEXPR const vmset vmset_obj; -static CONSTEXPR const vmnot vmnot_obj; -static CONSTEXPR const vcpop vcpop_obj; -static CONSTEXPR const vfirst vfirst_obj; -static CONSTEXPR const mask_misc<UNSPEC_VMSBF> vmsbf_obj; -static CONSTEXPR const mask_misc<UNSPEC_VMSIF> vmsif_obj; -static CONSTEXPR const mask_misc<UNSPEC_VMSOF> vmsof_obj; -static CONSTEXPR const viota viota_obj; -static CONSTEXPR const vid vid_obj; -static CONSTEXPR const binop<PLUS, true> vfadd_obj; -static CONSTEXPR const binop<MINUS, true> vfsub_obj; -static CONSTEXPR const binop<PLUS, true, HAS_FRM> vfadd_frm_obj; -static CONSTEXPR const binop<MINUS, true, HAS_FRM> vfsub_frm_obj; -static CONSTEXPR const reverse_binop<MINUS> vfrsub_obj; -static CONSTEXPR const reverse_binop<MINUS, HAS_FRM> vfrsub_frm_obj; -static CONSTEXPR const widen_binop_fp<PLUS> vfwadd_obj; -static CONSTEXPR const widen_binop_fp<PLUS, HAS_FRM> vfwadd_frm_obj; -static CONSTEXPR const widen_binop_fp<MINUS> vfwsub_obj; -static CONSTEXPR const widen_binop_fp<MINUS, HAS_FRM> vfwsub_frm_obj; -static CONSTEXPR const binop<MULT, true> vfmul_obj; -static CONSTEXPR const binop<MULT, true, HAS_FRM> vfmul_frm_obj; -static CONSTEXPR const binop<DIV, true> vfdiv_obj; -static CONSTEXPR const binop<DIV, true, HAS_FRM> vfdiv_frm_obj; -static CONSTEXPR const reverse_binop<DIV> vfrdiv_obj; -static CONSTEXPR const reverse_binop<DIV, HAS_FRM> vfrdiv_frm_obj; -static CONSTEXPR const widen_binop_fp<MULT> vfwmul_obj; -static CONSTEXPR const widen_binop_fp<MULT, HAS_FRM> vfwmul_frm_obj; -static CONSTEXPR const vfmacc<NO_FRM> vfmacc_obj; -static CONSTEXPR const vfmacc<HAS_FRM> vfmacc_frm_obj; -static CONSTEXPR const vfnmsac<NO_FRM> vfnmsac_obj; -static CONSTEXPR const vfnmsac<HAS_FRM> vfnmsac_frm_obj; -static CONSTEXPR const vfmadd<NO_FRM> vfmadd_obj; -static CONSTEXPR const vfmadd<HAS_FRM> vfmadd_frm_obj; -static CONSTEXPR const vfnmsub<NO_FRM> vfnmsub_obj; -static CONSTEXPR const vfnmsub<HAS_FRM> vfnmsub_frm_obj; -static CONSTEXPR const vfnmacc<NO_FRM> vfnmacc_obj; -static CONSTEXPR const vfnmacc<HAS_FRM> vfnmacc_frm_obj; -static CONSTEXPR const vfmsac<NO_FRM> vfmsac_obj; -static CONSTEXPR const vfmsac<HAS_FRM> vfmsac_frm_obj; -static CONSTEXPR const vfnmadd<NO_FRM> vfnmadd_obj; -static CONSTEXPR const vfnmadd<HAS_FRM> vfnmadd_frm_obj; -static CONSTEXPR const vfmsub<NO_FRM> vfmsub_obj; -static CONSTEXPR const vfmsub<HAS_FRM> vfmsub_frm_obj; -static CONSTEXPR const vfwmacc<NO_FRM> vfwmacc_obj; -static CONSTEXPR const vfwmacc<HAS_FRM> vfwmacc_frm_obj; -static CONSTEXPR const vfwnmacc<NO_FRM> vfwnmacc_obj; -static CONSTEXPR const vfwnmacc<HAS_FRM> vfwnmacc_frm_obj; -static CONSTEXPR const vfwmsac<NO_FRM> vfwmsac_obj; -static CONSTEXPR const vfwmsac<HAS_FRM> vfwmsac_frm_obj; -static CONSTEXPR const vfwnmsac<NO_FRM> vfwnmsac_obj; -static CONSTEXPR const vfwnmsac<HAS_FRM> vfwnmsac_frm_obj; -static CONSTEXPR const unop<SQRT> vfsqrt_obj; -static CONSTEXPR const unop<SQRT, HAS_FRM> vfsqrt_frm_obj; -static CONSTEXPR const float_misc<UNSPEC_VFRSQRT7> vfrsqrt7_obj; -static CONSTEXPR const float_misc<UNSPEC_VFREC7> vfrec7_obj; -static CONSTEXPR const float_misc<UNSPEC_VFREC7, HAS_FRM> vfrec7_frm_obj; -static CONSTEXPR const binop<SMIN> vfmin_obj; -static CONSTEXPR const binop<SMAX> vfmax_obj; -static CONSTEXPR const float_misc<UNSPEC_VCOPYSIGN> vfsgnj_obj; -static CONSTEXPR const vfsgnjn vfsgnjn_obj; -static CONSTEXPR const float_misc<UNSPEC_VXORSIGN> vfsgnjx_obj; -static CONSTEXPR const unop<NEG> vfneg_obj; -static CONSTEXPR const unop<ABS> vfabs_obj; -static CONSTEXPR const fcmp<EQ> vmfeq_obj; -static CONSTEXPR const fcmp<NE> vmfne_obj; -static CONSTEXPR const fcmp<LT> vmflt_obj; -static CONSTEXPR const fcmp<GT> vmfgt_obj; -static CONSTEXPR const fcmp<LE> vmfle_obj; -static CONSTEXPR const fcmp<GE> vmfge_obj; -static CONSTEXPR const vfclass vfclass_obj; -static CONSTEXPR const vmerge vfmerge_obj; -static CONSTEXPR const vmv_v vfmv_v_obj; -static CONSTEXPR const vfcvt_x<UNSPEC_VFCVT> vfcvt_x_obj; -static CONSTEXPR const vfcvt_x<UNSPEC_VFCVT, HAS_FRM> vfcvt_x_frm_obj; -static CONSTEXPR const vfcvt_x<UNSPEC_UNSIGNED_VFCVT> vfcvt_xu_obj; -static CONSTEXPR const vfcvt_x<UNSPEC_UNSIGNED_VFCVT, HAS_FRM> vfcvt_xu_frm_obj; -static CONSTEXPR const vfcvt_rtz_x<FIX> vfcvt_rtz_x_obj; -static CONSTEXPR const vfcvt_rtz_x<UNSIGNED_FIX> vfcvt_rtz_xu_obj; -static CONSTEXPR const vfcvt_f<NO_FRM> vfcvt_f_obj; -static CONSTEXPR const vfcvt_f<HAS_FRM> vfcvt_f_frm_obj; -static CONSTEXPR const vfwcvt_x<UNSPEC_VFCVT> vfwcvt_x_obj; -static CONSTEXPR const vfwcvt_x<UNSPEC_VFCVT, HAS_FRM> vfwcvt_x_frm_obj; -static CONSTEXPR const vfwcvt_x<UNSPEC_UNSIGNED_VFCVT> vfwcvt_xu_obj; -static CONSTEXPR const vfwcvt_x<UNSPEC_UNSIGNED_VFCVT, HAS_FRM> vfwcvt_xu_frm_obj; -static CONSTEXPR const vfwcvt_rtz_x<FIX> vfwcvt_rtz_x_obj; -static CONSTEXPR const vfwcvt_rtz_x<UNSIGNED_FIX> vfwcvt_rtz_xu_obj; -static CONSTEXPR const vfwcvt_f vfwcvt_f_obj; -static CONSTEXPR const vfncvt_x<UNSPEC_VFCVT> vfncvt_x_obj; -static CONSTEXPR const vfncvt_x<UNSPEC_VFCVT, HAS_FRM> vfncvt_x_frm_obj; -static CONSTEXPR const vfncvt_x<UNSPEC_UNSIGNED_VFCVT> vfncvt_xu_obj; -static CONSTEXPR const vfncvt_x<UNSPEC_UNSIGNED_VFCVT, HAS_FRM> vfncvt_xu_frm_obj; -static CONSTEXPR const vfncvt_rtz_x<FIX> vfncvt_rtz_x_obj; -static CONSTEXPR const vfncvt_rtz_x<UNSIGNED_FIX> vfncvt_rtz_xu_obj; -static CONSTEXPR const vfncvt_f<NO_FRM> vfncvt_f_obj; -static CONSTEXPR const vfncvt_f<HAS_FRM> vfncvt_f_frm_obj; -static CONSTEXPR const vfncvt_rod_f vfncvt_rod_f_obj; -static CONSTEXPR const reducop<UNSPEC_REDUC_SUM> vredsum_obj; -static CONSTEXPR const reducop<UNSPEC_REDUC_MAXU> vredmaxu_obj; -static CONSTEXPR const reducop<UNSPEC_REDUC_MAX> vredmax_obj; -static CONSTEXPR const reducop<UNSPEC_REDUC_MINU> vredminu_obj; -static CONSTEXPR const reducop<UNSPEC_REDUC_MIN> vredmin_obj; -static CONSTEXPR const reducop<UNSPEC_REDUC_AND> vredand_obj; -static CONSTEXPR const reducop<UNSPEC_REDUC_OR> vredor_obj; -static CONSTEXPR const reducop<UNSPEC_REDUC_XOR> vredxor_obj; -static CONSTEXPR const reducop<UNSPEC_WREDUC_SUM> vwredsum_obj; -static CONSTEXPR const reducop<UNSPEC_WREDUC_SUMU> vwredsumu_obj; -static CONSTEXPR const freducop<UNSPEC_REDUC_SUM_UNORDERED> vfredusum_obj; -static CONSTEXPR const freducop<UNSPEC_REDUC_SUM_UNORDERED, HAS_FRM> vfredusum_frm_obj; -static CONSTEXPR const freducop<UNSPEC_REDUC_SUM_ORDERED> vfredosum_obj; -static CONSTEXPR const freducop<UNSPEC_REDUC_SUM_ORDERED, HAS_FRM> vfredosum_frm_obj; -static CONSTEXPR const reducop<UNSPEC_REDUC_MAX> vfredmax_obj; -static CONSTEXPR const reducop<UNSPEC_REDUC_MIN> vfredmin_obj; -static CONSTEXPR const freducop<UNSPEC_WREDUC_SUM_UNORDERED> vfwredusum_obj; -static CONSTEXPR const freducop<UNSPEC_WREDUC_SUM_UNORDERED, HAS_FRM> vfwredusum_frm_obj; -static CONSTEXPR const freducop<UNSPEC_WREDUC_SUM_ORDERED> vfwredosum_obj; -static CONSTEXPR const freducop<UNSPEC_WREDUC_SUM_ORDERED, HAS_FRM> vfwredosum_frm_obj; -static CONSTEXPR const vmv vmv_x_obj; -static CONSTEXPR const vmv_s vmv_s_obj; -static CONSTEXPR const vmv vfmv_f_obj; -static CONSTEXPR const vmv_s vfmv_s_obj; -static CONSTEXPR const slideop<UNSPEC_VSLIDEUP> vslideup_obj; -static CONSTEXPR const slideop<UNSPEC_VSLIDEDOWN> vslidedown_obj; -static CONSTEXPR const slideop<UNSPEC_VSLIDE1UP> vslide1up_obj; -static CONSTEXPR const slideop<UNSPEC_VSLIDE1DOWN> vslide1down_obj; -static CONSTEXPR const slideop<UNSPEC_VFSLIDE1UP> vfslide1up_obj; -static CONSTEXPR const slideop<UNSPEC_VFSLIDE1DOWN> vfslide1down_obj; -static CONSTEXPR const vrgather vrgather_obj; -static CONSTEXPR const vrgatherei16 vrgatherei16_obj; -static CONSTEXPR const vcompress vcompress_obj; -static CONSTEXPR const vundefined vundefined_obj; -static CONSTEXPR const vreinterpret vreinterpret_obj; -static CONSTEXPR const vlmul_ext vlmul_ext_obj; -static CONSTEXPR const vlmul_trunc vlmul_trunc_obj; -static CONSTEXPR const vset vset_obj; -static CONSTEXPR const vget vget_obj; -static CONSTEXPR const vcreate vcreate_obj; -static CONSTEXPR const read_vl read_vl_obj; -static CONSTEXPR const vleff vleff_obj; -static CONSTEXPR const vlenb vlenb_obj; -static CONSTEXPR const vlseg vlseg_obj; -static CONSTEXPR const vsseg vsseg_obj; -static CONSTEXPR const vlsseg vlsseg_obj; -static CONSTEXPR const vssseg vssseg_obj; -static CONSTEXPR const seg_indexed_load<UNSPEC_UNORDERED> vluxseg_obj; -static CONSTEXPR const seg_indexed_load<UNSPEC_ORDERED> vloxseg_obj; -static CONSTEXPR const seg_indexed_store<UNSPEC_UNORDERED> vsuxseg_obj; -static CONSTEXPR const seg_indexed_store<UNSPEC_ORDERED> vsoxseg_obj; -static CONSTEXPR const vlsegff vlsegff_obj; -static CONSTEXPR const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLB> vlb_obj; -static CONSTEXPR const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLBU> vlbu_obj; -static CONSTEXPR const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLH> vlh_obj; -static CONSTEXPR const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLHU> vlhu_obj; -static CONSTEXPR const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLW> vlw_obj; -static CONSTEXPR const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLWU> vlwu_obj; -static CONSTEXPR const th_loadstore_width<true, LST_UNIT_STRIDE, UNSPEC_TH_VLB> vsb_obj; -static CONSTEXPR const th_loadstore_width<true, LST_UNIT_STRIDE, UNSPEC_TH_VLH> vsh_obj; -static CONSTEXPR const th_loadstore_width<true, LST_UNIT_STRIDE, UNSPEC_TH_VLW> vsw_obj; -static CONSTEXPR const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSB> vlsb_obj; -static CONSTEXPR const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSBU> vlsbu_obj; -static CONSTEXPR const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSH> vlsh_obj; -static CONSTEXPR const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSHU> vlshu_obj; -static CONSTEXPR const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSW> vlsw_obj; -static CONSTEXPR const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSWU> vlswu_obj; -static CONSTEXPR const th_loadstore_width<true, LST_STRIDED, UNSPEC_TH_VLSB> vssb_obj; -static CONSTEXPR const th_loadstore_width<true, LST_STRIDED, UNSPEC_TH_VLSH> vssh_obj; -static CONSTEXPR const th_loadstore_width<true, LST_STRIDED, UNSPEC_TH_VLSW> vssw_obj; -static CONSTEXPR const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXB> vlxb_obj; -static CONSTEXPR const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXBU> vlxbu_obj; -static CONSTEXPR const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXH> vlxh_obj; -static CONSTEXPR const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXHU> vlxhu_obj; -static CONSTEXPR const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXW> vlxw_obj; -static CONSTEXPR const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXWU> vlxwu_obj; -static CONSTEXPR const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VLXB> vsxb_obj; -static CONSTEXPR const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VLXH> vsxh_obj; -static CONSTEXPR const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VLXW> vsxw_obj; -static CONSTEXPR const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VSUXB> vsuxb_obj; -static CONSTEXPR const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VSUXH> vsuxh_obj; -static CONSTEXPR const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VSUXW> vsuxw_obj; -static CONSTEXPR const th_extract vext_x_v_obj; +static constexpr const vsetvl<false> vsetvl_obj; +static constexpr const vsetvl<true> vsetvlmax_obj; +static constexpr const loadstore<false, LST_UNIT_STRIDE, false> vle_obj; +static constexpr const loadstore<true, LST_UNIT_STRIDE, false> vse_obj; +static constexpr const loadstore<false, LST_UNIT_STRIDE, false> vlm_obj; +static constexpr const loadstore<true, LST_UNIT_STRIDE, false> vsm_obj; +static constexpr const loadstore<false, LST_STRIDED, false> vlse_obj; +static constexpr const loadstore<true, LST_STRIDED, false> vsse_obj; +static constexpr const loadstore<false, LST_INDEXED, false> vluxei8_obj; +static constexpr const loadstore<false, LST_INDEXED, false> vluxei16_obj; +static constexpr const loadstore<false, LST_INDEXED, false> vluxei32_obj; +static constexpr const loadstore<false, LST_INDEXED, false> vluxei64_obj; +static constexpr const loadstore<false, LST_INDEXED, true> vloxei8_obj; +static constexpr const loadstore<false, LST_INDEXED, true> vloxei16_obj; +static constexpr const loadstore<false, LST_INDEXED, true> vloxei32_obj; +static constexpr const loadstore<false, LST_INDEXED, true> vloxei64_obj; +static constexpr const loadstore<true, LST_INDEXED, false> vsuxei8_obj; +static constexpr const loadstore<true, LST_INDEXED, false> vsuxei16_obj; +static constexpr const loadstore<true, LST_INDEXED, false> vsuxei32_obj; +static constexpr const loadstore<true, LST_INDEXED, false> vsuxei64_obj; +static constexpr const loadstore<true, LST_INDEXED, true> vsoxei8_obj; +static constexpr const loadstore<true, LST_INDEXED, true> vsoxei16_obj; +static constexpr const loadstore<true, LST_INDEXED, true> vsoxei32_obj; +static constexpr const loadstore<true, LST_INDEXED, true> vsoxei64_obj; +static constexpr const binop<PLUS> vadd_obj; +static constexpr const binop<MINUS> vsub_obj; +static constexpr const vrsub vrsub_obj; +static constexpr const binop<AND> vand_obj; +static constexpr const binop<IOR> vor_obj; +static constexpr const binop<XOR> vxor_obj; +static constexpr const binop<ASHIFT> vsll_obj; +static constexpr const binop<ASHIFTRT> vsra_obj; +static constexpr const binop<LSHIFTRT> vsrl_obj; +static constexpr const binop<SMIN> vmin_obj; +static constexpr const binop<SMAX> vmax_obj; +static constexpr const binop<UMIN> vminu_obj; +static constexpr const binop<UMAX> vmaxu_obj; +static constexpr const binop<MULT> vmul_obj; +static constexpr const vmulh<UNSPEC_VMULHS> vmulh_obj; +static constexpr const vmulh<UNSPEC_VMULHU> vmulhu_obj; +static constexpr const vmulh<UNSPEC_VMULHSU> vmulhsu_obj; +static constexpr const binop<DIV> vdiv_obj; +static constexpr const binop<MOD> vrem_obj; +static constexpr const binop<UDIV> vdivu_obj; +static constexpr const binop<UMOD> vremu_obj; +static constexpr const unop<NEG> vneg_obj; +static constexpr const unop<NOT> vnot_obj; +static constexpr const ext<SIGN_EXTEND> vsext_obj; +static constexpr const ext<ZERO_EXTEND> vzext_obj; +static constexpr const widen_binop<PLUS, SIGN_EXTEND>vwadd_obj; +static constexpr const widen_binop<MINUS, SIGN_EXTEND>vwsub_obj; +static constexpr const widen_binop<MULT, SIGN_EXTEND>vwmul_obj; +static constexpr const widen_binop<PLUS, ZERO_EXTEND>vwaddu_obj; +static constexpr const widen_binop<MINUS, ZERO_EXTEND>vwsubu_obj; +static constexpr const widen_binop<MULT, ZERO_EXTEND>vwmulu_obj; +static constexpr const vwmulsu vwmulsu_obj; +static constexpr const vwcvt<SIGN_EXTEND> vwcvt_x_obj; +static constexpr const vwcvt<ZERO_EXTEND> vwcvtu_x_obj; +static constexpr const vadc vadc_obj; +static constexpr const vsbc vsbc_obj; +static constexpr const vmadc vmadc_obj; +static constexpr const vmsbc vmsbc_obj; +static constexpr const vnshift<LSHIFTRT> vnsrl_obj; +static constexpr const vnshift<ASHIFTRT> vnsra_obj; +static constexpr const vncvt_x vncvt_x_obj; +static constexpr const vmerge vmerge_obj; +static constexpr const vmv_v vmv_v_obj; +static constexpr const icmp<EQ> vmseq_obj; +static constexpr const icmp<NE> vmsne_obj; +static constexpr const icmp<LT> vmslt_obj; +static constexpr const icmp<GT> vmsgt_obj; +static constexpr const icmp<LE> vmsle_obj; +static constexpr const icmp<GE> vmsge_obj; +static constexpr const icmp<LTU> vmsltu_obj; +static constexpr const icmp<GTU> vmsgtu_obj; +static constexpr const icmp<LEU> vmsleu_obj; +static constexpr const icmp<GEU> vmsgeu_obj; +static constexpr const vmacc vmacc_obj; +static constexpr const vnmsac vnmsac_obj; +static constexpr const vmadd vmadd_obj; +static constexpr const vnmsub vnmsub_obj; +static constexpr const vwmacc vwmacc_obj; +static constexpr const vwmaccu vwmaccu_obj; +static constexpr const vwmaccsu vwmaccsu_obj; +static constexpr const vwmaccus vwmaccus_obj; +static constexpr const binop<SS_PLUS> vsadd_obj; +static constexpr const binop<SS_MINUS> vssub_obj; +static constexpr const binop<US_PLUS> vsaddu_obj; +static constexpr const binop<US_MINUS> vssubu_obj; +static constexpr const sat_op<UNSPEC_VAADDU> vaaddu_obj; +static constexpr const sat_op<UNSPEC_VAADD> vaadd_obj; +static constexpr const sat_op<UNSPEC_VASUBU> vasubu_obj; +static constexpr const sat_op<UNSPEC_VASUB> vasub_obj; +static constexpr const sat_op<UNSPEC_VSMUL> vsmul_obj; +static constexpr const sat_op<UNSPEC_VSSRL> vssrl_obj; +static constexpr const sat_op<UNSPEC_VSSRA> vssra_obj; +static constexpr const vnclip<UNSPEC_VNCLIP> vnclip_obj; +static constexpr const vnclip<UNSPEC_VNCLIPU> vnclipu_obj; +static constexpr const mask_logic<AND> vmand_obj; +static constexpr const mask_nlogic<AND> vmnand_obj; +static constexpr const mask_notlogic<AND> vmandn_obj; +static constexpr const mask_logic<XOR> vmxor_obj; +static constexpr const mask_logic<IOR> vmor_obj; +static constexpr const mask_nlogic<IOR> vmnor_obj; +static constexpr const mask_notlogic<IOR> vmorn_obj; +static constexpr const mask_nlogic<XOR> vmxnor_obj; +static constexpr const vmmv vmmv_obj; +static constexpr const vmclr vmclr_obj; +static constexpr const vmset vmset_obj; +static constexpr const vmnot vmnot_obj; +static constexpr const vcpop vcpop_obj; +static constexpr const vfirst vfirst_obj; +static constexpr const mask_misc<UNSPEC_VMSBF> vmsbf_obj; +static constexpr const mask_misc<UNSPEC_VMSIF> vmsif_obj; +static constexpr const mask_misc<UNSPEC_VMSOF> vmsof_obj; +static constexpr const viota viota_obj; +static constexpr const vid vid_obj; +static constexpr const binop<PLUS, true> vfadd_obj; +static constexpr const binop<MINUS, true> vfsub_obj; +static constexpr const binop<PLUS, true, HAS_FRM> vfadd_frm_obj; +static constexpr const binop<MINUS, true, HAS_FRM> vfsub_frm_obj; +static constexpr const reverse_binop<MINUS> vfrsub_obj; +static constexpr const reverse_binop<MINUS, HAS_FRM> vfrsub_frm_obj; +static constexpr const widen_binop_fp<PLUS> vfwadd_obj; +static constexpr const widen_binop_fp<PLUS, HAS_FRM> vfwadd_frm_obj; +static constexpr const widen_binop_fp<MINUS> vfwsub_obj; +static constexpr const widen_binop_fp<MINUS, HAS_FRM> vfwsub_frm_obj; +static constexpr const binop<MULT, true> vfmul_obj; +static constexpr const binop<MULT, true, HAS_FRM> vfmul_frm_obj; +static constexpr const binop<DIV, true> vfdiv_obj; +static constexpr const binop<DIV, true, HAS_FRM> vfdiv_frm_obj; +static constexpr const reverse_binop<DIV> vfrdiv_obj; +static constexpr const reverse_binop<DIV, HAS_FRM> vfrdiv_frm_obj; +static constexpr const widen_binop_fp<MULT> vfwmul_obj; +static constexpr const widen_binop_fp<MULT, HAS_FRM> vfwmul_frm_obj; +static constexpr const vfmacc<NO_FRM> vfmacc_obj; +static constexpr const vfmacc<HAS_FRM> vfmacc_frm_obj; +static constexpr const vfnmsac<NO_FRM> vfnmsac_obj; +static constexpr const vfnmsac<HAS_FRM> vfnmsac_frm_obj; +static constexpr const vfmadd<NO_FRM> vfmadd_obj; +static constexpr const vfmadd<HAS_FRM> vfmadd_frm_obj; +static constexpr const vfnmsub<NO_FRM> vfnmsub_obj; +static constexpr const vfnmsub<HAS_FRM> vfnmsub_frm_obj; +static constexpr const vfnmacc<NO_FRM> vfnmacc_obj; +static constexpr const vfnmacc<HAS_FRM> vfnmacc_frm_obj; +static constexpr const vfmsac<NO_FRM> vfmsac_obj; +static constexpr const vfmsac<HAS_FRM> vfmsac_frm_obj; +static constexpr const vfnmadd<NO_FRM> vfnmadd_obj; +static constexpr const vfnmadd<HAS_FRM> vfnmadd_frm_obj; +static constexpr const vfmsub<NO_FRM> vfmsub_obj; +static constexpr const vfmsub<HAS_FRM> vfmsub_frm_obj; +static constexpr const vfwmacc<NO_FRM> vfwmacc_obj; +static constexpr const vfwmacc<HAS_FRM> vfwmacc_frm_obj; +static constexpr const vfwnmacc<NO_FRM> vfwnmacc_obj; +static constexpr const vfwnmacc<HAS_FRM> vfwnmacc_frm_obj; +static constexpr const vfwmsac<NO_FRM> vfwmsac_obj; +static constexpr const vfwmsac<HAS_FRM> vfwmsac_frm_obj; +static constexpr const vfwnmsac<NO_FRM> vfwnmsac_obj; +static constexpr const vfwnmsac<HAS_FRM> vfwnmsac_frm_obj; +static constexpr const unop<SQRT> vfsqrt_obj; +static constexpr const unop<SQRT, HAS_FRM> vfsqrt_frm_obj; +static constexpr const float_misc<UNSPEC_VFRSQRT7> vfrsqrt7_obj; +static constexpr const float_misc<UNSPEC_VFREC7> vfrec7_obj; +static constexpr const float_misc<UNSPEC_VFREC7, HAS_FRM> vfrec7_frm_obj; +static constexpr const binop<SMIN> vfmin_obj; +static constexpr const binop<SMAX> vfmax_obj; +static constexpr const float_misc<UNSPEC_VCOPYSIGN> vfsgnj_obj; +static constexpr const vfsgnjn vfsgnjn_obj; +static constexpr const float_misc<UNSPEC_VXORSIGN> vfsgnjx_obj; +static constexpr const unop<NEG> vfneg_obj; +static constexpr const unop<ABS> vfabs_obj; +static constexpr const fcmp<EQ> vmfeq_obj; +static constexpr const fcmp<NE> vmfne_obj; +static constexpr const fcmp<LT> vmflt_obj; +static constexpr const fcmp<GT> vmfgt_obj; +static constexpr const fcmp<LE> vmfle_obj; +static constexpr const fcmp<GE> vmfge_obj; +static constexpr const vfclass vfclass_obj; +static constexpr const vmerge vfmerge_obj; +static constexpr const vmv_v vfmv_v_obj; +static constexpr const vfcvt_x<UNSPEC_VFCVT> vfcvt_x_obj; +static constexpr const vfcvt_x<UNSPEC_VFCVT, HAS_FRM> vfcvt_x_frm_obj; +static constexpr const vfcvt_x<UNSPEC_UNSIGNED_VFCVT> vfcvt_xu_obj; +static constexpr const vfcvt_x<UNSPEC_UNSIGNED_VFCVT, HAS_FRM> vfcvt_xu_frm_obj; +static constexpr const vfcvt_rtz_x<FIX> vfcvt_rtz_x_obj; +static constexpr const vfcvt_rtz_x<UNSIGNED_FIX> vfcvt_rtz_xu_obj; +static constexpr const vfcvt_f<NO_FRM> vfcvt_f_obj; +static constexpr const vfcvt_f<HAS_FRM> vfcvt_f_frm_obj; +static constexpr const vfwcvt_x<UNSPEC_VFCVT> vfwcvt_x_obj; +static constexpr const vfwcvt_x<UNSPEC_VFCVT, HAS_FRM> vfwcvt_x_frm_obj; +static constexpr const vfwcvt_x<UNSPEC_UNSIGNED_VFCVT> vfwcvt_xu_obj; +static constexpr const vfwcvt_x<UNSPEC_UNSIGNED_VFCVT, HAS_FRM> vfwcvt_xu_frm_obj; +static constexpr const vfwcvt_rtz_x<FIX> vfwcvt_rtz_x_obj; +static constexpr const vfwcvt_rtz_x<UNSIGNED_FIX> vfwcvt_rtz_xu_obj; +static constexpr const vfwcvt_f vfwcvt_f_obj; +static constexpr const vfncvt_x<UNSPEC_VFCVT> vfncvt_x_obj; +static constexpr const vfncvt_x<UNSPEC_VFCVT, HAS_FRM> vfncvt_x_frm_obj; +static constexpr const vfncvt_x<UNSPEC_UNSIGNED_VFCVT> vfncvt_xu_obj; +static constexpr const vfncvt_x<UNSPEC_UNSIGNED_VFCVT, HAS_FRM> vfncvt_xu_frm_obj; +static constexpr const vfncvt_rtz_x<FIX> vfncvt_rtz_x_obj; +static constexpr const vfncvt_rtz_x<UNSIGNED_FIX> vfncvt_rtz_xu_obj; +static constexpr const vfncvt_f<NO_FRM> vfncvt_f_obj; +static constexpr const vfncvt_f<HAS_FRM> vfncvt_f_frm_obj; +static constexpr const vfncvt_rod_f vfncvt_rod_f_obj; +static constexpr const reducop<UNSPEC_REDUC_SUM> vredsum_obj; +static constexpr const reducop<UNSPEC_REDUC_MAXU> vredmaxu_obj; +static constexpr const reducop<UNSPEC_REDUC_MAX> vredmax_obj; +static constexpr const reducop<UNSPEC_REDUC_MINU> vredminu_obj; +static constexpr const reducop<UNSPEC_REDUC_MIN> vredmin_obj; +static constexpr const reducop<UNSPEC_REDUC_AND> vredand_obj; +static constexpr const reducop<UNSPEC_REDUC_OR> vredor_obj; +static constexpr const reducop<UNSPEC_REDUC_XOR> vredxor_obj; +static constexpr const reducop<UNSPEC_WREDUC_SUM> vwredsum_obj; +static constexpr const reducop<UNSPEC_WREDUC_SUMU> vwredsumu_obj; +static constexpr const freducop<UNSPEC_REDUC_SUM_UNORDERED> vfredusum_obj; +static constexpr const freducop<UNSPEC_REDUC_SUM_UNORDERED, HAS_FRM> vfredusum_frm_obj; +static constexpr const freducop<UNSPEC_REDUC_SUM_ORDERED> vfredosum_obj; +static constexpr const freducop<UNSPEC_REDUC_SUM_ORDERED, HAS_FRM> vfredosum_frm_obj; +static constexpr const reducop<UNSPEC_REDUC_MAX> vfredmax_obj; +static constexpr const reducop<UNSPEC_REDUC_MIN> vfredmin_obj; +static constexpr const freducop<UNSPEC_WREDUC_SUM_UNORDERED> vfwredusum_obj; +static constexpr const freducop<UNSPEC_WREDUC_SUM_UNORDERED, HAS_FRM> vfwredusum_frm_obj; +static constexpr const freducop<UNSPEC_WREDUC_SUM_ORDERED> vfwredosum_obj; +static constexpr const freducop<UNSPEC_WREDUC_SUM_ORDERED, HAS_FRM> vfwredosum_frm_obj; +static constexpr const vmv vmv_x_obj; +static constexpr const vmv_s vmv_s_obj; +static constexpr const vmv vfmv_f_obj; +static constexpr const vmv_s vfmv_s_obj; +static constexpr const slideop<UNSPEC_VSLIDEUP> vslideup_obj; +static constexpr const slideop<UNSPEC_VSLIDEDOWN> vslidedown_obj; +static constexpr const slideop<UNSPEC_VSLIDE1UP> vslide1up_obj; +static constexpr const slideop<UNSPEC_VSLIDE1DOWN> vslide1down_obj; +static constexpr const slideop<UNSPEC_VFSLIDE1UP> vfslide1up_obj; +static constexpr const slideop<UNSPEC_VFSLIDE1DOWN> vfslide1down_obj; +static constexpr const vrgather vrgather_obj; +static constexpr const vrgatherei16 vrgatherei16_obj; +static constexpr const vcompress vcompress_obj; +static constexpr const vundefined vundefined_obj; +static constexpr const vreinterpret vreinterpret_obj; +static constexpr const vlmul_ext vlmul_ext_obj; +static constexpr const vlmul_trunc vlmul_trunc_obj; +static constexpr const vset vset_obj; +static constexpr const vget vget_obj; +static constexpr const vcreate vcreate_obj; +static constexpr const read_vl read_vl_obj; +static constexpr const vleff vleff_obj; +static constexpr const vlenb vlenb_obj; +static constexpr const vlseg vlseg_obj; +static constexpr const vsseg vsseg_obj; +static constexpr const vlsseg vlsseg_obj; +static constexpr const vssseg vssseg_obj; +static constexpr const seg_indexed_load<UNSPEC_UNORDERED> vluxseg_obj; +static constexpr const seg_indexed_load<UNSPEC_ORDERED> vloxseg_obj; +static constexpr const seg_indexed_store<UNSPEC_UNORDERED> vsuxseg_obj; +static constexpr const seg_indexed_store<UNSPEC_ORDERED> vsoxseg_obj; +static constexpr const vlsegff vlsegff_obj; +static constexpr const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLB> vlb_obj; +static constexpr const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLBU> vlbu_obj; +static constexpr const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLH> vlh_obj; +static constexpr const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLHU> vlhu_obj; +static constexpr const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLW> vlw_obj; +static constexpr const th_loadstore_width<false, LST_UNIT_STRIDE, UNSPEC_TH_VLWU> vlwu_obj; +static constexpr const th_loadstore_width<true, LST_UNIT_STRIDE, UNSPEC_TH_VLB> vsb_obj; +static constexpr const th_loadstore_width<true, LST_UNIT_STRIDE, UNSPEC_TH_VLH> vsh_obj; +static constexpr const th_loadstore_width<true, LST_UNIT_STRIDE, UNSPEC_TH_VLW> vsw_obj; +static constexpr const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSB> vlsb_obj; +static constexpr const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSBU> vlsbu_obj; +static constexpr const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSH> vlsh_obj; +static constexpr const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSHU> vlshu_obj; +static constexpr const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSW> vlsw_obj; +static constexpr const th_loadstore_width<false, LST_STRIDED, UNSPEC_TH_VLSWU> vlswu_obj; +static constexpr const th_loadstore_width<true, LST_STRIDED, UNSPEC_TH_VLSB> vssb_obj; +static constexpr const th_loadstore_width<true, LST_STRIDED, UNSPEC_TH_VLSH> vssh_obj; +static constexpr const th_loadstore_width<true, LST_STRIDED, UNSPEC_TH_VLSW> vssw_obj; +static constexpr const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXB> vlxb_obj; +static constexpr const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXBU> vlxbu_obj; +static constexpr const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXH> vlxh_obj; +static constexpr const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXHU> vlxhu_obj; +static constexpr const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXW> vlxw_obj; +static constexpr const th_loadstore_width<false, LST_INDEXED, UNSPEC_TH_VLXWU> vlxwu_obj; +static constexpr const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VLXB> vsxb_obj; +static constexpr const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VLXH> vsxh_obj; +static constexpr const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VLXW> vsxw_obj; +static constexpr const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VSUXB> vsuxb_obj; +static constexpr const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VSUXH> vsuxh_obj; +static constexpr const th_loadstore_width<true, LST_INDEXED, UNSPEC_TH_VSUXW> vsuxw_obj; +static constexpr const th_extract vext_x_v_obj; /* Crypto Vector */ -static CONSTEXPR const vandn vandn_obj; -static CONSTEXPR const bitmanip<ROTATE> vrol_obj; -static CONSTEXPR const bitmanip<ROTATERT> vror_obj; -static CONSTEXPR const b_reverse<UNSPEC_VBREV> vbrev_obj; -static CONSTEXPR const b_reverse<UNSPEC_VBREV8> vbrev8_obj; -static CONSTEXPR const b_reverse<UNSPEC_VREV8> vrev8_obj; -static CONSTEXPR const bitmanip<CLZ> vclz_obj; -static CONSTEXPR const bitmanip<CTZ> vctz_obj; -static CONSTEXPR const vwsll vwsll_obj; -static CONSTEXPR const clmul<UNSPEC_VCLMUL> vclmul_obj; -static CONSTEXPR const clmul<UNSPEC_VCLMULH> vclmulh_obj; -static CONSTEXPR const vg_nhab<UNSPEC_VGHSH> vghsh_obj; -static CONSTEXPR const crypto_vv<UNSPEC_VGMUL> vgmul_obj; -static CONSTEXPR const crypto_vv<UNSPEC_VAESEF> vaesef_obj; -static CONSTEXPR const crypto_vv<UNSPEC_VAESEM> vaesem_obj; -static CONSTEXPR const crypto_vv<UNSPEC_VAESDF> vaesdf_obj; -static CONSTEXPR const crypto_vv<UNSPEC_VAESDM> vaesdm_obj; -static CONSTEXPR const crypto_vv<UNSPEC_VAESZ> vaesz_obj; -static CONSTEXPR const crypto_vi<UNSPEC_VAESKF1> vaeskf1_obj; -static CONSTEXPR const vaeskf2_vsm3c<UNSPEC_VAESKF2> vaeskf2_obj; -static CONSTEXPR const vg_nhab<UNSPEC_VSHA2MS> vsha2ms_obj; -static CONSTEXPR const vg_nhab<UNSPEC_VSHA2CH> vsha2ch_obj; -static CONSTEXPR const vg_nhab<UNSPEC_VSHA2CL> vsha2cl_obj; -static CONSTEXPR const crypto_vi<UNSPEC_VSM4K> vsm4k_obj; -static CONSTEXPR const crypto_vv<UNSPEC_VSM4R> vsm4r_obj; -static CONSTEXPR const vsm3me vsm3me_obj; -static CONSTEXPR const vaeskf2_vsm3c<UNSPEC_VSM3C> vsm3c_obj; +static constexpr const vandn vandn_obj; +static constexpr const bitmanip<ROTATE> vrol_obj; +static constexpr const bitmanip<ROTATERT> vror_obj; +static constexpr const b_reverse<UNSPEC_VBREV> vbrev_obj; +static constexpr const b_reverse<UNSPEC_VBREV8> vbrev8_obj; +static constexpr const b_reverse<UNSPEC_VREV8> vrev8_obj; +static constexpr const bitmanip<CLZ> vclz_obj; +static constexpr const bitmanip<CTZ> vctz_obj; +static constexpr const vwsll vwsll_obj; +static constexpr const clmul<UNSPEC_VCLMUL> vclmul_obj; +static constexpr const clmul<UNSPEC_VCLMULH> vclmulh_obj; +static constexpr const vg_nhab<UNSPEC_VGHSH> vghsh_obj; +static constexpr const crypto_vv<UNSPEC_VGMUL> vgmul_obj; +static constexpr const crypto_vv<UNSPEC_VAESEF> vaesef_obj; +static constexpr const crypto_vv<UNSPEC_VAESEM> vaesem_obj; +static constexpr const crypto_vv<UNSPEC_VAESDF> vaesdf_obj; +static constexpr const crypto_vv<UNSPEC_VAESDM> vaesdm_obj; +static constexpr const crypto_vv<UNSPEC_VAESZ> vaesz_obj; +static constexpr const crypto_vi<UNSPEC_VAESKF1> vaeskf1_obj; +static constexpr const vaeskf2_vsm3c<UNSPEC_VAESKF2> vaeskf2_obj; +static constexpr const vg_nhab<UNSPEC_VSHA2MS> vsha2ms_obj; +static constexpr const vg_nhab<UNSPEC_VSHA2CH> vsha2ch_obj; +static constexpr const vg_nhab<UNSPEC_VSHA2CL> vsha2cl_obj; +static constexpr const crypto_vi<UNSPEC_VSM4K> vsm4k_obj; +static constexpr const crypto_vv<UNSPEC_VSM4R> vsm4r_obj; +static constexpr const vsm3me vsm3me_obj; +static constexpr const vaeskf2_vsm3c<UNSPEC_VSM3C> vsm3c_obj; /* Zvfbfmin */ -static CONSTEXPR const vfncvtbf16_f<NO_FRM> vfncvtbf16_f_obj; -static CONSTEXPR const vfncvtbf16_f<HAS_FRM> vfncvtbf16_f_frm_obj; -static CONSTEXPR const vfwcvtbf16_f vfwcvtbf16_f_obj; +static constexpr const vfncvtbf16_f<NO_FRM> vfncvtbf16_f_obj; +static constexpr const vfncvtbf16_f<HAS_FRM> vfncvtbf16_f_frm_obj; +static constexpr const vfwcvtbf16_f vfwcvtbf16_f_obj; /* Zvfbfwma; */ -static CONSTEXPR const vfwmaccbf16<NO_FRM> vfwmaccbf16_obj; -static CONSTEXPR const vfwmaccbf16<HAS_FRM> vfwmaccbf16_frm_obj; +static constexpr const vfwmaccbf16<NO_FRM> vfwmaccbf16_obj; +static constexpr const vfwmaccbf16<HAS_FRM> vfwmaccbf16_frm_obj; /* Declare the function base NAME, pointing it to an instance of class <NAME>_obj. */ diff --git a/gcc/config/riscv/riscv-vector-builtins-shapes.cc b/gcc/config/riscv/riscv-vector-builtins-shapes.cc index a113bae56e14..a474509fa3e7 100644 --- a/gcc/config/riscv/riscv-vector-builtins-shapes.cc +++ b/gcc/config/riscv/riscv-vector-builtins-shapes.cc @@ -124,7 +124,7 @@ build_all (function_builder &b, const function_group_info &group) /* Declare the function shape NAME, pointing it to an instance of class <NAME>_def. */ #define SHAPE(DEF, VAR) \ - static CONSTEXPR const DEF##_def VAR##_obj; \ + static constexpr const DEF##_def VAR##_obj; \ namespace shapes { const function_shape *const VAR = &VAR##_obj; } #define BASE_NAME_MAX_LEN 20 diff --git a/gcc/config/riscv/riscv-vector-builtins.cc b/gcc/config/riscv/riscv-vector-builtins.cc index 0fcc60b59421..47f80be5a392 100644 --- a/gcc/config/riscv/riscv-vector-builtins.cc +++ b/gcc/config/riscv/riscv-vector-builtins.cc @@ -131,7 +131,7 @@ struct non_overloaded_registered_function_hasher }; /* Static information about each RVV type. */ -static CONSTEXPR const vector_type_info vector_types[] = { +static constexpr const vector_type_info vector_types[] = { #define DEF_RVV_TYPE(NAME, NCHARS, ABI_NAME, ARGS...) \ {#NAME, #ABI_NAME, "u" #NCHARS #ABI_NAME}, #define DEF_RVV_TUPLE_TYPE(NAME, NCHARS, ABI_NAME, ARGS...) \ @@ -590,119 +590,119 @@ static const rvv_type_info f16_ops[] = { #include "riscv-vector-builtins-types.def" {NUM_VECTOR_TYPES, 0}}; -static CONSTEXPR const rvv_arg_type_info rvv_arg_type_info_end +static constexpr const rvv_arg_type_info rvv_arg_type_info_end = rvv_arg_type_info (NUM_BASE_TYPES); /* A list of args for size_t func () function. */ -static CONSTEXPR const rvv_arg_type_info void_args[] = {rvv_arg_type_info_end}; +static constexpr const rvv_arg_type_info void_args[] = {rvv_arg_type_info_end}; /* A list of args for size_t func () function. */ -static CONSTEXPR const rvv_arg_type_info end_args[] +static constexpr const rvv_arg_type_info end_args[] = {rvv_arg_type_info_end}; /* A list of args for size_t func (size_t) function. */ -static CONSTEXPR const rvv_arg_type_info size_args[] +static constexpr const rvv_arg_type_info size_args[] = {rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info_end}; /* A list of args for vector_type func (const scalar_type *) function. */ -static CONSTEXPR const rvv_arg_type_info scalar_const_ptr_args[] +static constexpr const rvv_arg_type_info scalar_const_ptr_args[] = {rvv_arg_type_info (RVV_BASE_scalar_const_ptr), rvv_arg_type_info_end}; /* A list of args for vector_type func (const scalar_type *, size_t *) function. */ -static CONSTEXPR const rvv_arg_type_info scalar_const_ptr_size_ptr_args[] +static constexpr const rvv_arg_type_info scalar_const_ptr_size_ptr_args[] = {rvv_arg_type_info (RVV_BASE_scalar_const_ptr), rvv_arg_type_info (RVV_BASE_size_ptr), rvv_arg_type_info_end}; /* A list of args for void func (scalar_type *, vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info scalar_ptr_args[] +static constexpr const rvv_arg_type_info scalar_ptr_args[] = {rvv_arg_type_info (RVV_BASE_scalar_ptr), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (const scalar_type *, ptrdiff_t) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_const_ptr_ptrdiff_args[] +static constexpr const rvv_arg_type_info scalar_const_ptr_ptrdiff_args[] = {rvv_arg_type_info (RVV_BASE_scalar_const_ptr), rvv_arg_type_info (RVV_BASE_ptrdiff), rvv_arg_type_info_end}; /* A list of args for void func (scalar_type *, ptrdiff_t, vector_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_ptr_ptrdiff_args[] +static constexpr const rvv_arg_type_info scalar_ptr_ptrdiff_args[] = {rvv_arg_type_info (RVV_BASE_scalar_ptr), rvv_arg_type_info (RVV_BASE_ptrdiff), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (const scalar_type *, eew8_index_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_const_ptr_eew8_index_args[] +static constexpr const rvv_arg_type_info scalar_const_ptr_eew8_index_args[] = {rvv_arg_type_info (RVV_BASE_scalar_const_ptr), rvv_arg_type_info (RVV_BASE_eew8_index), rvv_arg_type_info_end}; /* A list of args for vector_type func (const scalar_type *, eew16_index_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_const_ptr_eew16_index_args[] +static constexpr const rvv_arg_type_info scalar_const_ptr_eew16_index_args[] = {rvv_arg_type_info (RVV_BASE_scalar_const_ptr), rvv_arg_type_info (RVV_BASE_eew16_index), rvv_arg_type_info_end}; /* A list of args for vector_type func (const scalar_type *, eew32_index_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_const_ptr_eew32_index_args[] +static constexpr const rvv_arg_type_info scalar_const_ptr_eew32_index_args[] = {rvv_arg_type_info (RVV_BASE_scalar_const_ptr), rvv_arg_type_info (RVV_BASE_eew32_index), rvv_arg_type_info_end}; /* A list of args for vector_type func (const scalar_type *, eew64_index_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_const_ptr_eew64_index_args[] +static constexpr const rvv_arg_type_info scalar_const_ptr_eew64_index_args[] = {rvv_arg_type_info (RVV_BASE_scalar_const_ptr), rvv_arg_type_info (RVV_BASE_eew64_index), rvv_arg_type_info_end}; /* A list of args for void func (scalar_type *, eew8_index_type, vector_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_ptr_eew8_index_args[] +static constexpr const rvv_arg_type_info scalar_ptr_eew8_index_args[] = {rvv_arg_type_info (RVV_BASE_scalar_ptr), rvv_arg_type_info (RVV_BASE_eew8_index), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for void func (scalar_type *, eew16_index_type, vector_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_ptr_eew16_index_args[] +static constexpr const rvv_arg_type_info scalar_ptr_eew16_index_args[] = {rvv_arg_type_info (RVV_BASE_scalar_ptr), rvv_arg_type_info (RVV_BASE_eew16_index), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for void func (scalar_type *, eew32_index_type, vector_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_ptr_eew32_index_args[] +static constexpr const rvv_arg_type_info scalar_ptr_eew32_index_args[] = {rvv_arg_type_info (RVV_BASE_scalar_ptr), rvv_arg_type_info (RVV_BASE_eew32_index), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for void func (scalar_type *, eew64_index_type, vector_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_ptr_eew64_index_args[] +static constexpr const rvv_arg_type_info scalar_ptr_eew64_index_args[] = {rvv_arg_type_info (RVV_BASE_scalar_ptr), rvv_arg_type_info (RVV_BASE_eew64_index), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info vv_args[] +static constexpr const rvv_arg_type_info vv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, vector_type, vector_type) * function. */ -static CONSTEXPR const rvv_arg_type_info vvv_args[] +static constexpr const rvv_arg_type_info vvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, vector_type, vector_type) * function. */ -static CONSTEXPR const rvv_arg_type_info vqq_args[] +static constexpr const rvv_arg_type_info vqq_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_quad_fixed_vector), rvv_arg_type_info (RVV_BASE_quad_fixed_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info su_vqq_args[] +static constexpr const rvv_arg_type_info su_vqq_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_quad_fixed_vector), rvv_arg_type_info (RVV_BASE_quad_fixed_unsigned_vector), @@ -710,194 +710,194 @@ static CONSTEXPR const rvv_arg_type_info su_vqq_args[] /* A list of args for vector_type func (vector_type, vector_type, vector_type) * function. */ -static CONSTEXPR const rvv_arg_type_info vxv_args[] +static constexpr const rvv_arg_type_info vxv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, vector_type, mask_type) * function. */ -static CONSTEXPR const rvv_arg_type_info vvm_args[] +static constexpr const rvv_arg_type_info vvm_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_mask), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, mask_type) * function. */ -static CONSTEXPR const rvv_arg_type_info vm_args[] +static constexpr const rvv_arg_type_info vm_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_mask), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, scalar_type, mask_type) * function. */ -static CONSTEXPR const rvv_arg_type_info vxm_args[] +static constexpr const rvv_arg_type_info vxm_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_mask), rvv_arg_type_info_end}; /* A list of args for vector_type func (signed vector_type, unsigned * vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info su_vv_args[] +static constexpr const rvv_arg_type_info su_vv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_unsigned_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, scalar_type) function. */ -static CONSTEXPR const rvv_arg_type_info vx_args[] +static constexpr const rvv_arg_type_info vx_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info_end}; /* A list of args for vector_type func (signed vector_type, unsigned * scalar_type) function. */ -static CONSTEXPR const rvv_arg_type_info su_vx_args[] +static constexpr const rvv_arg_type_info su_vx_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_unsigned_scalar), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, shift_type) function. */ -static CONSTEXPR const rvv_arg_type_info shift_vv_args[] +static constexpr const rvv_arg_type_info shift_vv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_shift_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, shift_type) function. */ -static CONSTEXPR const rvv_arg_type_info gather_vv_args[] +static constexpr const rvv_arg_type_info gather_vv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_unsigned_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, shift_type) function. */ -static CONSTEXPR const rvv_arg_type_info gatherei16_vv_args[] +static constexpr const rvv_arg_type_info gatherei16_vv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_eew16_index), rvv_arg_type_info_end}; /* A list of args for double demote type func (vector_type, shift_type) * function. */ -static CONSTEXPR const rvv_arg_type_info shift_wv_args[] +static constexpr const rvv_arg_type_info shift_wv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_double_trunc_unsigned_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info clip_args[] +static constexpr const rvv_arg_type_info clip_args[] = {rvv_arg_type_info (RVV_BASE_xfqf_vector), rvv_arg_type_info (RVV_BASE_xfqf_float), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info v_args[] +static constexpr const rvv_arg_type_info v_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info v_x2_trunc_args[] +static constexpr const rvv_arg_type_info v_x2_trunc_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info v_x4_trunc_args[] +static constexpr const rvv_arg_type_info v_x4_trunc_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x4), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info v_x8_trunc_args[] +static constexpr const rvv_arg_type_info v_x8_trunc_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x8), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info v_x16_trunc_args[] +static constexpr const rvv_arg_type_info v_x16_trunc_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x16), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info v_x32_trunc_args[] +static constexpr const rvv_arg_type_info v_x32_trunc_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x32), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info v_x64_trunc_args[] +static constexpr const rvv_arg_type_info v_x64_trunc_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x64), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, lmul1_type) function. */ -static CONSTEXPR const rvv_arg_type_info vs_args[] +static constexpr const rvv_arg_type_info vs_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_lmul1_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, widen_lmul1_type) function. */ -static CONSTEXPR const rvv_arg_type_info wvs_args[] +static constexpr const rvv_arg_type_info wvs_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_widen_lmul1_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info f_v_args[] +static constexpr const rvv_arg_type_info f_v_args[] = {rvv_arg_type_info (RVV_BASE_float_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info trunc_f_v_args[] +static constexpr const rvv_arg_type_info trunc_f_v_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_float_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info w_v_args[] +static constexpr const rvv_arg_type_info w_v_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info bf_w_v_args[] +static constexpr const rvv_arg_type_info bf_w_v_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_bfloat_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info bf_wwvv_args[] +static constexpr const rvv_arg_type_info bf_wwvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_double_trunc_bfloat_vector), rvv_arg_type_info (RVV_BASE_double_trunc_bfloat_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info bf_wwxv_args[] +static constexpr const rvv_arg_type_info bf_wwxv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_double_trunc_bfloat_scalar), rvv_arg_type_info (RVV_BASE_double_trunc_bfloat_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info m_args[] +static constexpr const rvv_arg_type_info m_args[] = {rvv_arg_type_info (RVV_BASE_mask), rvv_arg_type_info_end}; /* A list of args for vector_type func (scalar_type/sf.vc) function. */ -static CONSTEXPR const rvv_arg_type_info x_args[] +static constexpr const rvv_arg_type_info x_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, size) function. */ -static CONSTEXPR const rvv_arg_type_info v_size_args[] +static constexpr const rvv_arg_type_info v_size_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info_end}; /* A list of args for vector_type func (double demote_type, size_t) function. */ -static CONSTEXPR const rvv_arg_type_info wv_size_args[] +static constexpr const rvv_arg_type_info wv_size_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info (RVV_BASE_size),rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, vector_type, size) * function. */ -static CONSTEXPR const rvv_arg_type_info vv_size_args[] +static constexpr const rvv_arg_type_info vv_size_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info_end}; /* A list of args for vector_type func (double demote type) function. */ -static CONSTEXPR const rvv_arg_type_info vf2_args[] +static constexpr const rvv_arg_type_info vf2_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (double demote type, double demote type) * function. */ -static CONSTEXPR const rvv_arg_type_info wvv_args[] +static constexpr const rvv_arg_type_info wvv_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, double demote type, double * demote type) function. */ -static CONSTEXPR const rvv_arg_type_info wwvv_args[] +static constexpr const rvv_arg_type_info wwvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, double demote type, double * demote type) function. */ -static CONSTEXPR const rvv_arg_type_info wwxv_args[] +static constexpr const rvv_arg_type_info wwxv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_double_trunc_scalar), rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, double demote type, double * demote type) function. */ -static CONSTEXPR const rvv_arg_type_info su_wwvv_args[] +static constexpr const rvv_arg_type_info su_wwvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info (RVV_BASE_double_trunc_unsigned_vector), @@ -905,7 +905,7 @@ static CONSTEXPR const rvv_arg_type_info su_wwvv_args[] /* A list of args for vector_type func (vector_type, double demote type, double * demote type) function. */ -static CONSTEXPR const rvv_arg_type_info su_wwxv_args[] +static constexpr const rvv_arg_type_info su_wwxv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_double_trunc_scalar), rvv_arg_type_info (RVV_BASE_double_trunc_unsigned_vector), @@ -913,7 +913,7 @@ static CONSTEXPR const rvv_arg_type_info su_wwxv_args[] /* A list of args for vector_type func (vector_type, double demote type, double * demote type) function. */ -static CONSTEXPR const rvv_arg_type_info us_wwxv_args[] +static constexpr const rvv_arg_type_info us_wwxv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_double_trunc_unsigned_scalar), rvv_arg_type_info (RVV_BASE_double_trunc_vector), @@ -921,188 +921,188 @@ static CONSTEXPR const rvv_arg_type_info us_wwxv_args[] /* A static operand information for vector_type func (vector_type, quad lmul1 * type, quad half lmul type) function registration. */ -static CONSTEXPR const rvv_arg_type_info qqvv_args[] +static constexpr const rvv_arg_type_info qqvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_quad_lmul1_vector), rvv_arg_type_info (RVV_BASE_quad_emul_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info uqqvv_args[] +static constexpr const rvv_arg_type_info uqqvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_quad_lmul1_unsigned_vector), rvv_arg_type_info (RVV_BASE_quad_emul_unsigned_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info su_qqvv_args[] +static constexpr const rvv_arg_type_info su_qqvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_quad_lmul1_vector), rvv_arg_type_info (RVV_BASE_quad_emul_unsigned_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info us_qqvv_args[] +static constexpr const rvv_arg_type_info us_qqvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_quad_lmul1_unsigned_vector), rvv_arg_type_info (RVV_BASE_quad_emul_vector), rvv_arg_type_info_end}; /* A static operand information for vector_type func (vector_type, quad lmul1 * type, quad emul type) function registration. */ -static CONSTEXPR const rvv_arg_type_info qdvv_args[] +static constexpr const rvv_arg_type_info qdvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_quad_lmul1_vector), rvv_arg_type_info (RVV_BASE_quad_fixed_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info uqdvv_args[] +static constexpr const rvv_arg_type_info uqdvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_quad_lmul1_unsigned_vector), rvv_arg_type_info (RVV_BASE_quad_fixed_unsigned_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info su_qdvv_args[] +static constexpr const rvv_arg_type_info su_qdvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_quad_lmul1_vector), rvv_arg_type_info (RVV_BASE_quad_fixed_unsigned_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info us_qdvv_args[] +static constexpr const rvv_arg_type_info us_qdvv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_quad_lmul1_unsigned_vector), rvv_arg_type_info (RVV_BASE_quad_fixed_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (signed double demote type, * unsigneddouble demote type) function. */ -static CONSTEXPR const rvv_arg_type_info su_wvv_args[] +static constexpr const rvv_arg_type_info su_wvv_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info (RVV_BASE_double_trunc_unsigned_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (double demote type, double demote type) * function. */ -static CONSTEXPR const rvv_arg_type_info wvx_args[] +static constexpr const rvv_arg_type_info wvx_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info (RVV_BASE_double_trunc_scalar), rvv_arg_type_info_end}; /* A list of args for vector_type func (signed double demote type, unsigned * double demote type) function. */ -static CONSTEXPR const rvv_arg_type_info su_wvx_args[] +static constexpr const rvv_arg_type_info su_wvx_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info (RVV_BASE_double_trunc_unsigned_scalar), rvv_arg_type_info_end}; /* A list of args for vector_type func (double demote type, double demote type) * function. */ -static CONSTEXPR const rvv_arg_type_info wwv_args[] +static constexpr const rvv_arg_type_info wwv_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (double demote type, double demote type) * function. */ -static CONSTEXPR const rvv_arg_type_info wwx_args[] +static constexpr const rvv_arg_type_info wwx_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_double_trunc_scalar), rvv_arg_type_info_end}; /* A list of args for vector_type func (quad demote type) function. */ -static CONSTEXPR const rvv_arg_type_info vf4_args[] +static constexpr const rvv_arg_type_info vf4_args[] = {rvv_arg_type_info (RVV_BASE_quad_trunc_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (oct demote type) function. */ -static CONSTEXPR const rvv_arg_type_info vf8_args[] +static constexpr const rvv_arg_type_info vf8_args[] = {rvv_arg_type_info (RVV_BASE_oct_trunc_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (double demote type) function. */ -static CONSTEXPR const rvv_arg_type_info x_x_v_args[] +static constexpr const rvv_arg_type_info x_x_v_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info x_v_args[] +static constexpr const rvv_arg_type_info x_v_args[] = {rvv_arg_type_info (RVV_BASE_signed_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info xu_v_args[] +static constexpr const rvv_arg_type_info xu_v_args[] = {rvv_arg_type_info (RVV_BASE_unsigned_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info w_x_v_args[] +static constexpr const rvv_arg_type_info w_x_v_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_signed_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info w_xu_v_args[] +static constexpr const rvv_arg_type_info w_xu_v_args[] = {rvv_arg_type_info (RVV_BASE_double_trunc_unsigned_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info ext_x2_vset_args[] +static constexpr const rvv_arg_type_info ext_x2_vset_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info ext_x4_vset_args[] +static constexpr const rvv_arg_type_info ext_x4_vset_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x4), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info ext_x8_vset_args[] +static constexpr const rvv_arg_type_info ext_x8_vset_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x8), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info ext_x2_vget_args[] +static constexpr const rvv_arg_type_info ext_x2_vget_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info ext_x4_vget_args[] +static constexpr const rvv_arg_type_info ext_x4_vget_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x4), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info ext_x8_vget_args[] +static constexpr const rvv_arg_type_info ext_x8_vget_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x8), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info tuple_vset_args[] +static constexpr const rvv_arg_type_info tuple_vset_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info (RVV_BASE_tuple_subpart), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info tuple_vcreate_args[] +static constexpr const rvv_arg_type_info tuple_vcreate_args[] = {rvv_arg_type_info (RVV_BASE_tuple_subpart), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type) function. */ -static CONSTEXPR const rvv_arg_type_info ext_vcreate_args[] +static constexpr const rvv_arg_type_info ext_vcreate_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (const scalar_type *, size_t) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_const_ptr_size_args[] +static constexpr const rvv_arg_type_info scalar_const_ptr_size_args[] = {rvv_arg_type_info (RVV_BASE_scalar_const_ptr), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info_end}; /* A list of args for vector_type func (const scalar_type *, eew8_index_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_const_ptr_index_args[] +static constexpr const rvv_arg_type_info scalar_const_ptr_index_args[] = {rvv_arg_type_info (RVV_BASE_scalar_const_ptr), rvv_arg_type_info (RVV_BASE_unsigned_vector), rvv_arg_type_info_end}; /* A list of args for void func (scalar_type *, eew8_index_type, vector_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_ptr_index_args[] +static constexpr const rvv_arg_type_info scalar_ptr_index_args[] = {rvv_arg_type_info (RVV_BASE_scalar_ptr), rvv_arg_type_info (RVV_BASE_unsigned_vector), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for void func (scalar_type *, size_t, vector_type) * function. */ -static CONSTEXPR const rvv_arg_type_info scalar_ptr_size_args[] +static constexpr const rvv_arg_type_info scalar_ptr_size_args[] = {rvv_arg_type_info (RVV_BASE_scalar_ptr), rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.x) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_x_args[] +static constexpr const rvv_arg_type_info sf_vc_x_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), @@ -1110,14 +1110,14 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_x_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.v.x) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_v_x_args[] +static constexpr const rvv_arg_type_info sf_vc_v_x_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.i) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_i_args[] +static constexpr const rvv_arg_type_info sf_vc_i_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), @@ -1126,14 +1126,14 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_i_args[] /* A list of args for vector_type func (sf.vc.i) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_v_i_args[] +static constexpr const rvv_arg_type_info sf_vc_v_i_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.vv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_vv_args[] +static constexpr const rvv_arg_type_info sf_vc_vv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), @@ -1141,14 +1141,14 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_vv_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.v.vv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_v_vv_args[] +static constexpr const rvv_arg_type_info sf_vc_v_vv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.xv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_xv_args[] +static constexpr const rvv_arg_type_info sf_vc_xv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), @@ -1156,14 +1156,14 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_xv_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.v.xv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_v_xv_args[] +static constexpr const rvv_arg_type_info sf_vc_v_xv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.iv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_iv_args[] +static constexpr const rvv_arg_type_info sf_vc_iv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), @@ -1171,14 +1171,14 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_iv_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.v.iv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_v_iv_args[] +static constexpr const rvv_arg_type_info sf_vc_v_iv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.fv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_fv_args[] +static constexpr const rvv_arg_type_info sf_vc_fv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), @@ -1186,14 +1186,14 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_fv_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.v.fv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_v_fv_args[] +static constexpr const rvv_arg_type_info sf_vc_v_fv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_scalar_float), rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.vvv/sf.vc.v.vvv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_vvv_args[] +static constexpr const rvv_arg_type_info sf_vc_vvv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_vector), @@ -1201,7 +1201,7 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_vvv_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.xvv/sf.vc.v.xvv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_xvv_args[] +static constexpr const rvv_arg_type_info sf_vc_xvv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_vector), @@ -1209,7 +1209,7 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_xvv_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.ivv/sf.vc.v.ivv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_ivv_args[] +static constexpr const rvv_arg_type_info sf_vc_ivv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_unsigned_vector), rvv_arg_type_info (RVV_BASE_unsigned_vector), @@ -1217,7 +1217,7 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_ivv_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.fvv/sf.vc.v.fvv) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_fvv_args[] +static constexpr const rvv_arg_type_info sf_vc_fvv_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_vector), @@ -1225,7 +1225,7 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_fvv_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.vvw/sf.vc.v.vvw) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_vvw_args[] +static constexpr const rvv_arg_type_info sf_vc_vvw_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_x2_vector), rvv_arg_type_info (RVV_BASE_vector), @@ -1233,7 +1233,7 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_vvw_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.xvw/sf.vc.v.xvw) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_xvw_args[] +static constexpr const rvv_arg_type_info sf_vc_xvw_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_x2_vector), rvv_arg_type_info (RVV_BASE_vector), @@ -1241,7 +1241,7 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_xvw_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.ivw/sf.vc.v.ivw) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_ivw_args[] +static constexpr const rvv_arg_type_info sf_vc_ivw_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_x2_vector), rvv_arg_type_info (RVV_BASE_vector), @@ -1249,7 +1249,7 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_ivw_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (sf.vc.fvw/sf.vc.v.fvw) function. */ -static CONSTEXPR const rvv_arg_type_info sf_vc_fvw_args[] +static constexpr const rvv_arg_type_info sf_vc_fvw_args[] = {rvv_arg_type_info (RVV_BASE_scalar), rvv_arg_type_info (RVV_BASE_x2_vector), rvv_arg_type_info (RVV_BASE_vector), @@ -1257,42 +1257,42 @@ static CONSTEXPR const rvv_arg_type_info sf_vc_fvw_args[] rvv_arg_type_info_end}; /* A list of args for vector_type func (const void_type *) function. */ -static CONSTEXPR const rvv_arg_type_info void_const_ptr_args[] +static constexpr const rvv_arg_type_info void_const_ptr_args[] = {rvv_arg_type_info (RVV_BASE_void_const_ptr), rvv_arg_type_info_end}; /* A list of args for vector_type func (vector_type, widen_lmul1_scalar) function. */ -static CONSTEXPR const rvv_arg_type_info vw_args[] +static constexpr const rvv_arg_type_info vw_args[] = {rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info (RVV_BASE_float32), rvv_arg_type_info_end}; /* A list of none preds that will be registered for intrinsic functions. */ -static CONSTEXPR const predication_type_index none_preds[] +static constexpr const predication_type_index none_preds[] = {PRED_TYPE_none, NUM_PRED_TYPES}; /* vop/vop_m/vop_tu/vop_tum/vop_tumu/vop_mu will be registered. */ -static CONSTEXPR const predication_type_index full_preds[] +static constexpr const predication_type_index full_preds[] = {PRED_TYPE_none, PRED_TYPE_m, PRED_TYPE_tu, PRED_TYPE_tum, PRED_TYPE_tumu, PRED_TYPE_mu, NUM_PRED_TYPES}; /* vop/vop_m/vop_tu/vop_tum/ will be registered. */ -static CONSTEXPR const predication_type_index no_mu_preds[] +static constexpr const predication_type_index no_mu_preds[] = {PRED_TYPE_none, PRED_TYPE_m, PRED_TYPE_tu, PRED_TYPE_tum, NUM_PRED_TYPES}; /* vop/vop_tu will be registered. */ -static CONSTEXPR const predication_type_index none_tu_preds[] +static constexpr const predication_type_index none_tu_preds[] = {PRED_TYPE_none, PRED_TYPE_tu, NUM_PRED_TYPES}; /* vop/vop_m will be registered. */ -static CONSTEXPR const predication_type_index none_m_preds[] +static constexpr const predication_type_index none_m_preds[] = {PRED_TYPE_none, PRED_TYPE_m, NUM_PRED_TYPES}; /* vop/vop_m/vop_mu will be registered. */ -static CONSTEXPR const predication_type_index none_m_mu_preds[] +static constexpr const predication_type_index none_m_mu_preds[] = {PRED_TYPE_none, PRED_TYPE_m, PRED_TYPE_mu, NUM_PRED_TYPES}; /* A static operand information for size_t func () function registration. */ -static CONSTEXPR const rvv_op_info i_none_size_void_ops +static constexpr const rvv_op_info i_none_size_void_ops = {i_ops, /* Types */ OP_TYPE_none, /* Suffix */ rvv_arg_type_info (RVV_BASE_size), /* Return type */ @@ -1300,7 +1300,7 @@ static CONSTEXPR const rvv_op_info i_none_size_void_ops /* A static operand information for size_t func (size_t) function registration. */ -static CONSTEXPR const rvv_op_info i_none_size_size_ops +static constexpr const rvv_op_info i_none_size_size_ops = {i_ops, /* Types */ OP_TYPE_none, /* Suffix */ rvv_arg_type_info (RVV_BASE_size), /* Return type */ @@ -1308,7 +1308,7 @@ static CONSTEXPR const rvv_op_info i_none_size_size_ops /* A static operand information for vector_type func () function registration. */ -static CONSTEXPR const rvv_op_info all_none_void_ops +static constexpr const rvv_op_info all_none_void_ops = {all_ops, /* Types */ OP_TYPE_none, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1316,7 +1316,7 @@ static CONSTEXPR const rvv_op_info all_none_void_ops /* A static operand information for vector_type func (const scalar_type *) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_ops +static constexpr const rvv_op_info all_v_scalar_const_ptr_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1324,7 +1324,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_ops /* A static operand information for vector_type func (const scalar_type *) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_size_ptr_ops +static constexpr const rvv_op_info all_v_scalar_const_ptr_size_ptr_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1332,7 +1332,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_size_ptr_ops /* A static operand information for void func (scalar_type *, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_ptr_ops +static constexpr const rvv_op_info all_v_scalar_ptr_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -1340,7 +1340,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_ptr_ops /* A static operand information for vector_type func (const scalar_type *) * function registration. */ -static CONSTEXPR const rvv_op_info b_v_scalar_const_ptr_ops +static constexpr const rvv_op_info b_v_scalar_const_ptr_ops = {b_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1348,7 +1348,7 @@ static CONSTEXPR const rvv_op_info b_v_scalar_const_ptr_ops /* A static operand information for void func (scalar_type *, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_v_scalar_ptr_ops +static constexpr const rvv_op_info b_v_scalar_ptr_ops = {b_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -1356,7 +1356,7 @@ static CONSTEXPR const rvv_op_info b_v_scalar_ptr_ops /* A static operand information for vector_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_mmm_ops +static constexpr const rvv_op_info b_mmm_ops = {b_ops, /* Types */ OP_TYPE_mm, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1364,7 +1364,7 @@ static CONSTEXPR const rvv_op_info b_mmm_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_mm_ops +static constexpr const rvv_op_info b_mm_ops = {b_ops, /* Types */ OP_TYPE_m, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1372,7 +1372,7 @@ static CONSTEXPR const rvv_op_info b_mm_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_vm_ops +static constexpr const rvv_op_info u_vm_ops = {u_ops, /* Types */ OP_TYPE_m, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1380,7 +1380,7 @@ static CONSTEXPR const rvv_op_info u_vm_ops /* A static operand information for vector_type func () * function registration. */ -static CONSTEXPR const rvv_op_info b_m_ops +static constexpr const rvv_op_info b_m_ops = {b_ops, /* Types */ OP_TYPE_m, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1388,7 +1388,7 @@ static CONSTEXPR const rvv_op_info b_m_ops /* A static operand information for vector_type func () * function registration. */ -static CONSTEXPR const rvv_op_info u_v_ops +static constexpr const rvv_op_info u_v_ops = {u_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1396,7 +1396,7 @@ static CONSTEXPR const rvv_op_info u_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_vv_ops +static constexpr const rvv_op_info u_vv_ops = {u_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1404,7 +1404,7 @@ static CONSTEXPR const rvv_op_info u_vv_ops /* A static operand information for unsigned long func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_ulong_m_ops +static constexpr const rvv_op_info b_ulong_m_ops = {b_ops, /* Types */ OP_TYPE_m, /* Suffix */ rvv_arg_type_info (RVV_BASE_unsigned_long), /* Return type */ @@ -1412,7 +1412,7 @@ static CONSTEXPR const rvv_op_info b_ulong_m_ops /* A static operand information for long func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_long_m_ops +static constexpr const rvv_op_info b_long_m_ops = {b_ops, /* Types */ OP_TYPE_m, /* Suffix */ rvv_arg_type_info (RVV_BASE_long), /* Return type */ @@ -1420,7 +1420,7 @@ static CONSTEXPR const rvv_op_info b_long_m_ops /* A static operand information for vector_type func (const scalar_type *, * ptrdiff_t) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_ptrdiff_ops +static constexpr const rvv_op_info all_v_scalar_const_ptr_ptrdiff_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1428,7 +1428,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_ptrdiff_ops /* A static operand information for vector_type func (const scalar_type *, * eew8_index_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_eew8_index_ops +static constexpr const rvv_op_info all_v_scalar_const_ptr_eew8_index_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1436,7 +1436,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_eew8_index_ops /* A static operand information for vector_type func (const scalar_type *, * eew16_index_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_eew16_index_ops +static constexpr const rvv_op_info all_v_scalar_const_ptr_eew16_index_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1444,7 +1444,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_eew16_index_ops /* A static operand information for vector_type func (const scalar_type *, * eew32_index_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_eew32_index_ops +static constexpr const rvv_op_info all_v_scalar_const_ptr_eew32_index_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1452,7 +1452,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_eew32_index_ops /* A static operand information for vector_type func (const scalar_type *, * eew64_index_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_eew64_index_ops +static constexpr const rvv_op_info all_v_scalar_const_ptr_eew64_index_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1460,7 +1460,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_eew64_index_ops /* A static operand information for void func (scalar_type *, ptrdiff_t, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_ptr_ptrdiff_ops +static constexpr const rvv_op_info all_v_scalar_ptr_ptrdiff_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -1468,7 +1468,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_ptr_ptrdiff_ops /* A static operand information for void func (scalar_type *, eew8_index_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_ptr_eew8_index_ops +static constexpr const rvv_op_info all_v_scalar_ptr_eew8_index_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -1476,7 +1476,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_ptr_eew8_index_ops /* A static operand information for void func (scalar_type *, eew16_index_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_ptr_eew16_index_ops +static constexpr const rvv_op_info all_v_scalar_ptr_eew16_index_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -1484,7 +1484,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_ptr_eew16_index_ops /* A static operand information for void func (scalar_type *, eew32_index_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_ptr_eew32_index_ops +static constexpr const rvv_op_info all_v_scalar_ptr_eew32_index_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -1492,7 +1492,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_ptr_eew32_index_ops /* A static operand information for void func (scalar_type *, eew64_index_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_ptr_eew64_index_ops +static constexpr const rvv_op_info all_v_scalar_ptr_eew64_index_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -1500,7 +1500,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_ptr_eew64_index_ops /* A static operand information for vector_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_vvv_ops +static constexpr const rvv_op_info iu_vvv_ops = {iu_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1508,7 +1508,7 @@ static CONSTEXPR const rvv_op_info iu_vvv_ops /* A static operand information for vector_type func (vector_type, vector_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info iu_vvvv_ops +static constexpr const rvv_op_info iu_vvvv_ops = {iu_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1516,7 +1516,7 @@ static CONSTEXPR const rvv_op_info iu_vvvv_ops /* A static operand information for vector_type func (vector_type, scalar_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info iu_vvxv_ops +static constexpr const rvv_op_info iu_vvxv_ops = {iu_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1524,7 +1524,7 @@ static CONSTEXPR const rvv_op_info iu_vvxv_ops /* A static operand information for vector_type func (vector_type, vector_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info f_vvvv_ops +static constexpr const rvv_op_info f_vvvv_ops = {f_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1532,7 +1532,7 @@ static CONSTEXPR const rvv_op_info f_vvvv_ops /* A static operand information for vector_type func (vector_type, scalar_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info f_vvfv_ops +static constexpr const rvv_op_info f_vvfv_ops = {f_ops, /* Types */ OP_TYPE_vf, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1540,7 +1540,7 @@ static CONSTEXPR const rvv_op_info f_vvfv_ops /* A static operand information for vector_type func (vector_type, vector_type, * mask_type) function registration. */ -static CONSTEXPR const rvv_op_info iu_vvvm_ops +static constexpr const rvv_op_info iu_vvvm_ops = {iu_ops, /* Types */ OP_TYPE_vvm, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1548,7 +1548,7 @@ static CONSTEXPR const rvv_op_info iu_vvvm_ops /* A static operand information for vector_type func (vector_type, vector_type, * mask_type) function registration. */ -static CONSTEXPR const rvv_op_info all_vvvm_ops +static constexpr const rvv_op_info all_vvvm_ops = {all_ops, /* Types */ OP_TYPE_vvm, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1556,7 +1556,7 @@ static CONSTEXPR const rvv_op_info all_vvvm_ops /* A static operand information for vector_type func (vector_type, vector_type, * mask_type) function registration. */ -static CONSTEXPR const rvv_op_info all_vvm_ops +static constexpr const rvv_op_info all_vvm_ops = {all_ops, /* Types */ OP_TYPE_vm, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1564,7 +1564,7 @@ static CONSTEXPR const rvv_op_info all_vvm_ops /* A static operand information for vector_type func (vector_type, scalar_type, * mask_type) function registration. */ -static CONSTEXPR const rvv_op_info iu_vvxm_ops +static constexpr const rvv_op_info iu_vvxm_ops = {iu_ops, /* Types */ OP_TYPE_vxm, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1572,7 +1572,7 @@ static CONSTEXPR const rvv_op_info iu_vvxm_ops /* A static operand information for vector_type func (vector_type, scalar_type, * mask_type) function registration. */ -static CONSTEXPR const rvv_op_info f_vvfm_ops +static constexpr const rvv_op_info f_vvfm_ops = {f_ops, /* Types */ OP_TYPE_vfm, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1580,7 +1580,7 @@ static CONSTEXPR const rvv_op_info f_vvfm_ops /* A static operand information for mask_type func (vector_type, vector_type, * mask_type) function registration. */ -static CONSTEXPR const rvv_op_info iu_mvvm_ops +static constexpr const rvv_op_info iu_mvvm_ops = {iu_ops, /* Types */ OP_TYPE_vvm, /* Suffix */ rvv_arg_type_info (RVV_BASE_mask), /* Return type */ @@ -1588,7 +1588,7 @@ static CONSTEXPR const rvv_op_info iu_mvvm_ops /* A static operand information for mask_type func (vector_type, scalar_type, * mask_type) function registration. */ -static CONSTEXPR const rvv_op_info iu_mvxm_ops +static constexpr const rvv_op_info iu_mvxm_ops = {iu_ops, /* Types */ OP_TYPE_vxm, /* Suffix */ rvv_arg_type_info (RVV_BASE_mask), /* Return type */ @@ -1596,7 +1596,7 @@ static CONSTEXPR const rvv_op_info iu_mvxm_ops /* A static operand information for mask_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_mvv_ops +static constexpr const rvv_op_info iu_mvv_ops = {iu_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_mask), /* Return type */ @@ -1604,7 +1604,7 @@ static CONSTEXPR const rvv_op_info iu_mvv_ops /* A static operand information for mask_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info i_mvv_ops +static constexpr const rvv_op_info i_mvv_ops = {i_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_mask), /* Return type */ @@ -1612,7 +1612,7 @@ static CONSTEXPR const rvv_op_info i_mvv_ops /* A static operand information for mask_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_mvv_ops +static constexpr const rvv_op_info u_mvv_ops = {u_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_mask), /* Return type */ @@ -1620,7 +1620,7 @@ static CONSTEXPR const rvv_op_info u_mvv_ops /* A static operand information for mask_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_mvv_ops +static constexpr const rvv_op_info f_mvv_ops = {f_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_mask), /* Return type */ @@ -1628,7 +1628,7 @@ static CONSTEXPR const rvv_op_info f_mvv_ops /* A static operand information for mask_type func (vector_type, scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_mvx_ops +static constexpr const rvv_op_info iu_mvx_ops = {iu_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_mask), /* Return type */ @@ -1636,7 +1636,7 @@ static CONSTEXPR const rvv_op_info iu_mvx_ops /* A static operand information for mask_type func (vector_type, scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info i_mvx_ops +static constexpr const rvv_op_info i_mvx_ops = {i_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_mask), /* Return type */ @@ -1644,7 +1644,7 @@ static CONSTEXPR const rvv_op_info i_mvx_ops /* A static operand information for mask_type func (vector_type, scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_mvx_ops +static constexpr const rvv_op_info u_mvx_ops = {u_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_mask), /* Return type */ @@ -1652,7 +1652,7 @@ static CONSTEXPR const rvv_op_info u_mvx_ops /* A static operand information for mask_type func (vector_type, scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_mvf_ops +static constexpr const rvv_op_info f_mvf_ops = {f_ops, /* Types */ OP_TYPE_vf, /* Suffix */ rvv_arg_type_info (RVV_BASE_mask), /* Return type */ @@ -1660,7 +1660,7 @@ static CONSTEXPR const rvv_op_info f_mvf_ops /* A static operand information for vector_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info i_vvv_ops +static constexpr const rvv_op_info i_vvv_ops = {i_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1668,7 +1668,7 @@ static CONSTEXPR const rvv_op_info i_vvv_ops /* A static operand information for vector_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_vvv_ops +static constexpr const rvv_op_info u_vvv_ops = {u_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1676,7 +1676,7 @@ static CONSTEXPR const rvv_op_info u_vvv_ops /* A static operand information for vector_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_vvv_ops +static constexpr const rvv_op_info f_vvv_ops = {f_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1684,7 +1684,7 @@ static CONSTEXPR const rvv_op_info f_vvv_ops /* A static operand information for vector_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_vvf_ops +static constexpr const rvv_op_info f_vvf_ops = {f_ops, /* Types */ OP_TYPE_vf, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1692,7 +1692,7 @@ static CONSTEXPR const rvv_op_info f_vvf_ops /* A static operand information for vector_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info full_v_i_vvv_ops +static constexpr const rvv_op_info full_v_i_vvv_ops = {full_v_i_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1700,7 +1700,7 @@ static CONSTEXPR const rvv_op_info full_v_i_vvv_ops /* A static operand information for vector_type func (vector_type, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info full_v_u_vvv_ops +static constexpr const rvv_op_info full_v_u_vvv_ops = {full_v_u_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1708,7 +1708,7 @@ static CONSTEXPR const rvv_op_info full_v_u_vvv_ops /* A static operand information for vector_type func (signed vector_type, * unsigned vector_type) function registration. */ -static CONSTEXPR const rvv_op_info full_v_i_su_vvv_ops +static constexpr const rvv_op_info full_v_i_su_vvv_ops = {full_v_i_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1716,7 +1716,7 @@ static CONSTEXPR const rvv_op_info full_v_i_su_vvv_ops /* A static operand information for vector_type func (vector_type, scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_vvx_ops +static constexpr const rvv_op_info iu_vvx_ops = {iu_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1724,7 +1724,7 @@ static CONSTEXPR const rvv_op_info iu_vvx_ops /* A static operand information for vector_type func (vector_type, scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_vvx_ops +static constexpr const rvv_op_info all_vvx_ops = {all_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1732,7 +1732,7 @@ static CONSTEXPR const rvv_op_info all_vvx_ops /* A static operand information for vector_type func (vector_type, vector_type, * scalar_type) function registration. */ -static CONSTEXPR const rvv_op_info all_vvvx_ops +static constexpr const rvv_op_info all_vvvx_ops = {all_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1740,7 +1740,7 @@ static CONSTEXPR const rvv_op_info all_vvvx_ops /* A static operand information for vector_type func (vector_type, scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info i_vvx_ops +static constexpr const rvv_op_info i_vvx_ops = {i_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1748,7 +1748,7 @@ static CONSTEXPR const rvv_op_info i_vvx_ops /* A static operand information for vector_type func (vector_type, scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_vvx_ops +static constexpr const rvv_op_info u_vvx_ops = {u_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1756,7 +1756,7 @@ static CONSTEXPR const rvv_op_info u_vvx_ops /* A static operand information for vector_type func (vector_type, scalar_type) * function registration that require full 'V' extension. */ -static CONSTEXPR const rvv_op_info full_v_i_vvx_ops +static constexpr const rvv_op_info full_v_i_vvx_ops = {full_v_i_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1764,7 +1764,7 @@ static CONSTEXPR const rvv_op_info full_v_i_vvx_ops /* A static operand information for vector_type func (vector_type, scalar_type) * function registration that require full 'V' extension. */ -static CONSTEXPR const rvv_op_info full_v_u_vvx_ops +static constexpr const rvv_op_info full_v_u_vvx_ops = {full_v_u_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1773,7 +1773,7 @@ static CONSTEXPR const rvv_op_info full_v_u_vvx_ops /* A static operand information for vector_type func (signed vector_type, * unsigned scalar_type) function registration that require full 'V' extension. */ -static CONSTEXPR const rvv_op_info full_v_i_su_vvx_ops +static constexpr const rvv_op_info full_v_i_su_vvx_ops = {full_v_i_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1781,7 +1781,7 @@ static CONSTEXPR const rvv_op_info full_v_i_su_vvx_ops /* A static operand information for vector_type func (vector_type, shift_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_shift_vvv_ops +static constexpr const rvv_op_info iu_shift_vvv_ops = {iu_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1789,7 +1789,7 @@ static CONSTEXPR const rvv_op_info iu_shift_vvv_ops /* A static operand information for scalar_type func (vector_type, size_t) * function registration. */ -static CONSTEXPR const rvv_op_info iu_x_s_u_ops +static constexpr const rvv_op_info iu_x_s_u_ops = {iu_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_scalar), /* Return type */ @@ -1797,7 +1797,7 @@ static CONSTEXPR const rvv_op_info iu_x_s_u_ops /* A static operand information for vector_type func (vector_type, size_t) * function registration. */ -static CONSTEXPR const rvv_op_info iu_shift_vvx_ops +static constexpr const rvv_op_info iu_shift_vvx_ops = {iu_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1805,7 +1805,7 @@ static CONSTEXPR const rvv_op_info iu_shift_vvx_ops /* A static operand information for vector_type func (vector_type, shift_type) * function registration. */ -static CONSTEXPR const rvv_op_info i_shift_vvv_ops +static constexpr const rvv_op_info i_shift_vvv_ops = {i_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1813,7 +1813,7 @@ static CONSTEXPR const rvv_op_info i_shift_vvv_ops /* A static operand information for vector_type func (vector_type, size_t) * function registration. */ -static CONSTEXPR const rvv_op_info i_shift_vvx_ops +static constexpr const rvv_op_info i_shift_vvx_ops = {i_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1821,7 +1821,7 @@ static CONSTEXPR const rvv_op_info i_shift_vvx_ops /* A static operand information for vector_type func (vector_type, shift_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_shift_vvv_ops +static constexpr const rvv_op_info u_shift_vvv_ops = {u_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1829,7 +1829,7 @@ static CONSTEXPR const rvv_op_info u_shift_vvv_ops /* A static operand information for vector_type func (vector_type, size_t) * function registration. */ -static CONSTEXPR const rvv_op_info u_shift_vvx_ops +static constexpr const rvv_op_info u_shift_vvx_ops = {u_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1837,7 +1837,7 @@ static CONSTEXPR const rvv_op_info u_shift_vvx_ops /* A static operand information for vector_type func (vector_type, index_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_gather_vvv_ops +static constexpr const rvv_op_info all_gather_vvv_ops = {all_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1845,7 +1845,7 @@ static CONSTEXPR const rvv_op_info all_gather_vvv_ops /* A static operand information for vector_type func (vector_type, size_t) * function registration. */ -static CONSTEXPR const rvv_op_info all_gather_vvx_ops +static constexpr const rvv_op_info all_gather_vvx_ops = {all_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1853,7 +1853,7 @@ static CONSTEXPR const rvv_op_info all_gather_vvx_ops /* A static operand information for vector_type func (vector_type, index_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_gatherei16_vvv_ops +static constexpr const rvv_op_info all_gatherei16_vvv_ops = {ei16_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1861,7 +1861,7 @@ static CONSTEXPR const rvv_op_info all_gatherei16_vvv_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_ops +static constexpr const rvv_op_info iu_v_ops = {iu_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1869,7 +1869,7 @@ static CONSTEXPR const rvv_op_info iu_v_ops /* A static operand information for scalar_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_x_s_ops +static constexpr const rvv_op_info iu_x_s_ops = {iu_ops, /* Types */ OP_TYPE_s, /* Suffix */ rvv_arg_type_info (RVV_BASE_scalar), /* Return type */ @@ -1877,7 +1877,7 @@ static CONSTEXPR const rvv_op_info iu_x_s_ops /* A static operand information for scalar_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_f_s_ops +static constexpr const rvv_op_info f_f_s_ops = {f_ops, /* Types */ OP_TYPE_s, /* Suffix */ rvv_arg_type_info (RVV_BASE_scalar), /* Return type */ @@ -1885,7 +1885,7 @@ static CONSTEXPR const rvv_op_info f_f_s_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_vs_ops +static constexpr const rvv_op_info iu_vs_ops = {iu_ops, /* Types */ OP_TYPE_vs, /* Suffix */ rvv_arg_type_info (RVV_BASE_lmul1_vector), /* Return type */ @@ -1893,7 +1893,7 @@ static CONSTEXPR const rvv_op_info iu_vs_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_vs_ops +static constexpr const rvv_op_info f_vs_ops = {f_ops, /* Types */ OP_TYPE_vs, /* Suffix */ rvv_arg_type_info (RVV_BASE_lmul1_vector), /* Return type */ @@ -1901,7 +1901,7 @@ static CONSTEXPR const rvv_op_info f_vs_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info wi_vs_ops +static constexpr const rvv_op_info wi_vs_ops = {wi_ops, /* Types */ OP_TYPE_vs, /* Suffix */ rvv_arg_type_info (RVV_BASE_widen_lmul1_vector), /* Return type */ @@ -1909,7 +1909,7 @@ static CONSTEXPR const rvv_op_info wi_vs_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info wu_vs_ops +static constexpr const rvv_op_info wu_vs_ops = {wu_ops, /* Types */ OP_TYPE_vs, /* Suffix */ rvv_arg_type_info (RVV_BASE_widen_lmul1_vector), /* Return type */ @@ -1917,7 +1917,7 @@ static CONSTEXPR const rvv_op_info wu_vs_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info wf_vs_ops +static constexpr const rvv_op_info wf_vs_ops = {wf_ops, /* Types */ OP_TYPE_vs, /* Suffix */ rvv_arg_type_info (RVV_BASE_widen_lmul1_vector), /* Return type */ @@ -1925,7 +1925,7 @@ static CONSTEXPR const rvv_op_info wf_vs_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_v_ops +static constexpr const rvv_op_info f_v_ops = {f_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1933,7 +1933,7 @@ static CONSTEXPR const rvv_op_info f_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_to_u_v_ops +static constexpr const rvv_op_info f_to_u_v_ops = {convert_u_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1941,7 +1941,7 @@ static CONSTEXPR const rvv_op_info f_to_u_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_to_i_f_v_ops +static constexpr const rvv_op_info f_to_i_f_v_ops = {convert_i_ops, /* Types */ OP_TYPE_f_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1949,7 +1949,7 @@ static CONSTEXPR const rvv_op_info f_to_i_f_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_to_wi_f_v_ops +static constexpr const rvv_op_info f_to_wi_f_v_ops = {wconvert_i_ops, /* Types */ OP_TYPE_f_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1957,7 +1957,7 @@ static CONSTEXPR const rvv_op_info f_to_wi_f_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_to_ni_f_w_ops +static constexpr const rvv_op_info f_to_ni_f_w_ops = {f_ops, /* Types */ OP_TYPE_f_w, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_signed_vector), /* Return type */ @@ -1965,7 +1965,7 @@ static CONSTEXPR const rvv_op_info f_to_ni_f_w_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_to_nu_f_w_ops +static constexpr const rvv_op_info f_to_nu_f_w_ops = {f_ops, /* Types */ OP_TYPE_f_w, /* Suffix */ rvv_arg_type_info ( @@ -1974,7 +1974,7 @@ static CONSTEXPR const rvv_op_info f_to_nu_f_w_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info i_to_f_x_v_ops +static constexpr const rvv_op_info i_to_f_x_v_ops = {f_ops, /* Types */ OP_TYPE_x_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1982,7 +1982,7 @@ static CONSTEXPR const rvv_op_info i_to_f_x_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_to_f_xu_v_ops +static constexpr const rvv_op_info u_to_f_xu_v_ops = {f_ops, /* Types */ OP_TYPE_xu_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1990,7 +1990,7 @@ static CONSTEXPR const rvv_op_info u_to_f_xu_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info i_to_wf_x_v_ops +static constexpr const rvv_op_info i_to_wf_x_v_ops = {f_ops, /* Types */ OP_TYPE_x_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -1998,7 +1998,7 @@ static CONSTEXPR const rvv_op_info i_to_wf_x_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_to_wf_xu_v_ops +static constexpr const rvv_op_info u_to_wf_xu_v_ops = {f_ops, /* Types */ OP_TYPE_xu_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2006,7 +2006,7 @@ static CONSTEXPR const rvv_op_info u_to_wf_xu_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info i_to_nf_x_w_ops +static constexpr const rvv_op_info i_to_nf_x_w_ops = {wconvert_i_ops, /* Types */ OP_TYPE_x_w, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_float_vector), /* Return type */ @@ -2014,7 +2014,7 @@ static CONSTEXPR const rvv_op_info i_to_nf_x_w_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_to_nf_xu_w_ops +static constexpr const rvv_op_info u_to_nf_xu_w_ops = {wconvert_u_ops, /* Types */ OP_TYPE_xu_w, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_float_vector), /* Return type */ @@ -2022,7 +2022,7 @@ static CONSTEXPR const rvv_op_info u_to_nf_xu_w_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_to_u_f_v_ops +static constexpr const rvv_op_info f_to_u_f_v_ops = {convert_u_ops, /* Types */ OP_TYPE_f_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2030,7 +2030,7 @@ static CONSTEXPR const rvv_op_info f_to_u_f_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_to_wu_f_v_ops +static constexpr const rvv_op_info f_to_wu_f_v_ops = {wconvert_u_ops, /* Types */ OP_TYPE_f_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2038,7 +2038,7 @@ static CONSTEXPR const rvv_op_info f_to_wu_f_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_to_wf_f_v_ops +static constexpr const rvv_op_info f_to_wf_f_v_ops = {f_ops, /* Types */ OP_TYPE_f_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2046,7 +2046,7 @@ static CONSTEXPR const rvv_op_info f_to_wf_f_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_to_nf_f_w_ops +static constexpr const rvv_op_info f_to_nf_f_w_ops = {wconvert_f_ops, /* Types */ OP_TYPE_f_w, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_float_vector), /* Return type */ @@ -2054,7 +2054,7 @@ static CONSTEXPR const rvv_op_info f_to_nf_f_w_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f32_to_bf16_f_w_ops +static constexpr const rvv_op_info f32_to_bf16_f_w_ops = {f32_ops, /* Types */ OP_TYPE_f_w, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_bfloat_vector), /* Return type */ @@ -2062,7 +2062,7 @@ static CONSTEXPR const rvv_op_info f32_to_bf16_f_w_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info bf16_to_f32_f_v_ops +static constexpr const rvv_op_info bf16_to_f32_f_v_ops = {f32_ops, /* Types */ OP_TYPE_f_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2070,7 +2070,7 @@ static CONSTEXPR const rvv_op_info bf16_to_f32_f_v_ops /* A static operand information for vector_type func (vector_type, double demote * type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info f32_wwvv_ops +static constexpr const rvv_op_info f32_wwvv_ops = {f32_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2078,7 +2078,7 @@ static CONSTEXPR const rvv_op_info f32_wwvv_ops /* A static operand information for vector_type func (vector_type, double demote * scalar_type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info f32_wwfv_ops +static constexpr const rvv_op_info f32_wwfv_ops = {f32_ops, /* Types */ OP_TYPE_vf, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2086,7 +2086,7 @@ static CONSTEXPR const rvv_op_info f32_wwfv_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_ops +static constexpr const rvv_op_info all_v_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2094,7 +2094,7 @@ static CONSTEXPR const rvv_op_info all_v_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info i_v_u_ops +static constexpr const rvv_op_info i_v_u_ops = {i_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_unsigned_vector), /* Return type */ @@ -2102,7 +2102,7 @@ static CONSTEXPR const rvv_op_info i_v_u_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_v_i_ops +static constexpr const rvv_op_info u_v_i_ops = {u_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_signed_vector), /* Return type */ @@ -2110,7 +2110,7 @@ static CONSTEXPR const rvv_op_info u_v_i_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_eew8_interpret_ops +static constexpr const rvv_op_info iu_v_eew8_interpret_ops = {eew8_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_eew8_interpret), /* Return type */ @@ -2118,7 +2118,7 @@ static CONSTEXPR const rvv_op_info iu_v_eew8_interpret_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_eew16_interpret_ops +static constexpr const rvv_op_info iu_v_eew16_interpret_ops = {eew16_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_eew16_interpret), /* Return type */ @@ -2126,7 +2126,7 @@ static CONSTEXPR const rvv_op_info iu_v_eew16_interpret_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_eew32_interpret_ops +static constexpr const rvv_op_info iu_v_eew32_interpret_ops = {eew32_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_eew32_interpret), /* Return type */ @@ -2134,7 +2134,7 @@ static CONSTEXPR const rvv_op_info iu_v_eew32_interpret_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_eew64_interpret_ops +static constexpr const rvv_op_info iu_v_eew64_interpret_ops = {eew64_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_eew64_interpret), /* Return type */ @@ -2142,7 +2142,7 @@ static CONSTEXPR const rvv_op_info iu_v_eew64_interpret_ops /* A static operand information for vbool1_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_bool1_interpret_ops +static constexpr const rvv_op_info iu_v_bool1_interpret_ops = {bool1_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_bool1_interpret), /* Return type */ @@ -2150,7 +2150,7 @@ static CONSTEXPR const rvv_op_info iu_v_bool1_interpret_ops /* A static operand information for vbool2_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_bool2_interpret_ops +static constexpr const rvv_op_info iu_v_bool2_interpret_ops = {bool2_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_bool2_interpret), /* Return type */ @@ -2158,7 +2158,7 @@ static CONSTEXPR const rvv_op_info iu_v_bool2_interpret_ops /* A static operand information for vbool4_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_bool4_interpret_ops +static constexpr const rvv_op_info iu_v_bool4_interpret_ops = {bool4_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_bool4_interpret), /* Return type */ @@ -2166,7 +2166,7 @@ static CONSTEXPR const rvv_op_info iu_v_bool4_interpret_ops /* A static operand information for vbool8_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_bool8_interpret_ops +static constexpr const rvv_op_info iu_v_bool8_interpret_ops = {bool8_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_bool8_interpret), /* Return type */ @@ -2174,7 +2174,7 @@ static CONSTEXPR const rvv_op_info iu_v_bool8_interpret_ops /* A static operand information for vbool16_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_bool16_interpret_ops +static constexpr const rvv_op_info iu_v_bool16_interpret_ops = {bool16_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_bool16_interpret), /* Return type */ @@ -2182,7 +2182,7 @@ static CONSTEXPR const rvv_op_info iu_v_bool16_interpret_ops /* A static operand information for vbool32_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_bool32_interpret_ops +static constexpr const rvv_op_info iu_v_bool32_interpret_ops = {bool32_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_bool32_interpret), /* Return type */ @@ -2190,7 +2190,7 @@ static CONSTEXPR const rvv_op_info iu_v_bool32_interpret_ops /* A static operand information for vbool64_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_v_bool64_interpret_ops +static constexpr const rvv_op_info iu_v_bool64_interpret_ops = {bool64_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_bool64_interpret), /* Return type */ @@ -2198,7 +2198,7 @@ static CONSTEXPR const rvv_op_info iu_v_bool64_interpret_ops /* A static operand information for vint8_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_v_signed_eew8_lmul1_interpret_ops +static constexpr const rvv_op_info b_v_signed_eew8_lmul1_interpret_ops = {signed_eew8_lmul1_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_signed_eew8_lmul1_interpret),/* Return type */ @@ -2206,7 +2206,7 @@ static CONSTEXPR const rvv_op_info b_v_signed_eew8_lmul1_interpret_ops /* A static operand information for vint16_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_v_signed_eew16_lmul1_interpret_ops +static constexpr const rvv_op_info b_v_signed_eew16_lmul1_interpret_ops = {signed_eew16_lmul1_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_signed_eew16_lmul1_interpret),/* Return type */ @@ -2214,7 +2214,7 @@ static CONSTEXPR const rvv_op_info b_v_signed_eew16_lmul1_interpret_ops /* A static operand information for vint32_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_v_signed_eew32_lmul1_interpret_ops +static constexpr const rvv_op_info b_v_signed_eew32_lmul1_interpret_ops = {signed_eew32_lmul1_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_signed_eew32_lmul1_interpret),/* Return type */ @@ -2222,7 +2222,7 @@ static CONSTEXPR const rvv_op_info b_v_signed_eew32_lmul1_interpret_ops /* A static operand information for vint64_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_v_signed_eew64_lmul1_interpret_ops +static constexpr const rvv_op_info b_v_signed_eew64_lmul1_interpret_ops = {signed_eew64_lmul1_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_signed_eew64_lmul1_interpret),/* Return type */ @@ -2230,7 +2230,7 @@ static CONSTEXPR const rvv_op_info b_v_signed_eew64_lmul1_interpret_ops /* A static operand information for vuint8_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_v_unsigned_eew8_lmul1_interpret_ops +static constexpr const rvv_op_info b_v_unsigned_eew8_lmul1_interpret_ops = {unsigned_eew8_lmul1_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_unsigned_eew8_lmul1_interpret),/* Return type */ @@ -2238,7 +2238,7 @@ static CONSTEXPR const rvv_op_info b_v_unsigned_eew8_lmul1_interpret_ops /* A static operand information for vuint16_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_v_unsigned_eew16_lmul1_interpret_ops +static constexpr const rvv_op_info b_v_unsigned_eew16_lmul1_interpret_ops = {unsigned_eew16_lmul1_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_unsigned_eew16_lmul1_interpret),/* Return type */ @@ -2246,7 +2246,7 @@ static CONSTEXPR const rvv_op_info b_v_unsigned_eew16_lmul1_interpret_ops /* A static operand information for vuint32_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_v_unsigned_eew32_lmul1_interpret_ops +static constexpr const rvv_op_info b_v_unsigned_eew32_lmul1_interpret_ops = {unsigned_eew32_lmul1_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_unsigned_eew32_lmul1_interpret),/* Return type */ @@ -2254,7 +2254,7 @@ static CONSTEXPR const rvv_op_info b_v_unsigned_eew32_lmul1_interpret_ops /* A static operand information for vuint64_t func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info b_v_unsigned_eew64_lmul1_interpret_ops +static constexpr const rvv_op_info b_v_unsigned_eew64_lmul1_interpret_ops = {unsigned_eew64_lmul1_interpret_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_unsigned_eew64_lmul1_interpret),/* Return type */ @@ -2262,7 +2262,7 @@ static CONSTEXPR const rvv_op_info b_v_unsigned_eew64_lmul1_interpret_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x2_ops +static constexpr const rvv_op_info all_v_vlmul_ext_x2_ops = {vlmul_ext_x2_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), /* Return type */ @@ -2270,7 +2270,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x2_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x4_ops +static constexpr const rvv_op_info all_v_vlmul_ext_x4_ops = {vlmul_ext_x4_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x4), /* Return type */ @@ -2278,7 +2278,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x4_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x8_ops +static constexpr const rvv_op_info all_v_vlmul_ext_x8_ops = {vlmul_ext_x8_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x8), /* Return type */ @@ -2286,7 +2286,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x8_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x16_ops +static constexpr const rvv_op_info all_v_vlmul_ext_x16_ops = {vlmul_ext_x16_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x16), /* Return type */ @@ -2294,7 +2294,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x16_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x32_ops +static constexpr const rvv_op_info all_v_vlmul_ext_x32_ops = {vlmul_ext_x32_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x32), /* Return type */ @@ -2302,7 +2302,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x32_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x64_ops +static constexpr const rvv_op_info all_v_vlmul_ext_x64_ops = {vlmul_ext_x64_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x64), /* Return type */ @@ -2310,7 +2310,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_ext_x64_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x2_ops +static constexpr const rvv_op_info all_v_vlmul_trunc_x2_ops = {vlmul_ext_x2_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2318,7 +2318,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x2_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x4_ops +static constexpr const rvv_op_info all_v_vlmul_trunc_x4_ops = {vlmul_ext_x4_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2326,7 +2326,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x4_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x8_ops +static constexpr const rvv_op_info all_v_vlmul_trunc_x8_ops = {vlmul_ext_x8_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2334,7 +2334,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x8_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x16_ops +static constexpr const rvv_op_info all_v_vlmul_trunc_x16_ops = {vlmul_ext_x16_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2342,7 +2342,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x16_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x32_ops +static constexpr const rvv_op_info all_v_vlmul_trunc_x32_ops = {vlmul_ext_x32_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2350,7 +2350,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x32_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x64_ops +static constexpr const rvv_op_info all_v_vlmul_trunc_x64_ops = {vlmul_ext_x64_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2358,7 +2358,7 @@ static CONSTEXPR const rvv_op_info all_v_vlmul_trunc_x64_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_v_i_ops +static constexpr const rvv_op_info f_v_i_ops = {f_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_signed_vector), /* Return type */ @@ -2366,7 +2366,7 @@ static CONSTEXPR const rvv_op_info f_v_i_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_v_u_ops +static constexpr const rvv_op_info f_v_u_ops = {f_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_unsigned_vector), /* Return type */ @@ -2374,7 +2374,7 @@ static CONSTEXPR const rvv_op_info f_v_u_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info i_v_f_ops +static constexpr const rvv_op_info i_v_f_ops = {f_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2382,7 +2382,7 @@ static CONSTEXPR const rvv_op_info i_v_f_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info u_v_f_ops +static constexpr const rvv_op_info u_v_f_ops = {f_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2390,7 +2390,7 @@ static CONSTEXPR const rvv_op_info u_v_f_ops /* A static operand information for vector_type func (scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_x_ops +static constexpr const rvv_op_info iu_x_ops = {iu_ops, /* Types */ OP_TYPE_x, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2398,7 +2398,7 @@ static CONSTEXPR const rvv_op_info iu_x_ops /* A static operand information for vector_type func (scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_s_x_ops +static constexpr const rvv_op_info iu_s_x_ops = {iu_ops, /* Types */ OP_TYPE_x, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2406,7 +2406,7 @@ static CONSTEXPR const rvv_op_info iu_s_x_ops /* A static operand information for vector_type func (scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_f_ops +static constexpr const rvv_op_info f_f_ops = {f_ops, /* Types */ OP_TYPE_f, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2414,7 +2414,7 @@ static CONSTEXPR const rvv_op_info f_f_ops /* A static operand information for vector_type func (scalar_type) * function registration. */ -static CONSTEXPR const rvv_op_info f_s_f_ops +static constexpr const rvv_op_info f_s_f_ops = {f_ops, /* Types */ OP_TYPE_f, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2422,7 +2422,7 @@ static CONSTEXPR const rvv_op_info f_s_f_ops /* A static operand information for vector_type func (double demote type) * function registration. */ -static CONSTEXPR const rvv_op_info i_vf2_ops +static constexpr const rvv_op_info i_vf2_ops = {wexti_ops, /* Types */ OP_TYPE_vf2, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2430,7 +2430,7 @@ static CONSTEXPR const rvv_op_info i_vf2_ops /* A static operand information for vector_type func (quad demote type) * function registration. */ -static CONSTEXPR const rvv_op_info i_vf4_ops +static constexpr const rvv_op_info i_vf4_ops = {qexti_ops, /* Types */ OP_TYPE_vf4, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2438,7 +2438,7 @@ static CONSTEXPR const rvv_op_info i_vf4_ops /* A static operand information for vector_type func (oct demote type) * function registration. */ -static CONSTEXPR const rvv_op_info i_vf8_ops +static constexpr const rvv_op_info i_vf8_ops = {oexti_ops, /* Types */ OP_TYPE_vf8, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2446,7 +2446,7 @@ static CONSTEXPR const rvv_op_info i_vf8_ops /* A static operand information for vector_type func (double demote type) * function registration. */ -static CONSTEXPR const rvv_op_info u_vf2_ops +static constexpr const rvv_op_info u_vf2_ops = {wextu_ops, /* Types */ OP_TYPE_vf2, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2454,7 +2454,7 @@ static CONSTEXPR const rvv_op_info u_vf2_ops /* A static operand information for vector_type func (quad demote type) * function registration. */ -static CONSTEXPR const rvv_op_info u_vf4_ops +static constexpr const rvv_op_info u_vf4_ops = {qextu_ops, /* Types */ OP_TYPE_vf4, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2462,7 +2462,7 @@ static CONSTEXPR const rvv_op_info u_vf4_ops /* A static operand information for vector_type func (oct demote type) * function registration. */ -static CONSTEXPR const rvv_op_info u_vf8_ops +static constexpr const rvv_op_info u_vf8_ops = {oextu_ops, /* Types */ OP_TYPE_vf8, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2470,7 +2470,7 @@ static CONSTEXPR const rvv_op_info u_vf8_ops /* A static operand information for vector_type func (double demote type, double * demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_wvv_ops +static constexpr const rvv_op_info i_wvv_ops = {wexti_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2478,7 +2478,7 @@ static CONSTEXPR const rvv_op_info i_wvv_ops /* A static operand information for vector_type func (double demote type, double * demote type) function registration. */ -static CONSTEXPR const rvv_op_info f_wvv_ops +static constexpr const rvv_op_info f_wvv_ops = {wextf_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2486,7 +2486,7 @@ static CONSTEXPR const rvv_op_info f_wvv_ops /* A static operand information for vector_type func (vector_type, double demote * type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_wwvv_ops +static constexpr const rvv_op_info i_wwvv_ops = {wexti_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2494,7 +2494,7 @@ static CONSTEXPR const rvv_op_info i_wwvv_ops /* A static operand information for vector_type func (vector_type, double demote * scalar_type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_wwxv_ops +static constexpr const rvv_op_info i_wwxv_ops = {wexti_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2502,7 +2502,7 @@ static CONSTEXPR const rvv_op_info i_wwxv_ops /* A static operand information for vector_type func (vector_type, double demote * type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info f_wwvv_ops +static constexpr const rvv_op_info f_wwvv_ops = {wextf_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2510,7 +2510,7 @@ static CONSTEXPR const rvv_op_info f_wwvv_ops /* A static operand information for vector_type func (vector_type, double demote * scalar_type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info f_wwfv_ops +static constexpr const rvv_op_info f_wwfv_ops = {wextf_ops, /* Types */ OP_TYPE_vf, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2518,7 +2518,7 @@ static CONSTEXPR const rvv_op_info f_wwfv_ops /* A static operand information for vector_type func (vector_type, double demote * type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info u_wwvv_ops +static constexpr const rvv_op_info u_wwvv_ops = {wextu_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2526,7 +2526,7 @@ static CONSTEXPR const rvv_op_info u_wwvv_ops /* A static operand information for vector_type func (vector_type, double demote * scalar_type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info u_wwxv_ops +static constexpr const rvv_op_info u_wwxv_ops = {wextu_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2534,7 +2534,7 @@ static CONSTEXPR const rvv_op_info u_wwxv_ops /* A static operand information for vector_type func (vector_type, double demote * type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_su_wwvv_ops +static constexpr const rvv_op_info i_su_wwvv_ops = {wexti_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2542,7 +2542,7 @@ static CONSTEXPR const rvv_op_info i_su_wwvv_ops /* A static operand information for vector_type func (vector_type, double demote * scalar_type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_su_wwxv_ops +static constexpr const rvv_op_info i_su_wwxv_ops = {wexti_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2550,7 +2550,7 @@ static CONSTEXPR const rvv_op_info i_su_wwxv_ops /* A static operand information for vector_type func (vector_type, double demote * scalar_type, double demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_us_wwxv_ops +static constexpr const rvv_op_info i_us_wwxv_ops = {wexti_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2558,7 +2558,7 @@ static CONSTEXPR const rvv_op_info i_us_wwxv_ops /* A static operand information for vector_type func (vector_type, quad demote * type, quad demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_qqvv_ops +static constexpr const rvv_op_info i_qqvv_ops = {qmacc_ops, /* Types */ OP_TYPE_4x8x4, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2566,7 +2566,7 @@ static CONSTEXPR const rvv_op_info i_qqvv_ops /* A static operand information for vector_type func (vector_type, quad demote * type, quad demote type) function registration. */ -static CONSTEXPR const rvv_op_info u_qqvv_ops +static constexpr const rvv_op_info u_qqvv_ops = {qmacc_ops, /* Types */ OP_TYPE_4x8x4, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2574,7 +2574,7 @@ static CONSTEXPR const rvv_op_info u_qqvv_ops /* A static operand information for vector_type func (vector_type, quad demote * type, quad demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_su_qqvv_ops +static constexpr const rvv_op_info i_su_qqvv_ops = {qmacc_ops, /* Types */ OP_TYPE_4x8x4, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2582,7 +2582,7 @@ static CONSTEXPR const rvv_op_info i_su_qqvv_ops /* A static operand information for vector_type func (vector_type, quad demote * type, quad demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_us_qqvv_ops +static constexpr const rvv_op_info i_us_qqvv_ops = {qmacc_ops, /* Types */ OP_TYPE_4x8x4, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2590,7 +2590,7 @@ static CONSTEXPR const rvv_op_info i_us_qqvv_ops /* A static operand information for vector_type func (vector_type, quad demote * type, quad demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_qdvv_ops +static constexpr const rvv_op_info i_qdvv_ops = {qmacc_ops, /* Types */ OP_TYPE_2x8x2, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2598,7 +2598,7 @@ static CONSTEXPR const rvv_op_info i_qdvv_ops /* A static operand information for vector_type func (vector_type, quad demote * type, quad demote type) function registration. */ -static CONSTEXPR const rvv_op_info u_qdvv_ops +static constexpr const rvv_op_info u_qdvv_ops = {qmacc_ops, /* Types */ OP_TYPE_2x8x2, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2606,7 +2606,7 @@ static CONSTEXPR const rvv_op_info u_qdvv_ops /* A static operand information for vector_type func (vector_type, quad demote * type, quad demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_su_qdvv_ops +static constexpr const rvv_op_info i_su_qdvv_ops = {qmacc_ops, /* Types */ OP_TYPE_2x8x2, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2614,7 +2614,7 @@ static CONSTEXPR const rvv_op_info i_su_qdvv_ops /* A static operand information for vector_type func (vector_type, quad demote * type, quad demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_us_qdvv_ops +static constexpr const rvv_op_info i_us_qdvv_ops = {qmacc_ops, /* Types */ OP_TYPE_2x8x2, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2622,7 +2622,7 @@ static CONSTEXPR const rvv_op_info i_us_qdvv_ops /* A static operand information for vector_type func (signed double demote type, * unsigned double demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_su_wvv_ops +static constexpr const rvv_op_info i_su_wvv_ops = {wexti_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2630,7 +2630,7 @@ static CONSTEXPR const rvv_op_info i_su_wvv_ops /* A static operand information for vector_type func (double demote type, double * demote type) function registration. */ -static CONSTEXPR const rvv_op_info u_wvv_ops +static constexpr const rvv_op_info u_wvv_ops = {wextu_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2638,7 +2638,7 @@ static CONSTEXPR const rvv_op_info u_wvv_ops /* A static operand information for vector_type func (double demote type, size type) * function registration. */ -static CONSTEXPR const rvv_op_info u_shift_wvx_ops +static constexpr const rvv_op_info u_shift_wvx_ops = {wextu_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2646,7 +2646,7 @@ static CONSTEXPR const rvv_op_info u_shift_wvx_ops /* A static operand information for vector_type func (double demote type, double * demote scalar_type) function registration. */ -static CONSTEXPR const rvv_op_info i_wvx_ops +static constexpr const rvv_op_info i_wvx_ops = {wexti_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2654,7 +2654,7 @@ static CONSTEXPR const rvv_op_info i_wvx_ops /* A static operand information for vector_type func (double demote type, double * demote scalar_type) function registration. */ -static CONSTEXPR const rvv_op_info f_wvf_ops +static constexpr const rvv_op_info f_wvf_ops = {wextf_ops, /* Types */ OP_TYPE_vf, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2662,7 +2662,7 @@ static CONSTEXPR const rvv_op_info f_wvf_ops /* A static operand information for vector_type func (signed double demote type, * unsigned double demote scalar_type) function registration. */ -static CONSTEXPR const rvv_op_info i_su_wvx_ops +static constexpr const rvv_op_info i_su_wvx_ops = {wexti_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2670,7 +2670,7 @@ static CONSTEXPR const rvv_op_info i_su_wvx_ops /* A static operand information for vector_type func (vector_type, double * demote type) function registration. */ -static CONSTEXPR const rvv_op_info i_wwv_ops +static constexpr const rvv_op_info i_wwv_ops = {wexti_ops, /* Types */ OP_TYPE_wv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2678,7 +2678,7 @@ static CONSTEXPR const rvv_op_info i_wwv_ops /* A static operand information for vector_type func (vector_type, double * demote type) function registration. */ -static CONSTEXPR const rvv_op_info f_wwv_ops +static constexpr const rvv_op_info f_wwv_ops = {wextf_ops, /* Types */ OP_TYPE_wv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2686,7 +2686,7 @@ static CONSTEXPR const rvv_op_info f_wwv_ops /* A static operand information for vector_type func (vector_type, double * demote scalar_type) function registration. */ -static CONSTEXPR const rvv_op_info i_wwx_ops +static constexpr const rvv_op_info i_wwx_ops = {wexti_ops, /* Types */ OP_TYPE_wx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2694,7 +2694,7 @@ static CONSTEXPR const rvv_op_info i_wwx_ops /* A static operand information for vector_type func (vector_type, double * demote scalar_type) function registration. */ -static CONSTEXPR const rvv_op_info f_wwf_ops +static constexpr const rvv_op_info f_wwf_ops = {wextf_ops, /* Types */ OP_TYPE_wf, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2702,7 +2702,7 @@ static CONSTEXPR const rvv_op_info f_wwf_ops /* A static operand information for vector_type func (vector_type, double * demote type) function registration. */ -static CONSTEXPR const rvv_op_info u_wwv_ops +static constexpr const rvv_op_info u_wwv_ops = {wextu_ops, /* Types */ OP_TYPE_wv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2710,7 +2710,7 @@ static CONSTEXPR const rvv_op_info u_wwv_ops /* A static operand information for vector_type func (vector_type, double * demote scalar_type) function registration. */ -static CONSTEXPR const rvv_op_info u_wwx_ops +static constexpr const rvv_op_info u_wwx_ops = {wextu_ops, /* Types */ OP_TYPE_wx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2718,7 +2718,7 @@ static CONSTEXPR const rvv_op_info u_wwx_ops /* A static operand information for vector_type func (double demote type, double * demote scalar_type) function registration. */ -static CONSTEXPR const rvv_op_info u_wvx_ops +static constexpr const rvv_op_info u_wvx_ops = {wextu_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2726,7 +2726,7 @@ static CONSTEXPR const rvv_op_info u_wvx_ops /* A static operand information for vector_type func (double demote type) * function registration. */ -static CONSTEXPR const rvv_op_info i_x_x_v_ops +static constexpr const rvv_op_info i_x_x_v_ops = {wexti_ops, /* Types */ OP_TYPE_x_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2734,7 +2734,7 @@ static CONSTEXPR const rvv_op_info i_x_x_v_ops /* A static operand information for vector_type func (unsigned double demote * type) function registration. */ -static CONSTEXPR const rvv_op_info u_x_x_v_ops +static constexpr const rvv_op_info u_x_x_v_ops = {wextu_ops, /* Types */ OP_TYPE_x_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2742,7 +2742,7 @@ static CONSTEXPR const rvv_op_info u_x_x_v_ops /* A static operand information for double demote type func (vector_type, * shift_type) function registration. */ -static CONSTEXPR const rvv_op_info i_narrow_shift_vwv_ops +static constexpr const rvv_op_info i_narrow_shift_vwv_ops = {wexti_ops, /* Types */ OP_TYPE_wv, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_vector), /* Return type */ @@ -2750,7 +2750,7 @@ static CONSTEXPR const rvv_op_info i_narrow_shift_vwv_ops /* A static operand information for double demote type func (vector_type, * shift_type) function registration. */ -static CONSTEXPR const rvv_op_info u_narrow_shift_vwv_ops +static constexpr const rvv_op_info u_narrow_shift_vwv_ops = {wextu_ops, /* Types */ OP_TYPE_wv, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_vector), /* Return type */ @@ -2758,7 +2758,7 @@ static CONSTEXPR const rvv_op_info u_narrow_shift_vwv_ops /* A static operand information for double demote type func (vector_type, * size_t) function registration. */ -static CONSTEXPR const rvv_op_info i_narrow_shift_vwx_ops +static constexpr const rvv_op_info i_narrow_shift_vwx_ops = {wexti_ops, /* Types */ OP_TYPE_wx, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_vector), /* Return type */ @@ -2766,7 +2766,7 @@ static CONSTEXPR const rvv_op_info i_narrow_shift_vwx_ops /* A static operand information for double demote type func (vector_type, * shift_type) function registration. */ -static CONSTEXPR const rvv_op_info u_clip_qf_ops +static constexpr const rvv_op_info u_clip_qf_ops = {xfqf_ops, /* Types */ OP_TYPE_none, /* Suffix */ rvv_arg_type_info (RVV_BASE_unsigned_vector), /* Return type */ @@ -2774,7 +2774,7 @@ static CONSTEXPR const rvv_op_info u_clip_qf_ops /* A static operand information for double demote type func (vector_type, * shift_type) function registration. */ -static CONSTEXPR const rvv_op_info i_clip_qf_ops +static constexpr const rvv_op_info i_clip_qf_ops = {xfqf_ops, /* Types */ OP_TYPE_none, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2782,7 +2782,7 @@ static CONSTEXPR const rvv_op_info i_clip_qf_ops /* A static operand information for double demote type func (vector_type, * size_t) function registration. */ -static CONSTEXPR const rvv_op_info u_narrow_shift_vwx_ops +static constexpr const rvv_op_info u_narrow_shift_vwx_ops = {wextu_ops, /* Types */ OP_TYPE_wx, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_vector), /* Return type */ @@ -2790,7 +2790,7 @@ static CONSTEXPR const rvv_op_info u_narrow_shift_vwx_ops /* A static operand information for double demote type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info iu_trunc_ops +static constexpr const rvv_op_info iu_trunc_ops = {wextiu_ops, /* Types */ OP_TYPE_x_w, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_vector), /* Return type */ @@ -2798,7 +2798,7 @@ static CONSTEXPR const rvv_op_info iu_trunc_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vset_lmul1_x2_ops +static constexpr const rvv_op_info all_v_vset_lmul1_x2_ops = {lmul1_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), /* Return type */ @@ -2806,7 +2806,7 @@ static CONSTEXPR const rvv_op_info all_v_vset_lmul1_x2_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vset_lmul1_x4_ops +static constexpr const rvv_op_info all_v_vset_lmul1_x4_ops = {lmul1_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x4), /* Return type */ @@ -2814,7 +2814,7 @@ static CONSTEXPR const rvv_op_info all_v_vset_lmul1_x4_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vset_lmul1_x8_ops +static constexpr const rvv_op_info all_v_vset_lmul1_x8_ops = {lmul1_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x8), /* Return type */ @@ -2822,7 +2822,7 @@ static CONSTEXPR const rvv_op_info all_v_vset_lmul1_x8_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vset_lmul2_x2_ops +static constexpr const rvv_op_info all_v_vset_lmul2_x2_ops = {lmul2_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), /* Return type */ @@ -2830,7 +2830,7 @@ static CONSTEXPR const rvv_op_info all_v_vset_lmul2_x2_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vset_lmul2_x4_ops +static constexpr const rvv_op_info all_v_vset_lmul2_x4_ops = {lmul2_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x4), /* Return type */ @@ -2838,7 +2838,7 @@ static CONSTEXPR const rvv_op_info all_v_vset_lmul2_x4_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vset_lmul4_x2_ops +static constexpr const rvv_op_info all_v_vset_lmul4_x2_ops = {lmul4_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), /* Return type */ @@ -2846,7 +2846,7 @@ static CONSTEXPR const rvv_op_info all_v_vset_lmul4_x2_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vget_lmul1_x2_ops +static constexpr const rvv_op_info all_v_vget_lmul1_x2_ops = {lmul1_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2854,7 +2854,7 @@ static CONSTEXPR const rvv_op_info all_v_vget_lmul1_x2_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vget_lmul1_x4_ops +static constexpr const rvv_op_info all_v_vget_lmul1_x4_ops = {lmul1_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2862,7 +2862,7 @@ static CONSTEXPR const rvv_op_info all_v_vget_lmul1_x4_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vget_lmul1_x8_ops +static constexpr const rvv_op_info all_v_vget_lmul1_x8_ops = {lmul1_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2870,7 +2870,7 @@ static CONSTEXPR const rvv_op_info all_v_vget_lmul1_x8_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vget_lmul2_x2_ops +static constexpr const rvv_op_info all_v_vget_lmul2_x2_ops = {lmul2_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2878,7 +2878,7 @@ static CONSTEXPR const rvv_op_info all_v_vget_lmul2_x2_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vget_lmul2_x4_ops +static constexpr const rvv_op_info all_v_vget_lmul2_x4_ops = {lmul2_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2886,21 +2886,21 @@ static CONSTEXPR const rvv_op_info all_v_vget_lmul2_x4_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vget_lmul4_x2_ops +static constexpr const rvv_op_info all_v_vget_lmul4_x2_ops = {lmul4_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ ext_x2_vget_args /* Args */}; /* A static operand information for size_t func () function registration. */ -static CONSTEXPR const rvv_op_info p_none_void_ops +static constexpr const rvv_op_info p_none_void_ops = {none_ops, /* Types */ OP_TYPE_none, /* Suffix */ rvv_arg_type_info (RVV_BASE_size), /* Return type */ void_args /* Args */}; /* A static operand information for unsigned long func () function registration. */ -static CONSTEXPR const rvv_op_info ul_none_void_ops +static constexpr const rvv_op_info ul_none_void_ops = {none_ops, /* Types */ OP_TYPE_none, /* Suffix */ rvv_arg_type_info (RVV_BASE_unsigned_long), /* Return type */ @@ -2908,7 +2908,7 @@ static CONSTEXPR const rvv_op_info ul_none_void_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vset_tuple_ops +static constexpr const rvv_op_info all_v_vset_tuple_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2916,7 +2916,7 @@ static CONSTEXPR const rvv_op_info all_v_vset_tuple_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vget_tuple_ops +static constexpr const rvv_op_info all_v_vget_tuple_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_tuple_subpart), /* Return type */ @@ -2924,7 +2924,7 @@ static CONSTEXPR const rvv_op_info all_v_vget_tuple_ops /* A static operand information for vector_type func (const scalar_type *) * function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_ops +static constexpr const rvv_op_info tuple_v_scalar_const_ptr_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2932,7 +2932,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_ops /* A static operand information for void func (scalar_type *, vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_ops +static constexpr const rvv_op_info tuple_v_scalar_ptr_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -2940,7 +2940,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_ops /* A static operand information for vector_type func (const scalar_type *, * ptrdiff_t) function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_ptrdiff_ops +static constexpr const rvv_op_info tuple_v_scalar_const_ptr_ptrdiff_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2948,7 +2948,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_ptrdiff_ops /* A static operand information for void func (scalar_type *, ptrdiff_t, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_ptrdiff_ops +static constexpr const rvv_op_info tuple_v_scalar_ptr_ptrdiff_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -2956,7 +2956,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_ptrdiff_ops /* A static operand information for vector_type func (const scalar_type *, * eew8_index_type) function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_eew8_index_ops +static constexpr const rvv_op_info tuple_v_scalar_const_ptr_eew8_index_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2964,7 +2964,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_eew8_index_ops /* A static operand information for vector_type func (const scalar_type *, * eew16_index_type) function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_eew16_index_ops +static constexpr const rvv_op_info tuple_v_scalar_const_ptr_eew16_index_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2972,7 +2972,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_eew16_index_ops /* A static operand information for vector_type func (const scalar_type *, * eew32_index_type) function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_eew32_index_ops +static constexpr const rvv_op_info tuple_v_scalar_const_ptr_eew32_index_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2980,7 +2980,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_eew32_index_ops /* A static operand information for vector_type func (const scalar_type *, * eew64_index_type) function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_eew64_index_ops +static constexpr const rvv_op_info tuple_v_scalar_const_ptr_eew64_index_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -2988,7 +2988,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_eew64_index_ops /* A static operand information for void func (scalar_type *, eew8_index_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_eew8_index_ops +static constexpr const rvv_op_info tuple_v_scalar_ptr_eew8_index_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -2996,7 +2996,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_eew8_index_ops /* A static operand information for void func (scalar_type *, eew16_index_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_eew16_index_ops +static constexpr const rvv_op_info tuple_v_scalar_ptr_eew16_index_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -3004,7 +3004,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_eew16_index_ops /* A static operand information for void func (scalar_type *, eew32_index_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_eew32_index_ops +static constexpr const rvv_op_info tuple_v_scalar_ptr_eew32_index_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -3012,7 +3012,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_eew32_index_ops /* A static operand information for void func (scalar_type *, eew64_index_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_eew64_index_ops +static constexpr const rvv_op_info tuple_v_scalar_ptr_eew64_index_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -3020,7 +3020,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_ptr_eew64_index_ops /* A static operand information for vector_type func (const scalar_type *) * function registration. */ -static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_size_ptr_ops +static constexpr const rvv_op_info tuple_v_scalar_const_ptr_size_ptr_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -3028,7 +3028,7 @@ static CONSTEXPR const rvv_op_info tuple_v_scalar_const_ptr_size_ptr_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vcreate_tuple_ops +static constexpr const rvv_op_info all_v_vcreate_tuple_ops = {tuple_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -3036,7 +3036,7 @@ static CONSTEXPR const rvv_op_info all_v_vcreate_tuple_ops /* A static operand information for vector_type func () function registration. */ -static CONSTEXPR const rvv_op_info all_none_void_tuple_ops +static constexpr const rvv_op_info all_none_void_tuple_ops = {tuple_ops, /* Types */ OP_TYPE_none, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -3044,7 +3044,7 @@ static CONSTEXPR const rvv_op_info all_none_void_tuple_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vcreate_lmul1_x2_ops +static constexpr const rvv_op_info all_v_vcreate_lmul1_x2_ops = {lmul1_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), /* Return type */ @@ -3052,7 +3052,7 @@ static CONSTEXPR const rvv_op_info all_v_vcreate_lmul1_x2_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vcreate_lmul1_x4_ops +static constexpr const rvv_op_info all_v_vcreate_lmul1_x4_ops = {lmul1_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x4), /* Return type */ @@ -3060,7 +3060,7 @@ static CONSTEXPR const rvv_op_info all_v_vcreate_lmul1_x4_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vcreate_lmul1_x8_ops +static constexpr const rvv_op_info all_v_vcreate_lmul1_x8_ops = {lmul1_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x8), /* Return type */ @@ -3068,7 +3068,7 @@ static CONSTEXPR const rvv_op_info all_v_vcreate_lmul1_x8_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vcreate_lmul2_x2_ops +static constexpr const rvv_op_info all_v_vcreate_lmul2_x2_ops = {lmul2_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), /* Return type */ @@ -3076,7 +3076,7 @@ static CONSTEXPR const rvv_op_info all_v_vcreate_lmul2_x2_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vcreate_lmul2_x4_ops +static constexpr const rvv_op_info all_v_vcreate_lmul2_x4_ops = {lmul2_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x4), /* Return type */ @@ -3084,7 +3084,7 @@ static CONSTEXPR const rvv_op_info all_v_vcreate_lmul2_x4_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info all_v_vcreate_lmul4_x2_ops +static constexpr const rvv_op_info all_v_vcreate_lmul4_x2_ops = {lmul4_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), /* Return type */ @@ -3092,7 +3092,7 @@ static CONSTEXPR const rvv_op_info all_v_vcreate_lmul4_x2_ops /* A static operand information for vector_type func (const scalar_type *, * size_t) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_size_ops +static constexpr const rvv_op_info all_v_scalar_const_ptr_size_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -3100,7 +3100,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_size_ops /* A static operand information for void func (scalar_type *, size_t, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_ptr_size_ops +static constexpr const rvv_op_info all_v_scalar_ptr_size_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -3108,7 +3108,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_ptr_size_ops /* A static operand information for vector_type func (const scalar_type *, * index_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_index_ops +static constexpr const rvv_op_info all_v_scalar_const_ptr_index_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -3116,7 +3116,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_const_ptr_index_ops /* A static operand information for void func (scalar_type *, index_type, * vector_type) function registration. */ -static CONSTEXPR const rvv_op_info all_v_scalar_ptr_index_ops +static constexpr const rvv_op_info all_v_scalar_ptr_index_ops = {all_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ @@ -3124,7 +3124,7 @@ static CONSTEXPR const rvv_op_info all_v_scalar_ptr_index_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info f32_to_bf16_nf_w_ops +static constexpr const rvv_op_info f32_to_bf16_nf_w_ops = {f32_ops, /* Types */ OP_TYPE_s, /* Suffix */ rvv_arg_type_info (RVV_BASE_double_trunc_bfloat_vector), /* Return type */ @@ -3132,7 +3132,7 @@ static CONSTEXPR const rvv_op_info f32_to_bf16_nf_w_ops /* A static operand information for vector_type func (vector_type) * function registration. */ -static CONSTEXPR const rvv_op_info bf16_to_f32_wf_v_ops +static constexpr const rvv_op_info bf16_to_f32_wf_v_ops = {f32_ops, /* Types */ OP_TYPE_bf16, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -3140,7 +3140,7 @@ static CONSTEXPR const rvv_op_info bf16_to_f32_wf_v_ops /* A static operand information for vector_type func (const void_type *) * function registration. */ -static CONSTEXPR const rvv_op_info q_v_void_const_ptr_ops +static constexpr const rvv_op_info q_v_void_const_ptr_ops = {q_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -3148,31 +3148,31 @@ static CONSTEXPR const rvv_op_info q_v_void_const_ptr_ops /* A static operand information for vector_type func (const void_type *) * function registration. */ -static CONSTEXPR const rvv_op_info qu_v_void_const_ptr_ops +static constexpr const rvv_op_info qu_v_void_const_ptr_ops = {qu_ops, /* Types */ OP_TYPE_v, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ void_const_ptr_args /* Args */}; -static CONSTEXPR const rvv_op_info f16_vvw_ops +static constexpr const rvv_op_info f16_vvw_ops = {f16_ops, /* Types */ OP_TYPE_vf, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ vw_args /* Args */}; -static CONSTEXPR const rvv_op_info qexti_vvvv_ops +static constexpr const rvv_op_info qexti_vvvv_ops = {qexti_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ vqq_args /* Args */}; -static CONSTEXPR const rvv_op_info qexti_su_vvvv_ops +static constexpr const rvv_op_info qexti_su_vvvv_ops = {qexti_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ su_vqq_args /* Args */}; -static CONSTEXPR const rvv_op_info qextu_vvvv_ops +static constexpr const rvv_op_info qextu_vvvv_ops = {qextu_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ @@ -3181,71 +3181,71 @@ static CONSTEXPR const rvv_op_info qextu_vvvv_ops /* A static operand information for vector_type func (vector_type). Some insns just supports SEW=32, such as the crypto vector Zvkg extension. * function registration. */ -static CONSTEXPR const rvv_arg_type_info vs_lmul_x2_args[] +static constexpr const rvv_arg_type_info vs_lmul_x2_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info vs_lmul_x4_args[] +static constexpr const rvv_arg_type_info vs_lmul_x4_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x4), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info vs_lmul_x8_args[] +static constexpr const rvv_arg_type_info vs_lmul_x8_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x8), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_arg_type_info vs_lmul_x16_args[] +static constexpr const rvv_arg_type_info vs_lmul_x16_args[] = {rvv_arg_type_info (RVV_BASE_vlmul_ext_x16), rvv_arg_type_info (RVV_BASE_vector), rvv_arg_type_info_end}; -static CONSTEXPR const rvv_op_info u_vvv_crypto_sew32_ops +static constexpr const rvv_op_info u_vvv_crypto_sew32_ops = {crypto_sew32_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ vv_args /* Args */}; -static CONSTEXPR const rvv_op_info u_vvvv_crypto_sew32_ops +static constexpr const rvv_op_info u_vvvv_crypto_sew32_ops = {crypto_sew32_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ vvv_args /* Args */}; -static CONSTEXPR const rvv_op_info u_vvv_size_crypto_sew32_ops +static constexpr const rvv_op_info u_vvv_size_crypto_sew32_ops = {crypto_sew32_ops, /* Types */ OP_TYPE_vi, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ vv_size_args /* Args */}; -static CONSTEXPR const rvv_op_info u_vv_size_crypto_sew32_ops +static constexpr const rvv_op_info u_vv_size_crypto_sew32_ops = {crypto_sew32_ops, /* Types */ OP_TYPE_vi, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ v_size_args /* Args */}; -static CONSTEXPR const rvv_op_info u_vvs_crypto_sew32_ops +static constexpr const rvv_op_info u_vvs_crypto_sew32_ops = {crypto_sew32_ops, /* Types */ OP_TYPE_vs, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ vv_args /* Args */}; -static CONSTEXPR const rvv_op_info u_vvs_crypto_sew32_lmul_x2_ops +static constexpr const rvv_op_info u_vvs_crypto_sew32_lmul_x2_ops = {crypto_sew32_ops, /* Types */ OP_TYPE_vs, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x2), /* Return type */ vs_lmul_x2_args /* Args */}; -static CONSTEXPR const rvv_op_info u_vvs_crypto_sew32_lmul_x4_ops +static constexpr const rvv_op_info u_vvs_crypto_sew32_lmul_x4_ops = {crypto_sew32_ops, /* Types */ OP_TYPE_vs, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x4), /* Return type */ vs_lmul_x4_args /* Args */}; -static CONSTEXPR const rvv_op_info u_vvs_crypto_sew32_lmul_x8_ops +static constexpr const rvv_op_info u_vvs_crypto_sew32_lmul_x8_ops = {crypto_sew32_ops, /* Types */ OP_TYPE_vs, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x8), /* Return type */ vs_lmul_x8_args /* Args */}; -static CONSTEXPR const rvv_op_info u_vvs_crypto_sew32_lmul_x16_ops +static constexpr const rvv_op_info u_vvs_crypto_sew32_lmul_x16_ops = {crypto_sew32_ops, /* Types */ OP_TYPE_vs, /* Suffix */ rvv_arg_type_info (RVV_BASE_vlmul_ext_x16), /* Return type */ @@ -3255,194 +3255,194 @@ static CONSTEXPR const rvv_op_info u_vvs_crypto_sew32_lmul_x16_ops Some insns just supports SEW=64, such as the crypto vector Zvbc extension vclmul.vv, vclmul.vx. * function registration. */ -static CONSTEXPR const rvv_op_info u_vvv_crypto_sew64_ops +static constexpr const rvv_op_info u_vvv_crypto_sew64_ops = {crypto_sew64_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ vv_args /* Args */}; -static CONSTEXPR const rvv_op_info u_vvx_crypto_sew64_ops +static constexpr const rvv_op_info u_vvx_crypto_sew64_ops = {crypto_sew64_ops, /* Types */ OP_TYPE_vx, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ vx_args /* Args */}; -static CONSTEXPR const rvv_op_info u_vvvv_crypto_sew64_ops +static constexpr const rvv_op_info u_vvvv_crypto_sew64_ops = {crypto_sew64_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ vvv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_x_ops +static constexpr const rvv_op_info sf_vc_x_ops = {full_v_u_ops, /* Types */ OP_TYPE_x, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_x_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_x_ops +static constexpr const rvv_op_info sf_vc_v_x_ops = {full_v_u_ops, /* Types */ OP_TYPE_v_x, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ sf_vc_v_x_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_i_ops +static constexpr const rvv_op_info sf_vc_i_ops = {full_v_u_ops, /* Types */ OP_TYPE_i, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_i_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_i_ops +static constexpr const rvv_op_info sf_vc_v_i_ops = {full_v_u_ops, /* Types */ OP_TYPE_v_i, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ sf_vc_v_i_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_vv_ops +static constexpr const rvv_op_info sf_vc_vv_ops = {full_v_u_ops, /* Types */ OP_TYPE_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_vv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_vv_ops +static constexpr const rvv_op_info sf_vc_v_vv_ops = {full_v_u_ops, /* Types */ OP_TYPE_v_vv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ sf_vc_v_vv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_xv_ops +static constexpr const rvv_op_info sf_vc_xv_ops = {full_v_u_ops, /* Types */ OP_TYPE_xv, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_xv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_xv_ops +static constexpr const rvv_op_info sf_vc_v_xv_ops = {full_v_u_ops, /* Types */ OP_TYPE_v_xv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ sf_vc_v_xv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_iv_ops +static constexpr const rvv_op_info sf_vc_iv_ops = {full_v_u_ops, /* Types */ OP_TYPE_iv, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_iv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_iv_ops +static constexpr const rvv_op_info sf_vc_v_iv_ops = {full_v_u_ops, /* Types */ OP_TYPE_v_iv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ sf_vc_v_iv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_fv_ops +static constexpr const rvv_op_info sf_vc_fv_ops = {wextu_ops, /* Types */ OP_TYPE_fv, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_fv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_fv_ops +static constexpr const rvv_op_info sf_vc_v_fv_ops = {wextu_ops, /* Types */ OP_TYPE_v_fv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ sf_vc_v_fv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_vvv_ops +static constexpr const rvv_op_info sf_vc_vvv_ops = {full_v_u_ops, /* Types */ OP_TYPE_vvv, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_vvv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_vvv_ops +static constexpr const rvv_op_info sf_vc_v_vvv_ops = {full_v_u_ops, /* Types */ OP_TYPE_v_vvv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ sf_vc_vvv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_xvv_ops +static constexpr const rvv_op_info sf_vc_xvv_ops = {full_v_u_ops, /* Types */ OP_TYPE_xvv, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_xvv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_xvv_ops +static constexpr const rvv_op_info sf_vc_v_xvv_ops = {full_v_u_ops, /* Types */ OP_TYPE_v_xvv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ sf_vc_xvv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_ivv_ops +static constexpr const rvv_op_info sf_vc_ivv_ops = {full_v_u_ops, /* Types */ OP_TYPE_ivv, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_ivv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_ivv_ops +static constexpr const rvv_op_info sf_vc_v_ivv_ops = {full_v_u_ops, /* Types */ OP_TYPE_v_ivv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ sf_vc_ivv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_fvv_ops +static constexpr const rvv_op_info sf_vc_fvv_ops = {wextu_ops, /* Types */ OP_TYPE_fvv, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_fvv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_fvv_ops +static constexpr const rvv_op_info sf_vc_v_fvv_ops = {wextu_ops, /* Types */ OP_TYPE_v_fvv, /* Suffix */ rvv_arg_type_info (RVV_BASE_vector), /* Return type */ sf_vc_fvv_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_vvw_ops +static constexpr const rvv_op_info sf_vc_vvw_ops = {x2_u_ops, /* Types */ OP_TYPE_vvw, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_vvw_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_vvw_ops +static constexpr const rvv_op_info sf_vc_v_vvw_ops = {x2_u_ops, /* Types */ OP_TYPE_v_vvw, /* Suffix */ rvv_arg_type_info (RVV_BASE_x2_vector), /* Return type */ sf_vc_vvw_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_xvw_ops +static constexpr const rvv_op_info sf_vc_xvw_ops = {x2_u_ops, /* Types */ OP_TYPE_xvw, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_xvw_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_xvw_ops +static constexpr const rvv_op_info sf_vc_v_xvw_ops = {x2_u_ops, /* Types */ OP_TYPE_v_xvw, /* Suffix */ rvv_arg_type_info (RVV_BASE_x2_vector), /* Return type */ sf_vc_xvw_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_ivw_ops +static constexpr const rvv_op_info sf_vc_ivw_ops = {x2_u_ops, /* Types */ OP_TYPE_ivw, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_ivw_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_ivw_ops +static constexpr const rvv_op_info sf_vc_v_ivw_ops = {x2_u_ops, /* Types */ OP_TYPE_v_ivw, /* Suffix */ rvv_arg_type_info (RVV_BASE_x2_vector), /* Return type */ sf_vc_ivw_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_fvw_ops +static constexpr const rvv_op_info sf_vc_fvw_ops = {x2_wu_ops, /* Types */ OP_TYPE_fvw, /* Suffix */ rvv_arg_type_info (RVV_BASE_void), /* Return type */ sf_vc_fvw_args /* Args */}; -static CONSTEXPR const rvv_op_info sf_vc_v_fvw_ops +static constexpr const rvv_op_info sf_vc_v_fvw_ops = {x2_wu_ops, /* Types */ OP_TYPE_v_fvw, /* Suffix */ rvv_arg_type_info (RVV_BASE_x2_vector), /* Return type */ sf_vc_fvw_args /* Args */}; /* A list of all RVV base function types. */ -static CONSTEXPR const function_type_info function_types[] = { +static constexpr const function_type_info function_types[] = { #define DEF_RVV_TYPE_INDEX( \ VECTOR, MASK, SIGNED, UNSIGNED, SIGNED_EEW8_INDEX, EEW8_INDEX, EEW16_INDEX, \ EEW32_INDEX, EEW64_INDEX, SHIFT, DOUBLE_TRUNC, QUAD_TRUNC, QUAD_EMUL, \ diff --git a/gcc/config/riscv/riscv-vector-builtins.h b/gcc/config/riscv/riscv-vector-builtins.h index aa20cb82c483..dfc3e8703b3d 100644 --- a/gcc/config/riscv/riscv-vector-builtins.h +++ b/gcc/config/riscv/riscv-vector-builtins.h @@ -361,7 +361,7 @@ struct function_type_info /* RVV Builtin argument information. */ struct rvv_arg_type_info { - CONSTEXPR rvv_arg_type_info (rvv_base_type base_type_in) + constexpr rvv_arg_type_info (rvv_base_type base_type_in) : base_type (base_type_in) {} enum rvv_base_type base_type; diff --git a/gcc/config/riscv/sifive-vector-builtins-bases.cc b/gcc/config/riscv/sifive-vector-builtins-bases.cc index 9dfb4f959c79..29f366aa8213 100644 --- a/gcc/config/riscv/sifive-vector-builtins-bases.cc +++ b/gcc/config/riscv/sifive-vector-builtins-bases.cc @@ -271,13 +271,13 @@ public: } }; -static CONSTEXPR const sf_vqmacc sf_vqmacc_obj; -static CONSTEXPR const sf_vqmaccu sf_vqmaccu_obj; -static CONSTEXPR const sf_vqmaccsu sf_vqmaccsu_obj; -static CONSTEXPR const sf_vqmaccus sf_vqmaccus_obj; -static CONSTEXPR const sf_vfnrclip_x_f_qf<UNSPEC_SF_VFNRCLIP> sf_vfnrclip_x_f_qf_obj; -static CONSTEXPR const sf_vfnrclip_xu_f_qf<UNSPEC_SF_VFNRCLIPU> sf_vfnrclip_xu_f_qf_obj; -static CONSTEXPR const sf_vc sf_vc_obj; +static constexpr const sf_vqmacc sf_vqmacc_obj; +static constexpr const sf_vqmaccu sf_vqmaccu_obj; +static constexpr const sf_vqmaccsu sf_vqmaccsu_obj; +static constexpr const sf_vqmaccus sf_vqmaccus_obj; +static constexpr const sf_vfnrclip_x_f_qf<UNSPEC_SF_VFNRCLIP> sf_vfnrclip_x_f_qf_obj; +static constexpr const sf_vfnrclip_xu_f_qf<UNSPEC_SF_VFNRCLIPU> sf_vfnrclip_xu_f_qf_obj; +static constexpr const sf_vc sf_vc_obj; /* Declare the function base NAME, pointing it to an instance of class <NAME>_obj. */ diff --git a/gcc/machmode.h b/gcc/machmode.h index 343782eff8f2..b92b1572d8d4 100644 --- a/gcc/machmode.h +++ b/gcc/machmode.h @@ -264,13 +264,13 @@ class opt_mode public: enum from_int { dummy = MAX_MACHINE_MODE }; - ALWAYS_INLINE CONSTEXPR opt_mode () : m_mode (E_VOIDmode) {} - ALWAYS_INLINE CONSTEXPR opt_mode (const T &m) : m_mode (m) {} + ALWAYS_INLINE constexpr opt_mode () : m_mode (E_VOIDmode) {} + ALWAYS_INLINE constexpr opt_mode (const T &m) : m_mode (m) {} template<typename U> - ALWAYS_INLINE CONSTEXPR opt_mode (const U &m) : m_mode (T (m)) {} + ALWAYS_INLINE constexpr opt_mode (const U &m) : m_mode (T (m)) {} template<typename U> - ALWAYS_INLINE CONSTEXPR opt_mode (const opt_mode<U> &); - ALWAYS_INLINE CONSTEXPR opt_mode (from_int m) : m_mode (machine_mode (m)) {} + ALWAYS_INLINE constexpr opt_mode (const opt_mode<U> &); + ALWAYS_INLINE constexpr opt_mode (from_int m) : m_mode (machine_mode (m)) {} machine_mode else_void () const; machine_mode else_blk () const { return else_mode (BLKmode); } @@ -289,7 +289,7 @@ private: template<typename T> template<typename U> -ALWAYS_INLINE CONSTEXPR +ALWAYS_INLINE constexpr opt_mode<T>::opt_mode (const opt_mode<U> &m) : m_mode (m.exists () ? T (m.require ()) : E_VOIDmode) { @@ -357,10 +357,10 @@ struct pod_mode typedef typename T::measurement_type measurement_type; machine_mode m_mode; - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr operator machine_mode () const { return m_mode; } - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr operator T () const { return from_int (m_mode); } ALWAYS_INLINE pod_mode &operator = (const T &m) { m_mode = m; return *this; } @@ -441,10 +441,10 @@ public: ALWAYS_INLINE scalar_int_mode () {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr scalar_int_mode (from_int m) : m_mode (machine_mode (m)) {} - ALWAYS_INLINE CONSTEXPR operator machine_mode () const { return m_mode; } + ALWAYS_INLINE constexpr operator machine_mode () const { return m_mode; } static bool includes_p (machine_mode); @@ -469,10 +469,10 @@ public: ALWAYS_INLINE scalar_float_mode () {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr scalar_float_mode (from_int m) : m_mode (machine_mode (m)) {} - ALWAYS_INLINE CONSTEXPR operator machine_mode () const { return m_mode; } + ALWAYS_INLINE constexpr operator machine_mode () const { return m_mode; } static bool includes_p (machine_mode); @@ -497,19 +497,19 @@ public: ALWAYS_INLINE scalar_mode () {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr scalar_mode (from_int m) : m_mode (machine_mode (m)) {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr scalar_mode (const scalar_int_mode &m) : m_mode (m) {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr scalar_mode (const scalar_float_mode &m) : m_mode (m) {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr scalar_mode (const scalar_int_mode_pod &m) : m_mode (m) {} - ALWAYS_INLINE CONSTEXPR operator machine_mode () const { return m_mode; } + ALWAYS_INLINE constexpr operator machine_mode () const { return m_mode; } static bool includes_p (machine_mode); @@ -547,10 +547,10 @@ public: ALWAYS_INLINE complex_mode () {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr complex_mode (from_int m) : m_mode (machine_mode (m)) {} - ALWAYS_INLINE CONSTEXPR operator machine_mode () const { return m_mode; } + ALWAYS_INLINE constexpr operator machine_mode () const { return m_mode; } static bool includes_p (machine_mode); @@ -837,28 +837,28 @@ public: ALWAYS_INLINE fixed_size_mode () {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr fixed_size_mode (from_int m) : m_mode (machine_mode (m)) {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr fixed_size_mode (const scalar_mode &m) : m_mode (m) {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr fixed_size_mode (const scalar_int_mode &m) : m_mode (m) {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr fixed_size_mode (const scalar_float_mode &m) : m_mode (m) {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr fixed_size_mode (const scalar_mode_pod &m) : m_mode (m) {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr fixed_size_mode (const scalar_int_mode_pod &m) : m_mode (m) {} - ALWAYS_INLINE CONSTEXPR + ALWAYS_INLINE constexpr fixed_size_mode (const complex_mode &m) : m_mode (m) {} - ALWAYS_INLINE CONSTEXPR operator machine_mode () const { return m_mode; } + ALWAYS_INLINE constexpr operator machine_mode () const { return m_mode; } static bool includes_p (machine_mode);