{"id":814546,"url":"http://patchwork.ozlabs.org/api/1.2/patches/814546/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/87k20ynzs3.fsf@linaro.org/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.2/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<87k20ynzs3.fsf@linaro.org>","list_archive_url":null,"date":"2017-09-16T20:39:56","name":"[committed] PR82228: Move ncopies calculation in vectorizable_live_operation","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"98a16ea85161b09d2fb61e717e7f409edcb1fa01","submitter":{"id":5450,"url":"http://patchwork.ozlabs.org/api/1.2/people/5450/?format=json","name":"Richard Sandiford","email":"richard.sandiford@linaro.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/87k20ynzs3.fsf@linaro.org/mbox/","series":[{"id":3470,"url":"http://patchwork.ozlabs.org/api/1.2/series/3470/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=3470","date":"2017-09-16T20:39:56","name":"[committed] PR82228: Move ncopies calculation in vectorizable_live_operation","version":1,"mbox":"http://patchwork.ozlabs.org/series/3470/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/814546/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/814546/checks/","tags":{},"related":[],"headers":{"Return-Path":"<gcc-patches-return-462314-incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list gcc-patches@gcc.gnu.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=gcc-patches-return-462314-incoming=patchwork.ozlabs.org@gcc.gnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org\n\theader.b=\"uyKQhMss\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xvkfl0VzBz9sRm\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSun, 17 Sep 2017 06:40:12 +1000 (AEST)","(qmail 101982 invoked by alias); 16 Sep 2017 20:40:04 -0000","(qmail 101404 invoked by uid 89); 16 Sep 2017 20:40:03 -0000","from mail-wr0-f173.google.com (HELO mail-wr0-f173.google.com)\n\t(209.85.128.173) by sourceware.org\n\t(qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP;\n\tSat, 16 Sep 2017 20:40:01 +0000","by mail-wr0-f173.google.com with SMTP id r74so3798357wrb.13 for\n\t<gcc-patches@gcc.gnu.org>; Sat, 16 Sep 2017 13:40:01 -0700 (PDT)","from localhost ([2.25.234.0]) by smtp.gmail.com with ESMTPSA id\n\tq188sm4371735wmb.43.2017.09.16.13.39.58 for\n\t<gcc-patches@gcc.gnu.org> (version=TLS1_2\n\tcipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tSat, 16 Sep 2017 13:39:58 -0700 (PDT)"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender:from\n\t:to:subject:date:message-id:mime-version:content-type; q=dns; s=\n\tdefault; b=YAjiTUNtXHpHILN173AwWgqJpGvegfPp+insCIaeDv0eB//QJWlro\n\tU+akr+JKgy3gZHHus78SlanA1FHJEDfocsH1msJe0w2+CK73fmTAgFQnFa2xb5Ov\n\t9Tg3U2+KTveTJCGh2wmsnrSemeo/hu2MoTu9EK0jMkt9PJT+lAKmJA=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender:from\n\t:to:subject:date:message-id:mime-version:content-type; s=\n\tdefault; bh=U4/63bUODup+nz8St1NEWYnQg5c=; b=uyKQhMssc0yGPf4VmZYs\n\tQXNKoRurbrm1r199GK+kE9eQbjTdHuwZ4Z8kxEtZ5fMD1pzSbiJlcW/9HDVMxmp8\n\tTiARSsBHUI4veRoXdhqjWTS2DoWD4jRk1BTrSwk5Pt80mGg9pBMTbD+0zSqb4ktF\n\taRHQ26GjUU+3Nr4sEU8JiLc=","Mailing-List":"contact gcc-patches-help@gcc.gnu.org; run by ezmlm","Precedence":"bulk","List-Id":"<gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<mailto:gcc-patches-unsubscribe-incoming=patchwork.ozlabs.org@gcc.gnu.org>","List-Archive":"<http://gcc.gnu.org/ml/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-help@gcc.gnu.org>","Sender":"gcc-patches-owner@gcc.gnu.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-11.2 required=5.0 tests=AWL, BAYES_00,\n\tGIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_SORBS_SPAM,\n\tSPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1589,\n\tHX-Received:10.223.185.5, opportunity","X-HELO":"mail-wr0-f173.google.com","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net;\n\ts=20161025;\n\th=x-gm-message-state:from:to:mail-followup-to:subject:date:message-id\n\t:user-agent:mime-version;\n\tbh=zHeFhj8nDhQZv8CypNl781ZgEENgtK0s+BmR/mPGarI=;\n\tb=hn20+QhlblBCu4w1P4/7FKV3yiTdzEgX15Uu58VJJ6oAKSuebG78Lvw4bIfqwOR05N\n\t2fSBM5XTVs+LSLtuTPtBu6ZV1G2chOcWImLwbR/cCrkjOSmNBfBjfn9sCEX+HvSrfz82\n\tT89XKZgUFsu6z5pUgdbPwitt6JJfF9TkEbuofTBTEiHtWULDpc9wAOOynmFhjtaBfQBB\n\tOM0/dlA1Xo7YKQrRvS59Nad/y/7CLkz50A1Z9mDINeGobVfYEchPhwPMjfltGW2sZKmU\n\tqMv8GDo2QJqfylkbzu3mz5zV7E6Q2G5HZoUtzMoys75XgYpfVsfHsROD5QFa9+ot5uOk\n\tMInw==","X-Gm-Message-State":"AHPjjUgtQgGsMU+cuQGthHA+DcvPHTi7ULO4iub3OpRQkjMW8QTJAvF9\tCScPA+FwBbaX3d6e0dy/Tw==","X-Google-Smtp-Source":"ADKCNb4TGTbyuquPj4Xe3A9T1z5LdBiBPlqMQ+FtmIQfCbWL0Snp2Z91pcXu5NCvQY3bVKpk1/3rtA==","X-Received":"by 10.223.185.5 with SMTP id k5mr20498397wrf.189.1505594399432;\n\tSat, 16 Sep 2017 13:39:59 -0700 (PDT)","From":"Richard Sandiford <richard.sandiford@linaro.org>","To":"gcc-patches@gcc.gnu.org","Mail-Followup-To":"gcc-patches@gcc.gnu.org, richard.sandiford@linaro.org","Subject":"[committed] PR82228: Move ncopies calculation in\n\tvectorizable_live_operation","Date":"Sat, 16 Sep 2017 21:39:56 +0100","Message-ID":"<87k20ynzs3.fsf@linaro.org>","User-Agent":"Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)","MIME-Version":"1.0","Content-Type":"text/plain"},"content":"...which should have been after the early exit for non-vectorised\nstatements.  (Actually it could be after the !vec_stmt test in current\nsources, but one of the later SVE patches needs it to be before, and\nthat's also the standard position in other vectorizable_* routines.)\n\nTested on x86_64-linux-gnu and applied as obvious.\n\nIt might be difficult to construct a reliable C or Fortran test for this,\nsince it only triggers if we miss a sinking opportunity.  A gimple FE\ntest might work though.  I'll try that when I have more time, but I\ndidn't want to hold the patch up until then.\n\nThanks,\nRichard\n\n\n2017-09-16  Richard Sandiford  <richard.sandiford@linaro.org>\n\ngcc/\n\tPR tree-optimization/82228\n\t* tree-vect-loop.c (vectorizable_live_operation): Move initialization\n\tof ncopies.","diff":"Index: gcc/tree-vect-loop.c\n===================================================================\n--- gcc/tree-vect-loop.c\t2017-09-15 13:03:19.144141117 +0100\n+++ gcc/tree-vect-loop.c\t2017-09-16 21:30:38.351984079 +0100\n@@ -7029,11 +7029,6 @@ vectorizable_live_operation (gimple *stm\n \n   gcc_assert (STMT_VINFO_LIVE_P (stmt_info));\n \n-  if (slp_node)\n-    ncopies = 1;\n-  else\n-    ncopies = vect_get_num_copies (loop_vinfo, vectype);\n-\n   if (STMT_VINFO_DEF_TYPE (stmt_info) == vect_reduction_def)\n     return false;\n \n@@ -7054,6 +7049,11 @@ vectorizable_live_operation (gimple *stm\n       return true;\n     }\n \n+  if (slp_node)\n+    ncopies = 1;\n+  else\n+    ncopies = vect_get_num_copies (loop_vinfo, vectype);\n+\n   if (!vec_stmt)\n     /* No transformation required.  */\n     return true;\n","prefixes":["committed"]}