From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 49C1D3858409; Mon, 5 Feb 2024 13:30:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 49C1D3858409 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1707139838; bh=IIYBwVqho1ubvh2BNO9VDbBMNSQjnUb/B1UXq0tMKcQ=; h=From:To:Subject:Date:In-Reply-To:References:From; b=eJVkB0JQzIPXBoMbKRx9PQuEXQd4b16WebsFw+FWmlmJxU7aZi7hoWmo4tdMtb6TH dr3qzuvofwNrZlzWX9IIzDfPoE7xltEgPFWhRMYy+2+csXs7jkuO5HPfy9y2TISa8L dZHX38A4ju5DUCh3Xzo5xUmGlhBr3W7MO6/ksXTU= From: "linkw at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug testsuite/106680] Test gcc.target/powerpc/bswap64-4.c fails on 32-bit BE Date: Mon, 05 Feb 2024 13:30:37 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: testsuite X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: linkw at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: linkw at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.0 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106680 --- Comment #12 from Kewen Lin --- (In reply to Sebastian Huber from comment #10) > (In reply to Kewen Lin from comment #9) > > Note that now we only disable implicit powerpc64 for -m32 when the > > OS_MISSING_POWERPC64 is set. > >=20 > > /* Don't expect powerpc64 enabled on those OSes with OS_MISSING_POWER= PC64, > > since they do not save and restore the high half of the GPRs corre= ctly > > in all cases. If the user explicitly specifies it, we won't inter= fere > > with the user's specification. */ > > #ifdef OS_MISSING_POWERPC64 > > if (OS_MISSING_POWERPC64 > > && TARGET_32BIT > > && TARGET_POWERPC64 > > && !(rs6000_isa_flags_explicit & OPTION_MASK_POWERPC64)) > > rs6000_isa_flags &=3D ~OPTION_MASK_POWERPC64; > > #endif > >=20 > > But rtems.h doesn't define OS_MISSING_POWERPC64 >=20 > RTEMS supports the 64-bit PowerPC for the 64-bit multilibs. >=20 64-bit kernel should support 64-bit PowerPC, but does 32-bit kernel support saving and restoring 64-bit regs? The current rtems.h is saying yes, if it's no, we should fix the rtems.h and you won't need the explicit -mno-powerpc64 then. btw, take the comments in freebsd64.h for example. /* FreeBSD doesn't support saving and restoring 64-bit regs with a 32-bit kernel. This is supported when running on a 64-bit kernel with COMPAT_FREEBSD32, but tell GCC it isn't so that our 32-bit binaries are compatible. */ #define OS_MISSING_POWERPC64 !TARGET_64BIT=