From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id 3FC0F385CC87; Mon, 16 Oct 2023 18:23:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3FC0F385CC87 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1697480626; bh=CLiWp7cdD8ShCNqF+I2VuYZsC2zQvE3RfGSrLdJ9xRI=; h=From:To:Subject:Date:From; b=v6SKj4oYYtvQiIxq53e7KH4rgDIesWmvhSV8IxkPQHAN8oG3siv/TH8ml3rRI371z Lt/rIOujApN5E5LSF9F3uVcO00am5Ph12k+A+Kx2AaAU67uHSbgJ/OLKYmyyMyUG9d ff7/0qcGotlinT0l27HfVOgvfpM4zcD6DS3aCV0w= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Michael Meissner To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/meissner/heads/work139)] Update ChangeLog.meissner X-Act-Checkin: gcc X-Git-Author: Michael Meissner X-Git-Refname: refs/users/meissner/heads/work139 X-Git-Oldrev: 232f13ca9075f9ad33e6f62def03e3d6032462ce X-Git-Newrev: 39d18e7b7cb4e717065fbb2c4b705f11be848fe2 Message-Id: <20231016182346.3FC0F385CC87@sourceware.org> Date: Mon, 16 Oct 2023 18:23:46 +0000 (GMT) List-Id: https://gcc.gnu.org/g:39d18e7b7cb4e717065fbb2c4b705f11be848fe2 commit 39d18e7b7cb4e717065fbb2c4b705f11be848fe2 Author: Michael Meissner Date: Thu Oct 12 00:10:00 2023 -0400 Update ChangeLog.meissner Diff: --- gcc/ChangeLog.meissner | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner index 9f1909094939..5021e3ab1f2f 100644 --- a/gcc/ChangeLog.meissner +++ b/gcc/ChangeLog.meissner @@ -1,5 +1,77 @@ +==================== Branch work139, patch #1 ==================== + +PowerPC: Do not depend on an undefined shift + +I was building a cross compiler to PowerPC on my x86_86 workstation with the +latest version of GCC on October 11th. I could not build the compiler on the +x86_64 system as it died in building libgcc. I looked into it, and I +discovered the compiler was recursing until it ran out of stack space. If I +build a native compiler with the same sources on a PowerPC system, it builds +fine. + +I traced this down to a change made around October 10th: + +commit 8f1a70a4fbcc6441c70da60d4ef6db1e5635e18a (HEAD) +Author: Jiufu Guo +Date: Tue Jan 10 20:52:33 2023 +0800 + + rs6000: build constant via li/lis;rldicl/rldicr + + If a constant is possible left/right cleaned on a rotated value from + a negative value of "li/lis". Then, using "li/lis ; rldicl/rldicr" + to build the constant. + +The code was doing a -1 << 64 which is undefined behavior because different +machines produce different results. On the x86_64 system, (-1 << 64) produces +-1 while on a PowerPC 64-bit system, (-1 << 64) produces 0. The x86_64 then +recurses until the stack runs out of space. + +If I apply this patch, the compiler builds fine on both x86_64 as a PowerPC +crosss compiler and on a native PowerPC system. + +2023-10-12 Michael Meissner + +gcc/ + + PR target/111778 + * config/rs6000/rs6000.cc (can_be_built_by_li_lis_and_rldicl): Do not + use a shift left by the number of bits in a host wide int. + ==================== Branch work139, baseline ==================== +Add ChangeLog.meissner and REVISION. + +2023-10-11 Michael Meissner + +gcc/ + + * REVISION: New file for branch. + * ChangeLog.meissner: New file. + +gcc/c-family/ + + * ChangeLog.meissner: New file. + +gcc/c/ + + * ChangeLog.meissner: New file. + +gcc/cp/ + + * ChangeLog.meissner: New file. + +gcc/fortran/ + + * ChangeLog.meissner: New file. + +gcc/testsuite/ + + * ChangeLog.meissner: New file. + +libgcc/ + + * ChangeLog.meissner: New file. + 2023-10-11 Michael Meissner Clone branch