From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by sourceware.org (Postfix) with ESMTPS id 8A4D63858C52 for ; Fri, 5 May 2023 23:34:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8A4D63858C52 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1aaea3909d1so21754055ad.2 for ; Fri, 05 May 2023 16:34:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683329683; x=1685921683; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=SW7U/DZvLfYMSKKGQbWXbhDjjsk2yMNUnF8zAo1bgcQ=; b=WG6e7MPBLOsl3SKQQXvz8RsRxQDYlqlzaMn4YX8ckUZZBmwiThWUy8yZnq88Qqm46Q bh8W/enIHjByWQqs4nn0Pai5OtFsyIezPv+MqSEBZ+dpiehZ8s0uLDPmc25oakXnnD1m TP75+WHds6PlOSmYLc8QZEXLSSy24LTfpoaO0V5tD9i4AuhxqfHTvWSOc0BFt4wXfm4H sx0B6zoUE8Q/ZAbabrmw9ICMc2rB30GhUQlSRnJ26EoLzyQLMWrzIJ6I5P50hrMjfV8M ur+oftCTHtZ5SlTIBEQCy5ZcLMLdtg/eIoUADUCpVIWMK078pa/0DuOXTzgiPE+lN7vY q9NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683329683; x=1685921683; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=SW7U/DZvLfYMSKKGQbWXbhDjjsk2yMNUnF8zAo1bgcQ=; b=Hmik1okIxJXfxfeBn3AvQ/5j0yV6QfaPv7PL7tDQLvznAy2kiFvYjK2QJT6pOYdQHi Zit/eOnxMXkbL7HkM8JLyXji1FAdmrcMVa+YZnvm+iy4XIX6JrP/6mcxO6Ia+BlPirL9 YivFN+u6iJIE5Dwd82eqtbsN23qaGrFRq9NdyyKFGf/rpXWbnkbkR/n4NV68f5ExTt9T +m/wK4Kl0X1B3ATHGfHAm1/UYpEWp9fFdzM+tSDgR8019heELSXwXO4AMC7/vg12TfOp /WUcexIqOH4gZiTkWOYq7TlisqQndSAUzr4BbCIHMzUeUh1f9T2Ac4hohPkcA3QdYZF+ 767g== X-Gm-Message-State: AC+VfDzeYr4vf+AWi3WomcO8VhuesJtoXjoUy2EMVvC4WWrQTPVdU9ZF g46DThTbuUh+Hm+lKQIjH8M= X-Google-Smtp-Source: ACHHUZ6CjnoqFsQ8Yk+bF9LIaFte+oCyAiSRXnIcdS8o3lli12LV2fv09wUKxOx0lGhpsjowj4colg== X-Received: by 2002:a17:902:e748:b0:1a5:5e7:a1cc with SMTP id p8-20020a170902e74800b001a505e7a1ccmr3776395plf.58.1683329683573; Fri, 05 May 2023 16:34:43 -0700 (PDT) Received: from ?IPV6:2601:681:8600:13d0::99f? ([2601:681:8600:13d0::99f]) by smtp.gmail.com with ESMTPSA id n19-20020a170902969300b001aae625e422sm2299789plp.37.2023.05.05.16.34.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 May 2023 16:34:43 -0700 (PDT) Message-ID: <5fb90a4a-6c28-3d74-10d2-0950abca2dad@gmail.com> Date: Fri, 5 May 2023 17:34:42 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH v2] Canonicalize vec_merge when mask is constant. Content-Language: en-US To: liuhongt , gcc-patches@gcc.gnu.org References: <1995c643-47bb-6376-ce72-d5440e59196b@gmail.com> <20230504032535.1368877-1-hongtao.liu@intel.com> From: Jeff Law In-Reply-To: <20230504032535.1368877-1-hongtao.liu@intel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 5/3/23 21:25, liuhongt wrote: > Here's update patch with documents in md.texi. > Ok for trunk? > > -------------- > Use swap_communattive_operands_p for canonicalization. When both value > has same operand precedence value, then first bit in the mask should > select first operand. > > The canonicalization should help backends for pattern match. .i.e. x86 > backend has lots of vec_merge patterns, combine will create any form > of vec_merge(mask, or inverted mask), then backend need to add 2 > patterns to match exact 1 instruction. The canonicalization can > simplify 2 patterns to 1. > > gcc/ChangeLog: > > * combine.cc (maybe_swap_commutative_operands): Canonicalize > vec_merge when mask is constant. > * doc/md.texi: Document vec_merge canonicalization. OK. jeff