diff options
author | Andrew Pinski <apinski@marvell.com> | 2022-08-12 17:19:36 +0000 |
---|---|---|
committer | Andrew Pinski <apinski@marvell.com> | 2022-08-24 12:15:31 -0700 |
commit | 380b8fd96e10c45ce8470b906037cf487ac3f91f (patch) | |
tree | 96d6bf931ce4a884894f45c82db938a3448dd32b | |
parent | 7770e0ad8f4bcd2c7852fa88eb7d5235f68a811d (diff) | |
download | gcc-380b8fd96e10c45ce8470b906037cf487ac3f91f.zip gcc-380b8fd96e10c45ce8470b906037cf487ac3f91f.tar.gz gcc-380b8fd96e10c45ce8470b906037cf487ac3f91f.tar.bz2 |
[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.
-rw-r--r-- | gcc/config/riscv/riscv.cc | 4 | ||||
-rw-r--r-- | gcc/config/riscv/riscv.md | 14 |
2 files changed, 17 insertions, 1 deletions
diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc index 7c120ea..189be5e 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 8edb385..aad2836 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 |