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

2024-06-06 Thread Alexander Monakov
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

2024-05-31 Thread Richard Henderson

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 


r~



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

2024-05-31 Thread Paolo Bonzini
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