Commit 6f8aa100 by Richard Henderson Committed by Richard Henderson

ia64.c (ia64_print_operand): Handle "%,".

        * config/ia64/ia64.c (ia64_print_operand): Handle "%,".
        * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
        * config/ia64/ia64.md (movdi_internal): Use it.

From-SVN: r35240
parent 6f4280ef
2000-07-24 Richard Henderson <rth@cygnus.com>
* config/ia64/ia64.c (ia64_print_operand): Handle "%,".
* config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
* config/ia64/ia64.md (movdi_internal): Use it.
2000-07-24 Zack Weinberg <zack@wolery.cumb.org> 2000-07-24 Zack Weinberg <zack@wolery.cumb.org>
* cppexp.c: Warn about unary + if -Wtraditional. * cppexp.c: Warn about unary + if -Wtraditional.
......
...@@ -2067,6 +2067,19 @@ ia64_print_operand (file, x, code) ...@@ -2067,6 +2067,19 @@ ia64_print_operand (file, x, code)
return; return;
} }
case ',':
x = current_insn_predicate;
if (x)
{
unsigned int regno = REGNO (XEXP (x, 0));
if (GET_CODE (x) == EQ)
regno += 1;
if (code == 'j')
regno ^= 1;
fprintf (file, "(%s) ", reg_names [regno]);
}
return;
default: default:
output_operand_lossage ("ia64_print_operand: unknown code"); output_operand_lossage ("ia64_print_operand: unknown code");
return; return;
......
...@@ -2475,7 +2475,8 @@ do { \ ...@@ -2475,7 +2475,8 @@ do { \
/* ??? Keep this around for now, as we might need it later. */ /* ??? Keep this around for now, as we might need it later. */
#define PRINT_OPERAND_PUNCT_VALID_P(CODE) ((CODE) == '+') #define PRINT_OPERAND_PUNCT_VALID_P(CODE) \
((CODE) == '+' || (CODE) == ',')
/* A C compound statement to output to stdio stream STREAM the assembler syntax /* A C compound statement to output to stdio stream STREAM the assembler syntax
for an instruction operand that is a memory reference whose address is X. X for an instruction operand that is a memory reference whose address is X. X
......
...@@ -264,18 +264,18 @@ ...@@ -264,18 +264,18 @@
"* "*
{ {
static const char * const alt[] = { static const char * const alt[] = {
\"mov %0 = %r1\", \"%,mov %0 = %r1\",
\"addl %0 = %1, r0\", \"%,addl %0 = %1, r0\",
\"movl %0 = %1\", \"%,movl %0 = %1\",
\"ld8%O1 %0 = %1%P1\", \"%,ld8%O1 %0 = %1%P1\",
\"st8%Q0 %0 = %r1%P0\", \"%,st8%Q0 %0 = %r1%P0\",
\"getf.sig %0 = %1\", \"%,getf.sig %0 = %1\",
\"setf.sig %0 = %r1\", \"%,setf.sig %0 = %r1\",
\"mov %0 = %1\", \"%,mov %0 = %1\",
\"ldf8 %0 = %1%P1\", \"%,ldf8 %0 = %1%P1\",
\"stf8 %0 = %1%P0\", \"%,stf8 %0 = %1%P0\",
\"mov %0 = %1\", \"%,mov %0 = %1\",
\"mov %0 = %r1\" \"%,mov %0 = %r1\"
}; };
/* We use 'i' for alternative 2 despite possible PIC problems. /* We use 'i' for alternative 2 despite possible PIC problems.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment