From patchwork Tue Nov 20 12:15:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 151573 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp531281ljp; Tue, 20 Nov 2018 04:16:38 -0800 (PST) X-Google-Smtp-Source: AJdET5foOGoYU0EvnwK+iJKuV9RHToImKKN4Ilr4KL22DC6L8ndigDURSZd8H+vXcYaUZo2+q11u X-Received: by 2002:a0d:e984:: with SMTP id s126-v6mr1468692ywe.47.1542716198180; Tue, 20 Nov 2018 04:16:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542716198; cv=none; d=google.com; s=arc-20160816; b=NlF8F/0lrxZg1/lNOvhNHRzdKDFfHMG5CykDePbD9is0dExGAeg+J1IOuNTOOEOI4R q/ugqsN2OZHU9DtvUXLdDObdOrYLKqUeuydfMLlXqWEi019iPh1TsFqkKSUJzljitCCC IZdJ+sFBWo5ix260no1+54EZNbuTBXqf4dnbLM3Dm+Rr6hOmNxox9gLx6g3hGSp4wXLh felVfwAT1A+o/qkI2GSA5juZk6sklYzXNbWtnk/CE3QDnk3TVSGx1RE7CJ5n0iyFC5lq HbBOZxXxkno2mwT3fORCyxKV65tDZaI//LNSfwKqZ2gUe1e5SmeEjb/bp/VvLo29Gb/3 VYJA== 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=ewrfa0RdWZS6MkHUcfI4BS+IX6TXY+PPfzZP0neg85w=; b=uv4zJRR4wckfRTJ/GcPLEk2WduU5HIQGa2+/bJ7PpPXMS6DkiZ3Xrmjf4lexylssqr R/Q+8b6W0K7uHG+hZ4IS+tRVsGEZJRMGIDcC32n++NAYJmatv9xkAMSXuen+WOM1Jz48 fZX2jIrHMkyNOE1eyzxtQV01tuuaQU2Aqq3QxbXx4LpMPpZytA2CQD3VTdHK3obRn8uA AMHIKkqMSThTqvGMeiX/6bvxMZ8g76pwoAbudeBDbFWOfqrWV3XeEtz2wbgD0eX2icro xe2Q9J3ZVAi8ColYUzTUAbM2aQHV8faF9VymQJwbbNmngDCMW7Q9iJOHAczCij9YBoBa cVNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=frh+Izkn; 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 n28si9617932ywh.365.2018.11.20.04.16.37 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 20 Nov 2018 04:16:38 -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=frh+Izkn; 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]:33350 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gP4xJ-0001g0-FY for patch@linaro.org; Tue, 20 Nov 2018 07:16:37 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43648) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gP4wx-0001fu-Fi for qemu-devel@nongnu.org; Tue, 20 Nov 2018 07:16:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gP4wu-0004z1-CT for qemu-devel@nongnu.org; Tue, 20 Nov 2018 07:16:15 -0500 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]:36736) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gP4wt-0004yi-V5 for qemu-devel@nongnu.org; Tue, 20 Nov 2018 07:16:12 -0500 Received: by mail-pf1-x435.google.com with SMTP id b85so926792pfc.3 for ; Tue, 20 Nov 2018 04:16:11 -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=ewrfa0RdWZS6MkHUcfI4BS+IX6TXY+PPfzZP0neg85w=; b=frh+IzknYBUE8rU57NqFSWPL4ri8l0lYnMfBrKw5zuzSxmvtQrZalbKjvhvGYhUPeA gG+XqmbdkZ+PWtNI9AlqrP0Gyr6RYaeJj+8npwg4aEp62/BAQ8j7OPv4vL/PYkt2hxcV TZRE2/1ZJT6gBnOI/zSCheSMey8K9IDYxJYHM= 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=ewrfa0RdWZS6MkHUcfI4BS+IX6TXY+PPfzZP0neg85w=; b=QTsl1FmoeP8IeUfEviWDZ2mhJOtfp8x0A+ZoZLiXKVKvXUkVRvHVXlSD4hAVwnmisT mM8X5xDxqWgUGzeWO4W5r6SmMiJpODSpsKiH6o7jd6FLTogk4ZOBA3cQ2Jvb7qfctUZp prC6eJXx77UTCZAq6U7ThPrYygdD4A0umU94dKualA7EsI5npbhY1UEzAY2Mpk1y39S7 TlJczW2ZEFX78URxuVSAJceeRYCMapxUKenNNdzpKpslDJKtpWPMXe/znKQOx1y3HlN5 1fXl5jpqoukxFSxEQVe7aeILXrEizX10ik9KWoga6/P2IyZllmeyGmujHbUvsLgIPuEd qxWA== X-Gm-Message-State: AGRZ1gJw9EeOrHPojzusuW1E/pzaDHkBdjToWX2wRqqpQ/jpjuXyq2mN vGgys2Iis0qO5UfX/iu9kKy/KGKeBVVHdA== X-Received: by 2002:a62:6181:: with SMTP id v123-v6mr1944146pfb.117.1542716170366; Tue, 20 Nov 2018 04:16:10 -0800 (PST) Received: from cloudburst.twiddle.net ([172.56.31.89]) by smtp.gmail.com with ESMTPSA id p11sm39244346pgn.60.2018.11.20.04.16.06 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 20 Nov 2018 04:16:09 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Tue, 20 Nov 2018 13:15:53 +0100 Message-Id: <20181120121558.7660-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: 2607:f8b0:4864:20::435 Subject: [Qemu-devel] [PATCH 0/5] tcg: Make bswap support in qemu_ld/st optional 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" Having to support bswap in the guest memory operations at times requires an irritating number of temporaries. Better to allow the bswap operations to be expanded outside of the memory ops and let register allocation do its thing. This is something that I've been planning to do for some time, to aid i386 and arm32 especially. But I've been prompted again by the nacent risc-v backend, for which this would be especially irritating to have to open-code. Alistair, for convenience I've pushed this to https://github.com/rth7680/qemu.git tcg-next-for-4.0 r~ Richard Henderson (5): tcg: Add TCG_TARGET_HAS_MEMORY_BSWAP tcg/optimize: Optimize bswap tcg/i386: Set TCG_TARGET_HAS_MEMORY_BSWAP with have_movbe tcg/aarch64: Set TCG_TARGET_HAS_MEMORY_BSWAP to false tcg/arm: Set TCG_TARGET_HAS_MEMORY_BSWAP to false tcg/aarch64/tcg-target.h | 1 + tcg/arm/tcg-target.h | 1 + tcg/i386/tcg-target.h | 3 + tcg/mips/tcg-target.h | 1 + tcg/ppc/tcg-target.h | 1 + tcg/s390/tcg-target.h | 1 + tcg/sparc/tcg-target.h | 1 + tcg/tci/tcg-target.h | 2 + tcg/aarch64/tcg-target.inc.c | 63 +++-------- tcg/arm/tcg-target.inc.c | 198 +++++++++-------------------------- tcg/i386/tcg-target.inc.c | 112 +++++++------------- tcg/optimize.c | 12 +++ tcg/tcg-op.c | 118 ++++++++++++++++++++- 13 files changed, 234 insertions(+), 280 deletions(-) -- 2.17.2