about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--iconv/loop.c2
-rw-r--r--iconv/skeleton.c4
3 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2c57fc412e..1b54df5372 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-04-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* iconv/skeleton.c: Add some more __builtin_expect.
+	* iconv/loop.c: Likewise.
+
 2000-03-08  H.J. Lu  <hjl@gnu.org>
 
 	* posix/regex.c (regex_compile): Correctly handle "\{" when
diff --git a/iconv/loop.c b/iconv/loop.c
index ffdd24d7e3..c8f893406a 100644
--- a/iconv/loop.c
+++ b/iconv/loop.c
@@ -307,7 +307,7 @@ SINGLE(LOOPFCT) (const unsigned char **inptrp, const unsigned char *inend,
 #endif
 
   /* Are there enough bytes in the input buffer?  */
-  if (inptr + (MAX_NEEDED_INPUT - inlen) > inend)
+  if (__builtin_expect (inptr + (MAX_NEEDED_INPUT - inlen) > inend, 0))
     {
 #ifdef STORE_REST
       *inptrp = inend;
diff --git a/iconv/skeleton.c b/iconv/skeleton.c
index 50ee45d2c9..81677cc7d9 100644
--- a/iconv/skeleton.c
+++ b/iconv/skeleton.c
@@ -281,7 +281,7 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
   /* If the function is called with no input this means we have to reset
      to the initial state.  The possibly partly converted input is
      dropped.  */
-  if (do_flush)
+  if (__builtin_expect (do_flush, 0))
     {
       status = __GCONV_OK;
 
@@ -439,7 +439,7 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
 
 	      if (result != __GCONV_EMPTY_INPUT)
 		{
-		  if (outerr != outbuf)
+		  if (__builtin_expect (outerr != outbuf, 0))
 		    {
 #ifdef RESET_INPUT_BUFFER
 		      RESET_INPUT_BUFFER;