2009-04-09 Paolo Bonzini <bonzini@gnu.org>
- * config/i386/i386.md (cmpcc): New.
- * config/i386/sync.md (sync_compare_and_swap*): Set FLAGS_REG.
- (sync_compare_and_swap_cc*): Delete.
-
- * config/s390/s390.c (s390_compare_emitted): Remove.
- (s390_emit_compare): Handle MODE_CC s390_compare_op0 like
- s390_compare_emitted used to be handled. Assert that modes match.
- (s390_emit_compare_and_swap): Use s390_emit_compare, do not
- refer to sync_compare_and_swap_ccsi.
- * config/s390/s390.h (s390_compare_emitted): Remove.
- * config/s390/s390.md (seq): Look for MODE_CC s390_compare_op0
- instead of s390_compare_emitted.
- (stack_protect_test, sync_compare_and_swap_cc): Set s390_compare_op0
- instead of s390_compare_emitted.
- * config/s390/s390.md (cmpcc): New.
- (sync_compare_and_swapqi, sync_compare_and_swaphi): Clobber
- CC_REGNUM, do not pretend it's set.
- (sync_compare_and_swap_cc*): Delete.
- * config/s390/predicates.md (cc_reg_operand): New.
-
- * expr.c (sync_compare_and_swap_cc): Delete.
- * optabs.h (sync_compare_and_swap_cc): Delete.
- * optabs.c (prepare_cmp_insn): Ignore which specific CCmode
- is being used with can_compare_p.
- (emit_cmp_and_jump_insn_1): Likewise when looking in the optab.
- (find_cc_set): New.
- (expand_bool_compare_and_swap): Do not use sync_compare_and_swap_cc,
- look for a MODE_CC set instead. Use emit_store_flag.
- (expand_compare_and_swap_loop): Likewise, with some additional
- complication to avoid a force_reg when useless. Use
- emit_cmp_and_jump_insns.
- * genopinit.c (optabs): Delete sync_compare_and_swap_cc.
- * doc/md.texi (sync_compare_and_swap_cc): Merge with
- sync_compare_and_swap documentation.
+ * config/i386/i386.md (cmpcc): New.
+ * config/i386/sync.md (sync_compare_and_swap*): Set FLAGS_REG.
+ (sync_compare_and_swap_cc*): Delete.
+
+ * config/s390/s390.c (s390_compare_emitted): Remove.
+ (s390_emit_compare): Handle MODE_CC s390_compare_op0 like
+ s390_compare_emitted used to be handled. Assert that modes match.
+ (s390_emit_compare_and_swap): Use s390_emit_compare, do not
+ refer to sync_compare_and_swap_ccsi.
+ * config/s390/s390.h (s390_compare_emitted): Remove.
+ * config/s390/s390.md (seq): Look for MODE_CC s390_compare_op0
+ instead of s390_compare_emitted.
+ (stack_protect_test, sync_compare_and_swap_cc): Set s390_compare_op0
+ instead of s390_compare_emitted.
+ * config/s390/s390.md (cmpcc): New.
+ (sync_compare_and_swapqi, sync_compare_and_swaphi): Clobber
+ CC_REGNUM, do not pretend it's set.
+ (sync_compare_and_swap_cc*): Delete.
+ * config/s390/predicates.md (cc_reg_operand): New.
+
+ * expr.c (sync_compare_and_swap_cc): Delete.
+ * optabs.h (sync_compare_and_swap_cc): Delete.
+ * optabs.c (prepare_cmp_insn): Ignore which specific CCmode
+ is being used with can_compare_p.
+ (emit_cmp_and_jump_insn_1): Likewise when looking in the optab.
+ (find_cc_set): New.
+ (expand_bool_compare_and_swap): Do not use sync_compare_and_swap_cc,
+ look for a MODE_CC set instead. Use emit_store_flag.
+ (expand_compare_and_swap_loop): Likewise, with some additional
+ complication to avoid a force_reg when useless. Use
+ emit_cmp_and_jump_insns.
+ * genopinit.c (optabs): Delete sync_compare_and_swap_cc.
+ * doc/md.texi (sync_compare_and_swap_cc): Merge with
+ sync_compare_and_swap documentation.
2009-04-09 Jan Hubicka <jh@suse.cz>
2009-04-08 Paolo Bonzini <bonzini@gnu.org>
- * recog.c (ordered_comparison_operator): New.
- * gensupport.c (std_preds): Add it.
+ * recog.c (ordered_comparison_operator): New.
+ * gensupport.c (std_preds): Add it.
* doc/md.texi (Machine-Independent Predicates): Document it.
2009-04-08 Jan Hubicka <jh@suse.cz>
2009-04-08 Bingfeng Mei <bmei@broadcom.com>
* fold-const.c (const_binop): Combine two VECTOR_CST under operation
- CODE to produce a new one. Add a prototype to use fold_convert_const
+ CODE to produce a new one. Add a prototype to use fold_convert_const
2009-04-08 Danny Smith <dannysmith@users.sourceforge.net>