public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Case Nicklin <nicklin@missioncriticallinux.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [linux-ia64] Predication vs. Branching
Date: Tue, 19 Sep 2000 13:13:38 +0000	[thread overview]
Message-ID: <marc-linux-ia64-105590678205506@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590678205504@msgid-missing>

Dan Pop wrote:

> On Tue, 19 Sep 2000, Jonathan Case Nicklin wrote:
>
> > Dan Pop wrote:
> >
> > > On Tue, 19 Sep 2000, Jonathan Case Nicklin wrote:
> > >
> > > > This might not be the appropriate forum, but what the heck. Does
anyone
> > > > have
> > > > a definitive answer on what happens to predicated instructions
that are
> > > > not
> > > > executed (ie where in the pipeline are they discarded).
> > >
> > > According to the manual, they become NOPs of the appropriate type.

> > >
> > > Dan
> >
> > Dan,
> >     But When? Do they always consume execution resources or are they

> > dropped as soon as their predicate dependency is fulfilled...
assuming their
> >
> > dependent predicate evaluates false and that there are predicate
dependent
> > instructions in the pipeline.
>
> According to the Itanium microarchitecture manual, they do consume
> execution resources, by their mere presence in the bundle.
>
> I.e. the following code still keeps the CPU busy for one cycle:
>
> {.mib
>         nop.m   0
>         nop.i   0
>         nop.b   0
> }
> {.mib
>         nop.m   0
>         nop.i   0
>         nop.b   0
> }
>
> No execution unit can be assigned to a more useful instruction during
> that cycle.
>
> Replacing the NOPs by predicated away instructions of the
> corresponding types shouldn't change anything.
>
> Dan
>
> _______________________________________________
> Linux-IA64 mailing list
> Linux-IA64@linuxia64.org
> http://lists.linuxia64.org/lists/listinfo/linux-ia64

Dan,

okey-dokey... The predicated instructions that are not executed do
consume
execution resources because they evaluate to NOPs... and NOPs do carry
all
the way through the pipeline until commit (this is what i was curious
about).
Now the question is, at what point does it become more efficient to
branch
rather than predicate? I assume this would dependent on the pipeline
depth
and total Instruction Fetch Bandwidth.

Thanks,
Jonathan Nicklin



  reply	other threads:[~2000-09-19 13:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-09-19 12:18 [linux-ia64] Predication vs. Branching Jonathan Case Nicklin
2000-09-19 13:13 ` Jonathan Case Nicklin [this message]
2000-09-19 15:07 ` Dan Pop
2000-09-19 15:45 ` Dan Pop
2000-09-19 19:22 ` FW: " Reed, Robert W
  -- strict thread matches above, loose matches on Subject: below --
2000-09-19 11:45 Jonathan Case Nicklin

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=marc-linux-ia64-105590678205506@msgid-missing \
    --to=nicklin@missioncriticallinux.com \
    --cc=linux-ia64@vger.kernel.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