From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 6B3103858D1E for ; Mon, 9 Jan 2023 15:25:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6B3103858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=nexgo.de Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nexgo.de Received: from mr4.vodafonemail.de ([145.253.228.164]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pEu1U-00041x-As for gcc@gnu.org; Mon, 09 Jan 2023 10:25:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nexgo.de; s=vfde-smtpout-mb-15sep; t=1673277912; bh=AjFcy0M9YLopzVdj+C4TvGzkhYHWG2/H1tQnmwNEXAU=; h=Message-ID:From:To:References:In-Reply-To:Subject:Date: Content-Type:X-Mailer:From; b=Xxg+LrWDiaA41imGMDwpA7sCxQ3M5BM8g27/NLXlC0vKh5nXFDXK7Vi7WDMlRY+dP sEHo4GJwVafpUHqjgSMpJ9jsMu2wvCa1/SoeTK3yrx2NAxKOwFS8js5O2tS7Fm706Z R5cFoHpWg/A/6sgNuDSRxK67KeNHJBXb1dHL2bFU= Received: from smtp.vodafone.de (unknown [10.0.0.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mr4.vodafonemail.de (Postfix) with ESMTPS id 4NrHnN4x8mz20pd; Mon, 9 Jan 2023 15:25:12 +0000 (UTC) Received: from H270 (p5de6d091.dip0.t-ipconnect.de [93.230.208.145]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by smtp.vodafone.de (Postfix) with ESMTPSA id 4NrHnF0x5qz9tFh; Mon, 9 Jan 2023 15:25:01 +0000 (UTC) Message-ID: <3BFE5710A2B04DA89EC334177EC28BC6@H270> From: "Stefan Kanthak" To: "Paul Koning" Cc: References: <554A1354252F43BB8915A74129C41BE3@H270> In-Reply-To: Subject: Re: Widening multiplication, but no narrowing division [i386/AMD64] Date: Mon, 9 Jan 2023 16:20:37 +0100 Organization: Me, myself & IT MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Windows Mail 6.0.6002.18197 X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.24158 X-purgate-type: clean X-purgate: clean X-purgate-size: 880 X-purgate-ID: 155817::1673277908-B6FFC4DE-D53147DF/0/0 Received-SPF: pass client-ip=145.253.228.164; envelope-from=stefan.kanthak@nexgo.de; helo=mr4.vodafonemail.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,DKIM_VALID_EF=-0.1,RCVD_IN_DNSWL_LOW=-0.7,RCVD_IN_MSPIKE_H2=-0.001,SPF_HELO_NONE=0.001,SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_FAIL,SPF_HELO_PASS,TXREP 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: "Paul Koning" wrote: >> On Jan 9, 2023, at 7:20 AM, Stefan Kanthak wrote: >> >> Hi, >> >> GCC (and other C compilers too) support the widening multiplication >> of i386/AMD64 processors, but DON'T support their narrowing division: > > I wonder if this changed in the recent past. > I have a pattern for this type of thing in pdp11.md: [...] > and I'm pretty sure this worked at some point in the past. Unfortunately the C standard defines that the smaller operand (of lesser conversion rank), here divisor, has to undergo a conversion to the "real common type", i.e. the broader operand (of higher conversion rank), here dividend. Unless the information about promotion/conversion is handed over to the code generator it can't apply such patterns -- as demonstrated by the demo code. regards Stefan