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
This commit is contained in:
Richard Henderson 2000-07-24 17:48:36 -07:00 committed by Richard Henderson
parent 6f4280eff7
commit 6f8aa100d5
4 changed files with 33 additions and 13 deletions

View File

@ -1,3 +1,9 @@
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>
* cppexp.c: Warn about unary + if -Wtraditional.

View File

@ -2067,6 +2067,19 @@ ia64_print_operand (file, x, code)
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:
output_operand_lossage ("ia64_print_operand: unknown code");
return;

View File

@ -2475,7 +2475,8 @@ do { \
/* ??? 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
for an instruction operand that is a memory reference whose address is X. X

View File

@ -264,18 +264,18 @@
"*
{
static const char * const alt[] = {
\"mov %0 = %r1\",
\"addl %0 = %1, r0\",
\"movl %0 = %1\",
\"ld8%O1 %0 = %1%P1\",
\"st8%Q0 %0 = %r1%P0\",
\"getf.sig %0 = %1\",
\"setf.sig %0 = %r1\",
\"mov %0 = %1\",
\"ldf8 %0 = %1%P1\",
\"stf8 %0 = %1%P0\",
\"mov %0 = %1\",
\"mov %0 = %r1\"
\"%,mov %0 = %r1\",
\"%,addl %0 = %1, r0\",
\"%,movl %0 = %1\",
\"%,ld8%O1 %0 = %1%P1\",
\"%,st8%Q0 %0 = %r1%P0\",
\"%,getf.sig %0 = %1\",
\"%,setf.sig %0 = %r1\",
\"%,mov %0 = %1\",
\"%,ldf8 %0 = %1%P1\",
\"%,stf8 %0 = %1%P0\",
\"%,mov %0 = %1\",
\"%,mov %0 = %r1\"
};
/* We use 'i' for alternative 2 despite possible PIC problems.