diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2005-10-16 21:30:42 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2005-10-16 21:30:42 +0000 |
commit | 2de0aa52f5ee8922501cb42999a66c7ac7448d2b (patch) | |
tree | e210bb428c550aed0dd2c1bdb5fb9560a71b2a4b /gcc/builtins.c | |
parent | dddf9a0a085e2d14aee9ada04326cc2259ee8978 (diff) | |
download | gcc-2de0aa52f5ee8922501cb42999a66c7ac7448d2b.zip gcc-2de0aa52f5ee8922501cb42999a66c7ac7448d2b.tar.gz gcc-2de0aa52f5ee8922501cb42999a66c7ac7448d2b.tar.bz2 |
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
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 2136900..a398605 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. |