From patchwork Wed Apr 25 01:22:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 134209 Delivered-To: patch@linaro.org Received: by 10.46.151.6 with SMTP id r6csp253428lji; Tue, 24 Apr 2018 18:28:33 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqsEB65D4BEhRsxcHrtz/VPOBRSVYfLoVvsPJNDMY/vBDCt4RVWFdjGz16DWVrKuVAe5D15 X-Received: by 10.55.72.141 with SMTP id v135mr28961327qka.353.1524619712974; Tue, 24 Apr 2018 18:28:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524619712; cv=none; d=google.com; s=arc-20160816; b=dmMyh1ZfHOaTaqfPoq17O2Ilp5glFNTBbL+HGfvlHS0a2NmVvz8YLVLBAdfYeWtNoN kKitPVYKLoXqGkkIVlRcmZAtHop1zr3IfZfDyoNDLBq/1/H7Xq1go3eutlY0BVziDwRi rnyJmzeSPkcMXQwpqti+pJQS3cGNCERLWUFT9yRkQRDYeWu+wrlCXdOctiAjzr7SyRkA 3zrZyj8js6EHfqprwA06o7JalkfhuvpRTiNW3CjpslfOBfA7fqUS7Z0ENyKvuzYs1zzu LmHiheihBz/pD8llfU1NcX+JoRynZjo+WoRB4seT6gJT6MMS3DquJMtus1SK2bZ20E7i 8+iw== 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:references:in-reply-to :message-id:date:to:from:dkim-signature:arc-authentication-results; bh=dL2miW0YX+WWgqckHfvEpiy8jFMD8QTEnJmbhMgwTfU=; b=Y71ldftssOFTsiT6K+npF705D9UFJIArYmH2y2pENQgqsS/Tzl7s9Y6f0WF4+wuhyO xFTz44g2UYSW+RIA32T2+5L73dCWdp6XCfga2XrFLp9rCs8gPfael5558ZS6YumpQHt/ 7h33f/XyacHSa93a4/1bK6m5SE6kPsdSVMZabuBR4j/fjsRbCFq7vQZlbd+w1B+SSBRq KBxhRgx0DXO7m8gU3kwPoNZZCYWjehBfsJ2RJ84gpJbH0waY2ofry/hmJMRcLy8U+CiI NbvM9uR9XmZgr76VCFv8dSluegkBPQWZn5rwc8RsClvJqk8HwYHcvrMJfl194HzgU0TG qlcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=jk4rr88h; 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 e13si3665569qvb.235.2018.04.24.18.28.32 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 24 Apr 2018 18:28:32 -0700 (PDT) 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=jk4rr88h; 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]:33325 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fB9EW-0008KN-Bl for patch@linaro.org; Tue, 24 Apr 2018 21:28:32 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55431) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fB99Q-0003zI-GP for qemu-devel@nongnu.org; Tue, 24 Apr 2018 21:23:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fB99P-0007MA-Km for qemu-devel@nongnu.org; Tue, 24 Apr 2018 21:23:16 -0400 Received: from mail-pf0-x241.google.com ([2607:f8b0:400e:c00::241]:35737) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fB99P-0007KO-Ek for qemu-devel@nongnu.org; Tue, 24 Apr 2018 21:23:15 -0400 Received: by mail-pf0-x241.google.com with SMTP id j5so13752383pfh.2 for ; Tue, 24 Apr 2018 18:23:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=dL2miW0YX+WWgqckHfvEpiy8jFMD8QTEnJmbhMgwTfU=; b=jk4rr88hvWI6OjFTBppO4DiMDVN+t84qNyWOWJO1XTy6QFh4eiSxx/Jzjavm+jKQgQ B4ITygZ99Sg4CWZ/b7ZZGnq/QSuEUTm1+uJZtm/wvIps7Fh0psUrIpktGKcAx2NJWY5c a21S/4OqldeLI9w5xpJd5vkcr/MtP/bbi4jaA= 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:in-reply-to :references; bh=dL2miW0YX+WWgqckHfvEpiy8jFMD8QTEnJmbhMgwTfU=; b=HTeGF8EEnz2TipXcS+UalDr//DXkAwzrOrYozihzJbJcvd61oMkpbAgMSGrtjc5f51 ZKD0LeR5vg+B/Ymzu0aRqptRrGwYXcSnq6iRI9XzxWxUpXpVhmaRXYWeOR7k+QhG8HFr e29NAE9awJhTDROPJs8Zb4/qm774c/SGffffR/C+eySo52FDyq+fXvUOjmNTKCwRjiVz pkakRWJooijZV4GcsMS2AqXmpkNfV46PMlSKyhMr6bMuLpyzAu4dHhGH0sx/gPbaseLX cn6DOu/dxPeJzjn9wui07FATjr28gOcZkbDHP2P9Z4QF7GuBUbjJUKcQjglGHFf7n9eD PVgQ== X-Gm-Message-State: ALQs6tAmD1ZoUoa4wOvDN1adM+B/AkxSbU4gAMo+oEgz8GnMS6Ma/5BH 8wiSf3Og2LMiXvNxXMnAUIiZazljsHU= X-Received: by 10.98.214.218 with SMTP id a87mr21648027pfl.200.1524619394076; Tue, 24 Apr 2018 18:23:14 -0700 (PDT) Received: from cloudburst.twiddle.net.com (cpe-76-173-164-138.hawaii.res.rr.com. [76.173.164.138]) by smtp.gmail.com with ESMTPSA id z127sm27767966pfb.72.2018.04.24.18.23.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 24 Apr 2018 18:23:13 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Tue, 24 Apr 2018 15:22:55 -1000 Message-Id: <20180425012300.14698-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180425012300.14698-1-richard.henderson@linaro.org> References: <20180425012300.14698-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::241 Subject: [Qemu-devel] [PATCH 4/9] target/arm: Clear SVE high bits for FMOV 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: peter.maydell@linaro.org, alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Use write_fp_dreg and clear_vec_high to zero the bits that need zeroing for these cases. Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) -- 2.14.3 Reviewed-by: Alex Bennée diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index b27892d971..f2241d8174 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -5356,31 +5356,24 @@ static void handle_fmov(DisasContext *s, int rd, int rn, int type, bool itof) if (itof) { TCGv_i64 tcg_rn = cpu_reg(s, rn); + TCGv_i64 tmp; switch (type) { case 0: - { /* 32 bit */ - TCGv_i64 tmp = tcg_temp_new_i64(); + tmp = tcg_temp_new_i64(); tcg_gen_ext32u_i64(tmp, tcg_rn); - tcg_gen_st_i64(tmp, cpu_env, fp_reg_offset(s, rd, MO_64)); - tcg_gen_movi_i64(tmp, 0); - tcg_gen_st_i64(tmp, cpu_env, fp_reg_hi_offset(s, rd)); + write_fp_dreg(s, rd, tmp); tcg_temp_free_i64(tmp); break; - } case 1: - { /* 64 bit */ - TCGv_i64 tmp = tcg_const_i64(0); - tcg_gen_st_i64(tcg_rn, cpu_env, fp_reg_offset(s, rd, MO_64)); - tcg_gen_st_i64(tmp, cpu_env, fp_reg_hi_offset(s, rd)); - tcg_temp_free_i64(tmp); + write_fp_dreg(s, rd, tcg_rn); break; - } case 2: /* 64 bit to top half. */ tcg_gen_st_i64(tcg_rn, cpu_env, fp_reg_hi_offset(s, rd)); + clear_vec_high(s, true, rd); break; } } else {