diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/config/ia64/ia64.md | 16 |
2 files changed, 15 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a1a8961..ec78f6f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-01-28 Zack Weinberg <zack@codesourcery.com> + + * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di) + (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and + match_operand expressions so that all match_dups appear + lexically after their corresponding match_operands. + 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (WORD_REG_USED): Use diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md index 2713eb6..d3f46c1 100644 --- a/gcc/config/ia64/ia64.md +++ b/gcc/config/ia64/ia64.md @@ -5794,8 +5794,8 @@ (define_insn "fetchadd_acq_si" [(set (match_operand:SI 0 "gr_register_operand" "=r") - (match_dup 1)) - (set (match_operand:SI 1 "not_postinc_memory_operand" "+S") + (match_operand:SI 1 "not_postinc_memory_operand" "+S")) + (set (match_dup 1) (unspec:SI [(match_dup 1) (match_operand:SI 2 "fetchadd_operand" "n")] UNSPEC_FETCHADD_ACQ))] @@ -5805,8 +5805,8 @@ (define_insn "fetchadd_acq_di" [(set (match_operand:DI 0 "gr_register_operand" "=r") - (match_dup 1)) - (set (match_operand:DI 1 "not_postinc_memory_operand" "+S") + (match_operand:DI 1 "not_postinc_memory_operand" "+S")) + (set (match_dup 1) (unspec:DI [(match_dup 1) (match_operand:DI 2 "fetchadd_operand" "n")] UNSPEC_FETCHADD_ACQ))] @@ -5816,8 +5816,8 @@ (define_insn "cmpxchg_acq_si" [(set (match_operand:SI 0 "gr_register_operand" "=r") - (match_dup 1)) - (set (match_operand:SI 1 "not_postinc_memory_operand" "+S") + (match_operand:SI 1 "not_postinc_memory_operand" "+S")) + (set (match_dup 1) (unspec:SI [(match_dup 1) (match_operand:SI 2 "gr_register_operand" "r") (match_operand:DI 3 "ar_ccv_reg_operand" "")] @@ -5828,8 +5828,8 @@ (define_insn "cmpxchg_acq_di" [(set (match_operand:DI 0 "gr_register_operand" "=r") - (match_dup 1)) - (set (match_operand:DI 1 "not_postinc_memory_operand" "+S") + (match_operand:DI 1 "not_postinc_memory_operand" "+S")) + (set (match_dup 1) (unspec:DI [(match_dup 1) (match_operand:DI 2 "gr_register_operand" "r") (match_operand:DI 3 "ar_ccv_reg_operand" "")] |
