qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] tcg: Fix for Bug 1863508
@ 2020-02-17  2:59 Richard Henderson
  2020-02-17  2:59 ` [PATCH 1/4] tcg: Remove CONFIG_VECTOR16 Richard Henderson
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Richard Henderson @ 2020-02-17  2:59 UTC (permalink / raw)
  To: qemu-devel

The comment in tcg-runtime-gvec.c about CONFIG_VECTOR16 says that
tcg-op-gvec.c has eliminated size 8 vectors, and only passes on
multiples of 16.  This may have been true of the first few operations,
but is not true of all operations.
    
In particular, multiply, shift by scalar, and compare of 8- and 16-bit
elements are not expanded inline if host vector operations are not
supported.
    
For an x86_64 host that does not support AVX, this means that we will
fall back to the helper, which will attempt to use SSE instructions,
which will SEGV on an invalid 8-byte aligned memory operation.
    
The first patch removes the CONFIG_VECTOR16 code and configuration;
the subsequent patches tidy up tcg-runtime-gvec.c.


r~


Richard Henderson (4):
  tcg: Remove CONFIG_VECTOR16
  tcg: Tidy tcg-runtime-gvec.c types
  tcg: Tidy tcg-runtime-gvec.c DUP*
  tcg: Remove tcg-runtime-gvec.c DO_CMP0

 configure                    |  56 -------
 accel/tcg/tcg-runtime-gvec.c | 298 ++++++++++++++---------------------
 2 files changed, 116 insertions(+), 238 deletions(-)

-- 
2.20.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-02-17 11:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-17  2:59 [PATCH 0/4] tcg: Fix for Bug 1863508 Richard Henderson
2020-02-17  2:59 ` [PATCH 1/4] tcg: Remove CONFIG_VECTOR16 Richard Henderson
2020-02-17  2:59 ` [PATCH 2/4] tcg: Tidy tcg-runtime-gvec.c types Richard Henderson
2020-02-17 11:00   ` Philippe Mathieu-Daudé
2020-02-17  2:59 ` [PATCH 3/4] tcg: Tidy tcg-runtime-gvec.c DUP* Richard Henderson
2020-02-17 11:02   ` Philippe Mathieu-Daudé
2020-02-17  2:59 ` [PATCH 4/4] tcg: Remove tcg-runtime-gvec.c DO_CMP0 Richard Henderson
2020-02-17  3:10 ` [PATCH 0/4] tcg: Fix for Bug 1863508 no-reply

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).