mbstate_t *state, int flags, void *data,
ucs4le_internal_loop_unaligned (const unsigned char **inptrp,				const unsigned char *inend,				unsigned char **outptrp, unsigned char *outend,				mbstate_t *state, int flags, void *data,				size_t *irreversible){  const unsigned char *inptr = *inptrp;  unsigned char *outptr = *outptrp;  size_t n_convert = MIN (inend - inptr, outend - outptr) / 4;  int result;  size_t cnt;  for (cnt = 0; cnt < n_convert; ++cnt, inptr += 4)    {      if (__builtin_expect (inptr[3], 0) > 0x80)	{	  /* The value is too large.  */	  if (flags & __GCONV_IGNORE_ERRORS)	    {	      /* Just ignore this character.  */	      ++*irreversible;	      continue;	    }	  *inptrp = inptr;	  *outptrp = outptr; 	  return __GCONV_ILLEGAL_INPUT;	}# if __BYTE_ORDER == __BIG_ENDIAN      outptr[3] = inptr[0];      outptr[2] = inptr[1];      outptr[1] = inptr[2];      outptr[0] = inptr[3];# else      outptr[0] = inptr[0];      outptr[1] = inptr[1];      outptr[2] = inptr[2];      outptr[3] = inptr[3];# endif      outptr += 4;    }  *inptrp = inptr;  *outptrp = outptr;  /* Determine the status.  */  if (*inptrp == inend)    result = __GCONV_EMPTY_INPUT;  else if (*outptrp == outend)    result = __GCONV_FULL_OUTPUT;  else    result = __GCONV_INCOMPLETE_INPUT;  return result;}