From patchwork Wed Oct 22 21:49:07 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Collison X-Patchwork-Id: 402300 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 7854614003E for ; Thu, 23 Oct 2014 08:49:26 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:references :in-reply-to:content-type; q=dns; s=default; b=pxmdMqEZJE2UWqANr 3JT51CX6d3PSnQwQ6EAHsZi5EVpteJqEjQrrrayApJHr1BSEY5J/+HzJSh0666/s 0XoVE0qAWB51nZQqesrwPr8LJyv9nyg76kBKyMwdNB68oMkfP6fFWEnO71IFPU8L yYDfimOTx4YvHX0VsxN5rG5cdg= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:references :in-reply-to:content-type; s=default; bh=zb1vIoB+H5vQd4STAwBlRWs PgQc=; b=CSvrnknl5NGcKJ38dzQUutYazWormxfl2vbBoHbzGksCFCsvDORSDbi 2qN1ouG+nmjgBgLiTrzJFUo+nJ3sYbMUYbzgS7YRcOnjJA/f/TvuyQP2f2U1V9ew c8MWt6Cvr0TyM+f/c/GhgT/YyjS9KXjm9l4R0NkxM+18pZV/xACw= Received: (qmail 18099 invoked by alias); 22 Oct 2014 21:49:20 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 18087 invoked by uid 89); 22 Oct 2014 21:49:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-pa0-f43.google.com Received: from mail-pa0-f43.google.com (HELO mail-pa0-f43.google.com) (209.85.220.43) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 22 Oct 2014 21:49:17 +0000 Received: by mail-pa0-f43.google.com with SMTP id eu11so147360pac.2 for ; Wed, 22 Oct 2014 14:49:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:organization:user-agent :mime-version:to:subject:references:in-reply-to:content-type; bh=9BfBNP9lTzACnZ80jrKIrHs0rdHsUYoA0tX1vQ6PB1k=; b=J30IbRw9tj4BG7NxtIgTBxKiIaP9zVSvO5X1cOX2hw7qxP6ldXnROxwjIoKC/omWc8 BJXCbCHL1lqS6sGlEtsjgzyrPMOTdTN4NgebsBlKMXa8NbpFXolIVNNe5LGis2A1x7hu zkGcmEHnpGfBztYdQjuUktcmgqagYncI8rBbGw2RMYGdTGtVES70POns65lDogd+z2U5 7J+OAouOawt8kUn/Y5ZqUl2m1m1fCzwjjGyrWsziC3Pg2ScXJ3Krc/sNX9XquA2xLb9H a/moEfMGR0JxfeqPtReq0AzRJAY5wNxilUffls9RHvH4/As0XCRVCTdYenqsvTLRWh7w 3JJQ== X-Gm-Message-State: ALoCoQnZWWvHL7BS4eWGuGyOOzXwJWIVCyssPoFC7CxSCwRA2lv7LKhfpHkH9/0Gt+Whdqqh8a9X X-Received: by 10.66.193.193 with SMTP id hq1mr883773pac.20.1414014556138; Wed, 22 Oct 2014 14:49:16 -0700 (PDT) Received: from [192.168.2.118] (ip70-176-172-237.ph.ph.cox.net. [70.176.172.237]) by mx.google.com with ESMTPSA id kw10sm20756pab.0.2014.10.22.14.49.13 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Oct 2014 14:49:14 -0700 (PDT) Message-ID: <54482653.5060805@linaro.org> Date: Wed, 22 Oct 2014 14:49:07 -0700 From: Michael Collison User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 To: Tejas Belagod , "gcc-patches@gcc.gnu.org" Subject: Re: [ARM] Fix CLZ_DEFINED_VALUE_AT_ZERO for vector modes References: <543633BD.9030004@linaro.org> <54363F8A.8020501@arm.com> In-Reply-To: <54363F8A.8020501@arm.com> Patch that removes extraneous comment attached. The CLZ_DEFINED_VALUE_AT_ZERO macro is hard coded to return 32. For the vector intrinsic vclz this is incorrect and should return the value eight. The CTZ_DEFINED_VALUE_AT_ZERO has the same issue. Tested on arm-linux-gnueabihf, arm-linux-gnueabi. 2014-10-08 Michael Collison * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update to support vector modes (CTZ_DEFINED_VALUE_AT_ZERO): Ditto On 10/09/2014 12:55 AM, Tejas Belagod wrote: > On 09/10/14 08:05, Michael Collison wrote: >> >> The CLZ_DEFINED_VALUE_AT_ZERO macro is harded to return 32. For the >> vector intrinsic vclz this is incorrect and should return the value >> eight. The CTZ_DEFINED_VALUE_AT_ZERO has the same issue. >> >> Tested on arm-linux-gnueabihf, arm-linux-gnueabi. >> >> 2014-10-08 Michael Collison >> >> * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update >> to support vector modes >> (CTZ_DEFINED_VALUE_AT_ZERO): Ditto >> > > Update comment? > > /* The arm5 clz instruction returns 32. */ > > > Thanks, > Tejas. > --- ../../../../linaro-gcc4_9_git/gcc/config/arm/arm.h 2014-10-08 13:49:01.109819957 -0700 +++ ./arm.h 2014-10-22 14:41:10.767130430 -0700 @@ -2137,9 +2137,10 @@ ? reverse_condition_maybe_unordered (code) \ : reverse_condition (code)) -/* The arm5 clz instruction returns 32. */ -#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) ((VALUE) = 32, 1) -#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) ((VALUE) = 32, 1) +#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ + ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE)) +#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ + ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE)) #define CC_STATUS_INIT \ do { cfun->machine->thumb1_cc_insn = NULL_RTX; } while (0)