#ifndef _MSC_VER
# include <arm_acle.h>
#endif
-#include "../../zbuild.h"
#include "../../zutil.h"
uint32_t crc32_acle(uint32_t crc, const unsigned char *buf, uint64_t len) {
- register uint32_t c;
- register const uint16_t *buf2;
- register const uint32_t *buf4;
+ ZLIB_REGISTER uint32_t c;
+ ZLIB_REGISTER const uint16_t *buf2;
+ ZLIB_REGISTER const uint32_t *buf4;
c = ~crc;
if (len && ((ptrdiff_t)buf & 1)) {
/* SIMD version of hash_chain rebase */
static inline void slide_hash_chain(Pos *table, unsigned int entries, uint16_t window_size) {
- register uint16x8_t v, *p;
- register size_t n;
+ ZLIB_REGISTER uint16x8_t v, *p;
+ ZLIB_REGISTER size_t n;
size_t size = entries*sizeof(table[0]);
Assert((size % sizeof(uint16x8_t) * 8 == 0), "hash table size err");
*/
static inline int is_dfltcc_enabled(void) {
uint64_t facilities[(DFLTCC_FACILITY / 64) + 1];
- register uint8_t r0 __asm__("r0");
+ ZLIB_REGISTER uint8_t r0 __asm__("r0");
memset(facilities, 0, sizeof(facilities));
r0 = sizeof(facilities) / sizeof(facilities[0]) - 1;
size_t t3 = len1 ? *len1 : 0;
const unsigned char *t4 = op2 ? *op2 : NULL;
size_t t5 = len2 ? *len2 : 0;
- register int r0 __asm__("r0") = fn;
- register void *r1 __asm__("r1") = param;
- register unsigned char *r2 __asm__("r2") = t2;
- register size_t r3 __asm__("r3") = t3;
- register const unsigned char *r4 __asm__("r4") = t4;
- register size_t r5 __asm__("r5") = t5;
+ ZLIB_REGISTER int r0 __asm__("r0") = fn;
+ ZLIB_REGISTER void *r1 __asm__("r1") = param;
+ ZLIB_REGISTER unsigned char *r2 __asm__("r2") = t2;
+ ZLIB_REGISTER size_t r3 __asm__("r3") = t3;
+ ZLIB_REGISTER const unsigned char *r4 __asm__("r4") = t4;
+ ZLIB_REGISTER size_t r5 __asm__("r5") = t5;
int cc;
__asm__ volatile(
/* ========================================================================= */
ZLIB_INTERNAL uint32_t crc32_little(uint32_t crc, const unsigned char *buf, uint64_t len) {
- register uint32_t c;
- register const uint32_t *buf4;
+ ZLIB_REGISTER uint32_t c;
+ ZLIB_REGISTER const uint32_t *buf4;
c = crc;
c = ~c;
/* ========================================================================= */
ZLIB_INTERNAL uint32_t crc32_big(uint32_t crc, const unsigned char *buf, uint64_t len) {
- register uint32_t c;
- register const uint32_t *buf4;
+ ZLIB_REGISTER uint32_t c;
+ ZLIB_REGISTER const uint32_t *buf4;
c = ZSWAP32(crc);
c = ~c;
int32_t LONGEST_MATCH(deflate_state *const s, Pos cur_match) {
unsigned int strstart = s->strstart;
const unsigned wmask = s->w_mask;
- unsigned char *window = s->window;
- unsigned char *scan = window + strstart;
+ ZLIB_REGISTER unsigned char *window = s->window;
+ ZLIB_REGISTER unsigned char *scan = window + strstart;
const Pos *prev = s->prev;
unsigned chain_length;
Pos limit;
- unsigned int len, best_len, nice_match;
+ unsigned int best_len, nice_match;
bestcmp_t scan_end, scan_start;
/*
Assert((unsigned long)strstart <= s->window_size - MIN_LOOKAHEAD, "need lookahead");
do {
- unsigned char *match;
+ ZLIB_REGISTER unsigned char *match;
+ ZLIB_REGISTER unsigned int len;
int cont;
if (cur_match >= strstart)
break;
ZLIB_INTERNAL unsigned bi_reverse(unsigned code, int len) {
/* code: the value to invert */
/* len: its bit length */
- register unsigned res = 0;
+ ZLIB_REGISTER unsigned res = 0;
do {
res |= code & 1;
code >>= 1, res <<= 1;
# define ZLIB_INTERNAL
#endif
+#ifndef __cplusplus
+# define ZLIB_REGISTER register
+#else
+# define ZLIB_REGISTER
+#endif
+
#include <stddef.h>
#include <string.h>
#include <stdlib.h>