]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
builtins.c (get_builtin_sync_mode): Make unlimited mode_for_size request.
authorHans-Peter Nilsson <hp@axis.com>
Sun, 16 Oct 2005 21:30:42 +0000 (21:30 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Sun, 16 Oct 2005 21:30:42 +0000 (21:30 +0000)
* builtins.c (get_builtin_sync_mode): Make unlimited
mode_for_size request.

From-SVN: r105469

gcc/ChangeLog
gcc/builtins.c

index 9384f1705a90c28afe6a48dddece0d1e5ca0a29b..e0eeab178a52efe15b3fb7d1939ddc9ebcc30736 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-16  Hans-Peter Nilsson  <hp@axis.com>
+
+       * builtins.c (get_builtin_sync_mode): Make unlimited
+       mode_for_size request.
+
 2005-10-15  Richard Henderson  <rth@redhat.com>
 
        * gimplify.c (gimplify_var_or_parm_decl): Split out from ...
index 2136900f0831bf7e28f64c9cec9be1670545bd1a..a39860574089d3694cf4044a53a6376ca3256c71 100644 (file)
@@ -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.