From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151]) by sourceware.org (Postfix) with ESMTPS id 0F835384D185 for ; Wed, 29 Jun 2022 16:08:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0F835384D185 Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4LY5xG4f6wz9smY; Wed, 29 Jun 2022 18:08:50 +0200 (CEST) Date: Wed, 29 Jun 2022 18:08:47 +0200 From: Iain Buclaw Subject: Re: [committed] d: Add SIMD intrinsics module and compiler built-ins. To: Iain Buclaw via Gcc-patches , Andreas Schwab References: <20220629003018.939404-1-ibuclaw@gdcproject.org> In-Reply-To: MIME-Version: 1.0 Message-Id: <1656518510.het344icw5.astroid@pulse.none> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4LY5xG4f6wz9smY X-Spam-Status: No, score=-8.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jun 2022 16:08:55 -0000 Excerpts from Andreas Schwab's message of Juni 29, 2022 12:09 pm: > make[3]: Entering directory '/opt/gcc/gcc-20220629/Build/gcc' > /opt/gcc/gcc-20220629/Build/./prev-gcc/xg++ -B/opt/gcc/gcc-20220629/Build= /./prev-gcc/ -B/usr/aarch64-suse-linux/bin/ -nostdinc++ -B/opt/gcc/gcc-2022= 0629/Build/prev-aarch64-suse-linux/libstdc++-v3/src/.libs -B/opt/gcc/gcc-20= 220629/Build/prev-aarch64-suse-linux/libstdc++-v3/libsupc++/.libs -I/opt/g= cc/gcc-20220629/Build/prev-aarch64-suse-linux/libstdc++-v3/include/aarch64-= suse-linux -I/opt/gcc/gcc-20220629/Build/prev-aarch64-suse-linux/libstdc++= -v3/include -I/opt/gcc/gcc-20220629/libstdc++-v3/libsupc++ -L/opt/gcc/gcc-= 20220629/Build/prev-aarch64-suse-linux/libstdc++-v3/src/.libs -L/opt/gcc/gc= c-20220629/Build/prev-aarch64-suse-linux/libstdc++-v3/libsupc++/.libs -fno= -PIE -c -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC -fno-= exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -= Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual = -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werr= or -fno-common -DHAVE_CONFIG_H -I. -Id -I../../gcc -I../../gcc/d -I../../g= cc/../include -I../../gcc/../libcpp/include -I../../gcc/../libcody -I../..= /gcc/../libdecnumber -I../../gcc/../libdecnumber/bid -I../libdecnumber -I..= /../gcc/../libbacktrace -o d/intrinsics.o -MT d/intrinsics.o -MMD -MP -MF= d/.deps/intrinsics.TPo ../../gcc/d/intrinsics.cc > ../../gcc/d/intrinsics.cc: In function 'tree_node* build_shuffle_mask_typ= e(tree)': > ../../gcc/d/intrinsics.cc:279:42: error: 'nunits' may be used uninitializ= ed [-Werror=3Dmaybe-uninitialized] > 279 | return build_ctype (TypeVector::create (t->sarrayOf (nunits))); > | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ > ../../gcc/d/intrinsics.cc:276:26: note: 'nunits' was declared here > 276 | unsigned HOST_WIDE_INT nunits; > | ^~~~~~ > In file included from ../../gcc/d/intrinsics.cc:19: > ../../gcc/system.h: In function 'tree_node* expand_intrinsic_vec_shufflev= ector(tree)': > ../../gcc/system.h:396:29: error: 'v1elems' may be used uninitialized [-W= error=3Dmaybe-uninitialized] > 396 | #define MAX(X,Y) ((X) > (Y) ? (X) : (Y)) > | ^ > ../../gcc/d/intrinsics.cc:1193:35: note: 'v1elems' was declared here > 1193 | unsigned HOST_WIDE_INT v0elems, v1elems; > | ^~~~~~~ > ../../gcc/d/intrinsics.cc:1193:26: error: 'v0elems' may be used uninitial= ized [-Werror=3Dmaybe-uninitialized] > 1193 | unsigned HOST_WIDE_INT v0elems, v1elems; > | ^~~~~~~ > cc1plus: all warnings being treated as errors > make[3]: *** [Makefile:1146: d/intrinsics.o] Error 1 > make[3]: Leaving directory '/opt/gcc/gcc-20220629/Build/gcc' >=20 Hi Andreas, That's unfortunate, though curious why I am not seeing this on x86. Does the error goes away if you wrap that around gcc_assert? As I am already checking this a lot earlier before expansion, perhaps it would be better to use to_constant(). Regards, Iain.