From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 69F353858C5E for ; Thu, 9 Mar 2023 16:42:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 69F353858C5E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com Received: from pps.filterd (m0187473.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 329EnrVM007252; Thu, 9 Mar 2023 16:42:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=pp1; bh=pu5jtuIlY1PXtxXtCK0EzgEfqkpLA7KT3zJzcIFuNVU=; b=W0/YreYnht55llHa3RpWP1otWPPJgxxFrfo1qR1bc9nxlhvNlpzRJ3jjpGpcPRmyTpE+ ZwSDZiPcGqhXpsGDGn675AH2qQM6wK2Ni4yQjORWUgRG+ZqDkGND2pYVD1Wl/sDTyx0B Tk1ZIroEXW/EpkcKd3q9sGEc9urhWl1GSxbEXVzrxZ5Q1CfHc9zBDz025ocrytonP5sh KKPsSPGaKttvqSakSTWO6oG9mITcqkGtf/NEYjLX7uhiH7Vk9UZqusGiqlK/W2MjSr8q evK6l7/S2p2SUmSUpquPVTJqCUPQHW/LRSt5tARI51iLiMVXDN0EATL8aLSmXviF0U+f cQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3p6s9b9jx5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Mar 2023 16:42:49 +0000 Received: from m0187473.ppops.net (m0187473.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 329DVw4q035752; Thu, 9 Mar 2023 16:42:48 GMT Received: from ppma01dal.us.ibm.com (83.d6.3fa9.ip4.static.sl-reverse.com [169.63.214.131]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3p6s9b9jwn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Mar 2023 16:42:48 +0000 Received: from pps.filterd (ppma01dal.us.ibm.com [127.0.0.1]) by ppma01dal.us.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 329FBd6k022235; Thu, 9 Mar 2023 16:42:47 GMT Received: from smtprelay02.wdc07v.mail.ibm.com ([9.208.129.120]) by ppma01dal.us.ibm.com (PPS) with ESMTPS id 3p6fhhvtqu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Mar 2023 16:42:47 +0000 Received: from smtpav01.dal12v.mail.ibm.com (smtpav01.dal12v.mail.ibm.com [10.241.53.100]) by smtprelay02.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 329Ggjns63570294 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 9 Mar 2023 16:42:45 GMT Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6D2BB5805D; Thu, 9 Mar 2023 16:42:45 +0000 (GMT) Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E1C7358065; Thu, 9 Mar 2023 16:42:44 +0000 (GMT) Received: from toto.the-meissners.org (unknown [9.65.233.34]) by smtpav01.dal12v.mail.ibm.com (Postfix) with ESMTPS; Thu, 9 Mar 2023 16:42:44 +0000 (GMT) Date: Thu, 9 Mar 2023 11:42:43 -0500 From: Michael Meissner To: Segher Boessenkool Cc: Michael Meissner , gcc-patches@gcc.gnu.org, "Kewen.Lin" , David Edelsohn , Peter Bergner , Will Schmidt Subject: Re: [PATCH 2/2] Rework 128-bit complex multiply and divide. Message-ID: Mail-Followup-To: Michael Meissner , Segher Boessenkool , gcc-patches@gcc.gnu.org, "Kewen.Lin" , David Edelsohn , Peter Bergner , Will Schmidt References: <20230303213544.GJ25951@gate.crashing.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230303213544.GJ25951@gate.crashing.org> X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: mBUtz5C7mEpgNA66WgSmWqn4M502J79i X-Proofpoint-GUID: PwqmPxWHIf3mAznRbBZm7ikzPoYX-jge X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-09_08,2023-03-09_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 phishscore=0 clxscore=1011 impostorscore=0 mlxlogscore=637 priorityscore=1501 suspectscore=0 mlxscore=0 spamscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303090132 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,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: On Fri, Mar 03, 2023 at 03:35:44PM -0600, Segher Boessenkool wrote: > > +complex_multiply_builtin_code (machine_mode mode) > > +{ > > + return (built_in_function) (BUILT_IN_COMPLEX_MUL_MIN + mode > > + - MIN_MODE_COMPLEX_FLOAT); > > +} > > There should be an assert that the mode is as expected > gcc_assert (IN_RANGE (mode, MIN_MODE_COMPLEX_FLOAT, MAX_MODE_COMPLEX_FLOAT)); > or such. > > Using more temporaries should make this simpler as well, obviate the > need for explicit casts, and make everything fit on short lines. While I can use a temporary to shorten the line, I can't eliminate the case, or I'll get a warning about implicit conversion from int to the enum built_in_function. Here is what I will use: static inline built_in_function complex_multiply_builtin_code (machine_mode mode) { gcc_assert (IN_RANGE (mode, MIN_MODE_COMPLEX_FLOAT, MAX_MODE_COMPLEX_FLOAT)); int func = BUILT_IN_COMPLEX_MUL_MIN + mode - MIN_MODE_COMPLEX_FLOAT; return (built_in_function) func; } -- Michael Meissner, IBM PO Box 98, Ayer, Massachusetts, USA, 01432 email: meissner@linux.ibm.com