From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id DBE4C3858C83 for ; Thu, 20 Apr 2023 17:41:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DBE4C3858C83 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-ej1-x630.google.com with SMTP id u3so8028899ejj.12 for ; Thu, 20 Apr 2023 10:41:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682012475; x=1684604475; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:from:to:cc:subject:date:message-id :reply-to; bh=ci6MbUu8arsi8yKBf/NFCnU/g1i4SWwkaZeJNDUhmc8=; b=PZyAX57kh18TYlg/zuV+jXLpi7IyeVta2HdWbPAievMflYyqKDda7YCF+jah9jYpda hTrz4J2lZ8TitEhmHOx9KhR8xmgAsIz+JM9Pjj8dQzV4jxStHGp1BsL1sGAcuzaxBgeJ 3JItxZdYGaBMggUyk4ZqqjcXtkadsxKBWFxvgWN8OIV6ctYEZxC/FVvWBzrEPne8BEXg Irl+pRC/RBqjGTu7mfQJtfZ1Ac1GNz4/81CK+UVALhgglBlh5wLXAZ0EKGBI4Czf4Lje 92fJZqTj/eLjgKQE77lREP93lmQ/ENWzCTco9FBtx17aderbonWccGyQucrBjIwbWfAX D0Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682012475; x=1684604475; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ci6MbUu8arsi8yKBf/NFCnU/g1i4SWwkaZeJNDUhmc8=; b=BovbWcdwDmARwsSZd6TmCQ6Qk6ij/rINg/YUHmilj6Sb8Bogm9hgOM8hV/U5hYV9Ht kPnf9h+bPFt6sBD98PNOkFR6MBwJGzA5tYiE/b6hSDZV18f1PgkAuNuutMWvJ+zfT7pc iPYWX76m4fuYlCW/fZVEPv9JE2C5J5tBlxj/b0lucgIMIieULdxMqs67Ghzt+R8isjQt jTFME9NRxuMn+dBYDI21oaW2qgDmuo+SPvc+IlYyBPGCQosCbcs52ZfwOiXfSQj87hS1 Lj8DTIThpUJCbLsHjIhLjw0pZ37cQ1re6l/oTQMVC28WTuNdQI9269WnMBs6sHmo9AT9 It+w== X-Gm-Message-State: AAQBX9et8wutTXvraBQHPChJGBI/C+X4gNNK9VvF2GMtOYVxF4d/awvm lnMxk6ZQDIka9HS2ZordTTKDraz5Rp0= X-Google-Smtp-Source: AKy350aP6QV2tTQv3rHaBFI1080kjTLDW47CRRPHbAsC0V0gtvpP3lpj9fQr3bpUkoerRHsogbsBFQ== X-Received: by 2002:a17:906:2853:b0:953:45a0:1fc9 with SMTP id s19-20020a170906285300b0095345a01fc9mr2103967ejc.9.1682012474789; Thu, 20 Apr 2023 10:41:14 -0700 (PDT) Received: from smtpclient.apple (dynamic-095-114-005-110.95.114.pool.telefonica.de. [95.114.5.110]) by smtp.gmail.com with ESMTPSA id g25-20020a170906349900b0095336e8e012sm978704ejb.176.2023.04.20.10.41.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 20 Apr 2023 10:41:14 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: Richard Biener Mime-Version: 1.0 (1.0) Subject: Re: [PATCH] tree-vect-patterns: One small vect_recog_ctz_ffs_pattern tweak [PR109011] Date: Thu, 20 Apr 2023 19:41:03 +0200 Message-Id: <277560BB-5445-4ECD-A79D-145D6360E4D7@gmail.com> References: Cc: Richard Biener , gcc-patches@gcc.gnu.org In-Reply-To: To: Jakub Jelinek X-Mailer: iPhone Mail (20E252) X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,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: > Am 20.04.2023 um 19:40 schrieb Jakub Jelinek via Gcc-patches : >=20 > =EF=BB=BFHi! >=20 > I've noticed I've made a typo, ifn in this function this late > is always only IFN_CTZ or IFN_FFS, never IFN_CLZ. >=20 > Due to this typo, we weren't using the originally intended > .CTZ (X) =3D .POPCOUNT ((X - 1) & ~X) > but > .CTZ (X) =3D PREC - .POPCOUNT (X | -X) > instead when we want to emit __builtin_ctz*/.CTZ using .POPCOUNT. > Both compute the same value, both are defined at 0 with the > same value (PREC), both have same number of GIMPLE statements, > but I think the former ought to be preferred, because lots of targets > have andn as a single operation rather than two, and also putting > a -1 constant into a vector register is often cheaper than vector > with broadcast PREC power of two value. >=20 > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? Ok > 2023-04-20 Jakub Jelinek >=20 > PR tree-optimization/109011 > * tree-vect-patterns.cc (vect_recog_ctz_ffs_pattern): Use > .CTZ (X) =3D .POPCOUNT ((X - 1) & ~X) in preference to > .CTZ (X) =3D PREC - .POPCOUNT (X | -X). >=20 > --- gcc/tree-vect-patterns.cc.jj 2023-04-20 11:55:03.576154120 +0200 > +++ gcc/tree-vect-patterns.cc 2023-04-20 12:09:17.884633795 +0200 > @@ -1630,7 +1630,7 @@ vect_recog_ctz_ffs_pattern (vec_info *vi > && defined_at_zero_new > && val =3D=3D prec > && val_new =3D=3D prec) > - || (ifnnew =3D=3D IFN_POPCOUNT && ifn =3D=3D IFN_CLZ)) > + || (ifnnew =3D=3D IFN_POPCOUNT && ifn =3D=3D IFN_CTZ)) > { > /* .CTZ (X) =3D PREC - .CLZ ((X - 1) & ~X) > .CTZ (X) =3D .POPCOUNT ((X - 1) & ~X). */ >=20 > Jakub >=20