All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Martin <Dave.Martin@arm.com>
To: Mark Brown <broonie@kernel.org>
Cc: Catalin Marinas <Catalin.Marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v1 1/3] arm64/sve: Split _sve_flush macro into separate Z, P and FFR flushes
Date: Mon, 10 May 2021 16:47:23 +0100	[thread overview]
Message-ID: <20210510153159.GA4187@arm.com> (raw)
In-Reply-To: <20210510152253.GB4496@sirena.org.uk>

On Mon, May 10, 2021 at 04:22:53PM +0100, Mark Brown wrote:
> On Mon, May 10, 2021 at 03:57:11PM +0100, Dave P Martin wrote:
> 
> > > +.macro sve_flush_ffr
> > >  		_sve_wrffr	0
> 
> > This doesn't flush the FFR as advertised, but writes whatever happens to
> > be in P0 to the FFR.
> 
> Oh, bother - the way the macros work mean the argument isn't super clear
> there, it looks like it writes an immediate value, and then of course
> the generated code looks identical.  Will fix.
> 
> > Thinking about it, is there ever a situation when we would want to flush
> > the P-regs and not the FFR (or vice-versa)?  I can't see where we would
> > want to do that myself.
> 
> > If not, can we keep these combined?  We could either keep the name
> > sve_flush_p (since the FFR is a predicate register, if a weird kind of
> > one), or go with something more descriptive such as sve_flush_p_and_ffr.
> 
> Not right now but I do expect to build on this in the not too distant
> future.

OK, but due to the fact that we need to dirty a P-register in order to
zero the FFR, these still don't feel like independent operations.

Can we control the clearing of the FFR (or not) with an argument to a
combined macro?

Cheers
---Dave

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-05-10 15:50 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-10 12:23 [PATCH v1 0/3] arm64/sve: Trivial optimisation for 128 bit SVE vectors Mark Brown
2021-05-10 12:23 ` [PATCH v1 1/3] arm64/sve: Split _sve_flush macro into separate Z, P and FFR flushes Mark Brown
2021-05-10 14:57   ` Dave P Martin
2021-05-10 15:22     ` Mark Brown
2021-05-10 15:47       ` Dave Martin [this message]
2021-05-10 16:19         ` Mark Brown
2021-05-11 12:28           ` Dave Martin
2021-05-10 12:23 ` [PATCH v1 2/3] arm64/sve: Use the sve_flush macros in sve_load_from_fpsimd_state() Mark Brown
2021-05-10 12:23 ` [PATCH v1 3/3] arm64/sve: Skip flushing Z registers with 128 bit vectors Mark Brown
2021-05-10 15:08   ` Dave P Martin
2021-05-10 16:16     ` Mark Brown
2021-05-11 12:39       ` Dave Martin

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=20210510153159.GA4187@arm.com \
    --to=dave.martin@arm.com \
    --cc=Catalin.Marinas@arm.com \
    --cc=broonie@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=will@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 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.