tcg: Remove CONFIG_VECTOR16
commit43d1ccd2a02fadf3c36b46a8c31125a28864d141
authorRichard Henderson <richard.henderson@linaro.org>
Mon, 17 Feb 2020 01:43:11 +0000 (16 17:43 -0800)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 17 Mar 2020 15:41:07 +0000 (17 08:41 -0700)
tree2e7ce58febacb88c6cf0bdcbdff65a327d59e3a6
parent312b426fea4d6dd322d7472c80010a8ba7a166d2
tcg: Remove CONFIG_VECTOR16

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.

This patch simply removes the CONFIG_VECTOR16 code and configuration
without further simplification.

Buglink: https://bugs.launchpad.net/bugs/1863508
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
accel/tcg/tcg-runtime-gvec.c
configure