mbox series

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

Message ID 20240531091457.42200-1-pbonzini@redhat.com
Headers show
Series host/i386: require x86-64-v2 ISA | expand

Message

Paolo Bonzini May 31, 2024, 9:14 a.m. UTC
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(-)

Comments

Richard Henderson May 31, 2024, 5:43 p.m. UTC | #1
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~
Alexander Monakov June 6, 2024, 4:52 p.m. UTC | #2
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