public inbox for [email protected]
help / color / mirror / Atom feedFrom: Tom Lane <[email protected]>
To: Nathan Bossart <[email protected]>
Cc: Jeff Davis <[email protected]>
Cc: [email protected]
Cc: [email protected]
Subject: Re: always use runtime checks for CRC-32C instructions
Date: Tue, 31 Oct 2023 16:12:40 -0400
Message-ID: <[email protected]> (raw)
In-Reply-To: <20231031195331.GA77436@nathanxps13>
References: <20231030161706.GA3011@nathanxps13>
<[email protected]>
<[email protected]>
<20231031033601.GA68409@nathanxps13>
<20231031155518.GA70172@nathanxps13>
<[email protected]>
<20231031195331.GA77436@nathanxps13>
Nathan Bossart <[email protected]> writes:
> Okay. With that in mind, I think the path forward for new instructions is
> as follows:
> * If the special CRC instructions can be used with the default compiler
> flags, we can only use newer instructions if they can also be used with
> the default compiler flags. (My M2 machine appears to add +crypto by
> default, so I bet your buildfarm animals would fall into this bucket.)
> * Otherwise, if the CRC instructions can be used with added flags (i.e.,
> the runtime check path), we can do a runtime check for the new
> instructions as well. (Most other buildfarm animals would fall into this
> bucket.)
This seems like a reasonable proposal.
> Any platform that can use the CRC instructions with default compiler flags
> but not the new instructions wouldn't be able to take advantage of the
> proposed optimization, but it also wouldn't be subject to the small
> performance regression.
Check. For now I think that's fine. If we get to a place where this
policy is really leaving a lot of performance on the table, we can
revisit it ... but that situation is hypothetical and may remain so.
(It's worth noting also that a package builder can move the goalposts
at will, since our idea of "default flags" is really whatever the user
says to use.)
regards, tom lane
view thread (8+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: always use runtime checks for CRC-32C instructions
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox