aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>1993-01-28 15:55:26 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>1993-01-28 15:55:26 +0000
commit2ac5f14ab389d8a9c52be9ebc6f457917b770caa (patch)
treebd42758e82a1e6dbc047f9cad06974c32fca1fdc /gcc
parentbb66e0f69a42afd9422356d8ea0e8a7541049be9 (diff)
downloadgcc-2ac5f14ab389d8a9c52be9ebc6f457917b770caa.zip
gcc-2ac5f14ab389d8a9c52be9ebc6f457917b770caa.tar.gz
gcc-2ac5f14ab389d8a9c52be9ebc6f457917b770caa.tar.bz2
print_operand accepts %/ for REGISTER_PREFIX.
From-SVN: r3378
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m68k/m68k.c5
-rw-r--r--gcc/config/m68k/m68k.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index 498ee64..c7f3dc1 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -1489,6 +1489,7 @@ standard_sun_fpa_constant_p (x)
'!' for the cc register (used in an `and to cc' insn).
'$' for the letter `s' in an op code, but only on the 68040.
'&' for the letter `d' in an op code, but only on the 68040.
+ '/' for register prefix needed by longlong.h.
'b' for byte insn (no effect, on the Sun; this is for the ISI).
'd' to force memory addressing to be absolute, not relative.
@@ -1563,6 +1564,10 @@ print_operand (file, op, letter)
fprintf (file, "d");
}
}
+ else if (letter == '/')
+ {
+ asm_fprintf (file, "%R");
+ }
else if (GET_CODE (op) == REG)
{
if (REGNO (op) < 16
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index 83a3ea6..0bce1dd 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -1666,6 +1666,7 @@ do { union { float f; long l;} tem; \
'!' for the fpcr register (used in some float-to-fixed conversions).
'$' for the letter `s' in an op code, but only on the 68040.
'&' for the letter `d' in an op code, but only on the 68040.
+ '/' for register prefix needed by longlong.h.
'b' for byte insn (no effect, on the Sun; this is for the ISI).
'd' to force memory addressing to be absolute, not relative.
@@ -1681,7 +1682,7 @@ do { union { float f; long l;} tem; \
#define PRINT_OPERAND_PUNCT_VALID_P(CODE) \
((CODE) == '.' || (CODE) == '#' || (CODE) == '-' \
|| (CODE) == '+' || (CODE) == '@' || (CODE) == '!' \
- || (CODE) == '$' || (CODE) == '&')
+ || (CODE) == '$' || (CODE) == '&' || (CODE) == '/')
#ifdef HOST_WORDS_BIG_ENDIAN
#define PRINT_OPERAND_EXTRACT_FLOAT(X) \