From: Hans-Peter Nilsson Date: Sun, 16 Oct 2005 21:30:42 +0000 (+0000) Subject: builtins.c (get_builtin_sync_mode): Make unlimited mode_for_size request. X-Git-Tag: misc/cutover-cvs2svn~146 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2de0aa52f5ee8922501cb42999a66c7ac7448d2b;p=thirdparty%2Fgcc.git builtins.c (get_builtin_sync_mode): Make unlimited mode_for_size request. * builtins.c (get_builtin_sync_mode): Make unlimited mode_for_size request. From-SVN: r105469 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9384f1705a90..e0eeab178a52 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-10-16 Hans-Peter Nilsson + + * builtins.c (get_builtin_sync_mode): Make unlimited + mode_for_size request. + 2005-10-15 Richard Henderson * gimplify.c (gimplify_var_or_parm_decl): Split out from ... diff --git a/gcc/builtins.c b/gcc/builtins.c index 2136900f0831..a39860574089 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -5399,7 +5399,9 @@ expand_builtin_fork_or_exec (tree fn, tree arglist, rtx target, int ignore) static inline enum machine_mode get_builtin_sync_mode (int fcode_diff) { - return mode_for_size (BITS_PER_UNIT << fcode_diff, MODE_INT, 1); + /* The size is not negotiable, so ask not to get BLKmode in return + if the target indicates that a smaller size would be better. */ + return mode_for_size (BITS_PER_UNIT << fcode_diff, MODE_INT, 0); } /* Expand the __sync_xxx_and_fetch and __sync_fetch_and_xxx intrinsics.