-
- Downloads
i386.md (cmpcc): New.
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. java: 2009-04-09 Paolo Bonzini <bonzini@gnu.org> * builtins.c (compareAndSwapLong_builtin, compareAndSwapInt_builtin, compareAndSwapObject_builtin, VMSupportsCS8_builtin): Do not look at sync_compare_and_swap_cc. From-SVN: r145825
Showing
- gcc/ChangeLog 37 additions, 0 deletionsgcc/ChangeLog
- gcc/config/i386/i386.md 11 additions, 0 deletionsgcc/config/i386/i386.md
- gcc/config/i386/sync.md 16 additions, 102 deletionsgcc/config/i386/sync.md
- gcc/config/s390/predicates.md 5 additions, 0 deletionsgcc/config/s390/predicates.md
- gcc/config/s390/s390.c 14 additions, 23 deletionsgcc/config/s390/s390.c
- gcc/config/s390/s390.h 1 addition, 1 deletiongcc/config/s390/s390.h
- gcc/config/s390/s390.md 14 additions, 29 deletionsgcc/config/s390/s390.md
- gcc/doc/md.texi 9 additions, 13 deletionsgcc/doc/md.texi
- gcc/expr.c 0 additions, 1 deletiongcc/expr.c
- gcc/genopinit.c 0 additions, 1 deletiongcc/genopinit.c
- gcc/java/ChangeLog 6 additions, 0 deletionsgcc/java/ChangeLog
- gcc/java/builtins.c 4 additions, 8 deletionsgcc/java/builtins.c
- gcc/optabs.c 73 additions, 97 deletionsgcc/optabs.c
- gcc/optabs.h 0 additions, 1 deletiongcc/optabs.h
Loading
Please register or sign in to comment