[PATCH 0/6] host/i386: require x86-64-v2 ISA

Paolo Bonzini posted 6 patches 5 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240531091457.42200-1-pbonzini@redhat.com
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Thomas Huth <thuth@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>
meson.build                      | 10 +++++++---
host/include/i386/host/cpuinfo.h |  4 ----
tcg/i386/tcg-target.h            |  5 ++---
util/bufferiszero.c              |  2 +-
util/cpuinfo-i386.c              |  8 ++------
tcg/i386/tcg-target.c.inc        | 15 +--------------
6 files changed, 13 insertions(+), 31 deletions(-)
[PATCH 0/6] host/i386: require x86-64-v2 ISA
Posted by Paolo Bonzini 5 months, 3 weeks ago
x86-64-v2 processors were released in 2008, assume that we have one.
This provides CMOV on 32-bit processors, and also POPCNT and various
vector ISA extensions.

Paolo

Paolo Bonzini (6):
  host/i386: nothing looks at CPUINFO_SSE4
  meson: assume x86-64-v2 baseline ISA
  host/i386: assume presence of CMOV
  host/i386: assume presence of SSE2
  host/i386: assume presence of SSSE3
  host/i386: assume presence of POPCNT

 meson.build                      | 10 +++++++---
 host/include/i386/host/cpuinfo.h |  4 ----
 tcg/i386/tcg-target.h            |  5 ++---
 util/bufferiszero.c              |  2 +-
 util/cpuinfo-i386.c              |  8 ++------
 tcg/i386/tcg-target.c.inc        | 15 +--------------
 6 files changed, 13 insertions(+), 31 deletions(-)

-- 
2.45.1
Re: [PATCH 0/6] host/i386: require x86-64-v2 ISA
Posted by Alexander Monakov 5 months, 3 weeks ago
Hi,

On Fri, 31 May 2024, Paolo Bonzini wrote:

> x86-64-v2 processors were released in 2008, assume that we have one.
> This provides CMOV on 32-bit processors, and also POPCNT and various
> vector ISA extensions.

If my contributions to recent cleanups and speedups for buffer_is_zero
count for something, I'd like to ask you to reconsider. I do not see
what distribution maintainers (where there's no distro-wide switch to
x86_64-v2 baseline happening yet) are supposed to do with SIGILL reports
coming from affected users after this change.

I'm sure it's not "here's a nickel, kid...", but I'm honestly at a loss
what you'd suggest.

Looking at the patches, the gains appear to be so remarkably tiny, with
the exception of adding CMOV to baseline, that I question if it's worth
the friction. Is there something I'm not seeing?

I think basing the decision on when the earliest x86_64-v2 processors appeared
is not right.

Would you consider a reversal of the three patches that bump the baseline
beyond SSE2?

>   meson: assume x86-64-v2 baseline ISA
>   host/i386: assume presence of SSSE3
>   host/i386: assume presence of POPCNT

Thank you.
Alexander
Re: [PATCH 0/6] host/i386: require x86-64-v2 ISA
Posted by Richard Henderson 5 months, 3 weeks ago
On 5/31/24 02:14, Paolo Bonzini wrote:
> Paolo Bonzini (6):
>    host/i386: nothing looks at CPUINFO_SSE4
>    meson: assume x86-64-v2 baseline ISA
>    host/i386: assume presence of CMOV
>    host/i386: assume presence of SSE2
>    host/i386: assume presence of SSSE3
>    host/i386: assume presence of POPCNT

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~