static void writeSparseNB16(int Value, pointer Base, register unsigned long Offset) { register unsigned long msb; register unsigned int w = Value & 0xffffU; Offset += (unsigned long)Base - DENSE_BASE; if (Offset >= hae_thresh) { msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { sethae(msb); msb_set = msb; } } *(vuip)(SPARSE_BASE+(Offset<<5)+(1<<(5-2))) = w * 0x00010001; }
static void writeSparseNB8(int Value, void *Base, register unsigned long Offset) { register unsigned long msb; register unsigned int b = Value & 0xffU; Offset += (unsigned long) Base - DENSE_BASE; if (Offset >= hae_thresh) { msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { sethae(msb); msb_set = msb; } } *(vuip) (SPARSE_BASE + (Offset << 5)) = b * 0x01010101; }
static void writeSparseNB8(int Value, pointer Base, register unsigned long Offset) { register unsigned long msb; register unsigned int b = Value & 0xffU; Offset += (unsigned long)Base - (unsigned long)memBase; if (Offset >= (hae_thresh)) { msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { #ifndef __NetBSD__ sethae(msb); #endif msb_set = msb; } } *(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101; }
static void writeSparse16(int Value, pointer Base, register unsigned long Offset) { register unsigned long msb; register unsigned int w = Value & 0xffffU; write_mem_barrier(); Offset += (unsigned long)Base - (unsigned long)memBase; if (Offset >= (hae_thresh)) { msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { #ifndef __NetBSD__ sethae(msb); #endif msb_set = msb; } } *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) = w * 0x00010001; }
static int readSparse8(pointer Base, register unsigned long Offset) { register unsigned long result, shift; register unsigned long msb; mem_barrier(); Offset += (unsigned long)Base - (unsigned long)memBase; shift = (Offset & 0x3) << 3; if (Offset >= (hae_thresh)) { msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { #ifndef __NetBSD__ sethae(msb); #endif msb_set = msb; } } result = *(vuip) ((unsigned long)memSBase + (Offset << 5)); result >>= shift; return 0xffUL & result; }
static int readSparse16(pointer Base, register unsigned long Offset) { register unsigned long result, shift; register unsigned long msb; mem_barrier(); Offset += (unsigned long)Base - DENSE_BASE; shift = (Offset & 0x2) << 3; if (Offset >= hae_thresh) { msb = Offset & hae_mask; Offset -= msb; if (msb_set != msb) { sethae(msb); msb_set = msb; } } mem_barrier(); result = *(vuip)(SPARSE_BASE + (Offset<<5) + (1<<(5-2))); result >>= shift; return 0xffffUL & result; }