From: Segher Boessenkool <segher@kernel.crashing.org>
To: Peter Bergner <bergner@vnet.ibm.com>
Cc: Denis Kirjanov <kda@linux-powerpc.org>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
Laura Abbott <labbott@redhat.com>,
Paul Mackerras <paulus@samba.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Missing operand for tlbie instruction on Power7
Date: Sat, 3 Oct 2015 19:00:09 -0500 [thread overview]
Message-ID: <20151004000009.GA10997@gate.crashing.org> (raw)
In-Reply-To: <1443839086.13186.219.camel@otta>
On Fri, Oct 02, 2015 at 09:24:46PM -0500, Peter Bergner wrote:
> > > Ok, than we can just zero out r5 for example and use it in tlbie as RS,
> > > right?
> >
> > That won't assemble _unless_ your assembler is in POWER7 mode. It also
> > won't do the right thing at run time on older machines.
>
> Correct, getting this to work on both pre-power7 and power7 and later
> is tricky. One really horrible hack would be to do:
>
> li r0,0
> tlbie r4,0
>
> On pre-power7, the "0" will be taken as a zero L operand and on
> power7 and later, it'll be r0, but with a zero value we loaded in
> the insn before. I know, really ugly. :-)
Hide the "li 0,0" somewhere earlier, and write it as "tlbie 4,0", and
don't write a comment -- we *like* tricky!
It should really be a separate macro define for power7 and 4xx etc.;
and the macro should not be called "tlbia", but something that makes
it obvious at the usage sites that it is in fact a macro; and why a
macro anyway, a function call might be better here?
Segher
next prev parent reply other threads:[~2015-10-04 0:00 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-02 15:43 Missing operand for tlbie instruction on Power7 Laura Abbott
2015-10-02 19:03 ` Denis Kirjanov
2015-10-02 20:15 ` Peter Bergner
2015-10-02 21:37 ` Denis Kirjanov
2015-10-02 22:00 ` Segher Boessenkool
2015-10-02 22:12 ` Laura Abbott
2015-10-03 2:24 ` Peter Bergner
2015-10-04 0:00 ` Segher Boessenkool [this message]
2015-10-06 0:39 ` Laura Abbott
2015-10-06 3:35 ` Michael Ellerman
2015-10-06 18:25 ` Laura Abbott
2015-10-07 6:00 ` Michael Ellerman
2015-10-07 7:19 ` Segher Boessenkool
2015-10-07 9:13 ` Michael Ellerman
2015-10-07 14:31 ` Josh Boyer
2015-10-08 0:10 ` Michael Ellerman
2015-10-08 0:15 ` Josh Boyer
2015-10-08 0:38 ` Michael Ellerman
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=20151004000009.GA10997@gate.crashing.org \
--to=segher@kernel.crashing.org \
--cc=bergner@vnet.ibm.com \
--cc=kda@linux-powerpc.org \
--cc=labbott@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=paulus@samba.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.