From patchwork Fri Aug 10 19:31:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 956454 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="jt1NzKxX"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41nFdg0vd8z9s47 for ; Sat, 11 Aug 2018 05:32:55 +1000 (AEST) Received: from localhost ([::1]:57703 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foD9Y-0002ms-Nn for incoming@patchwork.ozlabs.org; Fri, 10 Aug 2018 15:32:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59035) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foD8K-0002Q6-9R for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1foD8I-0005Ym-Eq for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:36 -0400 Received: from mail-pl0-x242.google.com ([2607:f8b0:400e:c01::242]:40657) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1foD8I-0005Xm-9N for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:34 -0400 Received: by mail-pl0-x242.google.com with SMTP id s17-v6so4429158plp.7 for ; Fri, 10 Aug 2018 12:31:34 -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=bk9aNg5b9FKQDk0OVcl2sW6P1/ZLeQzrd0wUOLiKWxY=; b=jt1NzKxXeoGE0JBtRi/R31Wpd4eF7xIDxZCY5MgAlwBOyH7xUc/UgftkOlUfXRhaTV y6wAr0+mYaC3QvpxU8R7Jnq92sDtfksbZrVvv8Bdh/Jd8Dov6LOwNbO009342jDYMWhr 7E/leNea5Txfdv/l4a49D0TUY+uweNJz1Icw4= 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=bk9aNg5b9FKQDk0OVcl2sW6P1/ZLeQzrd0wUOLiKWxY=; b=Z0RDWn5UsBt9K6LYpGMcmGjTjx7+sU1HUnsNh274iv6JOLV+uNWos/qh3bS7qqfnan /+g/nrYLsK6u7/6hrqbE0wl6CMMpgsKqLhOpeIH5VSKrpsXloG3XvY4L1kRVkrnhJCY4 HPAv39UNqOr4cLRILUmcn3qqBlpAhJp/dBU1OmChG7dpx0a2Am3yJZKgCgdOcO9oPOwV RkhMIkq1dvQO8ltNWJM1bW8Vnn9JjG+GXzFcJBwk8BaZqqQ9kYQb/iE4TR7+OqYOZL1+ 0kzXG0TRX1u7651lWKGo2YKoIOnlcypTueUJ4+gdHDiHepmqkwVgSQPQKllrcM0kx63L Ul+w== X-Gm-Message-State: AOUpUlE3tZqqGR0ersSbd3jJp5KT5TPr1K3oOl2kDiMgvuvkBOdZazDt qtyxwRBEwXNoUFKFqojTHHioNUkwalI= X-Google-Smtp-Source: AA+uWPzAj7gJjXKFpIe8EuN/mxU2Wz9uQbDvW5iD/2VXtC2UJkBEBp7IYa5YqLQMFAoG98xd9DO8kA== X-Received: by 2002:a17:902:c6b:: with SMTP id 98-v6mr7158092pls.233.1533929493079; Fri, 10 Aug 2018 12:31:33 -0700 (PDT) Received: from cloudburst.twiddle.net (97-113-8-179.tukw.qwest.net. [97.113.8.179]) by smtp.gmail.com with ESMTPSA id g28-v6sm20500949pfe.41.2018.08.10.12.31.31 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 10 Aug 2018 12:31:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 10 Aug 2018 12:31:24 -0700 Message-Id: <20180810193129.1556-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180810193129.1556-1-richard.henderson@linaro.org> References: <20180810193129.1556-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:c01::242 Subject: [Qemu-devel] [PATCH 1/6] target/arm: Adjust FPCR_MASK for FZ16 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: laurent.desnogues@gmail.com, peter.maydell@linaro.org, alex.bennee@linaro.org, qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" When support for FZ16 was added, we failed to include the bit within FPCR_MASK, which means that it could never be set. Continue to zero FZ16 when ARMv8.2-FP16 is not enabled. Fixes: d81ce0ef2c4 Cc: qemu-stable@nongnu.org (3.0.1) Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson Tested-by: Laurent Desnogues Reviewed-by: Laurent Desnogues --- target/arm/cpu.h | 2 +- target/arm/helper.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 33d06f2340..0176716a70 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -1279,7 +1279,7 @@ void vfp_set_fpscr(CPUARMState *env, uint32_t val); * we store the underlying state in fpscr and just mask on read/write. */ #define FPSR_MASK 0xf800009f -#define FPCR_MASK 0x07f79f00 +#define FPCR_MASK 0x07ff9f00 #define FPCR_FZ16 (1 << 19) /* ARMv8.2+, FP16 flush-to-zero */ #define FPCR_FZ (1 << 24) /* Flush-to-zero enable bit */ diff --git a/target/arm/helper.c b/target/arm/helper.c index 64ff71b722..452d5e182a 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11351,6 +11351,11 @@ void HELPER(vfp_set_fpscr)(CPUARMState *env, uint32_t val) int i; uint32_t changed; + /* When ARMv8.2-FP16 is not supported, FZ16 is RES0. */ + if (!arm_feature(env, ARM_FEATURE_V8_FP16)) { + val &= ~FPCR_FZ16; + } + changed = env->vfp.xregs[ARM_VFP_FPSCR]; env->vfp.xregs[ARM_VFP_FPSCR] = (val & 0xffc8ffff); env->vfp.vec_len = (val >> 16) & 7; From patchwork Fri Aug 10 19:31:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 956457 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="gqdeXopt"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41nFhc2y9lz9s47 for ; Sat, 11 Aug 2018 05:35:28 +1000 (AEST) Received: from localhost ([::1]:57714 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foDC2-00051q-4U for incoming@patchwork.ozlabs.org; Fri, 10 Aug 2018 15:35:26 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59043) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foD8K-0002QL-LP for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1foD8J-0005aP-O0 for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:36 -0400 Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]:42239) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1foD8J-0005ZR-IJ for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:35 -0400 Received: by mail-pg1-x543.google.com with SMTP id y4-v6so4835842pgp.9 for ; Fri, 10 Aug 2018 12:31:35 -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=OdYmfxmhLk4+vClaCguZe9gt4aYiR2MJeDB2pbPXukg=; b=gqdeXoptZXxJa136MxDyDuSg5L1V1rEt+o73e1c0FBZy8tRX6QtMEFF37gxgQHt4xz Vh0bAS26RwGbNeJZQP1eBIabN58krmBRGgG7AAK957lSaiUp3l+GLk3ZHmdx+HBuPJmb Df6UJ4KSnXhLcIgrLgfJBnjJfFjVRy+vAVz20= 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=OdYmfxmhLk4+vClaCguZe9gt4aYiR2MJeDB2pbPXukg=; b=t0vPBKecJNQlqEExN0lLFggNqNu3yJGDw//sjqZZ154KcbEKg4kjv1/JNr1ucuRIYp CUO5uVb5Fo6dUrRaFZ8Y07/S6PkSrynrnYlZUZj4IQ5iPadvcXLZ0pvc/DUMM+AK2PJ5 +Fs+J5vW/vZR+n4Nx1IWoDJy8kAk98OQ9mrth+XcU6BRGc4qcNczj2Dvn+SaFE6Hogdq jYC0U6B0oK0jXH86mqpw7TO0p5SMd92j8t33CRlUiAMgcWitNY3356HdrjH7nCF56Fjr F5WurLjKUj/rnQp5H8gvEub9VyPPsjD0VBrodP+5znFfo3KiOI7kWjHwRAVnRH7rp1fg 2QUA== X-Gm-Message-State: AOUpUlGRddViX3wmZMKERPw0rdbf3VSFAmx4UiZdqLlwpH2T3hVnksxt 10eu+TZP41b+l7GOn8Xen4WA+b26SVM= X-Google-Smtp-Source: AA+uWPxXgq7/HKPB2qHn0N74bTbIU1TMcJKsXXeZLJYMhH6BdIoNHb9aZvS8VmyE8kwKD6Ekk0JwWA== X-Received: by 2002:a62:c410:: with SMTP id y16-v6mr8293167pff.161.1533929494336; Fri, 10 Aug 2018 12:31:34 -0700 (PDT) Received: from cloudburst.twiddle.net (97-113-8-179.tukw.qwest.net. [97.113.8.179]) by smtp.gmail.com with ESMTPSA id g28-v6sm20500949pfe.41.2018.08.10.12.31.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 10 Aug 2018 12:31:33 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 10 Aug 2018 12:31:25 -0700 Message-Id: <20180810193129.1556-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180810193129.1556-1-richard.henderson@linaro.org> References: <20180810193129.1556-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::543 Subject: [Qemu-devel] [PATCH 2/6] target/arm: Ignore float_flag_input_denormal from fp_status_f16 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: laurent.desnogues@gmail.com, peter.maydell@linaro.org, alex.bennee@linaro.org, qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" When FZ is set, input_denormal exceptions are recognized, but this does not happen with FZ16. The softfloat code has no way to distinguish these bits and will raise such exceptions into fp_status_f16.flags, so ignore them when computing the accumulated flags. Cc: qemu-stable@nongnu.org (3.0.1) Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson Tested-by: Laurent Desnogues Reviewed-by: Laurent Desnogues --- target/arm/helper.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 452d5e182a..61454a77ec 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11314,9 +11314,13 @@ uint32_t HELPER(vfp_get_fpscr)(CPUARMState *env) fpscr = (env->vfp.xregs[ARM_VFP_FPSCR] & 0xffc8ffff) | (env->vfp.vec_len << 16) | (env->vfp.vec_stride << 20); + i = get_float_exception_flags(&env->vfp.fp_status); i |= get_float_exception_flags(&env->vfp.standard_fp_status); - i |= get_float_exception_flags(&env->vfp.fp_status_f16); + /* FZ16 does not generate an input denormal exception. */ + i |= (get_float_exception_flags(&env->vfp.fp_status_f16) + & ~float_flag_input_denormal); + fpscr |= vfp_exceptbits_from_host(i); return fpscr; } From patchwork Fri Aug 10 19:31:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 956458 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="RSlORbMc"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41nFl7541wz9s47 for ; Sat, 11 Aug 2018 05:37:39 +1000 (AEST) Received: from localhost ([::1]:57732 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foDE9-0007E9-Dm for incoming@patchwork.ozlabs.org; Fri, 10 Aug 2018 15:37:37 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59079) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foD8M-0002RG-8u for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1foD8L-0005bx-AS for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:38 -0400 Received: from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d]:35608) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1foD8L-0005bK-4b for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:37 -0400 Received: by mail-pg1-x52d.google.com with SMTP id w10-v6so4850986pgv.2 for ; Fri, 10 Aug 2018 12:31:37 -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=6UAMSO03RLeAqSaR4DkT/nbFk3brOePDVVhhgxI7HlI=; b=RSlORbMc4VVUMCEmjuzUiU6IwgFSYR/xse29o3VkyxZaza42emGf2SkwQv/5qwA88E srgidNDSboIWJTrwiDuAKi1BuN3VrSwDxlX+BpeRgISnuD17gDD6uGF5yxjag8oWkdsk zbJi6gES/Y1gtyJK1XtM5m2AAxD6krosfKGfo= 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=6UAMSO03RLeAqSaR4DkT/nbFk3brOePDVVhhgxI7HlI=; b=q3+OhjQnV7/09a0fp4QpxL+U1AkyuK9dg80kG90GvEpQVaMuYdozehwRn84stHeWY5 R5a0a3YbNppfxdzjKKWU6VlF1YLD3FHJv+neo57ulswGg99e6EJra/xSyHh4fTn7IxFt plIAhD8ZaQfNhNFGqlR0+AA2IwJa8UoBotxZp8lLBp7IwQ3bgxoMsT3H8b1Ytvi13pp/ IQ4JyG1VAjpc6Br0J/eJyBDZBv4wGQqjtgZB40BBuwkhvC5ZtKAXBUS5mzcMCop37Paf TxOyNKINdhFCW/4XS3fYcRG5pfqyuC6HiLUgQ+nT2JqAGrZXPSoRbwvQ35a8zIQiyqFE yyNA== X-Gm-Message-State: AOUpUlHA1ZVLbAfyjEhtNANY+Tat2Eclwrzn6ngW1C4wIt7CQyA80Dom 3ePk29PZYvSMdXQHLKRLWm0vN4j/71I= X-Google-Smtp-Source: AA+uWPzmnWTZ287rPQrn0qXLpraxIDxAshCDpBWKcSlLnr4zKkf9ShQtVZVIpYkvYTUv9Ddv/nlGJw== X-Received: by 2002:a62:1815:: with SMTP id 21-v6mr8319410pfy.227.1533929495878; Fri, 10 Aug 2018 12:31:35 -0700 (PDT) Received: from cloudburst.twiddle.net (97-113-8-179.tukw.qwest.net. [97.113.8.179]) by smtp.gmail.com with ESMTPSA id g28-v6sm20500949pfe.41.2018.08.10.12.31.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 10 Aug 2018 12:31:34 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 10 Aug 2018 12:31:26 -0700 Message-Id: <20180810193129.1556-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180810193129.1556-1-richard.henderson@linaro.org> References: <20180810193129.1556-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::52d Subject: [Qemu-devel] [PATCH 3/6] target/arm: Use fp_status_fp16 for do_fmpa_zpzzz_h 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: laurent.desnogues@gmail.com, peter.maydell@linaro.org, alex.bennee@linaro.org, qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This makes float16_muladd correctly use FZ16 not FZ. Fixes: 6ceabaad110 Cc: qemu-stable@nongnu.org (3.0.1) Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson Tested-by: Laurent Desnogues Reviewed-by: Laurent Desnogues --- target/arm/sve_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index 5bae600d17..f8434e68f2 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -3398,7 +3398,7 @@ static void do_fmla_zpzzz_h(CPUARMState *env, void *vg, uint32_t desc, e1 = *(uint16_t *)(vn + H1_2(i)) ^ neg1; e2 = *(uint16_t *)(vm + H1_2(i)); e3 = *(uint16_t *)(va + H1_2(i)) ^ neg3; - r = float16_muladd(e1, e2, e3, 0, &env->vfp.fp_status); + r = float16_muladd(e1, e2, e3, 0, &env->vfp.fp_status_f16); *(uint16_t *)(vd + H1_2(i)) = r; } } while (i & 63); From patchwork Fri Aug 10 19:31:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 956459 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="ATLf6pOR"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41nFmb2Q9fz9s4V for ; Sat, 11 Aug 2018 05:38:55 +1000 (AEST) Received: from localhost ([::1]:57735 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foDFM-0007zc-UE for incoming@patchwork.ozlabs.org; Fri, 10 Aug 2018 15:38:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59104) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foD8N-0002SV-TH for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1foD8N-0005dd-3f for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:39 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]:38396) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1foD8M-0005cs-SO for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:38 -0400 Received: by mail-pf1-x42c.google.com with SMTP id x17-v6so4974291pfh.5 for ; Fri, 10 Aug 2018 12:31:38 -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=yUHh03LlyNzKZFiiMyaiYXUwEG+zr0KJzO7tyAwZfc0=; b=ATLf6pOR3tJ1vYuITf0BtFp13rjEw9kfv2uVLXvLtzb6aWL+bCyni5nKvF0fqbwIuE H8tOYbD6M+C+dCAmraw74u+B5C1z1gqvlwY2hbEodAdJoz5Akxd2McRYmllgYUWGNVl2 Pm0xQM3rfDbCexlnAUOxIUOG48hF9dgD0/sk0= 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=yUHh03LlyNzKZFiiMyaiYXUwEG+zr0KJzO7tyAwZfc0=; b=lztyDn1jEI+hEh50jrmJheFF25dFsiZ66OWDNqCqo2PuVYCet2ae3tm8Q2ORcejtOC fIgW3R/Gtf9K+doCUTZDhQazvR5lMAN4qV5BC09gUV0/jWjHuOcDH7dVFDohLNcVg7Dz ahESxXQhDQLX62hjlbgCDT11vWmZuYp4DsMAbgLWh/dYa8COkDHHxoeK/XOuwWmzjHcx Px+sLwAw8mLD/dDrUUCjUbtkcZZRu1IfxHEs7nV2USMIWwjYvuuXUVxcSCTrTC6dLrPS trc5utLSr/F8iogjR3dTBye9rFWMlHwzW4sJuSap7G50or0092e+Llwcr6QdG7XcKbOv uLWg== X-Gm-Message-State: AOUpUlFsmYrLdwphjRwOB7qUAsg7e57lj3iIGQayUbu+RxN4YkXNFLAc ZjEYUsBv8sE40nm6J0uyJ80Bx4+q0gI= X-Google-Smtp-Source: AA+uWPxpljRA+GkGkaAcAjiw81EucA60IK9xlndie4CKJc3VUpjY2lXzmBJB/MPOqRsliJive4M3Dg== X-Received: by 2002:a62:1e81:: with SMTP id e123-v6mr8436641pfe.24.1533929497391; Fri, 10 Aug 2018 12:31:37 -0700 (PDT) Received: from cloudburst.twiddle.net (97-113-8-179.tukw.qwest.net. [97.113.8.179]) by smtp.gmail.com with ESMTPSA id g28-v6sm20500949pfe.41.2018.08.10.12.31.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 10 Aug 2018 12:31:36 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 10 Aug 2018 12:31:27 -0700 Message-Id: <20180810193129.1556-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180810193129.1556-1-richard.henderson@linaro.org> References: <20180810193129.1556-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::42c Subject: [Qemu-devel] [PATCH 4/6] target/arm: Use FZ not FZ16 for SVE FCVT single-half and double-half 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: laurent.desnogues@gmail.com, peter.maydell@linaro.org, alex.bennee@linaro.org, qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" We were using the wrong flush-to-zero bit for the non-half input. Fixes: 46d33d1e3c9 Cc: qemu-stable@nongnu.org (3.0.1) Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson Tested-by: Laurent Desnogues Reviewed-by: Laurent Desnogues --- target/arm/translate-sve.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 05ba0518c8..fe7aebdc19 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -4093,7 +4093,7 @@ static bool do_zpz_ptr(DisasContext *s, int rd, int rn, int pg, static bool trans_FCVT_sh(DisasContext *s, arg_rpr_esz *a, uint32_t insn) { - return do_zpz_ptr(s, a->rd, a->rn, a->pg, true, gen_helper_sve_fcvt_sh); + return do_zpz_ptr(s, a->rd, a->rn, a->pg, false, gen_helper_sve_fcvt_sh); } static bool trans_FCVT_hs(DisasContext *s, arg_rpr_esz *a, uint32_t insn) @@ -4103,7 +4103,7 @@ static bool trans_FCVT_hs(DisasContext *s, arg_rpr_esz *a, uint32_t insn) static bool trans_FCVT_dh(DisasContext *s, arg_rpr_esz *a, uint32_t insn) { - return do_zpz_ptr(s, a->rd, a->rn, a->pg, true, gen_helper_sve_fcvt_dh); + return do_zpz_ptr(s, a->rd, a->rn, a->pg, false, gen_helper_sve_fcvt_dh); } static bool trans_FCVT_hd(DisasContext *s, arg_rpr_esz *a, uint32_t insn) From patchwork Fri Aug 10 19:31:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 956455 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="dwropqyV"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41nFdh47zgz9s47 for ; Sat, 11 Aug 2018 05:32:56 +1000 (AEST) Received: from localhost ([::1]:57705 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foD9a-0002nf-8l for incoming@patchwork.ozlabs.org; Fri, 10 Aug 2018 15:32:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59115) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foD8P-0002SZ-1q for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1foD8O-0005eh-9D for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:41 -0400 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]:38760) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1foD8O-0005dy-2U for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:40 -0400 Received: by mail-pf1-x441.google.com with SMTP id x17-v6so4974310pfh.5 for ; Fri, 10 Aug 2018 12:31:39 -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=tf0EXkqA/UE/bR2UWszaBaMTE99+BwbEbsa7o98ekHk=; b=dwropqyVMCX0NTRHRCM9yxUYjyg3uJT9fdB8LatPt2vevLZzC81fOmlyrAX/EbZDFI bk2XQ8SUwBoIpSRtvgrPx8XUBPR08vIYsM9NmMfldfyCHtt+IyS8LHa6Frq3yyUBUnGD 9T6IXlzUS3jNqfOw0cXXG8GO6BfldbWB6uc44= 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=tf0EXkqA/UE/bR2UWszaBaMTE99+BwbEbsa7o98ekHk=; b=bXWeg10LOfJ6sEMMyj7SVo9nu+o48VgiO478zRH+N9WvI6PLlwgOOFptHPXJV1n50d mNmcBLhl18B9evYedB3xTCkxsCh7lQ/t/3ntTlNY7otaX5guZhQ1LMI8E+P5DsgigxOw KEZChRFFpODudxghUebA0u36pjchaOugG8d6CU7GH0TySaZswCWgmdTQPZNHImKswg1f rhpaI1SKnXR+HLe1DU8mebgGFGf0VxC0mpBn9ESdEYwXrvj3V1JAxNN7J7ciH3pJu2SV XS6nOvxxzMasu11bGIz6RkKnCnbSSGUeY6c27xW7aHaH2HSGQ6bdWlskGQ6q1yYF/uI7 0bXg== X-Gm-Message-State: AOUpUlHZviZdcYhi6a83Lb7t7MqxT9S/Hjx85LZCqORh7c/fIa+UgMaN KSV+BUcBff8WXkn01j3tNUtFCG/P1ro= X-Google-Smtp-Source: AA+uWPwmB+NXjWsa4F5Mx4v9rJX3/Ad0/lvnBPg9ng3JcGV+e5ctaY4/SB07f2FogmdE/Jt16upoQA== X-Received: by 2002:a63:4811:: with SMTP id v17-v6mr7454892pga.379.1533929498783; Fri, 10 Aug 2018 12:31:38 -0700 (PDT) Received: from cloudburst.twiddle.net (97-113-8-179.tukw.qwest.net. [97.113.8.179]) by smtp.gmail.com with ESMTPSA id g28-v6sm20500949pfe.41.2018.08.10.12.31.37 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 10 Aug 2018 12:31:37 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 10 Aug 2018 12:31:28 -0700 Message-Id: <20180810193129.1556-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180810193129.1556-1-richard.henderson@linaro.org> References: <20180810193129.1556-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::441 Subject: [Qemu-devel] [PATCH 5/6] target/arm: Fix aa64 FCADD and FCMLA decode 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: laurent.desnogues@gmail.com, peter.maydell@linaro.org, alex.bennee@linaro.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" These insns require u=1; failed to include that in the switch cases. This probably happened during one of the rebases just before final commit. Fixes: d17b7cdcf4e Signed-off-by: Richard Henderson Reviewed-by: Laurent Desnogues --- target/arm/translate-a64.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 4a0ca8c906..8a24278d79 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -11427,12 +11427,12 @@ static void disas_simd_three_reg_same_extra(DisasContext *s, uint32_t insn) } feature = ARM_FEATURE_V8_DOTPROD; break; - case 0x8: /* FCMLA, #0 */ - case 0x9: /* FCMLA, #90 */ - case 0xa: /* FCMLA, #180 */ - case 0xb: /* FCMLA, #270 */ - case 0xc: /* FCADD, #90 */ - case 0xe: /* FCADD, #270 */ + case 0x18: /* FCMLA, #0 */ + case 0x19: /* FCMLA, #90 */ + case 0x1a: /* FCMLA, #180 */ + case 0x1b: /* FCMLA, #270 */ + case 0x1c: /* FCADD, #90 */ + case 0x1e: /* FCADD, #270 */ if (size == 0 || (size == 1 && !arm_dc_feature(s, ARM_FEATURE_V8_FP16)) || (size == 3 && !is_q)) { From patchwork Fri Aug 10 19:31:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 956456 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="Y+ONhweV"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41nFgB0pRXz9s4V for ; Sat, 11 Aug 2018 05:34:12 +1000 (AEST) Received: from localhost ([::1]:57710 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foDAl-0003gG-SD for incoming@patchwork.ozlabs.org; Fri, 10 Aug 2018 15:34:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59128) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foD8Q-0002Se-0r for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1foD8P-0005fV-B5 for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:42 -0400 Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]:44954) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1foD8P-0005f2-5O for qemu-devel@nongnu.org; Fri, 10 Aug 2018 15:31:41 -0400 Received: by mail-pg1-x543.google.com with SMTP id r1-v6so4829227pgp.11 for ; Fri, 10 Aug 2018 12:31:41 -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=Y+/qvMWgmtaKUgYpCZgt6h+1WcjiP8pBregr55tLYTA=; b=Y+ONhweV4FCP6WxMn+pY8DgqzWq4G0u01Ul/C9qhZT6XLTpiLsjmX2py9nFGO7R5Gd aZoZYZQ9MK4CqAp+DaePgUQ/XaokK7M8/YZUjhmkSFYoTHyZs4NiWMfw6C0ch54McArN tO5tMXKm/bEbo7oe4HHfT6tqZUsROHWC8sodg= 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=Y+/qvMWgmtaKUgYpCZgt6h+1WcjiP8pBregr55tLYTA=; b=VLf6/2+hprkrviG8aySm3LoMB/+Ef4SBc4h9ZGTYBm4Ut6aQhwBwAW6zAog9en0AZj QjABrTABLC3FurgiFvYm/eBdkFygv+ub/4DSFOrTtnI8GrVnobBzEPyiV+zKiuJyWWaA vCzMZ53cgjgoWfvZ4Xkb1zv3p/EtNJRhePOCMe9rUyjb4itBw+ehHHysvMuYgD+jcrLG JoD/NyL8/FaeowvD1HqM3A8sf+3Gv0xhRGQDKHGkcl9s8zQh+OCkYyDVYP6VG+y+YY5h 9yUGQ5zIM8fOM+D/q1PcDpUq0Wr/LsMKDY2kbDbC5MlhV5+bs5gyclfiEFb31l/Pj7ky zYCQ== X-Gm-Message-State: AOUpUlFUekNrSY4OtLwzTFJ3CYzPRoB7kB02U5AVDV6Wk03ZBOiaR+yS z61zcGXCK4WhFdUD/XdpzmPOUTulQA0= X-Google-Smtp-Source: AA+uWPwibixXU9lczKTNXt6XCvzB9HbvCYR9mWROm66vjyxtvZGhwjSZubmRjDKIeQ5AgpTDceDBgQ== X-Received: by 2002:a63:f002:: with SMTP id k2-v6mr7533133pgh.8.1533929500008; Fri, 10 Aug 2018 12:31:40 -0700 (PDT) Received: from cloudburst.twiddle.net (97-113-8-179.tukw.qwest.net. [97.113.8.179]) by smtp.gmail.com with ESMTPSA id g28-v6sm20500949pfe.41.2018.08.10.12.31.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 10 Aug 2018 12:31:39 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 10 Aug 2018 12:31:29 -0700 Message-Id: <20180810193129.1556-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180810193129.1556-1-richard.henderson@linaro.org> References: <20180810193129.1556-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::543 Subject: [Qemu-devel] [PATCH 6/6] softfloat: Fix missing inexact for floating-point add 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: laurent.desnogues@gmail.com, peter.maydell@linaro.org, alex.bennee@linaro.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" For 0x1.0000000000003p+0 + 0x1.ffffffep+14 = 0x1.0001fffp+15 we dropped the sticky bit and so failed to raise inexact. Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson Tested-by: Laurent Desnogues Reviewed-by: Laurent Desnogues --- fpu/softfloat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fpu/softfloat.c b/fpu/softfloat.c index 8cd2400081..7d63cffdeb 100644 --- a/fpu/softfloat.c +++ b/fpu/softfloat.c @@ -701,7 +701,7 @@ static FloatParts addsub_floats(FloatParts a, FloatParts b, bool subtract, } a.frac += b.frac; if (a.frac & DECOMPOSED_OVERFLOW_BIT) { - a.frac >>= 1; + shift64RightJamming(a.frac, 1, &a.frac); a.exp += 1; } return a;