From 2de0aa52f5ee8922501cb42999a66c7ac7448d2b Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Sun, 16 Oct 2005 21:30:42 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/builtins.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) 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. -- 2.47.2