Minor changes since last time. * Two bugs fixed pointed out by Kirill. * Allow for 4 and 5 operand operations.
r~ Richard Henderson (26): tcg: Add types and basic operations for host vectors tcg: Add generic vector expanders tcg: Allow multiple word entries into the constant pool target/arm: Align vector registers target/arm: Use vector infrastructure for aa64 add/sub/logic target/arm: Use vector infrastructure for aa64 mov/not/neg target/arm: Use vector infrastructure for aa64 dup/movi tcg/i386: Add vector operations tcg: Add tcg_expand_vec_op and tcg-target.opc.h tcg: Add generic vector ops for interleave target/arm: Use vector infrastructure for aa64 zip/uzp/trn/xtn tcg: Add generic vector ops for constant shifts target/arm: Use vector infrastructure for aa64 constant shifts tcg: Add generic vector ops for comparisons target/arm: Use vector infrastructure for aa64 compares tcg/i386: Add vector operations/expansions for shift/cmp/interleave tcg: Add generic vector ops for multiplication target/arm: Use vector infrastructure for aa64 multiplies tcg: Add generic vector ops for extension target/arm: Use vector infrastructure for aa64 widening shifts tcg/i386: Add vector operations/expansions for mul/extend tcg/aarch64: Add vector operations tcg/optimize: Handle vector opcodes during optimize tcg: Add support for 4 operand vector ops tcg: Add support for 5 operand vector ops tcg: Add generic helpers for saturating arithmetic Makefile.target | 4 +- accel/tcg/tcg-runtime.h | 122 +++ target/arm/cpu.h | 2 +- tcg/aarch64/tcg-target.h | 30 +- tcg/aarch64/tcg-target.opc.h | 3 + tcg/i386/tcg-target.h | 46 +- tcg/i386/tcg-target.opc.h | 11 + tcg/tcg-gvec-desc.h | 49 + tcg/tcg-op-gvec.h | 271 +++++ tcg/tcg-op.h | 51 + tcg/tcg-opc.h | 59 + tcg/tcg.h | 81 ++ accel/tcg/tcg-runtime-gvec.c | 884 +++++++++++++++ target/arm/translate-a64.c | 1100 +++++++++++++------ tcg/aarch64/tcg-target.inc.c | 674 +++++++++++- tcg/i386/tcg-target.inc.c | 1325 ++++++++++++++++++++++- tcg/optimize.c | 141 ++- tcg/tcg-op-gvec.c | 2440 ++++++++++++++++++++++++++++++++++++++++++ tcg/tcg-op-vec.c | 566 ++++++++++ tcg/tcg-pool.inc.c | 115 +- tcg/tcg.c | 144 ++- accel/tcg/Makefile.objs | 2 +- tcg/README | 148 +++ 23 files changed, 7734 insertions(+), 534 deletions(-) create mode 100644 tcg/aarch64/tcg-target.opc.h create mode 100644 tcg/i386/tcg-target.opc.h create mode 100644 tcg/tcg-gvec-desc.h create mode 100644 tcg/tcg-op-gvec.h create mode 100644 accel/tcg/tcg-runtime-gvec.c create mode 100644 tcg/tcg-op-gvec.c create mode 100644 tcg/tcg-op-vec.c -- 2.14.3