From patchwork Fri Nov 23 14:45:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 151880 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp2210564ljp; Fri, 23 Nov 2018 06:49:24 -0800 (PST) X-Google-Smtp-Source: AJdET5enTXgss5z+PzOSjyFajWeq2P7Q3shpIoPqOpXihfmhrO1R/ZcI1IvOoojl9qSZutLHe+tP X-Received: by 2002:a81:c542:: with SMTP id o2-v6mr16084551ywj.426.1542984564554; Fri, 23 Nov 2018 06:49:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542984564; cv=none; d=google.com; s=arc-20160816; b=DJ1YNUk45u4aOgLZO1lRfbj+IuQuPF+tzJUU7GrlRt6rIkZNdfMhHAE+/xjkPkp7V8 BYOcvbEqveh3cuirXNrePE7e8IyypAcSp0ITrSqYLE1YVOWIGbut5LJNWwqezQB22P/V 8CpScZ6ESs6cY9nXqY2OQGaCZT55VqrNt403npcCJzWQC5BrOkUr4dzqWJeCLQt2Qor5 hXqrCD97CbnvqUODIKpDaOkDDA8RoqEXVqpOh6cAyl+Iv+8idwP1NsHjdP0mV/pK+fvs 46C4WeCDKk1OsToy/LZD/E7aclL2AxdRZW6LKeCX2PHXKViFAHK32CJbyoilrksrU4xl AV3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:message-id:date:to:from :dkim-signature; bh=0VV5l3GjoXy0S4bVz11QDMfFyshdxejhmwQRhEitvmA=; b=ILVxsua0AnA3i2fwOm/0+cWyn0R5ofuU4HyHWdK8RMP2pzGT/+LQJpcglzahz8FQff WnQeCk3LLpvet1Fr44L5ociNParqgjcfRjZyM7von4gF6SZcNj4tNHgB6jteYaDyl6wF eeYaMmXtCswbnDkJbbtiFNcm04Jr9g+87PkA0P4T7dfzpPJexOJND8kVjzAJJxUM023A pMNBKWsCVBlHtqw9HxvrspDSbtLLzseoRfJzmAYAHBBC45dbpffJTNDVVCZmfltu6Pz+ bf50wTOk3VyEV7UIpZDccq6y6DJnWcXyp3Le9UZa3+qFhE+t2BIVlcESMZKQaodpvo9y zZ4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=bDURt+lM; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id l187-v6si32956000ybc.399.2018.11.23.06.49.24 for (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 23 Nov 2018 06:49:24 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=bDURt+lM; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:52766 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQCln-0003o5-M8 for patch@linaro.org; Fri, 23 Nov 2018 09:49:23 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43766) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQCif-0007yR-Qt for qemu-devel@nongnu.org; Fri, 23 Nov 2018 09:46:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gQCia-00036N-QM for qemu-devel@nongnu.org; Fri, 23 Nov 2018 09:46:09 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:55755) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gQCia-00034b-33 for qemu-devel@nongnu.org; Fri, 23 Nov 2018 09:46:04 -0500 Received: by mail-wm1-x334.google.com with SMTP id y139so12074211wmc.5 for ; Fri, 23 Nov 2018 06:46:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=0VV5l3GjoXy0S4bVz11QDMfFyshdxejhmwQRhEitvmA=; b=bDURt+lMHBFH4QzDYJLKGE3NBW5UdjALBm74WEmJJR9Dm5hWjKqt03h/xhkkEK3bds gQMEi5xyRmG6HE/ra9UysWl8hjLOtvOD5nW70r+cy0EYde42IOJMr22RZtWm5ZgaRLdY xSyRCjRHHRFSd+6XCm/p6x1LvJBfwXwitOA7k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=0VV5l3GjoXy0S4bVz11QDMfFyshdxejhmwQRhEitvmA=; b=rjyTluE/1Fqo7Rpbrl6buFjGwjXkqP6uqzS9H63tA4Rs1z+2qvYsRirpcTLWGMjgyO TMRuHUe+/7LPh7yvWYWAFchus/X3DSuRMWsMQcu9Xn81Mqa65RSq3OQvvEl5y1jfPK/P 1Ufy/6wJqJNXGBPkxS5E6PtzkCL53LcN2xjfnLgF8jeRW5iA+QdnBPuPoe6nrqcYuujC tCwpQtY7kGcbzrpOeemPCRjXg8nr05P35opgqOtFLxtCqRQB2lbUimKehkaEidPbxuUd cjiLYFpe+gwX67xB1C2AuYTr7xiQzt5rK9gRT+9s1/G6RPurXK5xK/OJhy0f9See17HR gKbw== X-Gm-Message-State: AGRZ1gKHvoQrzZaQwdSeq4IdtNseBHj1G6ux5bDtDYthgCogu83SFaGQ i1Q95MkJpijRf007N8E2BfenidMs7fVeTg== X-Received: by 2002:a1c:a13:: with SMTP id 19mr14068304wmk.81.1542984361177; Fri, 23 Nov 2018 06:46:01 -0800 (PST) Received: from cloudburst.twiddle.net ([195.77.246.50]) by smtp.gmail.com with ESMTPSA id p74sm10339630wmd.29.2018.11.23.06.45.59 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 23 Nov 2018 06:46:00 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 23 Nov 2018 15:45:21 +0100 Message-Id: <20181123144558.5048-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::334 Subject: [Qemu-devel] [PATCH for-4.0 v2 00/37] tcg: Assorted cleanups X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alistair.Francis@wdc.com Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This includes everything queued so far -- softmmu out-of-line patches, bswap cleanups, and (new) eliminating all scratch registers from x86 user-only memops. This tree is now at https://github.com/rth7680/qemu.git tcg-next-for-4.0 for future tcg/riscv/ rebasing. r~ Richard Henderson (37): tcg/i386: Always use %ebp for TCG_AREG0 tcg/i386: Move TCG_REG_CALL_STACK from define to enum tcg: Return success from patch_reloc tcg: Add TCG_TARGET_NEED_LDST_OOL_LABELS tcg/i386: Add constraints for r8 and r9 tcg/i386: Return a base register from tcg_out_tlb_load tcg/i386: Change TCG_REG_L[01] to not overlap function arguments tcg/i386: Force qemu_ld/st arguments into fixed registers tcg/i386: Use TCG_TARGET_NEED_LDST_OOL_LABELS tcg/aarch64: Add constraints for x0, x1, x2 tcg/aarch64: Parameterize the temps for tcg_out_tlb_read tcg/aarch64: Parameterize the temp for tcg_out_goto_long tcg/aarch64: Use B not BL for tcg_out_goto_long tcg/aarch64: Use TCG_TARGET_NEED_LDST_OOL_LABELS tcg/arm: Parameterize the temps for tcg_out_tlb_read tcg/arm: Add constraints for R0-R5 tcg/arm: Reduce the number of temps for tcg_out_tlb_read tcg/arm: Force qemu_ld/st arguments into fixed registers tcg/arm: Use TCG_TARGET_NEED_LDST_OOL_LABELS tcg/ppc: Parameterize the temps for tcg_out_tlb_read tcg/ppc: Split out tcg_out_call_int tcg/ppc: Add constraints for R7-R8 tcg/ppc: Change TCG_TARGET_CALL_ALIGN_ARGS to bool tcg/ppc: Force qemu_ld/st arguments into fixed registers tcg/ppc: Use TCG_TARGET_NEED_LDST_OOL_LABELS tcg: Clean up generic bswap32 tcg: Clean up generic bswap64 tcg/optimize: Optimize bswap tcg: Add TCG_TARGET_HAS_MEMORY_BSWAP tcg/i386: Adjust TCG_TARGET_HAS_MEMORY_BSWAP tcg/aarch64: Set TCG_TARGET_HAS_MEMORY_BSWAP to false tcg/arm: Set TCG_TARGET_HAS_MEMORY_BSWAP to false for user-only tcg/i386: Propagate is64 to tcg_out_qemu_ld_direct tcg/i386: Restrict user-only qemu_st_i32 values to q-regs tcg/i386: Add setup_guest_base_seg for FreeBSD tcg/i386: Require segment syscalls to succeed tcg/i386: Remove L constraint tcg/aarch64/tcg-target.h | 3 +- tcg/arm/tcg-target.h | 7 +- tcg/i386/tcg-target.h | 19 +- tcg/mips/tcg-target.h | 1 + tcg/ppc/tcg-target.h | 3 +- tcg/s390/tcg-target.h | 1 + tcg/sparc/tcg-target.h | 1 + tcg/tcg.h | 5 + tcg/tci/tcg-target.h | 2 + accel/tcg/translate-all.c | 15 +- tcg/aarch64/tcg-target.inc.c | 369 ++++++++-------- tcg/arm/tcg-target.inc.c | 643 +++++++++++++-------------- tcg/i386/tcg-target.inc.c | 821 ++++++++++++++++++++--------------- tcg/mips/tcg-target.inc.c | 29 +- tcg/optimize.c | 12 + tcg/ppc/tcg-target.inc.c | 562 +++++++++++++----------- tcg/s390/tcg-target.inc.c | 37 +- tcg/sparc/tcg-target.inc.c | 13 +- tcg/tcg-ldst-ool.inc.c | 95 ++++ tcg/tcg-op.c | 215 ++++++--- tcg/tcg-pool.inc.c | 5 +- tcg/tcg.c | 36 +- tcg/tci/tcg-target.inc.c | 3 +- 23 files changed, 1628 insertions(+), 1269 deletions(-) create mode 100644 tcg/tcg-ldst-ool.inc.c -- 2.17.2 Reviewed-by: Emilio G. Cota