// is sufficient. Is also has the advantage of being mostly non-interrupting.
-// An object is either a pointer to heap allocated data
-// or immediate data.
-
+// An object is either a pointer to heap allocated data or immediate data.
// It is possible to distinguish these because pointers are aligned.
-// cl_word_alignment is the guaranteed alignment of a `void*' or `long'
-// in memory. Must be > 1.
-#if defined(__m68k__)
- #define cl_word_alignment 2
-#endif
-#if defined(__i386__) || (defined(__mips__) && !defined(__LP64__)) || (defined(__sparc__) && !defined(__arch64__)) || defined(__hppa__) || defined(__arm__) || defined(__rs6000__) || defined(__m88k__) || defined(__convex__) || (defined(__s390__) && !defined(__s390x__)) || defined(__sh__) || (defined(__x86_64__) && defined(__ILP32__))
- #define cl_word_alignment 4
-#endif
-#if defined(__alpha__) || defined(__ia64__) || defined(__mips64__) || defined(__powerpc64__) || (defined(__sparc__) && defined(__arch64__)) || (defined(__x86_64__) && !defined(__ILP32__)) || defined(__s390x__) || defined(__aarch64__) || (defined(__riscv) && __riscv_xlen == 64) || defined(__e2k__)
- #define cl_word_alignment 8
-#endif
-#if !defined(cl_word_alignment)
- #error "Define cl_word_alignment for your CPU!"
-#endif
-
// Four basic classes are introduced:
//
{ return cl_combine_impl(tag, (cl_uint)value); }
inline cl_uint cl_combine (cl_uint tag, long value)
{ return cl_combine_impl(tag, (cl_sint)value); }
-#ifdef HAVE_LONGLONG
inline cl_uint cl_combine (cl_uint tag, unsigned long long value)
{ return cl_combine_impl(tag, (cl_uint)value); }
inline cl_uint cl_combine (cl_uint tag, long long value)
{ return cl_combine_impl(tag, (cl_uint)value); }
-#endif
// Definition of the tags.
#if !defined(CL_WIDE_POINTERS)