public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
To: Christophe Lyon <christophe.lyon@linaro.org>
Cc: gcc-patches@gcc.gnu.org, Kyrylo.Tkachov@arm.com,
	richard.earnshaw@arm.com,  richard.sandiford@arm.com
Subject: Re: [PATCH 5/9] arm: [MVE intrinsics] add support for p8 and p16 polynomial types
Date: Tue, 29 Aug 2023 11:35:37 +0530	[thread overview]
Message-ID: <CAAgBjMn3EGuR4nJKgsGi_aTffi+v=_2jiBD_9NB6TwNCaaSy8w@mail.gmail.com> (raw)
In-Reply-To: <20230814183422.1905511-5-christophe.lyon@linaro.org>

On Tue, 15 Aug 2023 at 00:05, Christophe Lyon via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Although they look like aliases for u8 and u16, we need to define them
> so that we can handle p8 and p16 suffixes with the general framework.
>
> They will be used by vmull[bt]q_poly intrinsics.
Hi Christophe,
It seems your patch committed in 9bae37ec8dc32027dedf9a32bf15754ebad6da38
broke arm bootstrap build due to Werror=missing-field-initializers:
https://ci.linaro.org/job/tcwg_bootstrap_build--master-arm-bootstrap-build/199/artifact/artifacts/notify/mail-body.txt/*view*/

I think this happens because the commit adds a new member to type_suffix_info:
-  unsigned int spare : 13;
+  /* True if the suffix is for a polynomial type.  */
+  unsigned int poly_p : 1;
+  unsigned int spare : 12;

but probably misses an initializer in arm-mve-builtins.cc:type_suffixes:
  { "", NUM_VECTOR_TYPES, TYPE_bool, 0, 0, false, false, false,
    0, VOIDmode }

Thanks,
Prathamesh
>
> 2023-08-14  Christophe Lyon  <christophe.lyon@linaro.org>
>
>         gcc/
>         * config/arm/arm-mve-builtins.cc (type_suffixes): Handle poly_p
>         field..
>         (TYPES_poly_8_16): New.
>         (poly_8_16): New.
>         * config/arm/arm-mve-builtins.def (p8): New type suffix.
>         (p16): Likewise.
>         * config/arm/arm-mve-builtins.h (enum type_class_index): Add
>         TYPE_poly.
>         (struct type_suffix_info): Add poly_p field.
> ---
>  gcc/config/arm/arm-mve-builtins.cc  | 6 ++++++
>  gcc/config/arm/arm-mve-builtins.def | 2 ++
>  gcc/config/arm/arm-mve-builtins.h   | 5 ++++-
>  3 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/config/arm/arm-mve-builtins.cc b/gcc/config/arm/arm-mve-builtins.cc
> index 7eec9d2861c..fa8b0ad36b3 100644
> --- a/gcc/config/arm/arm-mve-builtins.cc
> +++ b/gcc/config/arm/arm-mve-builtins.cc
> @@ -128,6 +128,7 @@ CONSTEXPR const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = {
>      TYPE_##CLASS == TYPE_signed || TYPE_##CLASS == TYPE_unsigned, \
>      TYPE_##CLASS == TYPE_unsigned, \
>      TYPE_##CLASS == TYPE_float, \
> +    TYPE_##CLASS == TYPE_poly, \
>      0, \
>      MODE },
>  #include "arm-mve-builtins.def"
> @@ -177,6 +178,10 @@ CONSTEXPR const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = {
>  #define TYPES_all_signed(S, D) \
>    S (s8), S (s16), S (s32)
>
> +/* _p8 _p16.  */
> +#define TYPES_poly_8_16(S, D) \
> +  S (p8), S (p16)
> +
>  /* _u8 _u16 _u32.  */
>  #define TYPES_all_unsigned(S, D) \
>    S (u8), S (u16), S (u32)
> @@ -275,6 +280,7 @@ DEF_MVE_TYPES_ARRAY (integer_8);
>  DEF_MVE_TYPES_ARRAY (integer_8_16);
>  DEF_MVE_TYPES_ARRAY (integer_16_32);
>  DEF_MVE_TYPES_ARRAY (integer_32);
> +DEF_MVE_TYPES_ARRAY (poly_8_16);
>  DEF_MVE_TYPES_ARRAY (signed_16_32);
>  DEF_MVE_TYPES_ARRAY (signed_32);
>  DEF_MVE_TYPES_ARRAY (reinterpret_integer);
> diff --git a/gcc/config/arm/arm-mve-builtins.def b/gcc/config/arm/arm-mve-builtins.def
> index e3f37876210..e2cf1baf370 100644
> --- a/gcc/config/arm/arm-mve-builtins.def
> +++ b/gcc/config/arm/arm-mve-builtins.def
> @@ -63,6 +63,8 @@ DEF_MVE_TYPE_SUFFIX (u8, uint8x16_t, unsigned, 8, V16QImode)
>  DEF_MVE_TYPE_SUFFIX (u16, uint16x8_t, unsigned, 16, V8HImode)
>  DEF_MVE_TYPE_SUFFIX (u32, uint32x4_t, unsigned, 32, V4SImode)
>  DEF_MVE_TYPE_SUFFIX (u64, uint64x2_t, unsigned, 64, V2DImode)
> +DEF_MVE_TYPE_SUFFIX (p8, uint8x16_t, poly, 8, V16QImode)
> +DEF_MVE_TYPE_SUFFIX (p16, uint16x8_t, poly, 16, V8HImode)
>  #undef REQUIRES_FLOAT
>
>  #define REQUIRES_FLOAT true
> diff --git a/gcc/config/arm/arm-mve-builtins.h b/gcc/config/arm/arm-mve-builtins.h
> index c9b51a0c77b..37b8223dfb2 100644
> --- a/gcc/config/arm/arm-mve-builtins.h
> +++ b/gcc/config/arm/arm-mve-builtins.h
> @@ -146,6 +146,7 @@ enum type_class_index
>    TYPE_float,
>    TYPE_signed,
>    TYPE_unsigned,
> +  TYPE_poly,
>    NUM_TYPE_CLASSES
>  };
>
> @@ -221,7 +222,9 @@ struct type_suffix_info
>    unsigned int unsigned_p : 1;
>    /* True if the suffix is for a floating-point type.  */
>    unsigned int float_p : 1;
> -  unsigned int spare : 13;
> +  /* True if the suffix is for a polynomial type.  */
> +  unsigned int poly_p : 1;
> +  unsigned int spare : 12;
>
>    /* The associated vector or predicate mode.  */
>    machine_mode vector_mode : 16;
> --
> 2.34.1
>

  reply	other threads:[~2023-08-29  6:06 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-14 18:34 [PATCH 1/9] arm: [MVE intrinsics] factorize vmullbq vmulltq Christophe Lyon
2023-08-14 18:34 ` [PATCH 2/9] arm: [MVE intrinsics] add unspec_mve_function_exact_insn_vmull Christophe Lyon
2023-08-14 18:34 ` [PATCH 3/9] arm: [MVE intrinsics] add binary_widen shape Christophe Lyon
2023-08-14 18:34 ` [PATCH 4/9] arm: [MVE intrinsics] rework vmullbq_int vmulltq_int Christophe Lyon
2023-08-14 18:34 ` [PATCH 5/9] arm: [MVE intrinsics] add support for p8 and p16 polynomial types Christophe Lyon
2023-08-29  6:05   ` Prathamesh Kulkarni [this message]
2023-08-29  6:44     ` Christophe Lyon
2023-08-14 18:34 ` [PATCH 6/9] arm: [MVE intrinsics] add support for U and p formats in parse_element_type Christophe Lyon
2023-08-14 18:34 ` [PATCH 7/9] arm: [MVE intrinsics] add binary_widen_poly shape Christophe Lyon
2023-08-14 18:34 ` [PATCH 8/9] arm: [MVE intrinsics] add unspec_mve_function_exact_insn_vmull_poly Christophe Lyon
2023-08-14 18:34 ` [PATCH 9/9] arm: [MVE intrinsics] rework vmullbq_poly vmulltq_poly Christophe Lyon
2023-08-22 10:04 ` [PATCH 1/9] arm: [MVE intrinsics] factorize vmullbq vmulltq Kyrylo Tkachov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAAgBjMn3EGuR4nJKgsGi_aTffi+v=_2jiBD_9NB6TwNCaaSy8w@mail.gmail.com' \
    --to=prathamesh.kulkarni@linaro.org \
    --cc=Kyrylo.Tkachov@arm.com \
    --cc=christophe.lyon@linaro.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=richard.earnshaw@arm.com \
    --cc=richard.sandiford@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).