public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Noah Goldstein <goldstein.w.n@gmail.com>
To: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
Cc: Richard Henderson <richard.henderson@linaro.org>,
	libc-alpha@sourceware.org
Subject: Re: [PATCH v6 04/17] Add string vectorized find and detection functions
Date: Wed, 11 Jan 2023 11:56:26 -0800	[thread overview]
Message-ID: <CAFUsyf+=6h=vrK1k4r-HDWMxYM=gwUkDPz5N7hXt_nFQ6Ep4Mw@mail.gmail.com> (raw)
In-Reply-To: <7b60bc6b-9e33-4bb4-0a64-3b28ca1302fe@linaro.org>

On Wed, Jan 11, 2023 at 5:42 AM Adhemerval Zanella Netto
<adhemerval.zanella@linaro.org> wrote:
>
>
>
> On 10/01/23 23:25, Richard Henderson wrote:
> > On 1/10/23 13:00, Adhemerval Zanella wrote:
> >> --- a/sysdeps/generic/string-maskoff.h
> >> +++ b/sysdeps/generic/string-maskoff.h
> >> @@ -23,7 +23,6 @@
> >>   #include <limits.h>
> >>   #include <stdint.h>
> >>   #include <string-optype.h>
> >> -#include <string-fza.h>
> >>     /* Provide a mask based on the pointer alignment that sets up non-zero
> >>      bytes before the beginning of the word.  It is used to mask off
> >> @@ -44,12 +43,12 @@ create_mask (uintptr_t i)
> >>   /* Return the mask WORD shifted based on S_INT address value, to ignore
> >>      values not presented in the aligned word read.  */
> >>   static __always_inline op_t
> >> -check_mask (op_t word, uintptr_t s_int)
> >> +check_mask (op_t word, uintptr_t s)
> >>   {
> >>     if (__BYTE_ORDER == __LITTLE_ENDIAN)
> >> -    return word >> (CHAR_BIT * (s_int % sizeof (s_int)));
> >> +    return word >> (CHAR_BIT * (s % sizeof (op_t)));
> >>     else
> >> -    return word << (CHAR_BIT * (s_int % sizeof (s_int)));
> >> +    return word << (CHAR_BIT * (s % sizeof (op_t)));
> >>   }
> >
> > Fold this into patch 3, if you want it.
>
> Ack.
>
> >
> >> @@ -79,7 +78,7 @@ highbit_mask (op_t m)
> >>   static __always_inline op_t *
> >>   word_containing (char const *p)
> >>   {
> >> -  return (op_t *) ((uintptr_t) p & -sizeof(p));
> >> +  return (op_t *) ((op_t) p & -sizeof(p));
> >
> > Casting p to op_t is wrong.
>
> Indeed, I will revert to uintptr_t.

If sizeof (op_t) > sizeof(uintptr_t) won't this be able to
leave us with a misaligned read + potential fault?

  reply	other threads:[~2023-01-11 19:56 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-10 21:00 [PATCH v6 00/17] Improve generic string routines Adhemerval Zanella
2023-01-10 21:00 ` [PATCH v6 01/17] Parameterize op_t from memcopy.h Adhemerval Zanella
2023-01-10 21:00 ` [PATCH v6 02/17] Parameterize OP_T_THRES " Adhemerval Zanella
2023-01-10 21:00 ` [PATCH v6 03/17] Add string-maskoff.h generic header Adhemerval Zanella
2023-01-11  1:58   ` Richard Henderson
2023-01-11 13:39     ` Adhemerval Zanella Netto
2023-01-10 21:00 ` [PATCH v6 04/17] Add string vectorized find and detection functions Adhemerval Zanella
2023-01-11  2:25   ` Richard Henderson
2023-01-11 13:42     ` Adhemerval Zanella Netto
2023-01-11 19:56       ` Noah Goldstein [this message]
2023-01-10 21:00 ` [PATCH v6 05/17] string: Improve generic strlen Adhemerval Zanella
2023-01-10 21:00 ` [PATCH v6 06/17] string: Improve generic strnlen Adhemerval Zanella
2023-01-10 21:00 ` [PATCH v6 07/17] string: Improve generic strchr Adhemerval Zanella
2023-01-10 21:00 ` [PATCH v6 08/17] string: Improve generic strchrnul Adhemerval Zanella
2023-01-10 21:00 ` [PATCH v6 09/17] string: Improve generic strcmp Adhemerval Zanella
2023-01-10 21:00 ` [PATCH v6 10/17] string: Improve generic memchr Adhemerval Zanella
2023-01-10 21:01 ` [PATCH v6 11/17] string: Improve generic memrchr Adhemerval Zanella
2023-01-10 21:01 ` [PATCH v6 12/17] hppa: Add memcopy.h Adhemerval Zanella
2023-01-10 21:01 ` [PATCH v6 13/17] hppa: Add string-fzb.h and string-fzi.h Adhemerval Zanella
2023-01-10 21:01 ` [PATCH v6 14/17] alpha: " Adhemerval Zanella
2023-01-11  2:45   ` Richard Henderson
2023-01-11 17:27     ` Adhemerval Zanella Netto
2023-01-10 21:01 ` [PATCH v6 15/17] arm: Add string-fza.h Adhemerval Zanella
2023-01-10 21:01 ` [PATCH v6 16/17] powerpc: " Adhemerval Zanella
2023-01-11  1:18   ` Carlos Seo
2023-01-10 21:01 ` [PATCH v6 17/17] sh: Add string-fzb.h Adhemerval Zanella

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='CAFUsyf+=6h=vrK1k4r-HDWMxYM=gwUkDPz5N7hXt_nFQ6Ep4Mw@mail.gmail.com' \
    --to=goldstein.w.n@gmail.com \
    --cc=adhemerval.zanella@linaro.org \
    --cc=libc-alpha@sourceware.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

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

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: 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).