X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fexpr.h;h=0096367a7272bc2622a8c1835274c6bd75641e93;hp=1623ad97a730128f4b6dd5c72c0e052a3177ab3a;hb=bccaa8d15ffd77e550de4e4603a2c1109bc4cc49;hpb=1cd6e20de6e40ead3795087811f151f00b06e016 diff --git a/gcc/expr.h b/gcc/expr.h index 1623ad97a73..0096367a727 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -214,12 +214,15 @@ rtx emit_conditional_add (rtx, enum rtx_code, rtx, rtx, enum machine_mode, rtx expand_sync_operation (rtx, rtx, enum rtx_code); rtx expand_sync_fetch_operation (rtx, rtx, enum rtx_code, bool, rtx); +rtx expand_sync_lock_test_and_set (rtx, rtx, rtx); rtx expand_atomic_exchange (rtx, rtx, rtx, enum memmodel); rtx expand_atomic_load (rtx, rtx, enum memmodel); -rtx expand_atomic_store (rtx, rtx, enum memmodel); +rtx expand_atomic_store (rtx, rtx, enum memmodel, bool); rtx expand_atomic_fetch_op (rtx, rtx, rtx, enum rtx_code, enum memmodel, bool); +rtx expand_atomic_test_and_set (rtx, rtx, enum memmodel); +rtx expand_atomic_clear (rtx, enum memmodel); void expand_atomic_thread_fence (enum memmodel); void expand_atomic_signal_fence (enum memmodel); @@ -254,7 +257,6 @@ extern void expand_builtin_setjmp_receiver (rtx); extern rtx expand_builtin_saveregs (void); extern void expand_builtin_trap (void); extern rtx builtin_strncpy_read_str (void *, HOST_WIDE_INT, enum machine_mode); -extern void expand_builtin_mem_thread_fence (enum memmodel); /* Functions from expr.c: */ @@ -365,6 +367,10 @@ extern bool set_storage_via_setmem (rtx, rtx, rtx, unsigned int, succeed. */ extern int can_move_by_pieces (unsigned HOST_WIDE_INT, unsigned int); +extern unsigned HOST_WIDE_INT move_by_pieces_ninsns (unsigned HOST_WIDE_INT, + unsigned int, + unsigned int); + /* Return nonzero if it is desirable to store LEN bytes generated by CONSTFUN with several move instructions by store_by_pieces function. CONSTFUNDATA is a pointer which will be passed as argument