From patchwork Wed Apr 25 01:22:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 134212 Delivered-To: patch@linaro.org Received: by 10.46.151.6 with SMTP id r6csp254840lji; Tue, 24 Apr 2018 18:30:19 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqvZimYTq15wDxZPJN3jYFqvE9am0wMZknMs3vIo9Yr4wyvaXr2HdJBatbf7vMNRMWY+udV X-Received: by 10.12.150.180 with SMTP id a49mr6316444qvd.119.1524619818976; Tue, 24 Apr 2018 18:30:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524619818; cv=none; d=google.com; s=arc-20160816; b=Av3YzcovLrPXfhiBWjbJLQC8Cs6xnCGldvGQ7VX3QZykko7Usy8UKVe2WpINAbviqB UXDnPb9mUIZ8jwozhlUFHjccVBtp3WunzcUR9Ka8SVzQGIL0iQLrFEZedQF+JXQdgAHi UGAzKj+t5Z9y+7qX97i4Yc3t/qbnHbEbKO+AZGw+1pJ22AJgrYv2163RMfSpfZ4bHbWK A53fgVwJlQBmqEQppBTRFwk2rLbVBIh2GbcEwPPU54N6hve/+mjudJTEwlVE0bCogZFr w5rh70fOibds5rWeJzVWlDrRLmkq0+1mcRFAlORnNvagqT2PZCiE9bBCV5Xxp6cYV8lv 2Hnw== 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=G737kt/S5OrmE3LHlBoTNTT6qSAVbYh6VUnHdxp5Ajs=; b=W6E+N7QNqjY16rLbwKbKzVM66y91XR+0cq6S252dsG0urcNgwxr8XWDR6IBmIulbVp RW9fL4PRD9oZGdTNS+qN5OP8oTqdpAN7eHCAgOJnfkHMgTZao0gcSmfBaMqclTMyB2px /jFhhn2Aoz5VTDZxQT7Udj3FXPl3wpkcBguENul0iux/TrIaHHJPUGTePQUMZ+XPb6is W9wbPchRrOinrlHhg8Ni67AbAhKE6XC9sYaITLCR0KoBW/Sg3bxws4GlgXecvqZsScoT peK8vnKL7kBYZ2lxRKAGNpAqLu9rcdmh6v8YaN8RxCSopTzs/ortjYRYy/azc67wE9h+ O9vg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=gnfAGaAL; 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 n129si5218604qkc.86.2018.04.24.18.30.18 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 24 Apr 2018 18:30:18 -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=gnfAGaAL; 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]:33336 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fB9GE-0001VF-F6 for patch@linaro.org; Tue, 24 Apr 2018 21:30:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55476) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fB99Y-00046l-2D for qemu-devel@nongnu.org; Tue, 24 Apr 2018 21:23:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fB99U-0007Uw-Sg for qemu-devel@nongnu.org; Tue, 24 Apr 2018 21:23:24 -0400 Received: from mail-pg0-x242.google.com ([2607:f8b0:400e:c05::242]:33565) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fB99U-0007U9-Li for qemu-devel@nongnu.org; Tue, 24 Apr 2018 21:23:20 -0400 Received: by mail-pg0-x242.google.com with SMTP id i194so12140107pgd.0 for ; Tue, 24 Apr 2018 18:23:20 -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=G737kt/S5OrmE3LHlBoTNTT6qSAVbYh6VUnHdxp5Ajs=; b=gnfAGaALw4hHglsrpa0GLGcspaKZkpjSV4/CtF36szuu217/uoaH/NMLxXT+qMxWnO quCFWjitdDKOpFpiUzHF/XoQeFSaLlaZ1MQqTEDQ83q6yqCJJQZU6D2mubw4wfnUDvvZ LnWf63Hb7VKywJ/YDn+I+5gBgtaQCFb5TgbTc= 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=G737kt/S5OrmE3LHlBoTNTT6qSAVbYh6VUnHdxp5Ajs=; b=cKpFUZ7Y8JlnRQ35tM3xS2n8mXDy8TlcT6cF9CjI2DPfs+P7XyQEiCwmbouyF23XSP Bn1+vSm1Z2G/1WfYxTP52mborZpHFLEzdnHhezAUyQGv3tDSZDiQRoo+VZB/80ECmycj wuW6+B5LziVMlHwo+D6pi/yavIEs6D2VTySWd6bjt8BMUlLxFmUPIhfOYgTZHgin0FBr f/w713lWpSk9DfFTPLqEbRio2Tv5HqTfinB3FLNlj7nWdHCTJBQ0wR8kS1BPP1O0Jr4B MkwPK3itxozc/jiqYtI8h6eCmSeKhOtGK0jK5ySW5zrsYNs18IpNX7cUlOYoRmCTN1gJ OCQg== X-Gm-Message-State: ALQs6tDMk6MACT61XpAyswE3V9TLCHVXaCVtjwyF9M52cFHBwcmse4OB PdXMTirfxFHBjmGvOdRlmXLrxWIWtR4= X-Received: by 10.99.145.196 with SMTP id l187mr21979569pge.261.1524619399321; Tue, 24 Apr 2018 18:23:19 -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.17 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 24 Apr 2018 18:23:18 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Tue, 24 Apr 2018 15:22:58 -1000 Message-Id: <20180425012300.14698-8-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:c05::242 Subject: [Qemu-devel] [PATCH 7/9] target/arm: Implement FCVT (scalar, fixed-point) for fp16 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" Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) -- 2.14.3 Reviewed-by: Alex Bennée diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 4f6317aa0f..794ede7222 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -5372,8 +5372,7 @@ static void disas_fp_fixed_conv(DisasContext *s, uint32_t insn) bool sf = extract32(insn, 31, 1); bool itof; - if (sbit || (type > 1) - || (!sf && scale < 32)) { + if (sbit || (!sf && scale < 32)) { unallocated_encoding(s); return; } @@ -5392,6 +5391,20 @@ static void disas_fp_fixed_conv(DisasContext *s, uint32_t insn) return; } + switch (type) { + case 0: /* float32 */ + case 1: /* float64 */ + break; + case 3: /* float16 */ + if (arm_dc_feature(s, ARM_FEATURE_V8_FP16)) { + break; + } + /* fallthru */ + default: + unallocated_encoding(s); + return; + } + if (!fp_access_check(s)) { return; }