]> git.proxmox.com Git - ceph.git/blob - ceph/src/isa-l/crc/aarch64/crc64_ecma_norm_pmull.h
Import ceph 15.2.8
[ceph.git] / ceph / src / isa-l / crc / aarch64 / crc64_ecma_norm_pmull.h
1 ########################################################################
2 # Copyright(c) 2019 Arm Corporation All rights reserved.
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
6 # are met:
7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above copyright
10 # notice, this list of conditions and the following disclaimer in
11 # the documentation and/or other materials provided with the
12 # distribution.
13 # * Neither the name of Arm Corporation nor the names of its
14 # contributors may be used to endorse or promote products derived
15 # from this software without specific prior written permission.
16 #
17 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 #########################################################################
29
30 .equ p4_low_b0, (0xf020)
31 .equ p4_low_b1, 0x540d
32 .equ p4_low_b2, 0x43ca
33 .equ p4_low_b3, 0x5f68
34 .equ p4_high_b0, 0xb83f
35 .equ p4_high_b1, 0x1205
36 .equ p4_high_b2, 0xb698
37 .equ p4_high_b3, 0xddf4
38
39 .equ p1_low_b0, (0xfab6)
40 .equ p1_low_b1, 0xeb52
41 .equ p1_low_b2, 0xc3c7
42 .equ p1_low_b3, 0x05f5
43 .equ p1_high_b0, 0x740e
44 .equ p1_high_b1, 0xd257
45 .equ p1_high_b2, 0x38a7
46 .equ p1_high_b3, 0x4eb9
47
48 .equ p0_low_b0, (0xfab6)
49 .equ p0_low_b1, 0xeb52
50 .equ p0_low_b2, 0xc3c7
51 .equ p0_low_b3, 0x05f5
52 .equ p0_high_b0, 0x0
53 .equ p0_high_b1, 0x0
54 .equ p0_high_b2, 0x0
55 .equ p0_high_b3, 0x0
56
57 .equ br_low_b0, (0xf872)
58 .equ br_low_b1, 0x6cc4
59 .equ br_low_b2, 0x29d0
60 .equ br_low_b3, 0x578d
61 .equ br_high_b0, 0x3693
62 .equ br_high_b1, 0xa9ea
63 .equ br_high_b2, 0xe1eb
64 .equ br_high_b3, 0x42f0
65
66 .text
67 .section .rodata
68 .align 4
69 .set .lanchor_crc_tab,. + 0
70 .type crc64_tab, %object
71 .size crc64_tab, 2048
72 crc64_tab:
73 .xword 0x0000000000000000, 0x42f0e1eba9ea3693
74 .xword 0x85e1c3d753d46d26, 0xc711223cfa3e5bb5
75 .xword 0x493366450e42ecdf, 0x0bc387aea7a8da4c
76 .xword 0xccd2a5925d9681f9, 0x8e224479f47cb76a
77 .xword 0x9266cc8a1c85d9be, 0xd0962d61b56fef2d
78 .xword 0x17870f5d4f51b498, 0x5577eeb6e6bb820b
79 .xword 0xdb55aacf12c73561, 0x99a54b24bb2d03f2
80 .xword 0x5eb4691841135847, 0x1c4488f3e8f96ed4
81 .xword 0x663d78ff90e185ef, 0x24cd9914390bb37c
82 .xword 0xe3dcbb28c335e8c9, 0xa12c5ac36adfde5a
83 .xword 0x2f0e1eba9ea36930, 0x6dfeff5137495fa3
84 .xword 0xaaefdd6dcd770416, 0xe81f3c86649d3285
85 .xword 0xf45bb4758c645c51, 0xb6ab559e258e6ac2
86 .xword 0x71ba77a2dfb03177, 0x334a9649765a07e4
87 .xword 0xbd68d2308226b08e, 0xff9833db2bcc861d
88 .xword 0x388911e7d1f2dda8, 0x7a79f00c7818eb3b
89 .xword 0xcc7af1ff21c30bde, 0x8e8a101488293d4d
90 .xword 0x499b3228721766f8, 0x0b6bd3c3dbfd506b
91 .xword 0x854997ba2f81e701, 0xc7b97651866bd192
92 .xword 0x00a8546d7c558a27, 0x4258b586d5bfbcb4
93 .xword 0x5e1c3d753d46d260, 0x1cecdc9e94ace4f3
94 .xword 0xdbfdfea26e92bf46, 0x990d1f49c77889d5
95 .xword 0x172f5b3033043ebf, 0x55dfbadb9aee082c
96 .xword 0x92ce98e760d05399, 0xd03e790cc93a650a
97 .xword 0xaa478900b1228e31, 0xe8b768eb18c8b8a2
98 .xword 0x2fa64ad7e2f6e317, 0x6d56ab3c4b1cd584
99 .xword 0xe374ef45bf6062ee, 0xa1840eae168a547d
100 .xword 0x66952c92ecb40fc8, 0x2465cd79455e395b
101 .xword 0x3821458aada7578f, 0x7ad1a461044d611c
102 .xword 0xbdc0865dfe733aa9, 0xff3067b657990c3a
103 .xword 0x711223cfa3e5bb50, 0x33e2c2240a0f8dc3
104 .xword 0xf4f3e018f031d676, 0xb60301f359dbe0e5
105 .xword 0xda050215ea6c212f, 0x98f5e3fe438617bc
106 .xword 0x5fe4c1c2b9b84c09, 0x1d14202910527a9a
107 .xword 0x93366450e42ecdf0, 0xd1c685bb4dc4fb63
108 .xword 0x16d7a787b7faa0d6, 0x5427466c1e109645
109 .xword 0x4863ce9ff6e9f891, 0x0a932f745f03ce02
110 .xword 0xcd820d48a53d95b7, 0x8f72eca30cd7a324
111 .xword 0x0150a8daf8ab144e, 0x43a04931514122dd
112 .xword 0x84b16b0dab7f7968, 0xc6418ae602954ffb
113 .xword 0xbc387aea7a8da4c0, 0xfec89b01d3679253
114 .xword 0x39d9b93d2959c9e6, 0x7b2958d680b3ff75
115 .xword 0xf50b1caf74cf481f, 0xb7fbfd44dd257e8c
116 .xword 0x70eadf78271b2539, 0x321a3e938ef113aa
117 .xword 0x2e5eb66066087d7e, 0x6cae578bcfe24bed
118 .xword 0xabbf75b735dc1058, 0xe94f945c9c3626cb
119 .xword 0x676dd025684a91a1, 0x259d31cec1a0a732
120 .xword 0xe28c13f23b9efc87, 0xa07cf2199274ca14
121 .xword 0x167ff3eacbaf2af1, 0x548f120162451c62
122 .xword 0x939e303d987b47d7, 0xd16ed1d631917144
123 .xword 0x5f4c95afc5edc62e, 0x1dbc74446c07f0bd
124 .xword 0xdaad56789639ab08, 0x985db7933fd39d9b
125 .xword 0x84193f60d72af34f, 0xc6e9de8b7ec0c5dc
126 .xword 0x01f8fcb784fe9e69, 0x43081d5c2d14a8fa
127 .xword 0xcd2a5925d9681f90, 0x8fdab8ce70822903
128 .xword 0x48cb9af28abc72b6, 0x0a3b7b1923564425
129 .xword 0x70428b155b4eaf1e, 0x32b26afef2a4998d
130 .xword 0xf5a348c2089ac238, 0xb753a929a170f4ab
131 .xword 0x3971ed50550c43c1, 0x7b810cbbfce67552
132 .xword 0xbc902e8706d82ee7, 0xfe60cf6caf321874
133 .xword 0xe224479f47cb76a0, 0xa0d4a674ee214033
134 .xword 0x67c58448141f1b86, 0x253565a3bdf52d15
135 .xword 0xab1721da49899a7f, 0xe9e7c031e063acec
136 .xword 0x2ef6e20d1a5df759, 0x6c0603e6b3b7c1ca
137 .xword 0xf6fae5c07d3274cd, 0xb40a042bd4d8425e
138 .xword 0x731b26172ee619eb, 0x31ebc7fc870c2f78
139 .xword 0xbfc9838573709812, 0xfd39626eda9aae81
140 .xword 0x3a28405220a4f534, 0x78d8a1b9894ec3a7
141 .xword 0x649c294a61b7ad73, 0x266cc8a1c85d9be0
142 .xword 0xe17dea9d3263c055, 0xa38d0b769b89f6c6
143 .xword 0x2daf4f0f6ff541ac, 0x6f5faee4c61f773f
144 .xword 0xa84e8cd83c212c8a, 0xeabe6d3395cb1a19
145 .xword 0x90c79d3fedd3f122, 0xd2377cd44439c7b1
146 .xword 0x15265ee8be079c04, 0x57d6bf0317edaa97
147 .xword 0xd9f4fb7ae3911dfd, 0x9b041a914a7b2b6e
148 .xword 0x5c1538adb04570db, 0x1ee5d94619af4648
149 .xword 0x02a151b5f156289c, 0x4051b05e58bc1e0f
150 .xword 0x87409262a28245ba, 0xc5b073890b687329
151 .xword 0x4b9237f0ff14c443, 0x0962d61b56fef2d0
152 .xword 0xce73f427acc0a965, 0x8c8315cc052a9ff6
153 .xword 0x3a80143f5cf17f13, 0x7870f5d4f51b4980
154 .xword 0xbf61d7e80f251235, 0xfd913603a6cf24a6
155 .xword 0x73b3727a52b393cc, 0x31439391fb59a55f
156 .xword 0xf652b1ad0167feea, 0xb4a25046a88dc879
157 .xword 0xa8e6d8b54074a6ad, 0xea16395ee99e903e
158 .xword 0x2d071b6213a0cb8b, 0x6ff7fa89ba4afd18
159 .xword 0xe1d5bef04e364a72, 0xa3255f1be7dc7ce1
160 .xword 0x64347d271de22754, 0x26c49cccb40811c7
161 .xword 0x5cbd6cc0cc10fafc, 0x1e4d8d2b65facc6f
162 .xword 0xd95caf179fc497da, 0x9bac4efc362ea149
163 .xword 0x158e0a85c2521623, 0x577eeb6e6bb820b0
164 .xword 0x906fc95291867b05, 0xd29f28b9386c4d96
165 .xword 0xcedba04ad0952342, 0x8c2b41a1797f15d1
166 .xword 0x4b3a639d83414e64, 0x09ca82762aab78f7
167 .xword 0x87e8c60fded7cf9d, 0xc51827e4773df90e
168 .xword 0x020905d88d03a2bb, 0x40f9e43324e99428
169 .xword 0x2cffe7d5975e55e2, 0x6e0f063e3eb46371
170 .xword 0xa91e2402c48a38c4, 0xebeec5e96d600e57
171 .xword 0x65cc8190991cb93d, 0x273c607b30f68fae
172 .xword 0xe02d4247cac8d41b, 0xa2dda3ac6322e288
173 .xword 0xbe992b5f8bdb8c5c, 0xfc69cab42231bacf
174 .xword 0x3b78e888d80fe17a, 0x7988096371e5d7e9
175 .xword 0xf7aa4d1a85996083, 0xb55aacf12c735610
176 .xword 0x724b8ecdd64d0da5, 0x30bb6f267fa73b36
177 .xword 0x4ac29f2a07bfd00d, 0x08327ec1ae55e69e
178 .xword 0xcf235cfd546bbd2b, 0x8dd3bd16fd818bb8
179 .xword 0x03f1f96f09fd3cd2, 0x41011884a0170a41
180 .xword 0x86103ab85a2951f4, 0xc4e0db53f3c36767
181 .xword 0xd8a453a01b3a09b3, 0x9a54b24bb2d03f20
182 .xword 0x5d45907748ee6495, 0x1fb5719ce1045206
183 .xword 0x919735e51578e56c, 0xd367d40ebc92d3ff
184 .xword 0x1476f63246ac884a, 0x568617d9ef46bed9
185 .xword 0xe085162ab69d5e3c, 0xa275f7c11f7768af
186 .xword 0x6564d5fde549331a, 0x279434164ca30589
187 .xword 0xa9b6706fb8dfb2e3, 0xeb46918411358470
188 .xword 0x2c57b3b8eb0bdfc5, 0x6ea7525342e1e956
189 .xword 0x72e3daa0aa188782, 0x30133b4b03f2b111
190 .xword 0xf7021977f9cceaa4, 0xb5f2f89c5026dc37
191 .xword 0x3bd0bce5a45a6b5d, 0x79205d0e0db05dce
192 .xword 0xbe317f32f78e067b, 0xfcc19ed95e6430e8
193 .xword 0x86b86ed5267cdbd3, 0xc4488f3e8f96ed40
194 .xword 0x0359ad0275a8b6f5, 0x41a94ce9dc428066
195 .xword 0xcf8b0890283e370c, 0x8d7be97b81d4019f
196 .xword 0x4a6acb477bea5a2a, 0x089a2aacd2006cb9
197 .xword 0x14dea25f3af9026d, 0x562e43b4931334fe
198 .xword 0x913f6188692d6f4b, 0xd3cf8063c0c759d8
199 .xword 0x5dedc41a34bbeeb2, 0x1f1d25f19d51d821
200 .xword 0xd80c07cd676f8394, 0x9afce626ce85b507