On 2018-02-07 23:55, Richard Henderson wrote: > The x86 vector instruction set is extremely irregular. With newer > editions, Intel has filled in some of the blanks. However, we don't > get many 64-bit operations until SSE4.2, introduced in 2009. > > The subsequent edition was for AVX1, introduced in 2011, which added > three-operand addressing, and adjusts how all instructions should be > encoded. > > Given the relatively narrow 2 year window between possible to support > and desirable to support, and to vastly simplify code maintainence, > I am only planning to support AVX1 and later cpus. > > Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > tcg/i386/tcg-target.h | 41 +- > tcg/i386/tcg-target.opc.h | 13 + > tcg/i386/tcg-target.inc.c | 987 > +++++++++++++++++++++++++++++++++++++++++++--- > 3 files changed, 987 insertions(+), 54 deletions(-) > create mode 100644 tcg/i386/tcg-target.opc.h
This patch makes make check with clang -m32 fail for me. (Interestingly enough, though, clang -m64 and gcc -m32 work fine.) GTESTER check-qtest-x86_64 qemu-system-x86_64: tcg/tcg.c:1928: void process_op_defs(TCGContext *): Assertion `tdefs != ((void*)0)' failed. socket_accept failed: Resource temporarily unavailable ** ERROR:tests/libqtest.c:218:qtest_init_without_qmp_handshake: assertion failed: (s->fd >= 0 && s->qmp_fd >= 0) GTester: last random seed: R02Sd65222fb9e582d96aaa44bfe71602302 qemu-system-x86_64: tcg/tcg.c:1928: void process_op_defs(TCGContext *): Assertion `tdefs != ((void*)0)' failed. socket_accept failed: Resource temporarily unavailable ** ERROR:tests/libqtest.c:218:qtest_init_without_qmp_handshake: assertion failed: (s->fd >= 0 && s->qmp_fd >= 0) GTester: last random seed: R02S244a2da30d9373db0cf52cd40f1b726a (This is with the tdefs != NULL assertion enabled; usually, the qemu process just crashes instead of printing that assertion failure message.) Max
signature.asc
Description: OpenPGP digital signature