d30v.c (d30v_print_operand): Handle ':'.
* config/d30v/d30v.c (d30v_print_operand): Handle ':'. * config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'. * config/d30v/d30v.md (attr predicable): New. (all insn patterns): Mark non-predicable patterns; use %: on the rest. (andsi3*): Unify into one pattern. (iorsi3*, xorsi3*): Likewise. (peephole2 patterns): Use peep2_reg_dead_p; verify not a conditional return. (old cond_exec patterns): Remove. (define_cond_exec): New. From-SVN: r34204
This commit is contained in:
parent
8d5e6e2527
commit
5401747e62
4 changed files with 258 additions and 610 deletions
|
@ -1,3 +1,16 @@
|
|||
2000-05-27 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* config/d30v/d30v.c (d30v_print_operand): Handle ':'.
|
||||
* config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'.
|
||||
* config/d30v/d30v.md (attr predicable): New.
|
||||
(all insn patterns): Mark non-predicable patterns; use %: on the rest.
|
||||
(andsi3*): Unify into one pattern.
|
||||
(iorsi3*, xorsi3*): Likewise.
|
||||
(peephole2 patterns): Use peep2_reg_dead_p; verify not a
|
||||
conditional return.
|
||||
(old cond_exec patterns): Remove.
|
||||
(define_cond_exec): New.
|
||||
|
||||
Sat May 27 11:01:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* tree.h (TREE_CODE_LENGTH): New macro.
|
||||
|
|
|
@ -2949,6 +2949,13 @@ d30v_print_operand (stream, x, letter)
|
|||
d30v_print_operand (stream, split_values[ letter == 'L' ], '\0');
|
||||
break;
|
||||
|
||||
case ':': /* Output the condition for the current insn. */
|
||||
x = current_insn_predicate;
|
||||
if (x == NULL_RTX)
|
||||
break;
|
||||
letter = 'T';
|
||||
/* FALLTHRU */
|
||||
|
||||
case 'F': /* Print an appropriate suffix for a false comparision. */
|
||||
case 'T': /* Print an appropriate suffix for a true comparision. */
|
||||
/* Note that the sense of appropriate suffix is for conditional execution
|
||||
|
|
|
@ -4953,7 +4953,7 @@ do { \
|
|||
`PRINT_OPERAND_PUNCT_VALID_P' is not defined, it means that no punctuation
|
||||
characters (except for the standard one, `%') are used in this way. */
|
||||
|
||||
#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
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue