From patchwork Mon May 18 16:40:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 186894 Delivered-To: patch@linaro.org Received: by 2002:a92:5b0a:0:0:0:0:0 with SMTP id p10csp3053302ilb; Mon, 18 May 2020 09:41:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx7Tdup9cqPx/dk3fPDpc3LEgRA5n0jYDwxBJ4YvEhu9Ahvt7llR29d6I3ae7aTONUTBu4M X-Received: by 2002:ad4:52ec:: with SMTP id p12mr17194179qvu.65.1589820090252; Mon, 18 May 2020 09:41:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589820090; cv=none; d=google.com; s=arc-20160816; b=pX7ejpeMl54vhx1ZoiI1iDVSreDcghVhIGEV4vplhUssTQUEaZ7HV8l0/IIe5+jVzj 27X14xJ0HGaUATXPJd/74fwi2S/WnP8MQmcaF/TPxPpxeJs5L3cRBKpoin6Q9AhDG5xT 59DU5xho1cGvyIazPiBqB4Zx65/X61PSUu65ltrVU8EccK9SzrCuP5hLN/k4J4ehsjnQ 7I2ViV6HDN7ey6aDbJUzBYBz4UOeWQXyX/MFAwBfpbEf7q8EED/966f/ekjfsgDvkNR7 fUsQD8LWC+2gYwrXqHMRqhPUsZ0tUd9+vRfGrczyyuPSbDz6IxCF7koazuum/ogAVEk8 u8hQ== 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:content-transfer-encoding :mime-version:message-id:date:subject:to:from:dkim-signature; bh=zs8yQ4sTIGdE2TSYasYP9UgCnUVG+62C46arKRLiiYE=; b=yrXi54cxNPzJV37O1r/q8wiVVsHZCU34Br8lvKnDpUnyLEqU7kg8CiG7fFCdGNbx4r ehXp1ZE9948pD3szFcQOBQoN+9AmPNToroVy81HSEFs3Fzu3Z+v4VuSiBT7YLRMwWSXM MQMAa0DX1mrZoQn1yY8z7UVZzcHqL87qL24FTk32GfKkwcnA6TtwZwkqjNxG7z97w2ya jlVD5SAPr0KI7GhfIsmHKmN0jIXlEG2upPxBqRAYE+LtvG6hl2GMzpMCampW9vYO0h9f vktQizGEiVg1sQBHr5VWLTc1JWCoZDpIQ8N28+Gf2dVl7TgBsyTxVA7m46K5i22eSgH0 6ORA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=j2jj0o3W; 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=pass (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 11si5870614qky.233.2020.05.18.09.41.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 18 May 2020 09:41:30 -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=pass header.i=@linaro.org header.s=google header.b=j2jj0o3W; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:44596 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jaipV-0001wg-Of for patch@linaro.org; Mon, 18 May 2020 12:41:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60138) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jaioz-0001v2-Rr for qemu-devel@nongnu.org; Mon, 18 May 2020 12:40:57 -0400 Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]:33718) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jaioy-0005p7-Kn for qemu-devel@nongnu.org; Mon, 18 May 2020 12:40:57 -0400 Received: by mail-pl1-x643.google.com with SMTP id t7so4462068plr.0 for ; Mon, 18 May 2020 09:40:55 -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:mime-version :content-transfer-encoding; bh=zs8yQ4sTIGdE2TSYasYP9UgCnUVG+62C46arKRLiiYE=; b=j2jj0o3WKR5jD8P8TsSzr4d3rsG6opZ8SQKxtu1rNy5LPzpvH7sVVZ/UY3Wmev5m9p 9UKxNyjdT6u17lvo5ehMfuVZi9tuTexm2rm+J2KCMdq844gdLJ+l3IBj3aqApT2C45GK p8jrAkWQHXaTCBQ8t4cVBBw/y14C3ZLsOM6fqcd0Tb0KJiN1zXB/4BH1ewQdDQhMf0zq QjW7tpAlgMU3Fu1+NS7Van5BDDr567g2ap1vtCASFftb7S5F9yN/8ElOkfZRj3qY3XQe 5AyPleSCO47U6ITQjrLrWJiQtVH00apiKi+ozJpFqkQYwBwKP+qGYZYSQFlLx/sZKrE5 Uhmg== 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:mime-version :content-transfer-encoding; bh=zs8yQ4sTIGdE2TSYasYP9UgCnUVG+62C46arKRLiiYE=; b=ZETSsK8hOmdGMbuK6Gs9P/2SeOLgbzMYVnoKwYjpOmBdcIfGsxkCgiL9gnsZL8dT+g qGOKwktYsZaRhTg7L89lRVx95fQXnTS9uZnjQLoconKRu59GGsyA0m08M3SLFd5mvv9a UULTl2Ilx+MZgI/yYthxOEzZr+uzCCkpBW1kYHCZ1JOPY84OuMplEPwdILYTsBwaaCdC Q0ZFXRsQoyF0o+n3BF2tLmDASNC6mCcdGr8mRtwbrc3t0eCKn+Gj5Gy3xkwn2YhNfjD9 AQvIuYyckJU0lTsG/nHdQIkVjhVrkuTGlZP07XMc84p5PGVM4VYr3BUcAWMhFC5bSK60 aaHg== X-Gm-Message-State: AOAM533LBLCP64v+9s9hVwvF+kDMFuxWrpz5W1Om91uXh2ju0bang4Fr i2JvjoNsvoQuLm/tAkuwZa9yj/JmyEo= X-Received: by 2002:a17:902:a713:: with SMTP id w19mr15883238plq.296.1589820054168; Mon, 18 May 2020 09:40:54 -0700 (PDT) Received: from localhost.localdomain (174-21-143-238.tukw.qwest.net. [174.21.143.238]) by smtp.gmail.com with ESMTPSA id x132sm5790610pfd.214.2020.05.18.09.40.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2020 09:40:53 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 0/8] decodetree: Add non-overlapping groups Date: Mon, 18 May 2020 09:40:44 -0700 Message-Id: <20200518164052.18689-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::643; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x643.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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 Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This is a feature that Peter requested for completing the neon decodetree conversion. I ought to write some more test cases for this, but the change to t32.decode proves it is minimally functional. I'm undecided if I should add errors for useless nesting of these within other non- overlapping groups. While useless, it's likely still functional. r~ Richard Henderson (8): decodetree: Remove python 3.4 check decodetree: Tidy error_with_file decodetree: Rename MultiPattern to IncMultiPattern decodetree: Split out MultiPattern from IncMultiPattern decodetree: Allow group covering the entire insn space decodetree: Move semantic propagation into classes decodetree: Implement non-overlapping groups target/arm: Use a non-overlapping group for misc control target/arm/t32.decode | 4 +- ...decode => succ_pattern_group_nest2.decode} | 2 +- scripts/decodetree.py | 539 ++++++++++-------- 3 files changed, 307 insertions(+), 238 deletions(-) rename tests/decode/{err_pattern_group_nest1.decode => succ_pattern_group_nest2.decode} (85%) -- 2.20.1