|| defined __s390__ || defined __s390x__) \
&& defined __OPTIMIZE__
#define HAVE_FAST_UNALIGNED_ACCESS 1
+#else
+#define HAVE_FAST_UNALIGNED_ACCESS 0
+#endif
/* Load a word from a possibly unaligned address. */
static inline size_t
return x;
}
-#endif
-
DEFUN ("string-lessp", Fstring_lessp, Sstring_lessp, 2, 2, 0,
doc: /* Return non-nil if STRING1 is less than STRING2 in lexicographic order.
Case is significant.
/* String data is normally allocated with word alignment, but
there are exceptions (notably pure strings) so we restrict the
wordwise skipping to safe architectures. */
-#ifdef HAVE_FAST_UNALIGNED_ACCESS
+ if (HAVE_FAST_UNALIGNED_ACCESS)
{
/* First compare entire machine words. */
int ws = sizeof (size_t);
const char *w1 = SSDATA (string1);
const char *w2 = SSDATA (string2);
- while (b < nb - ws + 1
- && (load_unaligned_size_t (w1 + b)
- == load_unaligned_size_t (w2 + b)))
+ while (b < nb - ws + 1 && load_unaligned_size_t (w1 + b)
+ == load_unaligned_size_t (w2 + b))
b += ws;
}
-#endif
/* Scan forward to the differing byte. */
while (b < nb && SREF (string1, b) == SREF (string2, b))