[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);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.