public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Joern Rennecke <joern.rennecke@embecosm.com>
To: Jeff Law <jlaw@ventanamicro.com>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>, richard.sandiford@arm.com
Subject: Re: [RFA] New pass for sign/zero extension elimination
Date: Tue, 28 Nov 2023 14:09:32 +0000	[thread overview]
Message-ID: <CAMqJFCoC0pjihE67DnYXoieX7Kgmo3z+1R84dcDLYcSW5mvE_g@mail.gmail.com> (raw)
In-Reply-To: <CAMqJFCpfHXnEu5fXOAruU44H90ZcHkg9EDxxT9Cj4Y2DRksTcw@mail.gmail.com>

On Tue, 28 Nov 2023 at 13:36, Joern Rennecke
<joern.rennecke@embecosm.com> wrote:
 > For the saturating truncation operations, we have the high-to-low
propagation,
> but no low-to-high propagation, so that would be something separate to model.

P.S.:
For unsigned saturating truncation, the propagation from higher to
lower bits only
happens for bits that are truncated off.
e.g. if we truncate a 64 bit value to a 32 bit value, and only the
lower 16 bit of the
result are live, we got an output live mask
0x000000000000ffff     implying an input live mask:
0xffffffff0000ffff

For signed saturating truncation, we got an extra corner case.  For
the same data widths
as above, the value
0xffffffff80000000
truncates to:
0x80000000
but
0x0000000080000000
truncates to:
0x7fffffff

so the top bit that is included in the truncated mode propagates to
all the lower bits
(irrespective if it itself is live in the output), so it is live in
the input if any bit is live in
the output - just like all the truncated-off bits.

  reply	other threads:[~2023-11-28 14:09 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-27 17:36 Joern Rennecke
2023-11-27 17:57 ` Joern Rennecke
2023-11-27 20:03   ` Richard Sandiford
2023-11-27 20:18     ` Jeff Law
2023-11-28 13:36       ` Joern Rennecke
2023-11-28 14:09         ` Joern Rennecke [this message]
2023-11-30 17:33         ` Jeff Law
2023-11-28 13:13     ` Joern Rennecke
2023-11-28  5:50 ` Jeff Law
  -- strict thread matches above, loose matches on Subject: below --
2023-11-29 17:37 Joern Rennecke
2023-11-29 19:13 ` Jivan Hakobyan
2023-11-30 15:37 ` Jeff Law
2023-11-27 18:19 Joern Rennecke
2023-11-28  5:51 ` Jeff Law
2023-11-20  0:47 Jeff Law
2023-11-20  1:22 ` Oleg Endo
2023-11-20  2:51   ` Jeff Law
2023-11-20  2:57     ` Oleg Endo
2023-11-20  2:23 ` Xi Ruoyao
2023-11-20  2:46   ` Jeff Law
2023-11-20  2:52   ` Jeff Law
2023-11-20  3:32     ` Xi Ruoyao
2023-11-20  3:48       ` Jeff Law
2023-11-20 18:26 ` Richard Sandiford
2023-11-22 17:59   ` Jeff Law
2023-11-27 20:15     ` Richard Sandiford
2023-11-20 18:56 ` Dimitar Dimitrov
2023-11-22 22:23   ` Jeff Law
2023-11-26 16:42     ` rep.dot.nop
2023-11-27 16:14       ` Jeff Law
2023-11-27 11:30 ` Andrew Stubbs
2023-11-27 16:16   ` Jeff Law
2023-12-01  1:08 ` Hans-Peter Nilsson
2023-12-01 15:09   ` Jeff Law
2023-12-01 16:17     ` Hans-Peter Nilsson

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=CAMqJFCoC0pjihE67DnYXoieX7Kgmo3z+1R84dcDLYcSW5mvE_g@mail.gmail.com \
    --to=joern.rennecke@embecosm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jlaw@ventanamicro.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).