cosmopolitan/libc/nexgen32e/kreversebits.S

90 lines
5.1 KiB
ArmAsm

/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│
vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi
Copyright 2020 Justine Alexandra Roberts Tunney
Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted, provided that the
above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
*/
#include "libc/macros.h"
.rodata
kReverseBits:
.byte 0b00000000,0b10000000,0b01000000,0b11000000
.byte 0b00100000,0b10100000,0b01100000,0b11100000
.byte 0b00010000,0b10010000,0b01010000,0b11010000
.byte 0b00110000,0b10110000,0b01110000,0b11110000
.byte 0b00001000,0b10001000,0b01001000,0b11001000
.byte 0b00101000,0b10101000,0b01101000,0b11101000
.byte 0b00011000,0b10011000,0b01011000,0b11011000
.byte 0b00111000,0b10111000,0b01111000,0b11111000
.byte 0b00000100,0b10000100,0b01000100,0b11000100
.byte 0b00100100,0b10100100,0b01100100,0b11100100
.byte 0b00010100,0b10010100,0b01010100,0b11010100
.byte 0b00110100,0b10110100,0b01110100,0b11110100
.byte 0b00001100,0b10001100,0b01001100,0b11001100
.byte 0b00101100,0b10101100,0b01101100,0b11101100
.byte 0b00011100,0b10011100,0b01011100,0b11011100
.byte 0b00111100,0b10111100,0b01111100,0b11111100
.byte 0b00000010,0b10000010,0b01000010,0b11000010
.byte 0b00100010,0b10100010,0b01100010,0b11100010
.byte 0b00010010,0b10010010,0b01010010,0b11010010
.byte 0b00110010,0b10110010,0b01110010,0b11110010
.byte 0b00001010,0b10001010,0b01001010,0b11001010
.byte 0b00101010,0b10101010,0b01101010,0b11101010
.byte 0b00011010,0b10011010,0b01011010,0b11011010
.byte 0b00111010,0b10111010,0b01111010,0b11111010
.byte 0b00000110,0b10000110,0b01000110,0b11000110
.byte 0b00100110,0b10100110,0b01100110,0b11100110
.byte 0b00010110,0b10010110,0b01010110,0b11010110
.byte 0b00110110,0b10110110,0b01110110,0b11110110
.byte 0b00001110,0b10001110,0b01001110,0b11001110
.byte 0b00101110,0b10101110,0b01101110,0b11101110
.byte 0b00011110,0b10011110,0b01011110,0b11011110
.byte 0b00111110,0b10111110,0b01111110,0b11111110
.byte 0b00000001,0b10000001,0b01000001,0b11000001
.byte 0b00100001,0b10100001,0b01100001,0b11100001
.byte 0b00010001,0b10010001,0b01010001,0b11010001
.byte 0b00110001,0b10110001,0b01110001,0b11110001
.byte 0b00001001,0b10001001,0b01001001,0b11001001
.byte 0b00101001,0b10101001,0b01101001,0b11101001
.byte 0b00011001,0b10011001,0b01011001,0b11011001
.byte 0b00111001,0b10111001,0b01111001,0b11111001
.byte 0b00000101,0b10000101,0b01000101,0b11000101
.byte 0b00100101,0b10100101,0b01100101,0b11100101
.byte 0b00010101,0b10010101,0b01010101,0b11010101
.byte 0b00110101,0b10110101,0b01110101,0b11110101
.byte 0b00001101,0b10001101,0b01001101,0b11001101
.byte 0b00101101,0b10101101,0b01101101,0b11101101
.byte 0b00011101,0b10011101,0b01011101,0b11011101
.byte 0b00111101,0b10111101,0b01111101,0b11111101
.byte 0b00000011,0b10000011,0b01000011,0b11000011
.byte 0b00100011,0b10100011,0b01100011,0b11100011
.byte 0b00010011,0b10010011,0b01010011,0b11010011
.byte 0b00110011,0b10110011,0b01110011,0b11110011
.byte 0b00001011,0b10001011,0b01001011,0b11001011
.byte 0b00101011,0b10101011,0b01101011,0b11101011
.byte 0b00011011,0b10011011,0b01011011,0b11011011
.byte 0b00111011,0b10111011,0b01111011,0b11111011
.byte 0b00000111,0b10000111,0b01000111,0b11000111
.byte 0b00100111,0b10100111,0b01100111,0b11100111
.byte 0b00010111,0b10010111,0b01010111,0b11010111
.byte 0b00110111,0b10110111,0b01110111,0b11110111
.byte 0b00001111,0b10001111,0b01001111,0b11001111
.byte 0b00101111,0b10101111,0b01101111,0b11101111
.byte 0b00011111,0b10011111,0b01011111,0b11011111
.byte 0b00111111,0b10111111,0b01111111,0b11111111
.endobj kReverseBits,globl
.previous
.source __FILE__