From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from angie.orcam.me.uk (angie.orcam.me.uk [78.133.224.34]) by sourceware.org (Postfix) with ESMTP id 0D60C3882079 for ; Thu, 13 Jun 2024 16:14:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0D60C3882079 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=orcam.me.uk Authentication-Results: sourceware.org; spf=none smtp.mailfrom=orcam.me.uk ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0D60C3882079 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=78.133.224.34 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1718295275; cv=none; b=UEA2YbyNkXtvrthQ/sY3SviV96/jU201l+GlZIAcC7Rh5jxR+YOgbAxDTHytHwGKBBxa6uQm79xgJ9LEpVWM1kvTYIC0exd5v9skdnQR0KC8SpygAWrbIi0zCdlt5dvtdNgZzeZQA0Hsufy8m+Q9kqGh8KI3e9DqFlpG6RkK3rg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1718295275; c=relaxed/simple; bh=fsIEwHxD+YQuuZscdvoNpgZD46vIcrmG3Nm5XHf96gw=; h=Date:From:To:Subject:Message-ID:MIME-Version; b=NE4zcHHuEIPW8roiSO7xA7AtOQuatHc9mOyxxdM3WToAnXdOUUXqzSP0X3wnaipRAUh6nQDVLL710h1bwTgN+lCSAER9CghpVlqknXLP6oEyKXBNGnJ05V8PCzNKtiAWonBffdXZ4vUZqpo7TEsFsPMyhvoM/FrStVo7JDR0MVE= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by angie.orcam.me.uk (Postfix, from userid 500) id A431B92009C; Thu, 13 Jun 2024 18:14:32 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by angie.orcam.me.uk (Postfix) with ESMTP id 9FE3392009B; Thu, 13 Jun 2024 17:14:32 +0100 (BST) Date: Thu, 13 Jun 2024 17:14:32 +0100 (BST) From: "Maciej W. Rozycki" To: "Li, Pan2" cc: Richard Biener , "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "kito.cheng@gmail.com" , "tamar.christina@arm.com" Subject: RE: [PATCH v7] Match: Support more form for scalar unsigned SAT_ADD In-Reply-To: Message-ID: References: <20240606133718.2343188-1-pan2.li@intel.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-1163.2 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_INFOUSMEBIZ,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no 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 Thu, 13 Jun 2024, Li, Pan2 wrote: > Could you please help to update the upstream for another try ? > > Should be fixed by this commit https://github.com/gcc-mirror/gcc/commit/d03ff3fd3e2da1352a404e3c53fe61314569345c. > > Feel free to ping me if any questions or concerns. Upstream master (as at 609764a42f0c) doesn't build: In file included from .../gcc/gcc/coretypes.h:487, from .../gcc/gcc/tree-vect-stmts.cc:24: In member function 'bool poly_int::is_constant() const [with unsigned int N = 2; C = long unsigned int]', inlined from 'C poly_int::to_constant() const [with unsigned int N = 2; C = long unsigned int]' at .../gcc/gcc/poly-int.h:588:3, inlined from 'bool get_group_load_store_type(vec_info*, stmt_vec_info, tree, slp_tree, bool, vec_load_store_type, vect_memory_access_type*, poly_int64*, dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)' at .../gcc/gcc/tree-vect-stmts.cc:2155:39, inlined from 'bool get_load_store_type(vec_info*, stmt_vec_info, tree, slp_tree, bool, vec_load_store_type, unsigned int, vect_memory_access_type*, poly_int64*, dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)' at .../gcc/gcc/tree-vect-stmts.cc:2387:38: .../gcc/gcc/poly-int.h:557:7: error: 'remain.poly_int<2, long unsigned int>::coeffs[1]' may be used uninitialized [-Werror=maybe-uninitialized] 557 | if (this->coeffs[i] != 0) | ^~ .../gcc/gcc/tree-vect-stmts.cc: In function 'bool get_load_store_type(vec_info*, stmt_vec_info, tree, slp_tree, bool, vec_load_store_type, unsigned int, vect_memory_access_type*, poly_int64*, dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)': .../gcc/gcc/tree-vect-stmts.cc:2115:23: note: 'remain.poly_int<2, long unsigned int>::coeffs[1]' was declared here 2115 | poly_uint64 remain; | ^~~~~~ In file included from .../gcc/gcc/system.h:1250, from .../gcc/gcc/tree-vect-stmts.cc:23: In function 'int ceil_log2(long unsigned int)', inlined from 'bool get_group_load_store_type(vec_info*, stmt_vec_info, tree, slp_tree, bool, vec_load_store_type, vect_memory_access_type*, poly_int64*, dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)' at .../gcc/gcc/tree-vect-stmts.cc:2156:43, inlined from 'bool get_load_store_type(vec_info*, stmt_vec_info, tree, slp_tree, bool, vec_load_store_type, unsigned int, vect_memory_access_type*, poly_int64*, dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)' at .../gcc/gcc/tree-vect-stmts.cc:2387:38: .../gcc/gcc/hwint.h:266:17: error: 'remain.poly_int<2, long unsigned int>::coeffs[0]' may be used uninitialized [-Werror=maybe-uninitialized] 266 | return x == 0 ? 0 : floor_log2 (x - 1) + 1; | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ .../gcc/gcc/tree-vect-stmts.cc: In function 'bool get_load_store_type(vec_info*, stmt_vec_info, tree, slp_tree, bool, vec_load_store_type, unsigned int, vect_memory_access_type*, poly_int64*, dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)': .../gcc/gcc/tree-vect-stmts.cc:2115:23: note: 'remain.poly_int<2, long unsigned int>::coeffs[0]' was declared here 2115 | poly_uint64 remain; | ^~~~~~ cc1plus: all warnings being treated as errors make[2]: *** [Makefile:1198: tree-vect-stmts.o] Error 1 and actually e14afbe2d1c6^ doesn't build either (I guess it's just slipped through bisection as the file didn't have to be rebuild or something): In file included from .../gcc/gcc/rtl.h:3973, from .../gcc/gcc/config/riscv/riscv.cc:31: In function 'rtx_def* init_rtx_fmt_ee(rtx, machine_mode, rtx, rtx)', inlined from 'rtx_def* gen_rtx_fmt_ee_stat(rtx_code, machine_mode, rtx, rtx)' at ./genrtl.h:50:26, inlined from 'void riscv_move_integer(rtx, rtx, long int, machine_mode)' at .../gcc/gcc/config/riscv/riscv.cc:2786:10: ./genrtl.h:37:16: error: 'x' may be used uninitialized [-Werror=maybe-uninitialized] 37 | XEXP (rt, 0) = arg0; .../gcc/gcc/config/riscv/riscv.cc: In function 'void riscv_move_integer(rtx, rtx, long int, machine_mode)': .../gcc/gcc/config/riscv/riscv.cc:2723:7: note: 'x' was declared here 2723 | rtx x; | ^ cc1plus: all warnings being treated as errors make[2]: *** [Makefile:2563: riscv.o] Error 1 I hope you'll find this all useful. As it happens I don't need to verify my needs with a RISC-V target anymore, so I'm leaving it all up to you now as I need to switch back to Alpha, which has been my actual objective, and these rebuilds have taken a lot of my attention already. Thank you for your input. Maciej