From patchwork Wed May 4 13:04:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 9013921 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 575D29F30C for ; Wed, 4 May 2016 13:05:12 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id BE0A0203A1 for ; Wed, 4 May 2016 13:05:10 +0000 (UTC) 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.kernel.org (Postfix) with ESMTPS id 2086920392 for ; Wed, 4 May 2016 13:05:10 +0000 (UTC) Received: from localhost ([::1]:47856 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axwUE-0001g9-A4 for patchwork-qemu-devel@patchwork.kernel.org; Wed, 04 May 2016 09:05:06 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37007) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axwTw-0001LC-Ee for qemu-devel@nongnu.org; Wed, 04 May 2016 09:04:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1axwTk-0004Mc-Eg for qemu-devel@nongnu.org; Wed, 04 May 2016 09:04:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33975) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axwTk-0004Io-9t; Wed, 04 May 2016 09:04:36 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C9A49C0467F2; Wed, 4 May 2016 13:04:19 +0000 (UTC) Received: from thinkpad.redhat.com (ovpn-112-28.ams2.redhat.com [10.36.112.28]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u44D4Faa002315; Wed, 4 May 2016 09:04:18 -0400 From: Laurent Vivier To: qemu-devel@nongnu.org, qemu-trivial@nongnu.org Date: Wed, 4 May 2016 15:04:06 +0200 Message-Id: <1462367048-20997-2-git-send-email-lvivier@redhat.com> In-Reply-To: <1462367048-20997-1-git-send-email-lvivier@redhat.com> References: <1462367048-20997-1-git-send-email-lvivier@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 1/3] scripts: add muldiv64() checking coccinelle scripts 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 Vivier Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Laurent Vivier --- scripts/coccinelle/remove_muldiv64.cocci | 6 +++++ scripts/coccinelle/swap_muldiv64.cocci | 46 ++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 scripts/coccinelle/remove_muldiv64.cocci create mode 100644 scripts/coccinelle/swap_muldiv64.cocci diff --git a/scripts/coccinelle/remove_muldiv64.cocci b/scripts/coccinelle/remove_muldiv64.cocci new file mode 100644 index 0000000..4c10bd5 --- /dev/null +++ b/scripts/coccinelle/remove_muldiv64.cocci @@ -0,0 +1,6 @@ +// replace muldiv64(a, 1, b) by "a / b" +@@ +expression a, b; +@@ +-muldiv64(a, 1, b) ++a / b diff --git a/scripts/coccinelle/swap_muldiv64.cocci b/scripts/coccinelle/swap_muldiv64.cocci new file mode 100644 index 0000000..39a278d --- /dev/null +++ b/scripts/coccinelle/swap_muldiv64.cocci @@ -0,0 +1,46 @@ +// replace muldiv64(i32, i64, x) by muldiv64(i64, i32, x) +@filter@ +typedef uint64_t; +typedef int64_t; +typedef uint32_t; +typedef int32_t; +uint64_t u64; +int64_t s64; +uint32_t u32; +int32_t s32; +int si; +unsigned int ui; +long sl; +unsigned long ul; +expression b; +position p; +@@ + muldiv64( +( +si +| +ui +| +s32 +| +u32 +) +, +( +sl +| +ul +| +u64 +| +s64 +) +, b)@p + +@swap@ +position filter.p; +expression a, b, c; +@@ + +-muldiv64(a,b,c)@p ++muldiv64(b,a,c)