| Abhay Kumar | 40252eb | 2025-10-13 13:25:53 +0000 | [diff] [blame^] | 1 | //go:build !amd64 |
| 2 | // +build !amd64 |
| 3 | |
| 4 | package flate |
| 5 | |
| 6 | const ( |
| 7 | // Masks for shifts with register sizes of the shift value. |
| 8 | // This can be used to work around the x86 design of shifting by mod register size. |
| 9 | // It can be used when a variable shift is always smaller than the register size. |
| 10 | |
| 11 | // reg8SizeMaskX - shift value is 8 bits, shifted is X |
| 12 | reg8SizeMask8 = 0xff |
| 13 | reg8SizeMask16 = 0xff |
| 14 | reg8SizeMask32 = 0xff |
| 15 | reg8SizeMask64 = 0xff |
| 16 | |
| 17 | // reg16SizeMaskX - shift value is 16 bits, shifted is X |
| 18 | reg16SizeMask8 = 0xffff |
| 19 | reg16SizeMask16 = 0xffff |
| 20 | reg16SizeMask32 = 0xffff |
| 21 | reg16SizeMask64 = 0xffff |
| 22 | |
| 23 | // reg32SizeMaskX - shift value is 32 bits, shifted is X |
| 24 | reg32SizeMask8 = 0xffffffff |
| 25 | reg32SizeMask16 = 0xffffffff |
| 26 | reg32SizeMask32 = 0xffffffff |
| 27 | reg32SizeMask64 = 0xffffffff |
| 28 | |
| 29 | // reg64SizeMaskX - shift value is 64 bits, shifted is X |
| 30 | reg64SizeMask8 = 0xffffffffffffffff |
| 31 | reg64SizeMask16 = 0xffffffffffffffff |
| 32 | reg64SizeMask32 = 0xffffffffffffffff |
| 33 | reg64SizeMask64 = 0xffffffffffffffff |
| 34 | |
| 35 | // regSizeMaskUintX - shift value is uint, shifted is X |
| 36 | regSizeMaskUint8 = ^uint(0) |
| 37 | regSizeMaskUint16 = ^uint(0) |
| 38 | regSizeMaskUint32 = ^uint(0) |
| 39 | regSizeMaskUint64 = ^uint(0) |
| 40 | ) |