From patchwork Fri Jul 26 17:50:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 169922 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp368084ilk; Fri, 26 Jul 2019 11:04:38 -0700 (PDT) X-Google-Smtp-Source: APXvYqye1ewrp4/zQwTC47TMNVrAcOXgyNtSsfcmvEb/Q6fc1evd9CSgN3ltrt/WZpUemIK7NIoY X-Received: by 2002:aa7:c486:: with SMTP id m6mr84248611edq.298.1564164278671; Fri, 26 Jul 2019 11:04:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564164278; cv=none; d=google.com; s=arc-20160816; b=mAQKUCQFdWV8sxIW9mV7USK4WazGrHbjURqmOQQ8kWIwy9amaxSvFbivTjmDeko8+P ysVMSS9Y0TaEoHOPJPGFsYRcxdAw/itgNEhCsHUCUQ78O/YyEm2Vi4GihFp5HUDk1YTT zBg3T1DUuGFO+jPmzpkwLEElnoEyNuxslmcXkuiAmGKL/xe0dIcDahwa6V9xczqjBWgh LB7ssUVN1TBD5HCvszbudzgyd/8tyq70Z3/jNgyOKqyhNee295JY2Uh0ZhSVTKtZT0Hw upzMymcatvgNAQxkp0cysW8AtNXUq+c2sXS69SZUZ0MA/MPCO3TuUpXGENPW12GfyV8N Oxbw== 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; bh=gABFvmxEEZWzDc6dniX7CF33hz80PTh6Y9giG8B8d38=; b=DaudJsA1IXbu/+Hbuyq5+aKUCxNd8qszvw1C+OW6L6H/FsUJx3Qr6EZp8au1alCcua nY599wLS95cFJ5bhznhIZZwgb1tXt2pvVdzZHcRqMwII2Yijy3ifv5pDpXnVeCTROmPI Zdg5AbzWjvljty2Li0w/cN83MWbJ2iK9loVdyBv9K+PYH0Koq5f+HADSDPmpcrVVtUpb kTvNwfjSZIusSeaHxZlBfwdMdHpOyET/hqg0YDE9QT4XuY8XeDQEOpoBZ1hrAo5jQNGF 4reTVwlM0OQ4y2j4E8s27mk0iMqzK0GJpLwuK8FlgjMra4+Ko/q6eLFB/pTPO1f7vIqN XFPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=qWfwn4vf; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 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. [209.51.188.17]) by mx.google.com with ESMTPS id g53si11915327edc.53.2019.07.26.11.04.38 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 26 Jul 2019 11:04:38 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=qWfwn4vf; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 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]:42736 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hr4a5-0006OC-6U for patch@linaro.org; Fri, 26 Jul 2019 14:04:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59750) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hr4Nx-0007Xo-0J for qemu-devel@nongnu.org; Fri, 26 Jul 2019 13:52:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hr4Nu-0001PT-4Z for qemu-devel@nongnu.org; Fri, 26 Jul 2019 13:52:03 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]:45515) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hr4Nt-00018d-T0 for qemu-devel@nongnu.org; Fri, 26 Jul 2019 13:52:02 -0400 Received: by mail-pf1-x42c.google.com with SMTP id r1so24850680pfq.12 for ; Fri, 26 Jul 2019 10:51:50 -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=gABFvmxEEZWzDc6dniX7CF33hz80PTh6Y9giG8B8d38=; b=qWfwn4vfzazKS9Qyhqn1gfCLRpl+xcxrytxChp9uBWzRbPB5/opktJPXVxkR+DovQV +Rbmq5T3LVD8szGFnO2/bLdiim6hk2L6ZEYt9sujp+9dGixaS+12xmyCPzumlrlRz2dO 8qNeiPUzn/1Ufuc/AEi4zeO5YFHcZwn0E6EBFSkmucRNvGr/NY45c8IYLMq+6/RkYiZu iASZPLDLsGBC+/odukewMUBxulL7ShkJ7Cm/aGvI41PeMO7Afhgmc0WlJYygAF+2uxZf /E/vxM8auJYL5LSXWJQ1yA4GP/Gmq45MbwUkMSbOyYcaBCemPgbtUt6gF5xuO/t2pTMT eBPw== 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=gABFvmxEEZWzDc6dniX7CF33hz80PTh6Y9giG8B8d38=; b=SXgzISkKJXw5UvjT/EL22kbBqE/yCu7nlBPE7SnwG1ItptKd61yzxHFQdJqzYbh+K0 IT4MI1NN1vAvZ9lC46hz2R9usiocsGt8sD5r7gcjMMH2G7+JGYPoqE9Hqi/i0gRJzspn hlo9PuVvj+kt1ZkYxLyhwBjGjs7hZ0KxJTZA4+skxKthBoJ1tlxeld+RZn1rA86T505S /PUtHQ5JSmGaS12WcZCfSHBEavIrK08UDzS2OMYoiI9yeXVQn4ehe0shUmUAF/bK/E9h 3CuX9LbEDtOGpOJV2MgRlHaDnjnx2eCHxA7YEOAL+rQi2CL0xm6jGAOgeupqhGcvFx9m zurA== X-Gm-Message-State: APjAAAVn7WyIl/jjk+RRzNu0g23sexN5ZOgyw7TZp9kppj+XdAhy7EsH splz8K6KBjXTeous55kULwqGchamNB4= X-Received: by 2002:a17:90a:cb87:: with SMTP id a7mr102378917pju.130.1564163509596; Fri, 26 Jul 2019 10:51:49 -0700 (PDT) Received: from localhost.localdomain (97-126-117-207.tukw.qwest.net. [97.126.117.207]) by smtp.gmail.com with ESMTPSA id o24sm104287919pfp.135.2019.07.26.10.51.48 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 26 Jul 2019 10:51:49 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 26 Jul 2019 10:50:28 -0700 Message-Id: <20190726175032.6769-64-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190726175032.6769-1-richard.henderson@linaro.org> References: <20190726175032.6769-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 63/67] target/arm: Convert T16, Unconditional branch X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, qemu-arm@nongnu.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.c | 9 ++------- target/arm/t16.decode | 6 ++++++ 2 files changed, 8 insertions(+), 7 deletions(-) -- 2.17.1 diff --git a/target/arm/translate.c b/target/arm/translate.c index f1cab437e0..480515a0a9 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -10639,7 +10639,6 @@ static void disas_thumb2_insn(DisasContext *s, uint32_t insn) static void disas_thumb_insn(DisasContext *s, uint32_t insn) { - uint32_t val; int32_t offset; TCGv_i32 tmp; TCGv_i32 tmp2; @@ -10683,12 +10682,8 @@ static void disas_thumb_insn(DisasContext *s, uint32_t insn) gen_bx(s, tmp); break; } - /* unconditional branch */ - val = s->pc_read; - offset = ((int32_t)insn << 21) >> 21; - val += offset << 1; - gen_jmp(s, val); - break; + /* unconditional branch, in decodetree */ + goto illegal_op; case 15: /* thumb_insn_is_16bit() ensures we can't get here for diff --git a/target/arm/t16.decode b/target/arm/t16.decode index c18d146a84..457f2f4178 100644 --- a/target/arm/t16.decode +++ b/target/arm/t16.decode @@ -268,3 +268,9 @@ LDM 1011 110 ......... \ SVC 1101 1111 imm:8 &i B_cond_thumb 1101 cond:4 ........ &ci imm=%imm8_0x2 } + +# Unconditional Branch + +%imm11_0x2 0:s11 !function=times_2 + +B 11100 ........... &i imm=%imm11_0x2