From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg154.qq.com (smtpbg154.qq.com [15.184.224.54]) by sourceware.org (Postfix) with ESMTPS id D44CF3858C3A for ; Fri, 23 Jun 2023 23:42:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D44CF3858C3A 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: bizesmtp85t1687563719tifr35am Received: from rios-cad5.localdomain ( [58.60.1.11]) by bizesmtp.qq.com (ESMTP) with id ; Sat, 24 Jun 2023 07:41:58 +0800 (CST) X-QQ-SSF: 01400000000000G0S000000A0000000 X-QQ-FEAT: XBN7tc9DADLASRXhOpFxh5XlbzGXRmwzh9z6ltweQ3YVOnYuUNEuVHussalRE 71LUrxbb8Z9ljDUZAr4eR7PTntfIVmEccTHcl3Jq6HmvpaDYtrjs6hM4H27+C9zxmPv0AWg ZyOxnoaaFDeXEs0Arc/1JqJ7o2ziAqSy/YFlxdDzHW/KtyDLRWKh4Bz6MNUZn8BhAX2q0gp /b1zmf3SehG9cUJcrVcZ0kynOBZHu6IKXIaXGGDrvqOClng2B/3IhSHybnoxYKO62NJoNsK WCbTeRaMQi/ec+V+qL1QYI2jCZMhvtg12aW2/cgKEWPVA7okzUfa4zFygWVCwIm2vfEJNTl eXd9PsstinD2Ej2R+tjir6uTo2CKiISFnsFnOikVql+Bk856CH2lndltUYYBw== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 10710474143285400065 From: juzhe.zhong@rivai.ai To: gcc-patches@gcc.gnu.org Cc: jeffreyalaw@gmail.com, rguenther@suse.de, richard.sandiford@arm.com, Ju-Zhe Zhong Subject: [PATCH V2] LOOP IVOPTS: Apply LEN_MASK_{LOAD,STORE} Date: Sat, 24 Jun 2023 07:41:57 +0800 Message-Id: <20230623234157.331911-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.1 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,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: From: Ju-Zhe Zhong Hi, Jeff. I fix format as you suggested. Ok for trunk ? gcc/ChangeLog: * tree-ssa-loop-ivopts.cc (get_mem_type_for_internal_fn): Apply LEN_MASK_{LOAD,STORE}. --- gcc/tree-ssa-loop-ivopts.cc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gcc/tree-ssa-loop-ivopts.cc b/gcc/tree-ssa-loop-ivopts.cc index 6671ff6db5a..dc7a29fead2 100644 --- a/gcc/tree-ssa-loop-ivopts.cc +++ b/gcc/tree-ssa-loop-ivopts.cc @@ -2442,6 +2442,7 @@ get_mem_type_for_internal_fn (gcall *call, tree *op_p) case IFN_MASK_LOAD: case IFN_MASK_LOAD_LANES: case IFN_LEN_LOAD: + case IFN_LEN_MASK_LOAD: if (op_p == gimple_call_arg_ptr (call, 0)) return TREE_TYPE (gimple_call_lhs (call)); return NULL_TREE; @@ -2449,9 +2450,16 @@ get_mem_type_for_internal_fn (gcall *call, tree *op_p) case IFN_MASK_STORE: case IFN_MASK_STORE_LANES: case IFN_LEN_STORE: - if (op_p == gimple_call_arg_ptr (call, 0)) - return TREE_TYPE (gimple_call_arg (call, 3)); - return NULL_TREE; + case IFN_LEN_MASK_STORE: + { + if (op_p == gimple_call_arg_ptr (call, 0)) + { + internal_fn ifn = gimple_call_internal_fn (call); + int index = internal_fn_stored_value_index (ifn); + return TREE_TYPE (gimple_call_arg (call, index)); + } + return NULL_TREE; + } default: return NULL_TREE; -- 2.36.3