public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Sandiford <richard.sandiford@arm.com>
To: Richard Biener <rguenther@suse.de>
Cc: zhongjuzhe <juzhe.zhong@rivai.ai>,
	gcc-patches@gcc.gnu.org, richard.earnshaw@arm.com,
	jakub@redhat.com, kenner@nyu.edu, jlaw@tachyum.com,
	gnu@the-meissners.org, jason@redhat.com, davem@redhat.com,
	joseph@codesourcery.com, bernds_cb1@t-online.de, ian@airs.com,
	wilson@tuliptree.org
Subject: Re: [PATCH 1/1] Fix bit-position comparison
Date: Wed, 27 Jul 2022 13:47:09 +0100	[thread overview]
Message-ID: <mptr126u3hu.fsf@arm.com> (raw)
In-Reply-To: <nycvar.YFH.7.77.849.2207270644200.6583@jbgna.fhfr.qr> (Richard Biener's message of "Wed, 27 Jul 2022 06:46:53 +0000 (UTC)")

Richard Biener <rguenther@suse.de> writes:
> On Wed, 27 Jul 2022, juzhe.zhong@rivai.ai wrote:
>
>> From: zhongjuzhe <juzhe.zhong@rivai.ai>
>> 
>> gcc/ChangeLog:
>> 
>>         * expr.cc (expand_assignment): Change GET_MODE_PRECISION to GET_MODE_BITSIZE
>> 
>> ---
>>  gcc/expr.cc | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/gcc/expr.cc b/gcc/expr.cc
>> index 80bb1b8a4c5..ac2b3c07df6 100644
>> --- a/gcc/expr.cc
>> +++ b/gcc/expr.cc
>> @@ -5574,7 +5574,7 @@ expand_assignment (tree to, tree from, bool nontemporal)
>>  	 code contains an out-of-bounds access to a small array.  */
>>        if (!MEM_P (to_rtx)
>>  	  && GET_MODE (to_rtx) != BLKmode
>> -	  && known_ge (bitpos, GET_MODE_PRECISION (GET_MODE (to_rtx))))
>> +	  && known_ge (bitpos, GET_MODE_BITSIZE (GET_MODE (to_rtx))))
>
> I think this has the chance to go wrong with regard to endianess.
> Consider to_rtx with 32bit mode size but 12bit mode precision.  bitpos
> is relative to the start of to_rtx as if it were in memory and bitsize
> determines the contiguous region affected.  But since we are actually
> storing into a non-memory endianess comes into play.

Not sure I follow the code well enough to comment, but: this condition
is saying when we can drop the assignment on the floor and just expand
the rhs (for side effects).  From that point of view, using bitsize
should be more conservative than using precision, since bitsize is
always >= precision.

Thanks,
Richard

>
> So no, I don't think the patch is correct, it would be way more
> complicated to get the desired improvement.
>
> Richard.
>
>>  	{
>>  	  expand_normal (from);
>>  	  result = NULL;
>> 

  parent reply	other threads:[~2022-07-27 12:47 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-27  3:44 [PATCH 0/1] middle-end: Fix bit position comparison juzhe.zhong
2022-07-27  3:44 ` [PATCH 1/1] Fix bit-position comparison juzhe.zhong
2022-07-27  6:46   ` Richard Biener
2022-07-27  7:09     ` juzhe.zhong
2022-07-27  7:35       ` Richard Biener
2022-07-27  8:00         ` juzhe.zhong
2022-07-27  8:12           ` Richard Biener
2022-07-27  8:26             ` juzhe.zhong
2022-07-27 12:56               ` Richard Biener
2022-07-27 13:12                 ` 钟居哲
2022-07-27 12:47     ` Richard Sandiford [this message]
2022-07-27 13:20       ` 钟居哲

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=mptr126u3hu.fsf@arm.com \
    --to=richard.sandiford@arm.com \
    --cc=bernds_cb1@t-online.de \
    --cc=davem@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=gnu@the-meissners.org \
    --cc=ian@airs.com \
    --cc=jakub@redhat.com \
    --cc=jason@redhat.com \
    --cc=jlaw@tachyum.com \
    --cc=joseph@codesourcery.com \
    --cc=juzhe.zhong@rivai.ai \
    --cc=kenner@nyu.edu \
    --cc=rguenther@suse.de \
    --cc=richard.earnshaw@arm.com \
    --cc=wilson@tuliptree.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).