diff --git a/cbits/text.c b/cbits/text.c
--- a/cbits/text.c
+++ b/cbits/text.c
@@ -13,11 +13,6 @@
 #include <stdint.h>
 #include <stdio.h>
 
-#if defined(__x86_64__)
-#include <xmmintrin.h>
-#include <emmintrin.h>
-#endif
-
 uint8_t* encode_text
 (
   uint8_t *dest,
@@ -25,69 +20,8 @@
   size_t src_offset,
   size_t src_length
 )
-#if defined(__x86_64__)
 {
-  src += src_offset;
-  
-  const uint16_t* src_end = src + src_length;
-  const uint16_t* full_xmm_src_end = src_end - 8;
 
-  while (src < src_end) {
-    uint16_t x = *src++;
-
-    if (x <= 0x7F) {
-      *dest++ = x;
-
-      while (src < full_xmm_src_end) {
-        union { uint64_t halves[2]; __m128i whole; } eight_chars;
-        eight_chars.whole = _mm_loadu_si128((__m128i *) src);
-
-        const uint64_t h1 = eight_chars.halves[0];
-        const uint64_t non_asciiness_of_the_first_half = h1 & 0xFF80FF80FF80FF80ULL;
-
-        if (non_asciiness_of_the_first_half) {
-          break;
-        }
-
-        const __m128i eight_ascii_chars = _mm_packus_epi16(eight_chars.whole, eight_chars.whole);
-        _mm_storel_epi64((__m128i *)dest, eight_ascii_chars);
-
-        const uint64_t non_asciiness_of_the_second_half = eight_chars.halves[1] & 0xFF80FF80FF80FF80ULL;
-        if (non_asciiness_of_the_second_half) {
-          const int ascii_char_count = __builtin_ctz(non_asciiness_of_the_second_half) / 16;
-          dest += 4 + ascii_char_count;
-          src += 4 + ascii_char_count;
-          break;
-        }
-
-        dest += 8;
-        src += 8;
-      }
-    }
-    else if (x <= 0x7FF) {
-      *dest++ = (x >> 6) | 0xC0;
-      *dest++ = (x & 0x3f) | 0x80;
-    }
-    else if (x < 0xD800 || x > 0xDBFF) {
-      *dest++ = (x >> 12) | 0xE0;
-      *dest++ = ((x >> 6) & 0x3F) | 0x80;
-      *dest++ = (x & 0x3F) | 0x80;
-    } else {
-      uint32_t c =
-        ((((uint32_t) x) - 0xD800) << 10) + 
-        (((uint32_t) *src++) - 0xDC00) + 0x10000;
-      *dest++ = (c >> 18) | 0xF0;
-      *dest++ = ((c >> 12) & 0x3F) | 0x80;
-      *dest++ = ((c >> 6) & 0x3F) | 0x80;
-      *dest++ = (c & 0x3F) | 0x80;
-    }
-  }
-
-  return dest;
-}
-#elif defined(__i386__) || defined(__arm64__)
-{
-
   src += src_offset;
   
   const uint16_t* src_end = src + src_length;
@@ -131,7 +65,6 @@
 
   return dest;
 }
-#endif
 
 
 int count_text_allocation_size
diff --git a/ptr-poker.cabal b/ptr-poker.cabal
--- a/ptr-poker.cabal
+++ b/ptr-poker.cabal
@@ -1,5 +1,5 @@
 name: ptr-poker
-version: 0.1.2.6
+version: 0.1.2.7
 synopsis: Pointer poking action construction and composition toolkit
 homepage: https://github.com/nikita-volkov/ptr-poker
 bug-reports: https://github.com/nikita-volkov/ptr-poker/issues
