* builtins.c (get_builtin_sync_mode): Make unlimited
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Oct 2005 21:30:42 +0000 (21:30 +0000)
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Oct 2005 21:30:42 +0000 (21:30 +0000)
mode_for_size request.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105469 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/builtins.c

index 9384f17..e0eeab1 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 2136900..a398605 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.