From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id BEA473947C27; Thu, 17 Nov 2022 07:50:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BEA473947C27 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1668671437; bh=B9LaIArhb37gbi7Uy1/j7lfmLjz6e1PSwsLhBgGKtBA=; h=From:To:Subject:Date:In-Reply-To:References:From; b=pwAc3K/7f5jcphNf0M4kE4VFp7OVjiVAKUfJvIlS7gLfM07jdnFoZ1C0hpgkQ+gW7 oL2fH6ayFsPESeVcoKjhXxpo2xJwkRsfZA+1eXbE7triYkVExBm1sXHk9GvECLaZs2 uI79rUTlawg0XYw90Mpb8AeT1deCgtzNVgGwyoqY= From: "chenglulu at loongson dot cn" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/107731] loongarch Operand Modifiers are not documented Date: Thu, 17 Nov 2022 07:50:37 +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: 13.0 X-Bugzilla-Keywords: documentation X-Bugzilla-Severity: normal X-Bugzilla-Who: chenglulu at loongson dot cn X-Bugzilla-Status: NEW 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D107731 --- Comment #6 from chenglulu --- (In reply to Andrew Pinski from comment #1) > %c does not mean anything in loongarch. >=20 > The codes are not documented in the documentation for loonarch though but > they currently only documented in loongarch.cc: > 'A' Print a _DB suffix if the memory model requires a release. > 'b' Print the address of a memory operand, without offset. > 'C' Print the integer branch condition for comparison OP. > 'd' Print CONST_INT OP in decimal. > 'F' Print the FPU branch condition for comparison OP. > 'G' Print a DBAR insn if the memory model requires a release. > 'H' Print address 52-61bit relocation associated with OP. > 'h' Print the high-part relocation associated with OP. > 'i' Print i if the operand is not a register. > 'L' Print the low-part relocation associated with OP. > 'm' Print one less than CONST_INT OP in decimal. > 'N' Print the inverse of the integer branch condition for comparison = OP. > 'r' Print address 12-31bit relocation associated with OP. > 'R' Print address 32-51bit relocation associated with OP. > 'T' Print 'f' for (eq:CC ...), 't' for (ne:CC ...), > 'z' for (eq:?I ...), 'n' for (ne:?I ...). > 't' Like 'T', but with the EQ/NE cases reversed > 'V' Print exact log2 of CONST_INT OP element 0 of a replicated > CONST_VECTOR in decimal. > 'W' Print the inverse of the FPU branch condition for comparison OP. > 'X' Print CONST_INT OP in hexadecimal format. > 'x' Print the low 16 bits of CONST_INT OP in hexadecimal format. > 'Y' Print loongarch_fp_conditions[INTVAL (OP)] > 'y' Print exact log2 of CONST_INT OP in decimal. > 'Z' Print OP and a comma for 8CC, otherwise print nothing. > 'z' Print $0 if OP is zero, otherwise print OP normally. */ Sorry, I'll put the ones that will be used in the document.(In reply to Xi Ruoyao from comment #2) > (In reply to Andrew Pinski from comment #1) > > %c does not mean anything in loongarch. > >=20 > > The codes are not documented in the documentation for loonarch though b= ut > > they currently only documented in loongarch.cc: > > 'A' Print a _DB suffix if the memory model requires a release. > > 'b' Print the address of a memory operand, without offset. > > 'C' Print the integer branch condition for comparison OP. > > 'd' Print CONST_INT OP in decimal. > > 'F' Print the FPU branch condition for comparison OP. > > 'G' Print a DBAR insn if the memory model requires a release. > > 'H' Print address 52-61bit relocation associated with OP. > > 'h' Print the high-part relocation associated with OP. > > 'i' Print i if the operand is not a register. > > 'L' Print the low-part relocation associated with OP. > > 'm' Print one less than CONST_INT OP in decimal. > > 'N' Print the inverse of the integer branch condition for compariso= n OP. > > 'r' Print address 12-31bit relocation associated with OP. > > 'R' Print address 32-51bit relocation associated with OP. > > 'T' Print 'f' for (eq:CC ...), 't' for (ne:CC ...), > > 'z' for (eq:?I ...), 'n' for (ne:?I ...). > > 't' Like 'T', but with the EQ/NE cases reversed > > 'V' Print exact log2 of CONST_INT OP element 0 of a replicated > > CONST_VECTOR in decimal. > > 'W' Print the inverse of the FPU branch condition for comparison OP. > > 'X' Print CONST_INT OP in hexadecimal format. > > 'x' Print the low 16 bits of CONST_INT OP in hexadecimal format. > > 'Y' Print loongarch_fp_conditions[INTVAL (OP)] > > 'y' Print exact log2 of CONST_INT OP in decimal. > > 'Z' Print OP and a comma for 8CC, otherwise print nothing. > > 'z' Print $0 if OP is zero, otherwise print OP normally. */ >=20 > Interestingly it "worked" with GCC 12.2... (In reply to Xi Ruoyao from comment #5) > (In reply to Andrew Pinski from comment #4) > > (In reply to Xi Ruoyao from comment #2) > > > Interestingly it "worked" with GCC 12.2... >=20 > No it does not work. I guess I typed the test command in a wrong SSH > session... I have found the error cause, I will push patch later=