From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10061 invoked by alias); 7 Jan 2018 20:52:04 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 10046 invoked by uid 89); 7 Jan 2018 20:52:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-eopbgr60057.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (40.107.6.57) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 07 Jan 2018 20:52:02 +0000 Received: from DB5PR08CA0042.eurprd08.prod.outlook.com (2a01:111:e400:52c3::52) by VI1PR0801MB1535.eurprd08.prod.outlook.com (2603:10a6:800:18::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Sun, 7 Jan 2018 20:51:57 +0000 Received: from DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::205) by DB5PR08CA0042.outlook.office365.com (2a01:111:e400:52c3::52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.386.5 via Frontend Transport; Sun, 7 Jan 2018 20:51:57 +0000 Authentication-Results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 217.140.96.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.140.96.140; helo=nebula.arm.com; Received: from nebula.arm.com (217.140.96.140) by DB5EUR03FT045.mail.protection.outlook.com (10.152.21.164) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256) id 15.20.345.5 via Frontend Transport; Sun, 7 Jan 2018 20:51:56 +0000 Received: from arm.com (10.1.2.79) by mail.arm.com (10.1.105.66) with Microsoft SMTP Server id 14.3.294.0; Sun, 7 Jan 2018 20:51:56 +0000 Date: Sun, 07 Jan 2018 20:52:00 -0000 From: James Greenhalgh To: Jeff Law CC: "gcc-patches@gcc.gnu.org" , "richard.sandiford@linaro.org" , Subject: Re: Allow the number of iterations to be smaller than VF Message-ID: <20180107205155.GJ6993@arm.com> References: <87d14hym7l.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:217.140.96.140;IPV:CAL;SCL:-1;CTRY:GB;EFV:NLI;SFV:NSPM;SFS:(10009020)(346002)(376002)(39380400002)(39850400004)(396003)(2980300002)(438002)(377424004)(24454002)(199004)(189003)(229853002)(8676002)(1076002)(23726003)(46406003)(7696005)(4326008)(356003)(83506002)(246002)(104016004)(76176011)(86362001)(6246003)(8936002)(2906002)(6286002)(50466002)(36756003)(4001150100001)(33656002)(58126008)(16586007)(54906003)(2950100002)(97756001)(316002)(6916009)(305945005)(47776003)(26826003)(72206003)(106466001)(478600001)(53546011)(55016002)(106002)(5660300001)(77096006)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0801MB1535;H:nebula.arm.com;FPR:;SPF:Pass;PTR:fw-tnat.cambridge.arm.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB5EUR03FT045;1:VDtBlGs1MHTFUBeYrN+X6/lz/Ep4dvTy6WSyrsyMPZ4ttfUSzu0ULaXDVP7BGIQhZa6iDIGLpR4oRsxzjNptK7PE16NASArHcpykarerfXe/gKydI719DIHjwF3X7y37 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6b234c72-227f-4e5b-923a-08d556107d84 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060);SRVR:VI1PR0801MB1535; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1535;3:ElwuIuCFKFy0E/w+T9XmBcvX2o4LwAYU4TrgtMylhgfPJmIwHeb++758ytiSNiui9BK5W/dEZw0bJLAp51j480dJg47KA2J6PQ0Rv3qra5omyhXSmj+74nT6cN/tMS98QuKrrrmTG2k+VCk4L5S74EGblQbusO527lTsPAA5awglLhSn4QhOwK1UKyQUah/7KaNlrTyh/9Nu+r6Ss7jLpLOxe8q4cXD93AKN0Ru471pjs9x3M8/QaFEnw+T2J1n/kUfsEXKzQd6CRnClyRqRPhoX1rzwv331XnhZBLA8jg31sHteTw9RS8mN355/GsywJW8X2bUy2THi1VkjYQN69kKvqMAPk0198qiFH7X+1/s=;25:ZAHtWEkMq2mHJvcr+4YsR4DJQNw52IHPmtOUxv44oYHvFAAKIdj/l7CRufUhX1tpMJePtuR1p6HrWK5efegQZ0G/rw3J85C8YxrJJBhxMm2cY6yoZvjtJgzRbk/qEEEJhz3+sAUHXSnWb4DLPiykj7WtAvwr6INU+9wzCYHYQuGrTyrMhBcb4PciRoIGSAJxrialhYxBOtESUL4KKfFrbEtwimoyM5pUiC4dDiiLuKJnNIhra+7dxmTJPTBPhschMTT8tZ9SyIEnhwzDCaFnwBf6OuE53gUR284t+KxbYVJfkgg3euVKY9pS59j8kfAUaZuKPhhEl5OoE+BL59zbeg== X-MS-TrafficTypeDiagnostic: VI1PR0801MB1535: X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1535;31:pgbytG7jn1QDyBr6oneGyUQu/PxtwbEHTvOn8m8VCuwQkrs/vvHbMnUKLg5nWb9MtMwo7otxOU69hQQdlm4GdUSqBtHVD3zF1zqonI5LRxATgCsWSZ+lsrkJBBo/GAOu3/ABHeTia+aFkEm2fqkP9E2GCYuX/dgHLUpLksF0g0QDBKBw8VfmfJzYnh8LZWWrUPI4D9EOtdELJUTNYLllfxuGiTj4zhAKzb4Ex3cKCi4=;20:QzlXaGVQd/cj5wXmyZ4yJ4qWEQ1jYmVdt+kP+q64dVGVVJ0CziyBTrAcJ2cZHrmIcYzRZrZmSbiYI9QGgUnx/WOK0CT07O9l0hVBvUVwB0U1Z7DT7X9kpEzxAh/45VOur3oonpuY1XO+0XKOM/t6By5mMUVfJOzre8tt3gigYzkUnAFO60Gcp8y2uR4an0Fyu2KqySau/MNAErvdygeR5aMp1iITq3Wm8xIZBULirX0fTZLSuVH5y6rq92AaF+gm;4:xOn7yh8gG54Q3dUa9U7AW8ojDqobPqcZMQCEL2hwYeogpPhigCDKa8OCFV+n+dkmLcZcfX7UYLgoOqPg0rsOuFor39UstLlWbZdbZlYYNODJDUgIpu2w3pxrJKeB4mJ4eksfp72nGoX2qbsL8KLnPdOri81Q1lrg0q4Hx+xmZ2TrKexUn/Eemlk+6ghm7LVtBG+BKbU09s41mN/+Gx1CoR95jv3lYC6IDu+5Gd7PJ5IQEXx2+Rx0K3P4HU9gKtuz0MrgxtJO9wUkxmkZn2jRUt9CM4w8UcEm6M0V3HPvzSidxp506ZFFVrmogymQNiRA NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(8121501046)(5005006)(3231023)(944501075)(3002001)(10201501046)(93006095)(93004095)(6055026)(6041268)(20161123562045)(20161123560045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:VI1PR0801MB1535;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:VI1PR0801MB1535; X-Forefront-PRVS: 0545EFAC9A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;VI1PR0801MB1535;23:GDzprknDYmFg1n25Hp5LcX1o8Mqu19F6EjQImU3?= =?us-ascii?Q?qUW7jeEzIxIy+nwQp2h7SCjzN0klH/Zwo2Y+nxdGkPwuQjbKmGBr4/fUDF5T?= =?us-ascii?Q?sFNCX+qHip7JZeNnTz3hBgBuaCuGDysH5ufCJLHxz60+xQFCCH3pzwQbNfO4?= =?us-ascii?Q?WF2ZDvmXmMuuXCOcHnpLSwGML6+ohbHYdHT6Ar6GOm5UGgFtCSxYPPhS8h6H?= =?us-ascii?Q?FlMcPwwhZ/2aaQmF9Zy5KXuD3uZsWBFziH+dqSNPid4ROonJdDokLcOExvso?= =?us-ascii?Q?nhBSCZuur2tzNpAxK5JAkZigE6s6yykw+gaCieXihU8T2ALLpeBelc2EKPiR?= =?us-ascii?Q?jdl/QEj5PLSSsqEKgiQaoxqdS16hf1kK4Gell70p9BKniMx84vkqWimwZMtF?= =?us-ascii?Q?YsY9cHiizrFuTOKEtx0dvGS2ZN1qX0qVj0f4bWo/TD1FLCOkIcJYlY5jTOBY?= =?us-ascii?Q?c2dU1wMTK7qBFkpuV/rhsVYl6eBhoBukJ9XyBJn50Vnqd1RnPbXC2jrcFajB?= =?us-ascii?Q?sPn9allREH0XwBLrQoZ1f0mHZzkr+YlMQPF7CutTPnVD6UvY7K/hzf5i8WBa?= =?us-ascii?Q?V9DCW2VCLUFZpWtgYvbF9KDR5U2w3X3JnHzlvKGSUN8XyLzfa4L6alEZN+2Z?= =?us-ascii?Q?lV2J+js2INznosM3CpFwP0/ZMd7VDALAIiiOfTYukTr4cPv9m6CMFt9o9n1d?= =?us-ascii?Q?ByUDfBHJH4HOKGBJV8SR20hVr0rjhD4UUWTiz/lsM1hCiVRYsJiCGPFF6Tn+?= =?us-ascii?Q?eeMTJNXZA0j7Qpu0AnugYhMYJfqG9fZ6wC3liieN27TQgaxLMlJ75XnA9ukx?= =?us-ascii?Q?28hJq+GkYp3tUMLLLxZpHTRGVTgAjmhzyMnC6nOTUz0Klkardc6lS+4Cv37G?= =?us-ascii?Q?b6CzSZjBGqAyzkLfAowMllprMuz60wkhzUK03V9ymOKPB/b4sAZcc0w3RS5J?= =?us-ascii?Q?7CZAAWTfPSX5P69XI+Q1Og3x3onUWQFxJkAAGo8EOhWKWYUzSRmcSKTLpEWx?= =?us-ascii?Q?bgu27vV6mhST1VIjB4EwiW+Fxex/Vcr179xa8fCdhbx3RE2gbUXvR+yhG+Sb?= =?us-ascii?Q?ds72PHiPamHfoVhyWwhAobGJRgoA1s2+1xK2GKa5Sx591JWB0FlKqaGIXtNt?= =?us-ascii?Q?yYwXxqoJEQa2Qzo5RpK6vp4jZKjV+G3DePpGgdVxnz83vW/DcpMSFXRnYJmg?= =?us-ascii?Q?voOY/Lt2Hey6p/emo+BohAyyFddoOEeT/K4z8?= X-Microsoft-Antispam-Message-Info: LJZsIy9yAelbuhiZZPjU1P9nVv+cTHAzrrkh2ihkrNR3RuQkWQhwclLfmvc24tJkJHfMemR+C/XxnzM/7jsS0w== X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1535;6:Rf4gZsleWSdNE3UbzQ6e7QCAq9uzSISeb8Szsqx6EMHofmJo9MiADESY1apT8tI2E0mhi+4ucra3zp/UGgNCYlRkdGz3Iqr07dXrjicEyr6ObYf24hKDtZCdefcTrFOIs0HnUHWmDEuLuLnAD1IZ6nD9iHEMMXAZEDRitLSWIHUjrB+EELZZ17CuOn5zzl5x7xtBZbWdNO2A6Xo0QxgdwSO+m06Hd5peg0wIVLlR7/A+PpiROsPhQhUWmio+ioLvBC1/P4NjI/VsLjwrxGMycjGJSKE8/EE/9KfiAUYPp4rtGZ8kGLduPfTxdt4r50nl9nTKrzGjOmcVQTTaCCm2wPmWp9buG/dISl6R+K5EbdSkNowdWRO2swjsf5JdXggWxTGRHe89TLfSxbodWfgeUg==;5:WFlUC9x/qdV2Wub00UcPWv18bHdROJMlh+kbPzGZzaSOykbzd5nXqHbrGscxs5Fi7RAx5wHXmihRbcz/YxKRaEGuRFnuBJTLckWWOAAvC0DVmAa9g8j6r34IXPMTH+8KCXfeYOQDdVkxDVMDniJgiRy0wONGQop5NujcBbnROsE=;24:bBGgD8xzNuxzqHFB0Pz5VwArWjbWiiJ55cSFOMqD5YO7k7nv56HtCbS3FunlEuxq620AGB2Yd1BpyBcn3B98SvnryXRTMnHIoYWz9/uOk9k= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1535;7:IwemuuL6xu1oRhS08TsPOvla7xnuy4H4XSXANn9BPMwjK/V4Nr8RiWxeIuHptqxYci56nglgmv/uesrlYLOK55k0TU9YMGHmZS7Dt3biGJeCEzpJMoeUA98EFwJIeI/fN6RGAPdFOZdPWkFm0/k4MRnc6+/KV+xIze6wSTGOX/sKLAt0Mo9l5Qo2rFO38+myBXaoeB+VeadGo8UfF53FZPFssfIhecMjqTpzk7A+nyHGUDGBybCIxI41v32bui2X X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2018 20:51:56.5755 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6b234c72-227f-4e5b-923a-08d556107d84 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[217.140.96.140];Helo=[nebula.arm.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1535 X-IsSubscribed: yes X-SW-Source: 2018-01/txt/msg00408.txt.bz2 On Mon, Nov 20, 2017 at 12:12:38AM +0000, Jeff Law wrote: > On 11/17/2017 08:11 AM, Richard Sandiford wrote: > > Fully-masked loops can be profitable even if the iteration > > count is smaller than the vectorisation factor. In this case > > we're effectively doing a complete unroll followed by SLP. > > > > The documentation for min-vect-loop-bound says that the > > default value is 0, but actually the default and minimum > > were 1. We need it to be 0 for this case since the parameter > > counts a whole number of vector iterations. > > > > Tested on aarch64-linux-gnu (with and without SVE), x86_64-linux-gnu > > and powerpc64le-linux-gnu. OK to install? > > > > Richard > > > > > > 2017-11-17 Richard Sandiford > > Alan Hayward > > David Sherwood > > > > gcc/ > > * doc/sourcebuild.texi (vect_fully_masked): Document. > > * params.def (PARAM_MIN_VECT_LOOP_BOUND): Change minimum and > > default value to 0. > > * tree-vect-loop.c (vect_analyze_loop_costing): New function, > > split out from... > > (vect_analyze_loop_2): ...here. Don't check the vectorization > > factor against the number of loop iterations if the loop is > > fully-masked. > > > > gcc/testsuite/ > > * lib/target-supports.exp (check_effective_target_vect_fully_masked): > > New proc. > > * gcc.dg/vect/slp-3.c: Expect all loops to be vectorized if > > vect_fully_masked. > > * gcc.target/aarch64/sve_loop_add_4.c: New test. > > * gcc.target/aarch64/sve_loop_add_4_run.c: Likewise. > > * gcc.target/aarch64/sve_loop_add_5.c: Likewise. > > * gcc.target/aarch64/sve_loop_add_5_run.c: Likewise. > > * gcc.target/aarch64/sve_miniloop_1.c: Likewise. > > * gcc.target/aarch64/sve_miniloop_2.c: Likewise. > OK. > Jeff The AArch64 tests are OK. James