From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 6C4053857C61; Fri, 24 Jul 2020 12:39:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6C4053857C61 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1595594375; bh=FH1IYYEvUmWOfVqqxXyn5sBYGIph1R/FEc08znyQiTI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=uMA4VQIZwck/0pRAdrMJD+C1XZu1r1ESWM0Q9A2uBMg3OBLcGrYqJCtGSNsxbdyUa iebFSkIfh60xYfYh85BfoUhgZc5tSWkcqOEpWVB+EIqxRqc3bwMqxHaF55EtWtqwJP krMTV9ZGfuPxnmtziIamyRNd+fKC0XHGnjU/uOxI= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/96306] gcn libgomp build broken after "libomp: Add omp_depend_kind to omp_lib.{f90,h}" Date: Fri, 24 Jul 2020 12:39:35 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: openacc, openmp X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jul 2020 12:39:35 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D96306 --- Comment #6 from Jakub Jelinek --- Only by slowing down all 64-bit targets in OpenMP for Fortran by using the indirection (and make it incompatible with C/C++ too, which is even worse). I wasn't aware that gcn is BITS_PER_WORD 32 target, that makes it indeed harder, but for an offloading target that wants to support 64-bit host targ= ets I'm afraid the extra work is needed, because user can use the kind=3D16 or __int128_t types in their code. It can be minimal support, e.g. just have addti3, subti3, {and,ior,xor}ti3, shifts and a few others just as expanders that lower it immediately to DImo= de code, and for other operations defer to library. libgcc2.[ch] I think can be convinced through macros to emit code for TImode implementation using DImode, or you have e.g. config/gcn/lib2-divmod.c that could be adjusted into lib2-divmodti.c.=