From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg151.qq.com (smtpbg151.qq.com [18.169.211.239]) by sourceware.org (Postfix) with ESMTPS id 062AB3858C2A for ; Tue, 26 Sep 2023 08:26:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 062AB3858C2A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp88t1695716760t03pgd42 Received: from rios-cad121.hadoop.rioslab.org ( [58.60.1.9]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 26 Sep 2023 16:25:59 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: +ynUkgUhZJmvfTef+mTJshD0skjYchRETMLsrgEINS1nx3Ju5AuCPHcXbc2SP NpXLRgz8GAtlq7etACqH3JYcSWAnTmoxRJU9SCCgw4hji9rRQNHvDvOvmbrPluRJFHddqTC Dn4AT1z/rZralnQPkUOZ7iXfNr/Vng2DSGqAqdXDd4trF0yi0+BoEVd7fFrKGcx3QtAhuWD 2q1GaYCfIdg5e7K7oy94h4/zT2lA52PCtPCQu5OrHrNHHHXDIq5ZNhW1ARTiEmctrrnt79A 1sKq88ZUL4OxrBLUMrbwOK+8DAfMmYnJmdsRTuk9/xXJwxwsg6AVRb89xqJvInQbPYaWyg4 4++2Hp4S2VEPXuUg3/ySWG3bSz0RzNHhCggO2BvMCFGQAmql4XIICEwnaXC3oqwnPSfWlT6 X-QQ-GoodBg: 2 X-BIZMAIL-ID: 11951272508154600798 From: Juzhe-Zhong To: gcc-patches@gcc.gnu.org Cc: richard.sandiford@arm.com, rguenther@suse.de, Juzhe-Zhong Subject: [PATCH] MATCH: Optimize COND_ADD reduction pattern Date: Tue, 26 Sep 2023 16:25:48 +0800 Message-Id: <20230926082548.944794-1-juzhe.zhong@rivai.ai> X-Mailer: git-send-email 2.36.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP 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: Current COND_ADD reduction pattern can't optimize floating-point vector. As Richard suggested: https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631336.html Allow COND_ADD reduction pattern to optimize floating-point vector. Bootstrap and Regression is running. Ok for trunk if tests pass ? gcc/ChangeLog: * match.pd: Optimize COND_ADD reduction pattern. --- gcc/match.pd | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/match.pd b/gcc/match.pd index 5061c19e086..398beaebd27 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -8863,8 +8863,10 @@ and, c = mask1 && mask2 ? d + b : d. */ (simplify - (IFN_COND_ADD @0 @1 (vec_cond @2 @3 integer_zerop) @1) - (IFN_COND_ADD (bit_and @0 @2) @1 @3 @1)) + (IFN_COND_ADD @0 @1 (vec_cond @2 @3 zerop@4) @1) + (if (ANY_INTEGRAL_TYPE_P (type) + || fold_real_zero_addition_p (type, NULL_TREE, @4, 0)) + (IFN_COND_ADD (bit_and @0 @2) @1 @3 @1))) /* Detect simplication for a conditional length reduction where -- 2.36.3