+2005-07-08 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/sync.md (load_locked_<mode>): Use Z for
+ memory_operand constraint.
+ (store_conditional_<mode>): Same.
+ (sync_compare_and_swap<mode>): Same.
+ (sync_lock_test_and_set<mode>): Same.
+
2005-07-08 Hans-Peter Nilsson <hp@axis.com>
Rewrite PIC support to more closely model actual instructions.
(define_insn "load_locked_<mode>"
[(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
(unspec_volatile:GPR
- [(match_operand:GPR 1 "memory_operand" "m")] UNSPECV_LL))]
+ [(match_operand:GPR 1 "memory_operand" "Z")] UNSPECV_LL))]
"TARGET_POWERPC"
"<larx> %0,%y1"
[(set_attr "type" "load_l")])
(define_insn "store_conditional_<mode>"
[(set (match_operand:CC 0 "cc_reg_operand" "=x")
(unspec_volatile:CC [(const_int 0)] UNSPECV_SC))
- (set (match_operand:GPR 1 "memory_operand" "=m")
+ (set (match_operand:GPR 1 "memory_operand" "=Z")
(match_operand:GPR 2 "gpc_reg_operand" "r"))]
"TARGET_POWERPC"
"<stcx> %2,%y1"
(define_insn_and_split "sync_compare_and_swap<mode>"
[(set (match_operand:GPR 0 "gpc_reg_operand" "=&r")
- (match_operand:GPR 1 "memory_operand" "+m"))
+ (match_operand:GPR 1 "memory_operand" "+Z"))
(set (match_dup 1)
(unspec_volatile:GPR
[(match_operand:GPR 2 "reg_or_short_operand" "rI")
(define_insn_and_split "sync_lock_test_and_set<mode>"
[(set (match_operand:GPR 0 "gpc_reg_operand" "=&r")
- (match_operand:GPR 1 "memory_operand" "+m"))
+ (match_operand:GPR 1 "memory_operand" "+Z"))
(set (match_dup 1)
(unspec_volatile:GPR
[(match_operand:GPR 2 "reg_or_short_operand" "rL")]