https://gcc.gnu.org/g:ca8cb337a5e9acac2acd9f0cac9a5426bf8cd58f
commit r17-2090-gca8cb337a5e9acac2acd9f0cac9a5426bf8cd58f Author: Richard Earnshaw <[email protected]> Date: Wed Jul 1 13:43:24 2026 +0100 aarch64: make the SHAPE macro take a trailing semicolon The SHAPE macro is used like a statement, but as currently written does not take a trailing semicolon. This can be confusing for context-sensitive editors as it looks like a statement, but isn't really. Fix this by tweaking the macro to use a no-op trailing statement that now requires a semicolon. The ATTRIBUTE_UNUSED isn't really needed but makes the intent clearer. gcc/ChangeLog: * config/aarch64/aarch64-sve-builtins-shapes.cc (SHAPE): Add a trailing statement that lacks a semicolon. Add that to all existing uses. Diff: --- gcc/config/aarch64/aarch64-sve-builtins-shapes.cc | 381 +++++++++++----------- 1 file changed, 191 insertions(+), 190 deletions(-) diff --git a/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc b/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc index f97c4be3c2aa..00aa57a7a2c4 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins-shapes.cc @@ -579,9 +579,10 @@ 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; \ - namespace shapes { const function_shape *const NAME = &NAME##_obj; } +#define SHAPE(NAME) \ + static CONSTEXPR const NAME##_def NAME##_obj; \ + namespace shapes { const function_shape *const NAME = &NAME##_obj; } \ + extern int __require_trailing_semicolon ATTRIBUTE_UNUSED /* Base class for functions that are not overloaded. */ struct nonoverloaded_base : public function_shape @@ -1004,10 +1005,10 @@ struct luti_base : public overloaded_base<0> /* Specializations for 2-bit and 4-bit indices. */ using luti2_def = luti_base<2>; -SHAPE (luti2) +SHAPE (luti2); using luti4_def = luti_base<4>; -SHAPE (luti4) +SHAPE (luti4); /* sv<t0>x<g>_t svfoo_t0_g(uint64_t, svuint8_t, uint64_t) @@ -1117,7 +1118,7 @@ struct mmla_def : public overloaded_base<0> return res; } }; -SHAPE (mmla) +SHAPE (mmla); /* Base class for prefetch_gather_index and prefetch_gather_offset, which differ only in the units of the displacement. */ @@ -1417,7 +1418,7 @@ struct adr_index_def : public adr_base build_all (b, "b,b,d", group, MODE_u64base_u64index); } }; -SHAPE (adr_index) +SHAPE (adr_index); /* sv<m0>_t svfoo[_m0base]_[m1]offset(sv<m0>_t, sv<m1>_t). @@ -1435,7 +1436,7 @@ struct adr_offset_def : public adr_base build_all (b, "b,b,d", group, MODE_u64base_u64offset); } }; -SHAPE (adr_offset) +SHAPE (adr_offset); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0>_t) @@ -1455,7 +1456,7 @@ struct binary_def : public overloaded_base<0> return r.resolve_uniform (2); } }; -SHAPE (binary) +SHAPE (binary); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:int>_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, <t0:int>_t). @@ -1484,7 +1485,7 @@ struct binary_int_opt_n_def : public overloaded_base<0> return r.finish_opt_n_resolution (i + 1, i, type, TYPE_signed); } }; -SHAPE (binary_int_opt_n) +SHAPE (binary_int_opt_n); /* Like binary_int_opt_n for single vectors. For tuples: @@ -1519,7 +1520,7 @@ struct binary_int_opt_single_n_def : public overloaded_base<0> : r.finish_opt_single_resolution (i + 1, i, type, TYPE_signed)); } }; -SHAPE (binary_int_opt_single_n) +SHAPE (binary_int_opt_single_n); /* sv<t0>_t svfoo_<t0>(sv<t0>_t, sv<t0>_t, uint64_t) @@ -1546,7 +1547,7 @@ struct binary_lane_def : public overloaded_base<0> return c.require_immediate_lane_index (2, 1); } }; -SHAPE (binary_lane) +SHAPE (binary_lane); /* sv<t0>_t svfoo[_t0](sv<t0:half>_t, sv<t0:half>_t, uint64_t). @@ -1585,7 +1586,7 @@ struct binary_long_lane_def : public overloaded_base<0> return c.require_immediate_lane_index (2, 1); } }; -SHAPE (binary_long_lane) +SHAPE (binary_long_lane); /* sv<t0>_t svfoo[_t0](sv<t0:half>_t, sv<t0:half>_t) sv<t0>_t svfoo[_n_t0](sv<t0:half>_t, <t0:half>_t). */ @@ -1613,7 +1614,7 @@ struct binary_long_opt_n_def : public overloaded_base<0> r.SAME_SIZE, result_type); } }; -SHAPE (binary_long_opt_n) +SHAPE (binary_long_opt_n); /* sv<t0>_t svfoo[_n_t0](sv<t0>_t, <t0>_t). @@ -1641,7 +1642,7 @@ struct binary_n_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (binary_n) +SHAPE (binary_n); /* sv<t0:half>_t svfoo[_t0](sv<t0>_t, sv<t0>_t) sv<t0:half>_t svfoo[_n_t0](sv<t0>_t, <t0>_t) @@ -1664,7 +1665,7 @@ struct binary_narrowb_opt_n_def : public overloaded_base<0> return r.resolve_uniform_opt_n (2); } }; -SHAPE (binary_narrowb_opt_n) +SHAPE (binary_narrowb_opt_n); /* sv<t0:half>_t svfoo[_t0](sv<t0:half>_t, sv<t0>_t, sv<t0>_t) sv<t0:half>_t svfoo[_n_t0](sv<t0:half>_t, sv<t0>_t, <t0>_t) @@ -1694,7 +1695,7 @@ struct binary_narrowt_opt_n_def : public overloaded_base<0> return r.finish_opt_n_resolution (i + 2, i + 1, type); } }; -SHAPE (binary_narrowt_opt_n) +SHAPE (binary_narrowt_opt_n); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0>_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, <t0>_t) @@ -1723,7 +1724,7 @@ struct binary_opt_n_def : public overloaded_base<0> return r.resolve_uniform_opt_n (2); } }; -SHAPE (binary_opt_n) +SHAPE (binary_opt_n); /* Like binary_opt_n for single vectors. For tuples: @@ -1758,7 +1759,7 @@ struct binary_opt_single_n_def : public overloaded_base<0> : r.finish_opt_single_resolution (i + 1, i, type)); } }; -SHAPE (binary_opt_single_n) +SHAPE (binary_opt_single_n); /* svbool_t svfoo(svbool_t, svbool_t). */ struct binary_pred_def : public nonoverloaded_base @@ -1769,7 +1770,7 @@ struct binary_pred_def : public nonoverloaded_base build_all (b, "v0,v0,v0", group, MODE_none); } }; -SHAPE (binary_pred) +SHAPE (binary_pred); /* sv<t0>_t svfoo[_<t0>](sv<t0>_t, sv<t0>_t, uint64_t) @@ -1795,7 +1796,7 @@ struct binary_rotate_def : public overloaded_base<0> return c.require_immediate_either_or (2, 90, 270); } }; -SHAPE (binary_rotate) +SHAPE (binary_rotate); /* sv<t0>_t svfoo_t0(<t0>_t, <t0>_t) @@ -1809,7 +1810,7 @@ struct binary_scalar_def : public nonoverloaded_base build_all (b, "v0,s0,s0", group, MODE_none); } }; -SHAPE (binary_scalar) +SHAPE (binary_scalar); /* sv<t0>x<g>_t svfoo[_single_t0_g](sv<t0>x<g>_t, sv<t0>_t). */ struct binary_single_def : public overloaded_base<0> @@ -1836,7 +1837,7 @@ struct binary_single_def : public overloaded_base<0> return r.resolve_to (MODE_single, type); } }; -SHAPE (binary_single) +SHAPE (binary_single); /* sv<t0:uint>_t svfoo[_t0](sv<t0>_t, sv<t0>_t). @@ -1856,7 +1857,7 @@ struct binary_to_uint_def : public overloaded_base<0> return r.resolve_uniform (2); } }; -SHAPE (binary_to_uint) +SHAPE (binary_to_uint); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:uint>_t) @@ -1884,7 +1885,7 @@ struct binary_uint_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (binary_uint) +SHAPE (binary_uint); /* sv<t0>_t svfoo[_t0](sv<t0>_t, <t0:uint>_t) @@ -1912,7 +1913,7 @@ struct binary_uint_n_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (binary_uint_n) +SHAPE (binary_uint_n); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:uint>_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, <t0:uint>_t) @@ -1941,7 +1942,7 @@ struct binary_uint_opt_n_def : public overloaded_base<0> return r.finish_opt_n_resolution (i + 1, i, type, TYPE_unsigned); } }; -SHAPE (binary_uint_opt_n) +SHAPE (binary_uint_opt_n); /* sv<t0>_t svfoo[_t0](sv<t0>_t, uint64_t). @@ -1969,7 +1970,7 @@ struct binary_uint64_n_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (binary_uint64_n) +SHAPE (binary_uint64_n); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svuint64_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, uint64_t) @@ -1998,7 +1999,7 @@ struct binary_uint64_opt_n_def : public overloaded_base<0> return r.finish_opt_n_resolution (i + 1, i, type, TYPE_unsigned, 64); } }; -SHAPE (binary_uint64_opt_n) +SHAPE (binary_uint64_opt_n); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:half>_t). */ struct binary_wide_def : public overloaded_base<0> @@ -2024,7 +2025,7 @@ struct binary_wide_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (binary_wide) +SHAPE (binary_wide); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:half>_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, <t0:half>_t). */ @@ -2051,7 +2052,7 @@ struct binary_wide_opt_n_def : public overloaded_base<0> r.HALF_SIZE); } }; -SHAPE (binary_wide_opt_n) +SHAPE (binary_wide_opt_n); /* void svfoo_t0[_t1]_g(uint64_t, svbool_t, svbool_t, sv<t1>x<g>_t, sv<t1:int>x<g>_t) @@ -2066,7 +2067,7 @@ struct binary_za_int_m_def : public binary_za_m_base<TYPE_signed> build_all (b, "_,su64,vp,vp,t1,ts1", group, MODE_none); } }; -SHAPE (binary_za_int_m) +SHAPE (binary_za_int_m); /* void svfoo_t0[_t1]_g(uint64_t, svbool_t, svbool_t, sv<t1>x<g>_t, sv<t1>x<g>_t) @@ -2087,7 +2088,7 @@ struct binary_za_m_def : public binary_za_m_base<> build_all (b, "_,su64,vp,vp,t1,t1", group, MODE_none); } }; -SHAPE (binary_za_m) +SHAPE (binary_za_m); /* void svfoo_lane_t0[_t1]_g(uint32_t, sv<t1>x<g>_t, sv<t1>_t, uint64_t) @@ -2097,7 +2098,7 @@ struct binary_za_slice_lane_def : public binary_za_slice_lane_base<> { constexpr binary_za_slice_lane_def () : binary_za_slice_lane_base<> (1) {} }; -SHAPE (binary_za_slice_lane) +SHAPE (binary_za_slice_lane); /* void svfoo_t0[_t1]_g(uint32_t, sv<t1>x<g>_t, sv<t1:int>x<g>_t) void svfoo[_single]_t0[_t1]_g(uint32_t, sv<t1>x<g>_t, sv<t1:int>_t). @@ -2114,7 +2115,7 @@ struct binary_za_slice_int_opt_single_def build_all (b, "_,su32,t1,vs1", group, MODE_single); } }; -SHAPE (binary_za_slice_int_opt_single) +SHAPE (binary_za_slice_int_opt_single); /* void svfoo_t0[_t1]_g(uint32_t, sv<t1>x<g>_t, sv<t1>x<g>_t) void svfoo[_single]_t0[_t1]_g(uint32_t, sv<t1>x<g>_t, sv<t1>_t) @@ -2131,7 +2132,7 @@ struct binary_za_slice_opt_single_def build_all (b, "_,su32,t1,v1", group, MODE_single); } }; -SHAPE (binary_za_slice_opt_single) +SHAPE (binary_za_slice_opt_single); /* void svfoo_t0[_t1]_g(uint32_t, sv<t1>x<g>_t, sv<t1:uint>x<g>_t) void svfoo[_single]_t0[_t1]_g(uint32_t, sv<t1>x<g>_t, sv<t1:uint>_t) @@ -2148,7 +2149,7 @@ struct binary_za_slice_uint_opt_single_def build_all (b, "_,su32,t1,vu1", group, MODE_single); } }; -SHAPE (binary_za_slice_uint_opt_single) +SHAPE (binary_za_slice_uint_opt_single); /* void svfoo_t0[_t1]_g(uint64_t, svbool_t, svbool_t, sv<t1>x<g>_t, sv<t1:uint>x<g>_t) @@ -2163,7 +2164,7 @@ struct binary_za_uint_m_def : public binary_za_m_base<TYPE_unsigned> build_all (b, "_,su64,vp,vp,t1,tu1", group, MODE_none); } }; -SHAPE (binary_za_uint_m) +SHAPE (binary_za_uint_m); /* sv<t0>x<g>_t svfoo[_t0_t1_g](sv<t0>x<g>_t, sv<t0>x<g>_t). */ struct binaryxn_def : public overloaded_base<0> @@ -2192,7 +2193,7 @@ struct binaryxn_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (binaryxn) +SHAPE (binaryxn); /* bool svfoo(). */ struct bool_inherent_def : public nonoverloaded_base @@ -2203,7 +2204,7 @@ struct bool_inherent_def : public nonoverloaded_base build_all (b, "sp", group, MODE_none); } }; -SHAPE (bool_inherent) +SHAPE (bool_inherent); /* Either: @@ -2242,7 +2243,7 @@ struct clamp_def : public overloaded_base<0> return r.resolve_to (mode, type); } }; -SHAPE (clamp) +SHAPE (clamp); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0>_t) <t0>_t svfoo[_n_t0](<t0>_t, sv<t0>_t). */ @@ -2282,7 +2283,7 @@ struct clast_def : public overloaded_base<0> } } }; -SHAPE (clast) +SHAPE (clast); /* svbool_t svfoo[_t0](sv<t0>_t, sv<t0>_t). */ struct compare_def : public overloaded_base<0> @@ -2300,7 +2301,7 @@ struct compare_def : public overloaded_base<0> return r.resolve_uniform (2); } }; -SHAPE (compare) +SHAPE (compare); /* svbool_t svfoo[_t0](sv<t0>_t, sv<t0>_t) svbool_t svfoo[_n_t0](sv<t0>_t, <t0>_t) @@ -2322,7 +2323,7 @@ struct compare_opt_n_def : public overloaded_base<0> return r.resolve_uniform_opt_n (2); } }; -SHAPE (compare_opt_n) +SHAPE (compare_opt_n); /* svbool_t svfoo[_t0](const <t0>_t *, const <t0>_t *). */ struct compare_ptr_def : public overloaded_base<0> @@ -2347,7 +2348,7 @@ struct compare_ptr_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (compare_ptr) +SHAPE (compare_ptr); /* svboolx<g>_t svfoo_t0[_t1]_g(<t1>_t, <t1>_t) @@ -2377,7 +2378,7 @@ struct compare_scalar_def : public overloaded_base<1> NUM_TYPE_SUFFIXES, r.group_suffix_id); } }; -SHAPE (compare_scalar) +SHAPE (compare_scalar); /* svcount_t svfoo_t0[_t1](<t1>_t, <t1>_t, uint64_t) @@ -2412,7 +2413,7 @@ struct compare_scalar_count_def : public overloaded_base<1> return c.require_immediate_either_or (2, 2, 4); } }; -SHAPE (compare_scalar_count) +SHAPE (compare_scalar_count); /* svbool_t svfoo[_t0](sv<t0>_t, svint64_t) (for signed t0) svbool_t svfoo[_n_t0](sv<t0>_t, int64_t) (for signed t0) @@ -2442,7 +2443,7 @@ struct compare_wide_opt_n_def : public overloaded_base<0> return r.finish_opt_n_resolution (i + 1, i, type, r.SAME_TYPE_CLASS, 64); } }; -SHAPE (compare_wide_opt_n) +SHAPE (compare_wide_opt_n); /* uint64_t svfoo(). */ struct count_inherent_def : public nonoverloaded_base @@ -2453,7 +2454,7 @@ struct count_inherent_def : public nonoverloaded_base build_all (b, "su64", group, MODE_none); } }; -SHAPE (count_inherent) +SHAPE (count_inherent); /* uint64_t svfoo(enum svpattern). */ struct count_pat_def : public nonoverloaded_base @@ -2464,7 +2465,7 @@ struct count_pat_def : public nonoverloaded_base build_all (b, "su64,epattern", group, MODE_none); } }; -SHAPE (count_pat) +SHAPE (count_pat); /* uint64_t svfoo(svbool_t). */ struct count_pred_def : public nonoverloaded_base @@ -2475,7 +2476,7 @@ struct count_pred_def : public nonoverloaded_base build_all (b, "su64,vp", group, MODE_none); } }; -SHAPE (count_pred) +SHAPE (count_pred); /* uint64_t svfoo_t0(sv<t0>_t, uint64_t) @@ -2494,7 +2495,7 @@ struct count_pred_c_def : public nonoverloaded_base return c.require_immediate_either_or (1, 2, 4); } }; -SHAPE (count_pred_c) +SHAPE (count_pred_c); /* uint64_t svfoo[_t0](sv<t0>_t). */ struct count_vector_def : public overloaded_base<0> @@ -2512,7 +2513,7 @@ struct count_vector_def : public overloaded_base<0> return r.resolve_uniform (1); } }; -SHAPE (count_vector) +SHAPE (count_vector); /* sv<t0>xN_t svfoo[_t0](sv<t0>_t, ..., sv<t0>_t) @@ -2532,7 +2533,7 @@ struct create_def : public overloaded_base<0> return r.resolve_uniform (r.vectors_per_tuple ()); } }; -SHAPE (create) +SHAPE (create); /* void svfoo_lane_t0[_t1]_g(uint32_t, sv<t1>x<g>_t, sv<t1:int>_t, uint64_t) @@ -2551,7 +2552,7 @@ struct dot_za_slice_int_lane_def build_all (b, "_,su32,t1,vs1,su64", group, MODE_none); } }; -SHAPE (dot_za_slice_int_lane) +SHAPE (dot_za_slice_int_lane); /* void svfoo_lane_t0[_t1]_g(uint32_t, sv<t1>x<g>_t, sv<t1>_t, uint64_t) @@ -2561,7 +2562,7 @@ struct dot_za_slice_lane_def : public binary_za_slice_lane_base<> { constexpr dot_za_slice_lane_def () : binary_za_slice_lane_base<> (0) {} }; -SHAPE (dot_za_slice_lane) +SHAPE (dot_za_slice_lane); /* void svvdott_lane_za32[_mf8]_vg1x4_fpm (uint32_t slice, svmfloat8x2_t zn, svmfloat8_t zm, uint64_t imm_idx, @@ -2598,7 +2599,7 @@ struct dot_half_za_slice_lane_def : public binary_za_slice_lane_base<> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (dot_half_za_slice_lane) +SHAPE (dot_half_za_slice_lane); /* void svfoo_lane_t0[_t1]_g(uint32_t, sv<t1>x<g>_t, sv<t1:uint>_t, uint64_t) @@ -2617,7 +2618,7 @@ struct dot_za_slice_uint_lane_def build_all (b, "_,su32,t1,vu1,su64", group, MODE_none); } }; -SHAPE (dot_za_slice_uint_lane) +SHAPE (dot_za_slice_uint_lane); /* sv<t0>_t svfoo[_n]_t0(<t0>_t, ..., <t0>_t) @@ -2640,7 +2641,7 @@ struct dupq_def : public overloaded_base<1> gcc_unreachable (); } }; -SHAPE (dupq) +SHAPE (dupq); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0>_t, uint64_t) @@ -2655,7 +2656,7 @@ struct ext_def : public ext_base return c.require_immediate_range (2, 0, 256 / bytes - 1); } }; -SHAPE (ext) +SHAPE (ext); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0>_t, uint64_t) @@ -2670,7 +2671,7 @@ struct extq_def : public ext_base return c.require_immediate_range (2, 0, 16 / bytes - 1); } }; -SHAPE (extq) +SHAPE (extq); /* svboolx<g>_t svfoo_t0_g(sv<t0>_t, sv<t0>_t, uint32_t). */ struct extract_pred_def : public nonoverloaded_base @@ -2688,7 +2689,7 @@ struct extract_pred_def : public nonoverloaded_base return c.require_immediate_range (1, 0, 4 / size - 1); } }; -SHAPE (extract_pred) +SHAPE (extract_pred); /* <t0>_t svfoo[_t0](<t0>_t, sv<t0>_t). */ struct fold_left_def : public overloaded_base<0> @@ -2713,7 +2714,7 @@ struct fold_left_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (fold_left) +SHAPE (fold_left); /* sv<t0>_t svfoo[_t0](sv<t0>xN_t, uint64_t) @@ -2748,7 +2749,7 @@ struct get_def : public overloaded_base<0> return c.require_immediate_range (1, 0, nvectors - 1); } }; -SHAPE (get) +SHAPE (get); /* <t0>xN_t svfoo[_t0](sv<t0>_t). */ struct get_neonq_def : public overloaded_base<0> @@ -2765,7 +2766,7 @@ struct get_neonq_def : public overloaded_base<0> return r.resolve_unary (); } }; -SHAPE (get_neonq) +SHAPE (get_neonq); /* sv<t0>_t svfoo[_t0](sv<t0>_t, <t0>xN_t). */ struct set_neonq_def : public overloaded_base<0> @@ -2787,7 +2788,7 @@ struct set_neonq_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (set_neonq) +SHAPE (set_neonq); /* sv<t0>_t svfoo[_t0](<t0>xN_t). */ struct dup_neonq_def : public overloaded_base<0> @@ -2809,7 +2810,7 @@ struct dup_neonq_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (dup_neonq) +SHAPE (dup_neonq); /* sv<t0>_t svfoo[_t0](sv<t0>_t, uint64_t) <t0>_t svfoo[_n_t0](<t0>_t, uint64_t) @@ -2834,7 +2835,7 @@ struct inc_dec_def : public inc_dec_base build_all (b, "s0,s0,su64", group, MODE_n); } }; -SHAPE (inc_dec) +SHAPE (inc_dec); /* sv<t0>_t svfoo[_t0](sv<t0>_t, enum svpattern, uint64_t) <t0>_t svfoo[_n_t0](<t0>_t, enum svpattern, uint64_t) @@ -2859,7 +2860,7 @@ struct inc_dec_pat_def : public inc_dec_base build_all (b, "s0,s0,epattern,su64", group, MODE_n); } }; -SHAPE (inc_dec_pat) +SHAPE (inc_dec_pat); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svbool_t). */ struct inc_dec_pred_def : public overloaded_base<0> @@ -2884,7 +2885,7 @@ struct inc_dec_pred_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (inc_dec_pred) +SHAPE (inc_dec_pred); /* <t0>_t svfoo[_n_t0]_t1(<t0>_t, svbool_t) @@ -2911,7 +2912,7 @@ struct inc_dec_pred_scalar_def : public overloaded_base<2> return r.resolve_to (r.mode_suffix_id, type, r.type_suffix_ids[1]); } }; -SHAPE (inc_dec_pred_scalar) +SHAPE (inc_dec_pred_scalar); /* sv<t0>[xN]_t svfoo_t0(). */ struct inherent_def : public nonoverloaded_base @@ -2922,7 +2923,7 @@ struct inherent_def : public nonoverloaded_base build_all (b, "t0", group, MODE_none); } }; -SHAPE (inherent) +SHAPE (inherent); /* svbool_t svfoo[_b](). */ struct inherent_b_def : public overloaded_base<0> @@ -2942,7 +2943,7 @@ struct inherent_b_def : public overloaded_base<0> gcc_unreachable (); } }; -SHAPE (inherent_b) +SHAPE (inherent_b); /* void svfoo_t0(). */ struct inherent_za_def : public nonoverloaded_base @@ -2953,7 +2954,7 @@ struct inherent_za_def : public nonoverloaded_base build_all (b, "_", group, MODE_none); } }; -SHAPE (inherent_za) +SHAPE (inherent_za); /* void svfoo_t0(uint64_t). */ struct inherent_za_slice_def : public nonoverloaded_base @@ -2964,7 +2965,7 @@ struct inherent_za_slice_def : public nonoverloaded_base build_all (b, "_,su32", group, MODE_none); } }; -SHAPE (inherent_za_slice) +SHAPE (inherent_za_slice); /* void svfoo_zt(uint64_t) @@ -2983,7 +2984,7 @@ struct inherent_zt_def : public nonoverloaded_base return c.require_immediate_range (0, 0, 0); } }; -SHAPE (inherent_zt) +SHAPE (inherent_zt); /* void svfoo_t0(uint64_t) @@ -3002,7 +3003,7 @@ struct inherent_mask_za_def : public nonoverloaded_base return c.require_immediate_range (0, 0, 255); } }; -SHAPE (inherent_mask_za) +SHAPE (inherent_mask_za); /* void svfoo_t0(uint32_t, const void *) void svfoo_vnum_t0(uint32_t, const void *, int64_t) @@ -3017,7 +3018,7 @@ struct ldr_za_def : public nonoverloaded_base build_all (b, "_,su32,al,ss64", group, MODE_vnum); } }; -SHAPE (ldr_za) +SHAPE (ldr_za); /* void svfoo_zt(uint64_t, const void *) @@ -3036,7 +3037,7 @@ struct ldr_zt_def : public nonoverloaded_base return c.require_immediate_range (0, 0, 0); } }; -SHAPE (ldr_zt) +SHAPE (ldr_zt); /* sv<t0>[xN]_t svfoo[_t0]_g(const <t0>_t *) sv<t0>[xN]_t svfoo_vnum[_t0]_g(const <t0>_t *, int64_t). */ @@ -3051,7 +3052,7 @@ struct load_def : public load_contiguous_base build_all (b, "t0,al,ss64", group, MODE_vnum); } }; -SHAPE (load) +SHAPE (load); /* sv<t0>_t svfoo_t0(const <X>_t *) sv<t0>_t svfoo_vnum_t0(const <X>_t *, int64_t) @@ -3066,7 +3067,7 @@ struct load_ext_def : public nonoverloaded_base build_all (b, "t0,al,ss64", group, MODE_vnum); } }; -SHAPE (load_ext) +SHAPE (load_ext); /* sv<t0>_t svfoo_[s32]index_t0(const <X>_t *, svint32_t) sv<t0>_t svfoo_[s64]index_t0(const <X>_t *, svint64_t) @@ -3087,7 +3088,7 @@ struct load_ext_gather_index_def : public load_ext_gather_base build_vs_index (b, "t0,b,ss64", group); } }; -SHAPE (load_ext_gather_index) +SHAPE (load_ext_gather_index); /* sv<t0>_t svfoo_[s64]index_t0(const <X>_t *, svint64_t) sv<t0>_t svfoo_[u64]index_t0(const <X>_t *, svuint64_t) @@ -3107,7 +3108,7 @@ struct load_ext_gather_index_restricted_def : public load_ext_gather_base build_vs_index (b, "t0,b,ss64", group); } }; -SHAPE (load_ext_gather_index_restricted) +SHAPE (load_ext_gather_index_restricted); /* sv<t0>_t svfoo_[s32]offset_t0(const <X>_t *, svint32_t) sv<t0>_t svfoo_[s64]offset_t0(const <X>_t *, svint64_t) @@ -3132,7 +3133,7 @@ struct load_ext_gather_offset_def : public load_ext_gather_base build_vs_offset (b, "t0,b,ss64", group); } }; -SHAPE (load_ext_gather_offset) +SHAPE (load_ext_gather_offset); /* sv<t0>_t svfoo_[s64]offset_t0(const <X>_t *, svint64_t) sv<t0>_t svfoo_[u32]offset_t0(const <X>_t *, svuint32_t) @@ -3157,7 +3158,7 @@ struct load_ext_gather_offset_restricted_def : public load_ext_gather_base build_vs_offset (b, "t0,b,ss64", group); } }; -SHAPE (load_ext_gather_offset_restricted) +SHAPE (load_ext_gather_offset_restricted); /* sv<t0>_t svfoo_[s32]index[_t0](const <t0>_t *, svint32_t) sv<t0>_t svfoo_[s64]index[_t0](const <t0>_t *, svint64_t) @@ -3179,7 +3180,7 @@ struct load_gather_sv_def : public load_gather_sv_base build_sv_offset (b, "t0,al,d", group); } }; -SHAPE (load_gather_sv) +SHAPE (load_gather_sv); /* sv<t0>_t svfoo_[u32]index[_t0](const <t0>_t *, svuint32_t) sv<t0>_t svfoo_[u64]index[_t0](const <t0>_t *, svuint64_t) @@ -3201,7 +3202,7 @@ struct load_gather_sv_restricted_def : public load_gather_sv_base build_sv_uint_offset (b, "t0,al,d", group); } }; -SHAPE (load_gather_sv_restricted) +SHAPE (load_gather_sv_restricted); /* sv<t0>_t svfoo[_u32base]_t0(svuint32_t) sv<t0>_t svfoo[_u64base]_t0(svuint64_t) @@ -3232,7 +3233,7 @@ struct load_gather_vs_def : public overloaded_base<1> gcc_unreachable (); } }; -SHAPE (load_gather_vs) +SHAPE (load_gather_vs); /* sv<t0>_t svfoo_[s64]index[_t0](const <t0>_t *, svint64_t) sv<t0>_t svfoo_[u64]index[_t0](const <t0>_t *, svuint64_t). */ @@ -3246,7 +3247,7 @@ struct load_gather64_sv_index_def : public load_gather64_sv_base build_all (b, "t0,al,d", group, MODE_u64index); } }; -SHAPE (load_gather64_sv_index) +SHAPE (load_gather64_sv_index); /* sv<t0>_t svfoo_[s64]offset[_t0](const <t0>_t *, svint64_t) sv<t0>_t svfoo_[u64]offset[_t0](const <t0>_t *, svuint64_t). */ @@ -3260,7 +3261,7 @@ struct load_gather64_sv_offset_def : public load_gather64_sv_base build_all (b, "t0,al,d", group, MODE_u64offset); } }; -SHAPE (load_gather64_sv_offset) +SHAPE (load_gather64_sv_offset); /* sv<t0>_t svfoo[_u64base]_index_t0(svuint64_t, int64_t). */ struct load_gather64_vs_index_def : public nonoverloaded_base @@ -3279,7 +3280,7 @@ struct load_gather64_vs_index_def : public nonoverloaded_base gcc_unreachable (); } }; -SHAPE (load_gather64_vs_index) +SHAPE (load_gather64_vs_index); /* sv<t0>_t svfoo[_u64base]_t0(svuint64_t) @@ -3301,7 +3302,7 @@ struct load_gather64_vs_offset_def : public nonoverloaded_base gcc_unreachable (); } }; -SHAPE (load_gather64_vs_offset) +SHAPE (load_gather64_vs_offset); /* sv<t0>_t svfoo[_t0](const <t0>_t *) @@ -3315,7 +3316,7 @@ struct load_replicate_def : public load_contiguous_base build_all (b, "t0,al", group, MODE_none); } }; -SHAPE (load_replicate) +SHAPE (load_replicate); /* void svfoo_t0(uint64_t, uint32_t, svbool_t, const void *) void svfoo_vnum_t0(uint64_t, uint32_t, svbool_t, const void *, int64_t) @@ -3336,16 +3337,16 @@ struct load_za_def : public nonoverloaded_base return c.require_immediate_range (0, 0, c.num_za_tiles () - 1); } }; -SHAPE (load_za) +SHAPE (load_za); using luti2_lane_zt_def = luti_lane_zt_base<2>; -SHAPE (luti2_lane_zt) +SHAPE (luti2_lane_zt); using luti4_lane_zt_def = luti_lane_zt_base<4>; -SHAPE (luti4_lane_zt) +SHAPE (luti4_lane_zt); using luti4_zt_def = luti_zt_base<4>; -SHAPE (luti4_zt) +SHAPE (luti4_zt); /* svbool_t svfoo(enum svpattern). */ struct pattern_pred_def : public nonoverloaded_base @@ -3356,7 +3357,7 @@ struct pattern_pred_def : public nonoverloaded_base build_all (b, "vp,epattern", group, MODE_none); } }; -SHAPE (pattern_pred) +SHAPE (pattern_pred); /* svbool_t svfoo[_t0](sv<t0>_t). */ struct pmov_from_vector_def : public overloaded_base<0> @@ -3374,7 +3375,7 @@ struct pmov_from_vector_def : public overloaded_base<0> return r.resolve_uniform (1); } }; -SHAPE (pmov_from_vector) +SHAPE (pmov_from_vector); /* svbool_t svfoo[_t0](sv<t0>_t, uint64_t) @@ -3402,7 +3403,7 @@ struct pmov_from_vector_lane_def : public overloaded_base<0> return c.require_immediate_range (1, 0, bytes - 1); } }; -SHAPE (pmov_from_vector_lane) +SHAPE (pmov_from_vector_lane); /* sv<t0>_t svfoo_t0(uint64_t) @@ -3450,7 +3451,7 @@ struct pmov_to_vector_lane_def : public overloaded_base<0> return false; } }; -SHAPE (pmov_to_vector_lane) +SHAPE (pmov_to_vector_lane); /* void svfoo(const void *, svprfop) void svfoo_vnum(const void *, int64_t, svprfop). */ @@ -3463,7 +3464,7 @@ struct prefetch_def : public nonoverloaded_base build_all (b, "_,ap,ss64,eprfop", group, MODE_vnum); } }; -SHAPE (prefetch) +SHAPE (prefetch); /* void svfoo_[s32]index(const void *, svint32_t, svprfop) void svfoo_[s64]index(const void *, svint64_t, svprfop) @@ -3487,7 +3488,7 @@ struct prefetch_gather_index_def : public prefetch_gather_base build_vs_index (b, "_,b,ss64,eprfop", group); } }; -SHAPE (prefetch_gather_index) +SHAPE (prefetch_gather_index); /* void svfoo_[s32]offset(const void *, svint32_t, svprfop) void svfoo_[s64]offset(const void *, svint64_t, svprfop) @@ -3511,7 +3512,7 @@ struct prefetch_gather_offset_def : public prefetch_gather_base build_vs_offset (b, "_,b,ss64,eprfop", group); } }; -SHAPE (prefetch_gather_offset) +SHAPE (prefetch_gather_offset); /* bool svfoo(svbool_t). */ struct ptest_def : public nonoverloaded_base @@ -3522,7 +3523,7 @@ struct ptest_def : public nonoverloaded_base build_all (b, "sp,vp", group, MODE_none); } }; -SHAPE (ptest) +SHAPE (ptest); /* svbool_t svfoo(). */ struct rdffr_def : public nonoverloaded_base @@ -3533,7 +3534,7 @@ struct rdffr_def : public nonoverloaded_base build_all (b, "vp", group, MODE_none); } }; -SHAPE (rdffr) +SHAPE (rdffr); /* sv<t1>x<g>_t svfoo_t0_t1_g(uint64_t, uint32_t). */ struct read_za_def : public nonoverloaded_base @@ -3550,7 +3551,7 @@ struct read_za_def : public nonoverloaded_base return c.require_immediate_range (0, 0, c.num_za_tiles () - 1); } }; -SHAPE (read_za) +SHAPE (read_za); /* sv<t1>_t svfoo_t0[_t1](uint64_t, uint32_t) @@ -3592,7 +3593,7 @@ struct read_za_m_def : public overloaded_base<1> return c.require_immediate_range (1, 0, c.num_za_tiles () - 1); } }; -SHAPE (read_za_m) +SHAPE (read_za_m); /* sv<t1>x<g>_t svfoo_t0_t1_g(uint32_t). */ struct read_za_slice_def : public nonoverloaded_base @@ -3603,7 +3604,7 @@ struct read_za_slice_def : public nonoverloaded_base build_all (b, "t1,su32", group, MODE_none); } }; -SHAPE (read_za_slice) +SHAPE (read_za_slice); /* <t0>_t svfoo[_t0](sv<t0>_t). */ struct reduction_def : public overloaded_base<0> @@ -3621,7 +3622,7 @@ struct reduction_def : public overloaded_base<0> return r.resolve_uniform (1); } }; -SHAPE (reduction) +SHAPE (reduction); /* <t0>xN_t svfoo[_t0](sv<t0>_t). */ struct reduction_neonq_def : public overloaded_base<0> @@ -3639,7 +3640,7 @@ struct reduction_neonq_def : public overloaded_base<0> return r.resolve_uniform (1); } }; -SHAPE (reduction_neonq) +SHAPE (reduction_neonq); /* int64_t svfoo[_t0](sv<t0>_t) (for signed t0) uint64_t svfoo[_t0](sv<t0>_t) (for unsigned t0) @@ -3662,7 +3663,7 @@ struct reduction_wide_def : public overloaded_base<0> return r.resolve_uniform (1); } }; -SHAPE (reduction_wide) +SHAPE (reduction_wide); /* sv<t0>x<g>_t svfoo_t0[_t1_g](sv<t1>x<g>_t) @@ -3690,7 +3691,7 @@ struct reinterpret_def : public overloaded_base<1> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (reinterpret) +SHAPE (reinterpret); /* sv<t0>_t svfoo_t0(sv<t0>_t, sv<t0>_t, uint32_t). */ struct select_pred_def : public nonoverloaded_base @@ -3701,7 +3702,7 @@ struct select_pred_def : public nonoverloaded_base build_all (b, "v0,v0,vp,su32", group, MODE_none); } }; -SHAPE (select_pred) +SHAPE (select_pred); /* sv<t0>xN_t svfoo[_t0](sv<t0>xN_t, uint64_t, sv<t0>_t) @@ -3737,7 +3738,7 @@ struct set_def : public overloaded_base<0> return c.require_immediate_range (1, 0, nvectors - 1); } }; -SHAPE (set) +SHAPE (set); /* void svfoo(). */ struct setffr_def : public nonoverloaded_base @@ -3748,7 +3749,7 @@ struct setffr_def : public nonoverloaded_base build_all (b, "_", group, MODE_none); } }; -SHAPE (setffr) +SHAPE (setffr); /* sv<t0>_t svfoo[_n_t0])(sv<t0>_t, uint64_t) @@ -3776,7 +3777,7 @@ struct shift_left_imm_def : public overloaded_base<0> return c.require_immediate_range (1, 0, bits - 1); } }; -SHAPE (shift_left_imm) +SHAPE (shift_left_imm); /* sv<t0>_t svfoo[_n_t0])(sv<t0:half>_t, uint64_t) @@ -3791,7 +3792,7 @@ struct shift_left_imm_long_def : public binary_imm_long_base return c.require_immediate_range (1, 0, bits - 1); } }; -SHAPE (shift_left_imm_long) +SHAPE (shift_left_imm_long); /* sv<t0:uint>_t svfoo[_n_t0])(sv<t0>_t, uint64_t) @@ -3806,7 +3807,7 @@ struct shift_left_imm_to_uint_def : public shift_left_imm_def build_all (b, "vu0,v0,su64", group, MODE_n); } }; -SHAPE (shift_left_imm_to_uint) +SHAPE (shift_left_imm_to_uint); /* sv<t0>_t svfoo[_n_t0])(sv<t0>_t, uint64_t) @@ -3834,7 +3835,7 @@ struct shift_right_imm_def : public overloaded_base<0> return c.require_immediate_range (1, 1, bits); } }; -SHAPE (shift_right_imm) +SHAPE (shift_right_imm); /* sv<t0:half>_t svfoo[_n_t0])(sv<t0>_t, uint64_t) @@ -3842,7 +3843,7 @@ SHAPE (shift_right_imm) range [1, sizeof (<t0>_t) * 4]. */ typedef shift_right_imm_narrow_wrapper<binary_imm_narrowb_base<>, 1> shift_right_imm_narrowb_def; -SHAPE (shift_right_imm_narrowb) +SHAPE (shift_right_imm_narrowb); /* sv<t0:half>_t svfoo[_n_t0])(sv<t0:half>_t, sv<t0>_t, uint64_t) @@ -3850,7 +3851,7 @@ SHAPE (shift_right_imm_narrowb) range [1, sizeof (<t0>_t) * 4]. */ typedef shift_right_imm_narrow_wrapper<binary_imm_narrowt_base<>, 2> shift_right_imm_narrowt_def; -SHAPE (shift_right_imm_narrowt) +SHAPE (shift_right_imm_narrowt); /* sv<t0:uint:half>_t svfoo[_n_t0])(sv<t0>_t, uint64_t) @@ -3860,7 +3861,7 @@ typedef binary_imm_narrowb_base<TYPE_unsigned> binary_imm_narrowb_base_unsigned; typedef shift_right_imm_narrow_wrapper<binary_imm_narrowb_base_unsigned, 1> shift_right_imm_narrowb_to_uint_def; -SHAPE (shift_right_imm_narrowb_to_uint) +SHAPE (shift_right_imm_narrowb_to_uint); /* sv<t0:uint:half>_t svfoo[_n_t0])(sv<t0:uint:half>_t, sv<t0>_t, uint64_t) @@ -3870,7 +3871,7 @@ typedef binary_imm_narrowt_base<TYPE_unsigned> binary_imm_narrowt_base_unsigned; typedef shift_right_imm_narrow_wrapper<binary_imm_narrowt_base_unsigned, 2> shift_right_imm_narrowt_to_uint_def; -SHAPE (shift_right_imm_narrowt_to_uint) +SHAPE (shift_right_imm_narrowt_to_uint); /* sv<t0>_t svfoo[_n_t0])(sv<t0>_t, uint64_t) @@ -3906,7 +3907,7 @@ struct shift_right_imm_narrowxn_def : public overloaded_base<1> return c.require_immediate_range (1, 1, bits); } }; -SHAPE (shift_right_imm_narrowxn) +SHAPE (shift_right_imm_narrowxn); /* void svfoo[_t0](<X>_t *, sv<t0>[xN]_t) void svfoo_vnum[_t0](<X>_t *, int64_t, sv<t0>[xN]_t) @@ -3941,7 +3942,7 @@ struct store_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (store) +SHAPE (store); /* void svfoo_[s32]index[_t0](<X>_t *, svint32_t, sv<t0>_t) void svfoo_[s64]index[_t0](<X>_t *, svint64_t, sv<t0>_t) @@ -3963,7 +3964,7 @@ struct store_scatter_index_def : public store_scatter_base build_vs_index (b, "_,b,ss64,t0", group); } }; -SHAPE (store_scatter_index) +SHAPE (store_scatter_index); /* void svfoo_[s64]index[_t0](<X>_t *, svint64_t, sv<t0>_t) void svfoo_[u64]index[_t0](<X>_t *, svuint64_t, sv<t0>_t) @@ -3983,7 +3984,7 @@ struct store_scatter_index_restricted_def : public store_scatter_base build_vs_index (b, "_,b,ss64,t0", group); } }; -SHAPE (store_scatter_index_restricted) +SHAPE (store_scatter_index_restricted); /* void svfoo_[s32]offset[_t0](<X>_t *, svint32_t, sv<t0>_t) void svfoo_[s64]offset[_t0](<X>_t *, svint64_t, sv<t0>_t) @@ -4010,7 +4011,7 @@ struct store_scatter_offset_def : public store_scatter_base build_vs_offset (b, "_,b,ss64,t0", group); } }; -SHAPE (store_scatter_offset) +SHAPE (store_scatter_offset); /* void svfoo_[s64]offset[_t0](<X>_t *, svint64_t, sv<t0>_t) void svfoo_[u32]offset[_t0](<X>_t *, svuint32_t, sv<t0>_t) @@ -4036,7 +4037,7 @@ struct store_scatter_offset_restricted_def : public store_scatter_base build_vs_offset (b, "_,b,ss64,t0", group); } }; -SHAPE (store_scatter_offset_restricted) +SHAPE (store_scatter_offset_restricted); /* void svfoo_[s64]index[_t0](<t0>_t *, svint64_t, sv<t0>_t) void svfoo_[u64]index[_t0](<t0>_t *, svuint64_t, sv<t0>_t) @@ -4053,7 +4054,7 @@ struct store_scatter64_index_def : public store_scatter64_base build_all (b, "_,b,ss64,t0", group, MODE_u64base_index); } }; -SHAPE (store_scatter64_index) +SHAPE (store_scatter64_index); /* void svfoo_[s64]offset[_t0](<t0>_t *, svint64_t, sv<t0>_t) void svfoo_[u64]offset[_t0](<t0>_t *, svuint64_t, sv<t0>_t) @@ -4074,7 +4075,7 @@ struct store_scatter64_offset_def : public store_scatter64_base build_all (b, "_,b,ss64,t0", group, MODE_u64base_offset); } }; -SHAPE (store_scatter64_offset) +SHAPE (store_scatter64_offset); /* void svfoo_t0(uint64_t, uint32_t, svbool_t, void *) void svfoo_vnum_t0(uint64_t, uint32_t, svbool_t, void *, int64_t) @@ -4095,7 +4096,7 @@ struct store_za_def : public nonoverloaded_base return c.require_immediate_range (0, 0, c.num_za_tiles () - 1); } }; -SHAPE (store_za) +SHAPE (store_za); /* void svfoo[_t0_g](<X>_t *, sv<t0>x<g>_t) void svfoo_vnum[_t0_g](<X>_t *, int64_t, sv<t0>x<g>_t) @@ -4126,7 +4127,7 @@ struct storexn_def : public store_def return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (storexn) +SHAPE (storexn); /* void svfoo_t0(uint32_t, void *) void svfoo_vnum_t0(uint32_t, void *, int64_t) @@ -4141,7 +4142,7 @@ struct str_za_def : public nonoverloaded_base build_all (b, "_,su32,as,ss64", group, MODE_vnum); } }; -SHAPE (str_za) +SHAPE (str_za); /* void svfoo_zt(uint64_t, void *) @@ -4160,7 +4161,7 @@ struct str_zt_def : public nonoverloaded_base return c.require_immediate_range (0, 0, 0); } }; -SHAPE (str_zt) +SHAPE (str_zt); /* sv<t0>_t svfoo[_t0](sv<t0>xN_t, sv<t0:uint>_t). */ struct tbl_tuple_def : public overloaded_base<0> @@ -4185,7 +4186,7 @@ struct tbl_tuple_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (tbl_tuple) +SHAPE (tbl_tuple); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svbfloatt16_t, svbfloat16_t). */ struct ternary_bfloat_def @@ -4198,7 +4199,7 @@ struct ternary_bfloat_def build_all (b, "v0,v0,vB,vB", group, MODE_none); } }; -SHAPE (ternary_bfloat) +SHAPE (ternary_bfloat); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svmfloat8_t, svmfloat8_t). */ struct ternary_mfloat8_def @@ -4227,21 +4228,21 @@ struct ternary_mfloat8_def NUM_TYPE_SUFFIXES, GROUP_none); } }; -SHAPE (ternary_mfloat8) +SHAPE (ternary_mfloat8); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svbfloat16_t, svbfloat16_t, uint64_t) where the final argument is an integer constant expression in the range [0, 7]. */ typedef ternary_bfloat_lane_base<1> ternary_bfloat_lane_def; -SHAPE (ternary_bfloat_lane) +SHAPE (ternary_bfloat_lane); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svbfloat16_t, svbfloat16_t, uint64_t) where the final argument is an integer constant expression in the range [0, 3]. */ typedef ternary_bfloat_lane_base<2> ternary_bfloat_lanex2_def; -SHAPE (ternary_bfloat_lanex2) +SHAPE (ternary_bfloat_lanex2); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svmfloat8_t, svmfloat8_t, uint64_t) @@ -4280,7 +4281,7 @@ struct ternary_mfloat8_lane_def NUM_TYPE_SUFFIXES, GROUP_none); } }; -SHAPE (ternary_mfloat8_lane) +SHAPE (ternary_mfloat8_lane); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svmfloat8_t, svmfloat8_t, uint64_t) @@ -4300,7 +4301,7 @@ struct ternary_mfloat8_lane_group_selection_def gcc_unreachable (); } }; -SHAPE (ternary_mfloat8_lane_group_selection) +SHAPE (ternary_mfloat8_lane_group_selection); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svbfloatt16_t, svbfloat16_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, svbfloat16_t, bfloat16_t). */ @@ -4315,7 +4316,7 @@ struct ternary_bfloat_opt_n_def build_all (b, "v0,v0,vB,sB", group, MODE_n); } }; -SHAPE (ternary_bfloat_opt_n) +SHAPE (ternary_bfloat_opt_n); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svmfloatt8_t, svmfloat8_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, svmfloat8_t, bfloat8_t). */ @@ -4352,7 +4353,7 @@ struct ternary_mfloat8_opt_n_def GROUP_none); } }; -SHAPE (ternary_mfloat8_opt_n) +SHAPE (ternary_mfloat8_opt_n); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:int:quarter>_t, sv<t0:uint:quarter>_t, uint64_t) @@ -4369,7 +4370,7 @@ struct ternary_intq_uintq_lane_def build_all (b, "v0,v0,vqs0,vqu0,su64", group, MODE_none); } }; -SHAPE (ternary_intq_uintq_lane) +SHAPE (ternary_intq_uintq_lane); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:int:quarter>_t, sv<t0:uint:quarter>_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, sv<t0:int:quarter>_t, @@ -4386,7 +4387,7 @@ struct ternary_intq_uintq_opt_n_def build_all (b, "v0,v0,vqs0,squ0", group, MODE_n); } }; -SHAPE (ternary_intq_uintq_opt_n) +SHAPE (ternary_intq_uintq_opt_n); /* svbool_t svfoo[_<t0>](sv<t0>_t, sv<t0>_t, sv<t0>_t, uint64_t) @@ -4413,7 +4414,7 @@ struct ternary_lane_def : public overloaded_base<0> return c.require_immediate_lane_index (3, 2); } }; -SHAPE (ternary_lane) +SHAPE (ternary_lane); /* svbool_t svfoo[_<t0>](sv<t0>_t, sv<t0>_t, sv<t0>_t, uint64_t, uint64_t) @@ -4442,7 +4443,7 @@ struct ternary_lane_rotate_def : public overloaded_base<0> && c.require_immediate_one_of (4, 0, 90, 180, 270)); } }; -SHAPE (ternary_lane_rotate) +SHAPE (ternary_lane_rotate); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:half>_t, sv<t0:half>_t, uint64_t) @@ -4464,7 +4465,7 @@ struct ternary_long_lane_def return c.require_immediate_lane_index (3, 2); } }; -SHAPE (ternary_long_lane) +SHAPE (ternary_long_lane); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:half>_t, sv<t0:half>_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, sv<t0:half>_t, <t0:half>_t) @@ -4483,7 +4484,7 @@ struct ternary_long_opt_n_def build_all (b, "v0,v0,vh0,sh0", group, MODE_n); } }; -SHAPE (ternary_long_opt_n) +SHAPE (ternary_long_opt_n); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0>_t, sv<t0>_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, sv<t0>_t, <t0>_t) @@ -4506,7 +4507,7 @@ struct ternary_opt_n_def : public overloaded_base<0> return r.resolve_uniform_opt_n (3); } }; -SHAPE (ternary_opt_n) +SHAPE (ternary_opt_n); /* A choice between: @@ -4550,7 +4551,7 @@ struct ternary_qq_or_011_lane_def : public ternary_qq_lane_base<> return r.resolve_to (r.mode_suffix_id, type0, type1); } }; -SHAPE (ternary_qq_or_011_lane) +SHAPE (ternary_qq_or_011_lane); /* svbool_t svfoo[_<t0>](sv<t0>_t, sv<t0:quarter>_t, sv<t0:quarter>_t, uint64_t) @@ -4591,7 +4592,7 @@ struct ternary_qq_lane_rotate_def : public overloaded_base<0> && c.require_immediate_one_of (4, 0, 90, 180, 270)); } }; -SHAPE (ternary_qq_lane_rotate) +SHAPE (ternary_qq_lane_rotate); /* A choice between: @@ -4650,7 +4651,7 @@ struct ternary_qq_opt_n_or_011_def return r.resolve_to (r.mode_suffix_id, type0, type1); } }; -SHAPE (ternary_qq_opt_n_or_011) +SHAPE (ternary_qq_opt_n_or_011); /* svbool_t svfoo[_<t0>](sv<t0>_t, sv<t0:quarter>_t, sv<t0:quarter>_t, uint64_t) @@ -4689,7 +4690,7 @@ struct ternary_qq_rotate_def : public overloaded_base<0> return c.require_immediate_one_of (3, 0, 90, 180, 270); } }; -SHAPE (ternary_qq_rotate) +SHAPE (ternary_qq_rotate); /* svbool_t svfoo[_<t0>](sv<t0>_t, sv<t0>_t, sv<t0>_t, uint64_t) @@ -4716,7 +4717,7 @@ struct ternary_rotate_def : public overloaded_base<0> return c.require_immediate_one_of (3, 0, 90, 180, 270); } }; -SHAPE (ternary_rotate) +SHAPE (ternary_rotate); /* sv<t0>_t svfoo[_n_t0])(sv<t0>_t, sv<t0>_t, uint64_t) @@ -4731,7 +4732,7 @@ struct ternary_shift_left_imm_def : public ternary_shift_imm_base return c.require_immediate_range (2, 0, bits - 1); } }; -SHAPE (ternary_shift_left_imm) +SHAPE (ternary_shift_left_imm); /* sv<t0>_t svfoo[_n_t0])(sv<t0>_t, sv<t0>_t, uint64_t) @@ -4746,7 +4747,7 @@ struct ternary_shift_right_imm_def : public ternary_shift_imm_base return c.require_immediate_range (2, 1, bits); } }; -SHAPE (ternary_shift_right_imm) +SHAPE (ternary_shift_right_imm); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0>_t, sv<t0:uint>_t). */ struct ternary_uint_def : public overloaded_base<0> @@ -4772,7 +4773,7 @@ struct ternary_uint_def : public overloaded_base<0> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (ternary_uint) +SHAPE (ternary_uint); /* sv<t0>_t svfoo[_t0](sv<t0>_t, svu<t0:uint:quarter>_t, sv<t0:int:quarter>_t). */ @@ -4787,7 +4788,7 @@ struct ternary_uintq_intq_def build_all (b, "v0,v0,vqu0,vqs0", group, MODE_none); } }; -SHAPE (ternary_uintq_intq) +SHAPE (ternary_uintq_intq); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:uint:quarter>_t, sv<t0:int:quarter>_t, uint64_t) @@ -4804,7 +4805,7 @@ struct ternary_uintq_intq_lane_def build_all (b, "v0,v0,vqu0,vqs0,su64", group, MODE_none); } }; -SHAPE (ternary_uintq_intq_lane) +SHAPE (ternary_uintq_intq_lane); /* sv<t0>_t svfoo[_t0](sv<t0>_t, sv<t0:uint:quarter>_t, sv<t0:int:quarter>_t) sv<t0>_t svfoo[_n_t0](sv<t0>_t, sv<t0:uint:quarter>_t, @@ -4821,7 +4822,7 @@ struct ternary_uintq_intq_opt_n_def build_all (b, "v0,v0,vqu0,sqs0", group, MODE_n); } }; -SHAPE (ternary_uintq_intq_opt_n) +SHAPE (ternary_uintq_intq_opt_n); /* svbool_t svfoo[_<t0>](sv<t0>_t, sv<t0>_t, uint64_t) @@ -4848,7 +4849,7 @@ struct tmad_def : public overloaded_base<0> return c.require_immediate_range (2, 0, 7); } }; -SHAPE (tmad) +SHAPE (tmad); /* sv<t0>_t svfoo[_t0](sv<t0>_t) @@ -4869,7 +4870,7 @@ struct unary_def : public overloaded_base<0> return r.resolve_unary (); } }; -SHAPE (unary) +SHAPE (unary); /* sv<t0>_t svfoo_t0[_t1](sv<t1>_t) @@ -4891,7 +4892,7 @@ struct unary_convert_def : public overloaded_base<1> r.type_suffix (0).element_bits); } }; -SHAPE (unary_convert) +SHAPE (unary_convert); /* sv<t0>_t svfoo_t0[_t1](sv<t0>_t, sv<t1>_t) @@ -4920,7 +4921,7 @@ struct unary_convert_narrowt_def : public overloaded_base<1> r.type_suffix (0).element_bits, true); } }; -SHAPE (unary_convert_narrowt) +SHAPE (unary_convert_narrowt); /* sv<t0>_t svfoo_t0[_t1_g](sv<t0>_t, sv<t1>x<g_t, fpm_t) @@ -4960,7 +4961,7 @@ struct unary_convertxn_narrowt_def : public overloaded_base<1> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (unary_convertxn_narrowt) +SHAPE (unary_convertxn_narrowt); /* sv<t0>x<g0>_t svfoo_t0[_t1_g](sv<t1>x<g1>_t) @@ -4992,7 +4993,7 @@ struct unary_convertxn_def : public unary_convert_def return r.resolve_conversion (r.mode_suffix_id, type); } }; -SHAPE (unary_convertxn) +SHAPE (unary_convertxn); /* sv<t0>_t svfoo_t0[_t1_g](sv<t1>x<g1>_t) @@ -5028,7 +5029,7 @@ struct unary_convertxn_narrow_def : public unary_convert_def return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (unary_convertxn_narrow) +SHAPE (unary_convertxn_narrow); /* sv<t0>_t svfoo_<t0>(sv<t0>_t, uint64_t) @@ -5055,7 +5056,7 @@ struct unary_lane_def : public overloaded_base<0> return c.require_immediate_lane_index (1, 0); } }; -SHAPE (unary_lane) +SHAPE (unary_lane); /* sv<t0>_t svfoo[_t0](sv<t0:half>_t). */ struct unary_long_def : public overloaded_base<0> @@ -5083,7 +5084,7 @@ struct unary_long_def : public overloaded_base<0> return r.report_no_such_form (type); } }; -SHAPE (unary_long) +SHAPE (unary_long); /* sv<t0>_t svfoo[_n]_t0(<t0>_t). */ struct unary_n_def : public overloaded_base<1> @@ -5103,23 +5104,23 @@ struct unary_n_def : public overloaded_base<1> gcc_unreachable (); } }; -SHAPE (unary_n) +SHAPE (unary_n); /* sv<t0:half>_t svfoo[_t0](sv<t0>_t). */ typedef unary_narrowb_base<> unary_narrowb_def; -SHAPE (unary_narrowb) +SHAPE (unary_narrowb); /* sv<t0:half>_t svfoo[_t0](sv<t0:half>_t, sv<t0>_t). */ typedef unary_narrowt_base<> unary_narrowt_def; -SHAPE (unary_narrowt) +SHAPE (unary_narrowt); /* sv<t0:uint:half>_t svfoo[_t0](sv<t0>_t). */ typedef unary_narrowb_base<TYPE_unsigned> unary_narrowb_to_uint_def; -SHAPE (unary_narrowb_to_uint) +SHAPE (unary_narrowb_to_uint); /* sv<t0:uint:half>_t svfoo[_t0](sv<t0:uint:half>_t, sv<t0>_t). */ typedef unary_narrowt_base<TYPE_unsigned> unary_narrowt_to_uint_def; -SHAPE (unary_narrowt_to_uint) +SHAPE (unary_narrowt_to_uint); /* svbool_t svfoo(svbool_t). */ struct unary_pred_def : public nonoverloaded_base @@ -5130,7 +5131,7 @@ struct unary_pred_def : public nonoverloaded_base build_all (b, "v0,v0", group, MODE_none); } }; -SHAPE (unary_pred) +SHAPE (unary_pred); /* sv<t0:int>_t svfoo[_t0](sv<t0>_t) @@ -5151,7 +5152,7 @@ struct unary_to_int_def : public overloaded_base<0> return r.resolve_unary (TYPE_signed); } }; -SHAPE (unary_to_int) +SHAPE (unary_to_int); /* sv<t0:uint>_t svfoo[_t0](sv<t0>_t) @@ -5172,7 +5173,7 @@ struct unary_to_uint_def : public overloaded_base<0> return r.resolve_unary (TYPE_unsigned); } }; -SHAPE (unary_to_uint) +SHAPE (unary_to_uint); /* sv<t0>_t svfoo[_t0](sv<t0:uint>_t) @@ -5208,7 +5209,7 @@ struct unary_uint_def : public overloaded_base<0> return r.report_no_such_form (type); } }; -SHAPE (unary_uint) +SHAPE (unary_uint); /* sv<t0>_t svfoo[_<t0>](sv<t0:half>_t) @@ -5249,7 +5250,7 @@ struct unary_widen_def : public overloaded_base<0> return r.report_no_such_form (type); } }; -SHAPE (unary_widen) +SHAPE (unary_widen); /* void svfoo_t0[_t1](uint64_t, svbool_t, svbool_t, sv<t1>_t) @@ -5283,7 +5284,7 @@ struct unary_za_m_def : public overloaded_base<1> return c.require_immediate_range (0, 0, c.num_za_tiles () - 1); } }; -SHAPE (unary_za_m) +SHAPE (unary_za_m); /* void svfoo_t0[_t1]_g(uint32_t, sv<t1>x<g>_t). */ struct unary_za_slice_def : public overloaded_base<1> @@ -5308,7 +5309,7 @@ struct unary_za_slice_def : public overloaded_base<1> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (unary_za_slice) +SHAPE (unary_za_slice); /* sv<t0>x<g>_t svfoo[_t0_g](sv<t0>x<g>_t). */ struct unaryxn_def : public unary_def @@ -5329,7 +5330,7 @@ struct unaryxn_def : public unary_def return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (unaryxn) +SHAPE (unaryxn); /* void svfoo_t0[_t1_g](uint64_t, uint32_t, sv<t1>x<g>_t). */ struct write_za_def : public overloaded_base<1> @@ -5360,7 +5361,7 @@ struct write_za_def : public overloaded_base<1> return c.require_immediate_range (0, 0, c.num_za_tiles () - 1); } }; -SHAPE (write_za) +SHAPE (write_za); /* void svfoo_t0[_t1](uint64_t, uint32_t, svbool_t, sv<t1>_t) @@ -5394,7 +5395,7 @@ struct write_za_m_def : public overloaded_base<1> return c.require_immediate_range (0, 0, c.num_za_tiles () - 1); } }; -SHAPE (write_za_m) +SHAPE (write_za_m); /* void svfoo_t0[_t1_g](uint32_t, sv<t1>x<g>_t). */ struct write_za_slice_def : public overloaded_base<1> @@ -5418,7 +5419,7 @@ struct write_za_slice_def : public overloaded_base<1> return r.resolve_to (r.mode_suffix_id, type); } }; -SHAPE (write_za_slice) +SHAPE (write_za_slice); /* MOVT (vector to table) Variants are also available for: @@ -5453,7 +5454,7 @@ struct write_zt_def : public overloaded_base<0> return c.require_immediate_range (0, 0, 0); } }; -SHAPE (write_zt) +SHAPE (write_zt); /* MOVT (vector to table) Variants are also available for: @@ -5490,5 +5491,5 @@ struct write_lane_zt_def : public overloaded_base<0> && c.require_immediate_range (2, 0, 3); } }; -SHAPE (write_lane_zt) +SHAPE (write_lane_zt); }
