From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 9F3F6385703F for ; Tue, 18 May 2021 12:53:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9F3F6385703F Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-23-LM7o26yEOy6E7uahLShm8w-1; Tue, 18 May 2021 08:53:11 -0400 X-MC-Unique: LM7o26yEOy6E7uahLShm8w-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A779E1883521; Tue, 18 May 2021 12:53:10 +0000 (UTC) Received: from tucnak.zalov.cz (ovpn-114-59.ams2.redhat.com [10.36.114.59]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 33A705C1A1; Tue, 18 May 2021 12:53:10 +0000 (UTC) Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.16.1/8.16.1) with ESMTPS id 14ICr8PH3089980 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 18 May 2021 14:53:08 +0200 Received: (from jakub@localhost) by tucnak.zalov.cz (8.16.1/8.16.1/Submit) id 14ICr6Qm3089979; Tue, 18 May 2021 14:53:06 +0200 Date: Tue, 18 May 2021 14:53:06 +0200 From: Jakub Jelinek To: Antoni Boucher Cc: jit@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: Re: [PATCH] libgccjit: Add support for sized integer types, including 128-bit integers [PR95325] Message-ID: <20210518125306.GP1179226@tucnak> Reply-To: Jakub Jelinek References: <92a0bd2aad201de75a71d0a00414e518cf1716e6.camel@zoho.com> MIME-Version: 1.0 In-Reply-To: <92a0bd2aad201de75a71d0a00414e518cf1716e6.camel@zoho.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: jit@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Jit mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2021 12:53:15 -0000 On Tue, May 18, 2021 at 08:23:56AM -0400, Antoni Boucher via Gcc-patches wrote: > Hello. > This patch add support for sized integer types. > Maybe it should check whether the size of a byte for the current > platform is 8 bits and do other checks so that they're only available > when it makes sense. > What do you think? Not a review, just a comment. The 128-bit integral types are available only on some targets, the test e.g. the C/C++ FE do for those is targetm.scalar_mode_supported_p (TImode) and so even libgccjit shouldn't provide those types unconditionally. Similarly for the tests (though it could be guarded with e.g #ifdef __SIZEOF_INT128__ in that case). Also, while currently all in tree targets have BITS_PER_UNIT 8 and therefore QImode is 8-bit, HImode 16-bit, SImode 32-bit and DImode 64-bit, in the past and maybe in he future there can be targets that could have e.g. 16-bit or 32-bit QImode and then there wouldn't be any uint8_t/int8_t and int16_t would be intQImode_type_node etc. uint16_type_node = make_or_reuse_type (16, 1); uint32_type_node = make_or_reuse_type (32, 1); uint64_type_node = make_or_reuse_type (64, 1); if (targetm.scalar_mode_supported_p (TImode)) uint128_type_node = make_or_reuse_type (128, 1); are always with the given precisions, perhaps jit should use signed_type_for (uint16_type_node) etc.? Jakub