public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-2184] [RISCV] Add the list of operand modifiers to riscv.md too
@ 2022-08-24 19:20 Andrew Pinski
  0 siblings, 0 replies; only message in thread
From: Andrew Pinski @ 2022-08-24 19:20 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:380b8fd96e10c45ce8470b906037cf487ac3f91f

commit r13-2184-g380b8fd96e10c45ce8470b906037cf487ac3f91f
Author: Andrew Pinski <apinski@marvell.com>
Date:   Fri Aug 12 17:19:36 2022 +0000

    [RISCV] Add the list of operand modifiers to riscv.md too
    
    To make it easier to find operands modifiers while in the md
    file, add the list of modifiers to the top of the md file.
    This is similar to i386 target.
    
    OK? Built and tested for riscv32-linux-gnu and riscv64-linux-gnu.
    
    gcc/ChangeLog:
    
            * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
            keep the list in riscv.md in sync with this list.
            * config/riscv/riscv.md: Add list of modifiers as comments.

Diff:
---
 gcc/config/riscv/riscv.cc |  4 +++-
 gcc/config/riscv/riscv.md | 14 ++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index 7c120eaa8e3..189be5e4e6f 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -3730,7 +3730,9 @@ riscv_memmodel_needs_release_fence (enum memmodel model)
    'z'	Print x0 if OP is zero, otherwise print OP normally.
    'i'	Print i if the operand is not a register.
    'S'	Print shift-index of single-bit mask OP.
-   'T'	Print shift-index of inverted single-bit mask OP.  */
+   'T'	Print shift-index of inverted single-bit mask OP.
+
+   Note please keep this list and the list in riscv.md in sync.  */
 
 static void
 riscv_print_operand (FILE *file, rtx op, int letter)
diff --git a/gcc/config/riscv/riscv.md b/gcc/config/riscv/riscv.md
index 8edb3859aab..aad2836d179 100644
--- a/gcc/config/riscv/riscv.md
+++ b/gcc/config/riscv/riscv.md
@@ -19,6 +19,20 @@
 ;; along with GCC; see the file COPYING3.  If not see
 ;; <http://www.gnu.org/licenses/>.
 
+
+;; Keep this list and the one above riscv_print_operand in sync.
+;; The special asm out single letter directives following a '%' are:
+;; h -- Print the high-part relocation associated with OP, after stripping
+;;	  any outermost HIGH.
+;; R -- Print the low-part relocation associated with OP.
+;; C -- Print the integer branch condition for comparison OP.
+;; A -- Print the atomic operation suffix for memory model OP.
+;; F -- Print a FENCE if the memory model requires a release.
+;; z -- Print x0 if OP is zero, otherwise print OP normally.
+;; i -- Print i if the operand is not a register.
+;; S -- Print shift-index of single-bit mask OP.
+;; T -- Print shift-index of inverted single-bit mask OP.
+
 (define_c_enum "unspec" [
   ;; Override return address for exception handling.
   UNSPEC_EH_RETURN

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-08-24 19:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-24 19:20 [gcc r13-2184] [RISCV] Add the list of operand modifiers to riscv.md too Andrew Pinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).