Message ID | 20180723201748.25573-72-mdroth@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show
Return-Path: <qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org> Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DC45E14BC for <patchwork-qemu-devel@patchwork.kernel.org>; Mon, 23 Jul 2018 21:24:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C92E92852B for <patchwork-qemu-devel@patchwork.kernel.org>; Mon, 23 Jul 2018 21:24:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BB10828563; Mon, 23 Jul 2018 21:24:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 288FA2852B for <patchwork-qemu-devel@patchwork.kernel.org>; Mon, 23 Jul 2018 21:24:20 +0000 (UTC) Received: from localhost ([::1]:36753 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org>) id 1fhiJW-00022y-Ue for patchwork-qemu-devel@patchwork.kernel.org; Mon, 23 Jul 2018 17:24:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42909) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <flukshun@gmail.com>) id 1fhhKT-0003hn-CJ for qemu-devel@nongnu.org; Mon, 23 Jul 2018 16:21:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <flukshun@gmail.com>) id 1fhhKQ-0005Fg-6G for qemu-devel@nongnu.org; Mon, 23 Jul 2018 16:21:13 -0400 Received: from mail-oi0-x231.google.com ([2607:f8b0:4003:c06::231]:45714) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <flukshun@gmail.com>) id 1fhhKQ-0005FN-0J; Mon, 23 Jul 2018 16:21:10 -0400 Received: by mail-oi0-x231.google.com with SMTP id q11-v6so3454191oic.12; Mon, 23 Jul 2018 13:21:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=eNFiUdYrtj6V8YdcdUftq0s+w+8iqj79jT1PgkeIBzw=; b=jPwfsqR2RhqgOiwa/IqqzXUwVDrNDHr5O0ZqqAy0Ilxj9Sornnoq8iQq7xIsDci+JK Ti8V4xrJTwacFUy/eTTcrKKeDdRmsJSivhZgYBWFUmUd7MOT41JDxoln6nfMfxHEcaLc iXUVCzJcgvwqcpvULwC2ajXHehUC8VkSgN3iW3JL6LINo+3stsIZldWL2enen1YF84I+ ImXmDGzA7Hc5ZaOFfPdr5850gjRni97PLSCDb6ghyyGIl05Gnf8LfLj7DP3DSOqifpVM aOcFcPoyr7br3H65f0exV78ZTnLWgpKYNM2TPUxoEF26gUNQwM/zt0kuQ/gfaItudimk v20w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=eNFiUdYrtj6V8YdcdUftq0s+w+8iqj79jT1PgkeIBzw=; b=eM8Ux6PWKh193DSUmrgJXv0oLeFZZ7vmpXdvNXsfzhpSeXQ4fHrFJFpTd9sfwOT/w3 HPLT/Kgxs11gG0LA7MNa5p5EsEgpaFZXS22NJd9DNLOoaEPWJvYNhwgClI3KAEvA3HZk a3ktLU8jwrV3J4eM7PTw5PNpaSULLTIWqFP7SI8j4IepR3jIsFudvDDhxFhbcd6yh+7t 48S14HUm/nuA/npFKKndpapUB7M9CoQAuXTWL4mtMcktW0/5mKsjr0E712cx3Wu0YtPv uzjevum2dbbWEH1o1CG+oMDYyZbdB6WJOi5yU8qyxiL16qeVFuWPDJrm1/6GRYxOQxk8 N/hQ== X-Gm-Message-State: AOUpUlHQ4jvXqwsMk6U+YiLGa4YvxkWBjUnSg7uv3QaEJ0YXxF2FjZA1 OCD5I1FGe6G3/TTpc+AwzqhMPvrV6nF99Q== X-Google-Smtp-Source: AAOMgpegp0Rvs3DiItC8EjQfqlDHGu1VBqLwl8UqQOCsgqqikyNNMaQ3vZBkKRWpYtfQc+y4AAqJhw== X-Received: by 2002:aca:f401:: with SMTP id s1-v6mr292189oih.269.1532377268908; Mon, 23 Jul 2018 13:21:08 -0700 (PDT) Received: from localhost (76-251-165-188.lightspeed.austtx.sbcglobal.net. [76.251.165.188]) by smtp.gmail.com with ESMTPSA id l204-v6sm6939364oia.45.2018.07.23.13.21.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 23 Jul 2018 13:21:07 -0700 (PDT) From: Michael Roth <mdroth@linux.vnet.ibm.com> To: qemu-devel@nongnu.org Date: Mon, 23 Jul 2018 15:17:20 -0500 Message-Id: <20180723201748.25573-72-mdroth@linux.vnet.ibm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180723201748.25573-1-mdroth@linux.vnet.ibm.com> References: <20180723201748.25573-1-mdroth@linux.vnet.ibm.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4003:c06::231 Subject: [Qemu-devel] [PATCH 71/99] target/arm: Implement vector shifted SCVF/UCVF for fp16 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: <qemu-devel.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe> List-Archive: <http://lists.nongnu.org/archive/html/qemu-devel/> List-Post: <mailto:qemu-devel@nongnu.org> List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=subscribe> Cc: Peter Maydell <peter.maydell@linaro.org>, Richard Henderson <richard.henderson@linaro.org>, qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" <qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org> X-Virus-Scanned: ClamAV using ClamSMTP |
Series |
Patch Round-up for stable 2.12.1, freeze on 2018-07-30
|
expand
|
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index c91329249d..f0fa6045e4 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -7159,13 +7159,26 @@ static void handle_simd_shift_intfp_conv(DisasContext *s, bool is_scalar, int immh, int immb, int opcode, int rn, int rd) { - bool is_double = extract32(immh, 3, 1); - int size = is_double ? MO_64 : MO_32; - int elements; + int size, elements, fracbits; int immhb = immh << 3 | immb; - int fracbits = (is_double ? 128 : 64) - immhb; - if (!extract32(immh, 2, 2)) { + if (immh & 8) { + size = MO_64; + if (!is_scalar && !is_q) { + unallocated_encoding(s); + return; + } + } else if (immh & 4) { + size = MO_32; + } else if (immh & 2) { + size = MO_16; + if (!arm_dc_feature(s, ARM_FEATURE_V8_FP16)) { + unallocated_encoding(s); + return; + } + } else { + /* immh == 0 would be a failure of the decode logic */ + g_assert(immh == 1); unallocated_encoding(s); return; } @@ -7173,20 +7186,14 @@ static void handle_simd_shift_intfp_conv(DisasContext *s, bool is_scalar, if (is_scalar) { elements = 1; } else { - elements = is_double ? 2 : is_q ? 4 : 2; - if (is_double && !is_q) { - unallocated_encoding(s); - return; - } + elements = (8 << is_q) >> size; } + fracbits = (16 << size) - immhb; if (!fp_access_check(s)) { return; } - /* immh == 0 would be a failure of the decode logic */ - g_assert(immh); - handle_simd_intfp_conv(s, rd, rn, elements, !is_u, fracbits, size); }