From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29711 invoked by alias); 20 Mar 2003 20:59:04 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 29704 invoked from network); 20 Mar 2003 20:59:03 -0000 Received: from unknown (HELO d12lmsgate-4.de.ibm.com) (194.196.100.237) by sources.redhat.com with SMTP; 20 Mar 2003 20:59:03 -0000 Received: from d12relay02.de.ibm.com (d12relay02.de.ibm.com [9.165.215.23]) by d12lmsgate-4.de.ibm.com (8.12.3/8.12.3) with ESMTP id h2KKx2dk122808 for ; Thu, 20 Mar 2003 21:59:02 +0100 Received: from d12ml028.de.ibm.com (d12ml028_cs0 [9.165.223.24]) by d12relay02.de.ibm.com (8.12.8/NCO/VER6.5) with ESMTP id h2KKx2nc203202 for ; Thu, 20 Mar 2003 21:59:02 +0100 Importance: Normal Sensitivity: Subject: RFA: Ada variable-sized objects, bit_size_type == TImode, and divti3 To: gcc@gcc.gnu.org Message-ID: From: "Ulrich Weigand" Date: Thu, 20 Mar 2003 21:55:00 -0000 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii X-SW-Source: 2003-03/txt/msg01311.txt.bz2 Hello, Ada builds are currently failing on s390x due to missing __divti3. Now, I guess we could add 128-bit division routines to libgcc. However, the question is whether this should really be needed. What appears to happen is that the Ada source in question defines a variable-sized object with non-standard alignment requirements, and Ada reflects this by building a DECL_SIZE_UNIT tree containing various mult_expr and div_expr nodes. As alignment is counted in bits, those have type bit_size_type, which on 64-bit platforms corresponds to TImode. When expanding that tree, the backend emits calls to __divti3. However, I'm wondering: - does bit_size_type really need to be TImode - if so, shouldn't these special cases be implemented more efficiently somewhere (we divide by an integer constant 8 here) - in general, are we really supposed to need TImode division How does this work on other 64-bit platforms? Mit freundlichen Gruessen / Best Regards Ulrich Weigand -- Dr. Ulrich Weigand Linux for S/390 Design & Development IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com