tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1463Shell 157Markdown 91Rust 853029 Sutichaykuna

⎇ 4a2801331696245af7df3cccbbac5da68360bf98 recipes/optimize-mips.patch 50 siq'ikuna · 1.4 KB Ñawpa willay ch'uya

Etapa G (clib): gradúa 15 libs C ya publicadas — incoming-clib → recipes/ 7008d0446 · sergio ·

1--- a/c/common/platform.h
2+++ b/c/common/platform.h
3@@ -318,19 +326,34 @@
4 #else  /* not BROTLI_USE_PACKED_FOR_UNALIGNED */
5 
6 static BROTLI_INLINE uint16_t BrotliUnalignedRead16(const void* p) {
7+#if defined(__mips__) && (!defined(__mips_isa_rev) || __mips_isa_rev < 6)
8+  const struct { uint16_t x; } __attribute__((__packed__)) *t = p;
9+  return t->x;
10+#else
11   uint16_t t;
12   memcpy(&t, p, sizeof t);
13   return t;
14+#endif
15 }
16 static BROTLI_INLINE uint32_t BrotliUnalignedRead32(const void* p) {
17+#if defined(__mips__) && (!defined(__mips_isa_rev) || __mips_isa_rev < 6)
18+  const struct { uint32_t x; } __attribute__((__packed__)) *t = p;
19+  return t->x;
20+#else
21   uint32_t t;
22   memcpy(&t, p, sizeof t);
23   return t;
24+#endif
25 }
26 static BROTLI_INLINE uint64_t BrotliUnalignedRead64(const void* p) {
27+#if defined(__mips__) && (!defined(__mips_isa_rev) || __mips_isa_rev < 6)
28+  const struct { uint64_t x; } __attribute__((__packed__)) *t = p;
29+  return t->x;
30+#else
31   uint64_t t;
32   memcpy(&t, p, sizeof t);
33   return t;
34+#endif
35 }
36 static BROTLI_INLINE size_t BrotliUnalignedReadSizeT(const void* p) {
37   size_t t;
38@@ -338,7 +361,12 @@
39   return t;
40 }
41 static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) {
42+#if defined(__mips__) && (!defined(__mips_isa_rev) || __mips_isa_rev < 6)
43+  struct { uint64_t x; } __attribute__((__packed__)) *t = p;
44+  t->x = v;
45+#else
46   memcpy(p, &v, sizeof v);
47+#endif
48 }
49 
50 #endif  /* BROTLI_USE_PACKED_FOR_UNALIGNED */