From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 66682 invoked by alias); 15 Nov 2019 11:38:51 -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 66673 invoked by uid 89); 15 Nov 2019 11:38:51 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=H*f:sk:mptsgmp, H*i:sk:mptsgmp X-HELO: mail-lj1-f193.google.com Received: from mail-lj1-f193.google.com (HELO mail-lj1-f193.google.com) (209.85.208.193) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 15 Nov 2019 11:38:50 +0000 Received: by mail-lj1-f193.google.com with SMTP id v8so10355524ljh.5 for ; Fri, 15 Nov 2019 03:38:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=WD+Ez3rj/QlCTYng5WYE4qL6QPRRTwRvxcGGftvAlVw=; b=cKJ2MdFnrzhjjhNv45lQS6pd2KLH9ym8acZ0EdosAODCj6WXuzrmPGn1cQnv8HURyw lGUmR8EvwFWhUv1SQxhevPPorIAgDqWt142/ZeOa9En8Do2ncA5y9fujj859O8YXZeE1 fYXHacO8MQQ7C+1WqyePG+xzEn+9cJ3hoJHVya7UGuS2ECsFh9PZVCmjcwz32oHu4DXv n9IAyXKvjrW1SLHH1XFV+3y65GusCHsd772JkSgjHIxcsu/hcEbBwLVgMq7S7rwYP2eS xfXdooJ0Y70CYFWHYNzKHOkN9/Tr4dsH1kg3C9yG+trsZVXWmnv3R5WgB09uMKFdqH4K Crqw== MIME-Version: 1.0 References: In-Reply-To: From: Richard Biener Date: Fri, 15 Nov 2019 12:00:00 -0000 Message-ID: Subject: Re: [3/8] Add flags to dr_with_seg_len_pair_t To: Richard Biener , GCC Patches , Richard Sandiford Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2019-11/txt/msg01375.txt.bz2 On Fri, Nov 15, 2019 at 12:33 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Mon, Nov 11, 2019 at 7:47 PM Richard Sandiford > > wrote: > >> > >> This patch adds a bunch of flags to dr_with_seg_len_pair_t, > >> for use by later patches. The update to tree-loop-distribution.c > >> is conservatively correct, but might be tweakable later. > > > > Does this all work with interleaved SLP loads/stores like > > > > a[i] = b[i]; > > tem1 = b[i+1]; > > tem2 = b[i+2]; > > a[i+2] = tem2; > > a[i+1] = tem1; > > > > where we don't preserve the scalar order but emit code at the > > latest stmt of the grouped access? > > Yeah. vect-alias-check-9.c is a less sophisticated example of that. > In both cases vect_preserves_scalar_order_p is false. > > > That is, what does "preserve scalar oder" actually mean? > > It's supposed to mean that if a memory access A from the first > group and a memory access B from the second group occur within > the same scalar iteration, the order of the accesses in the > vector loop body will be the same as it was in the scalar loop body. > In other words, the order of the vector stmts honours any dependencies > between the accesses that occur within one iteration of the scalar loop. OK, I see. The patch is OK then. Thanks, Richard. > Thanks, > Richard