Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * Calculate a crc32c with vpmsum acceleration
0004  *
0005  * Copyright (C) 2015 Anton Blanchard <anton@au.ibm.com>, IBM
0006  */
0007     .section    .rodata
0008 .balign 16
0009 
0010 .byteswap_constant:
0011     /* byte reverse permute constant */
0012     .octa 0x0F0E0D0C0B0A09080706050403020100
0013 
0014 .constants:
0015 
0016     /* Reduce 262144 kbits to 1024 bits */
0017     /* x^261120 mod p(x)` << 1, x^261184 mod p(x)` << 1 */
0018     .octa 0x00000000b6ca9e20000000009c37c408
0019 
0020     /* x^260096 mod p(x)` << 1, x^260160 mod p(x)` << 1 */
0021     .octa 0x00000000350249a800000001b51df26c
0022 
0023     /* x^259072 mod p(x)` << 1, x^259136 mod p(x)` << 1 */
0024     .octa 0x00000001862dac54000000000724b9d0
0025 
0026     /* x^258048 mod p(x)` << 1, x^258112 mod p(x)` << 1 */
0027     .octa 0x00000001d87fb48c00000001c00532fe
0028 
0029     /* x^257024 mod p(x)` << 1, x^257088 mod p(x)` << 1 */
0030     .octa 0x00000001f39b699e00000000f05a9362
0031 
0032     /* x^256000 mod p(x)` << 1, x^256064 mod p(x)` << 1 */
0033     .octa 0x0000000101da11b400000001e1007970
0034 
0035     /* x^254976 mod p(x)` << 1, x^255040 mod p(x)` << 1 */
0036     .octa 0x00000001cab571e000000000a57366ee
0037 
0038     /* x^253952 mod p(x)` << 1, x^254016 mod p(x)` << 1 */
0039     .octa 0x00000000c7020cfe0000000192011284
0040 
0041     /* x^252928 mod p(x)` << 1, x^252992 mod p(x)` << 1 */
0042     .octa 0x00000000cdaed1ae0000000162716d9a
0043 
0044     /* x^251904 mod p(x)` << 1, x^251968 mod p(x)` << 1 */
0045     .octa 0x00000001e804effc00000000cd97ecde
0046 
0047     /* x^250880 mod p(x)` << 1, x^250944 mod p(x)` << 1 */
0048     .octa 0x0000000077c3ea3a0000000058812bc0
0049 
0050     /* x^249856 mod p(x)` << 1, x^249920 mod p(x)` << 1 */
0051     .octa 0x0000000068df31b40000000088b8c12e
0052 
0053     /* x^248832 mod p(x)` << 1, x^248896 mod p(x)` << 1 */
0054     .octa 0x00000000b059b6c200000001230b234c
0055 
0056     /* x^247808 mod p(x)` << 1, x^247872 mod p(x)` << 1 */
0057     .octa 0x0000000145fb8ed800000001120b416e
0058 
0059     /* x^246784 mod p(x)` << 1, x^246848 mod p(x)` << 1 */
0060     .octa 0x00000000cbc0916800000001974aecb0
0061 
0062     /* x^245760 mod p(x)` << 1, x^245824 mod p(x)` << 1 */
0063     .octa 0x000000005ceeedc2000000008ee3f226
0064 
0065     /* x^244736 mod p(x)` << 1, x^244800 mod p(x)` << 1 */
0066     .octa 0x0000000047d74e8600000001089aba9a
0067 
0068     /* x^243712 mod p(x)` << 1, x^243776 mod p(x)` << 1 */
0069     .octa 0x00000001407e9e220000000065113872
0070 
0071     /* x^242688 mod p(x)` << 1, x^242752 mod p(x)` << 1 */
0072     .octa 0x00000001da967bda000000005c07ec10
0073 
0074     /* x^241664 mod p(x)` << 1, x^241728 mod p(x)` << 1 */
0075     .octa 0x000000006c8983680000000187590924
0076 
0077     /* x^240640 mod p(x)` << 1, x^240704 mod p(x)` << 1 */
0078     .octa 0x00000000f2d14c9800000000e35da7c6
0079 
0080     /* x^239616 mod p(x)` << 1, x^239680 mod p(x)` << 1 */
0081     .octa 0x00000001993c6ad4000000000415855a
0082 
0083     /* x^238592 mod p(x)` << 1, x^238656 mod p(x)` << 1 */
0084     .octa 0x000000014683d1ac0000000073617758
0085 
0086     /* x^237568 mod p(x)` << 1, x^237632 mod p(x)` << 1 */
0087     .octa 0x00000001a7c93e6c0000000176021d28
0088 
0089     /* x^236544 mod p(x)` << 1, x^236608 mod p(x)` << 1 */
0090     .octa 0x000000010211e90a00000001c358fd0a
0091 
0092     /* x^235520 mod p(x)` << 1, x^235584 mod p(x)` << 1 */
0093     .octa 0x000000001119403e00000001ff7a2c18
0094 
0095     /* x^234496 mod p(x)` << 1, x^234560 mod p(x)` << 1 */
0096     .octa 0x000000001c3261aa00000000f2d9f7e4
0097 
0098     /* x^233472 mod p(x)` << 1, x^233536 mod p(x)` << 1 */
0099     .octa 0x000000014e37a634000000016cf1f9c8
0100 
0101     /* x^232448 mod p(x)` << 1, x^232512 mod p(x)` << 1 */
0102     .octa 0x0000000073786c0c000000010af9279a
0103 
0104     /* x^231424 mod p(x)` << 1, x^231488 mod p(x)` << 1 */
0105     .octa 0x000000011dc037f80000000004f101e8
0106 
0107     /* x^230400 mod p(x)` << 1, x^230464 mod p(x)` << 1 */
0108     .octa 0x0000000031433dfc0000000070bcf184
0109 
0110     /* x^229376 mod p(x)` << 1, x^229440 mod p(x)` << 1 */
0111     .octa 0x000000009cde8348000000000a8de642
0112 
0113     /* x^228352 mod p(x)` << 1, x^228416 mod p(x)` << 1 */
0114     .octa 0x0000000038d3c2a60000000062ea130c
0115 
0116     /* x^227328 mod p(x)` << 1, x^227392 mod p(x)` << 1 */
0117     .octa 0x000000011b25f26000000001eb31cbb2
0118 
0119     /* x^226304 mod p(x)` << 1, x^226368 mod p(x)` << 1 */
0120     .octa 0x000000001629e6f00000000170783448
0121 
0122     /* x^225280 mod p(x)` << 1, x^225344 mod p(x)` << 1 */
0123     .octa 0x0000000160838b4c00000001a684b4c6
0124 
0125     /* x^224256 mod p(x)` << 1, x^224320 mod p(x)` << 1 */
0126     .octa 0x000000007a44011c00000000253ca5b4
0127 
0128     /* x^223232 mod p(x)` << 1, x^223296 mod p(x)` << 1 */
0129     .octa 0x00000000226f417a0000000057b4b1e2
0130 
0131     /* x^222208 mod p(x)` << 1, x^222272 mod p(x)` << 1 */
0132     .octa 0x0000000045eb2eb400000000b6bd084c
0133 
0134     /* x^221184 mod p(x)` << 1, x^221248 mod p(x)` << 1 */
0135     .octa 0x000000014459d70c0000000123c2d592
0136 
0137     /* x^220160 mod p(x)` << 1, x^220224 mod p(x)` << 1 */
0138     .octa 0x00000001d406ed8200000000159dafce
0139 
0140     /* x^219136 mod p(x)` << 1, x^219200 mod p(x)` << 1 */
0141     .octa 0x0000000160c8e1a80000000127e1a64e
0142 
0143     /* x^218112 mod p(x)` << 1, x^218176 mod p(x)` << 1 */
0144     .octa 0x0000000027ba80980000000056860754
0145 
0146     /* x^217088 mod p(x)` << 1, x^217152 mod p(x)` << 1 */
0147     .octa 0x000000006d92d01800000001e661aae8
0148 
0149     /* x^216064 mod p(x)` << 1, x^216128 mod p(x)` << 1 */
0150     .octa 0x000000012ed7e3f200000000f82c6166
0151 
0152     /* x^215040 mod p(x)` << 1, x^215104 mod p(x)` << 1 */
0153     .octa 0x000000002dc8778800000000c4f9c7ae
0154 
0155     /* x^214016 mod p(x)` << 1, x^214080 mod p(x)` << 1 */
0156     .octa 0x0000000018240bb80000000074203d20
0157 
0158     /* x^212992 mod p(x)` << 1, x^213056 mod p(x)` << 1 */
0159     .octa 0x000000001ad381580000000198173052
0160 
0161     /* x^211968 mod p(x)` << 1, x^212032 mod p(x)` << 1 */
0162     .octa 0x00000001396b78f200000001ce8aba54
0163 
0164     /* x^210944 mod p(x)` << 1, x^211008 mod p(x)` << 1 */
0165     .octa 0x000000011a68133400000001850d5d94
0166 
0167     /* x^209920 mod p(x)` << 1, x^209984 mod p(x)` << 1 */
0168     .octa 0x000000012104732e00000001d609239c
0169 
0170     /* x^208896 mod p(x)` << 1, x^208960 mod p(x)` << 1 */
0171     .octa 0x00000000a140d90c000000001595f048
0172 
0173     /* x^207872 mod p(x)` << 1, x^207936 mod p(x)` << 1 */
0174     .octa 0x00000001b7215eda0000000042ccee08
0175 
0176     /* x^206848 mod p(x)` << 1, x^206912 mod p(x)` << 1 */
0177     .octa 0x00000001aaf1df3c000000010a389d74
0178 
0179     /* x^205824 mod p(x)` << 1, x^205888 mod p(x)` << 1 */
0180     .octa 0x0000000029d15b8a000000012a840da6
0181 
0182     /* x^204800 mod p(x)` << 1, x^204864 mod p(x)` << 1 */
0183     .octa 0x00000000f1a96922000000001d181c0c
0184 
0185     /* x^203776 mod p(x)` << 1, x^203840 mod p(x)` << 1 */
0186     .octa 0x00000001ac80d03c0000000068b7d1f6
0187 
0188     /* x^202752 mod p(x)` << 1, x^202816 mod p(x)` << 1 */
0189     .octa 0x000000000f11d56a000000005b0f14fc
0190 
0191     /* x^201728 mod p(x)` << 1, x^201792 mod p(x)` << 1 */
0192     .octa 0x00000001f1c022a20000000179e9e730
0193 
0194     /* x^200704 mod p(x)` << 1, x^200768 mod p(x)` << 1 */
0195     .octa 0x0000000173d00ae200000001ce1368d6
0196 
0197     /* x^199680 mod p(x)` << 1, x^199744 mod p(x)` << 1 */
0198     .octa 0x00000001d4ffe4ac0000000112c3a84c
0199 
0200     /* x^198656 mod p(x)` << 1, x^198720 mod p(x)` << 1 */
0201     .octa 0x000000016edc5ae400000000de940fee
0202 
0203     /* x^197632 mod p(x)` << 1, x^197696 mod p(x)` << 1 */
0204     .octa 0x00000001f1a0214000000000fe896b7e
0205 
0206     /* x^196608 mod p(x)` << 1, x^196672 mod p(x)` << 1 */
0207     .octa 0x00000000ca0b28a000000001f797431c
0208 
0209     /* x^195584 mod p(x)` << 1, x^195648 mod p(x)` << 1 */
0210     .octa 0x00000001928e30a20000000053e989ba
0211 
0212     /* x^194560 mod p(x)` << 1, x^194624 mod p(x)` << 1 */
0213     .octa 0x0000000097b1b002000000003920cd16
0214 
0215     /* x^193536 mod p(x)` << 1, x^193600 mod p(x)` << 1 */
0216     .octa 0x00000000b15bf90600000001e6f579b8
0217 
0218     /* x^192512 mod p(x)` << 1, x^192576 mod p(x)` << 1 */
0219     .octa 0x00000000411c5d52000000007493cb0a
0220 
0221     /* x^191488 mod p(x)` << 1, x^191552 mod p(x)` << 1 */
0222     .octa 0x00000001c36f330000000001bdd376d8
0223 
0224     /* x^190464 mod p(x)` << 1, x^190528 mod p(x)` << 1 */
0225     .octa 0x00000001119227e0000000016badfee6
0226 
0227     /* x^189440 mod p(x)` << 1, x^189504 mod p(x)` << 1 */
0228     .octa 0x00000000114d47020000000071de5c58
0229 
0230     /* x^188416 mod p(x)` << 1, x^188480 mod p(x)` << 1 */
0231     .octa 0x00000000458b5b9800000000453f317c
0232 
0233     /* x^187392 mod p(x)` << 1, x^187456 mod p(x)` << 1 */
0234     .octa 0x000000012e31fb8e0000000121675cce
0235 
0236     /* x^186368 mod p(x)` << 1, x^186432 mod p(x)` << 1 */
0237     .octa 0x000000005cf619d800000001f409ee92
0238 
0239     /* x^185344 mod p(x)` << 1, x^185408 mod p(x)` << 1 */
0240     .octa 0x0000000063f4d8b200000000f36b9c88
0241 
0242     /* x^184320 mod p(x)` << 1, x^184384 mod p(x)` << 1 */
0243     .octa 0x000000004138dc8a0000000036b398f4
0244 
0245     /* x^183296 mod p(x)` << 1, x^183360 mod p(x)` << 1 */
0246     .octa 0x00000001d29ee8e000000001748f9adc
0247 
0248     /* x^182272 mod p(x)` << 1, x^182336 mod p(x)` << 1 */
0249     .octa 0x000000006a08ace800000001be94ec00
0250 
0251     /* x^181248 mod p(x)` << 1, x^181312 mod p(x)` << 1 */
0252     .octa 0x0000000127d4201000000000b74370d6
0253 
0254     /* x^180224 mod p(x)` << 1, x^180288 mod p(x)` << 1 */
0255     .octa 0x0000000019d76b6200000001174d0b98
0256 
0257     /* x^179200 mod p(x)` << 1, x^179264 mod p(x)` << 1 */
0258     .octa 0x00000001b1471f6e00000000befc06a4
0259 
0260     /* x^178176 mod p(x)` << 1, x^178240 mod p(x)` << 1 */
0261     .octa 0x00000001f64c19cc00000001ae125288
0262 
0263     /* x^177152 mod p(x)` << 1, x^177216 mod p(x)` << 1 */
0264     .octa 0x00000000003c0ea00000000095c19b34
0265 
0266     /* x^176128 mod p(x)` << 1, x^176192 mod p(x)` << 1 */
0267     .octa 0x000000014d73abf600000001a78496f2
0268 
0269     /* x^175104 mod p(x)` << 1, x^175168 mod p(x)` << 1 */
0270     .octa 0x00000001620eb84400000001ac5390a0
0271 
0272     /* x^174080 mod p(x)` << 1, x^174144 mod p(x)` << 1 */
0273     .octa 0x0000000147655048000000002a80ed6e
0274 
0275     /* x^173056 mod p(x)` << 1, x^173120 mod p(x)` << 1 */
0276     .octa 0x0000000067b5077e00000001fa9b0128
0277 
0278     /* x^172032 mod p(x)` << 1, x^172096 mod p(x)` << 1 */
0279     .octa 0x0000000010ffe20600000001ea94929e
0280 
0281     /* x^171008 mod p(x)` << 1, x^171072 mod p(x)` << 1 */
0282     .octa 0x000000000fee8f1e0000000125f4305c
0283 
0284     /* x^169984 mod p(x)` << 1, x^170048 mod p(x)` << 1 */
0285     .octa 0x00000001da26fbae00000001471e2002
0286 
0287     /* x^168960 mod p(x)` << 1, x^169024 mod p(x)` << 1 */
0288     .octa 0x00000001b3a8bd880000000132d2253a
0289 
0290     /* x^167936 mod p(x)` << 1, x^168000 mod p(x)` << 1 */
0291     .octa 0x00000000e8f3898e00000000f26b3592
0292 
0293     /* x^166912 mod p(x)` << 1, x^166976 mod p(x)` << 1 */
0294     .octa 0x00000000b0d0d28c00000000bc8b67b0
0295 
0296     /* x^165888 mod p(x)` << 1, x^165952 mod p(x)` << 1 */
0297     .octa 0x0000000030f2a798000000013a826ef2
0298 
0299     /* x^164864 mod p(x)` << 1, x^164928 mod p(x)` << 1 */
0300     .octa 0x000000000fba10020000000081482c84
0301 
0302     /* x^163840 mod p(x)` << 1, x^163904 mod p(x)` << 1 */
0303     .octa 0x00000000bdb9bd7200000000e77307c2
0304 
0305     /* x^162816 mod p(x)` << 1, x^162880 mod p(x)` << 1 */
0306     .octa 0x0000000075d3bf5a00000000d4a07ec8
0307 
0308     /* x^161792 mod p(x)` << 1, x^161856 mod p(x)` << 1 */
0309     .octa 0x00000000ef1f98a00000000017102100
0310 
0311     /* x^160768 mod p(x)` << 1, x^160832 mod p(x)` << 1 */
0312     .octa 0x00000000689c760200000000db406486
0313 
0314     /* x^159744 mod p(x)` << 1, x^159808 mod p(x)` << 1 */
0315     .octa 0x000000016d5fa5fe0000000192db7f88
0316 
0317     /* x^158720 mod p(x)` << 1, x^158784 mod p(x)` << 1 */
0318     .octa 0x00000001d0d2b9ca000000018bf67b1e
0319 
0320     /* x^157696 mod p(x)` << 1, x^157760 mod p(x)` << 1 */
0321     .octa 0x0000000041e7b470000000007c09163e
0322 
0323     /* x^156672 mod p(x)` << 1, x^156736 mod p(x)` << 1 */
0324     .octa 0x00000001cbb6495e000000000adac060
0325 
0326     /* x^155648 mod p(x)` << 1, x^155712 mod p(x)` << 1 */
0327     .octa 0x000000010052a0b000000000bd8316ae
0328 
0329     /* x^154624 mod p(x)` << 1, x^154688 mod p(x)` << 1 */
0330     .octa 0x00000001d8effb5c000000019f09ab54
0331 
0332     /* x^153600 mod p(x)` << 1, x^153664 mod p(x)` << 1 */
0333     .octa 0x00000001d969853c0000000125155542
0334 
0335     /* x^152576 mod p(x)` << 1, x^152640 mod p(x)` << 1 */
0336     .octa 0x00000000523ccce2000000018fdb5882
0337 
0338     /* x^151552 mod p(x)` << 1, x^151616 mod p(x)` << 1 */
0339     .octa 0x000000001e2436bc00000000e794b3f4
0340 
0341     /* x^150528 mod p(x)` << 1, x^150592 mod p(x)` << 1 */
0342     .octa 0x00000000ddd1c3a2000000016f9bb022
0343 
0344     /* x^149504 mod p(x)` << 1, x^149568 mod p(x)` << 1 */
0345     .octa 0x0000000019fcfe3800000000290c9978
0346 
0347     /* x^148480 mod p(x)` << 1, x^148544 mod p(x)` << 1 */
0348     .octa 0x00000001ce95db640000000083c0f350
0349 
0350     /* x^147456 mod p(x)` << 1, x^147520 mod p(x)` << 1 */
0351     .octa 0x00000000af5828060000000173ea6628
0352 
0353     /* x^146432 mod p(x)` << 1, x^146496 mod p(x)` << 1 */
0354     .octa 0x00000001006388f600000001c8b4e00a
0355 
0356     /* x^145408 mod p(x)` << 1, x^145472 mod p(x)` << 1 */
0357     .octa 0x0000000179eca00a00000000de95d6aa
0358 
0359     /* x^144384 mod p(x)` << 1, x^144448 mod p(x)` << 1 */
0360     .octa 0x0000000122410a6a000000010b7f7248
0361 
0362     /* x^143360 mod p(x)` << 1, x^143424 mod p(x)` << 1 */
0363     .octa 0x000000004288e87c00000001326e3a06
0364 
0365     /* x^142336 mod p(x)` << 1, x^142400 mod p(x)` << 1 */
0366     .octa 0x000000016c5490da00000000bb62c2e6
0367 
0368     /* x^141312 mod p(x)` << 1, x^141376 mod p(x)` << 1 */
0369     .octa 0x00000000d1c71f6e0000000156a4b2c2
0370 
0371     /* x^140288 mod p(x)` << 1, x^140352 mod p(x)` << 1 */
0372     .octa 0x00000001b4ce08a6000000011dfe763a
0373 
0374     /* x^139264 mod p(x)` << 1, x^139328 mod p(x)` << 1 */
0375     .octa 0x00000001466ba60c000000007bcca8e2
0376 
0377     /* x^138240 mod p(x)` << 1, x^138304 mod p(x)` << 1 */
0378     .octa 0x00000001f6c488a40000000186118faa
0379 
0380     /* x^137216 mod p(x)` << 1, x^137280 mod p(x)` << 1 */
0381     .octa 0x000000013bfb06820000000111a65a88
0382 
0383     /* x^136192 mod p(x)` << 1, x^136256 mod p(x)` << 1 */
0384     .octa 0x00000000690e9e54000000003565e1c4
0385 
0386     /* x^135168 mod p(x)` << 1, x^135232 mod p(x)` << 1 */
0387     .octa 0x00000000281346b6000000012ed02a82
0388 
0389     /* x^134144 mod p(x)` << 1, x^134208 mod p(x)` << 1 */
0390     .octa 0x000000015646402400000000c486ecfc
0391 
0392     /* x^133120 mod p(x)` << 1, x^133184 mod p(x)` << 1 */
0393     .octa 0x000000016063a8dc0000000001b951b2
0394 
0395     /* x^132096 mod p(x)` << 1, x^132160 mod p(x)` << 1 */
0396     .octa 0x0000000116a663620000000048143916
0397 
0398     /* x^131072 mod p(x)` << 1, x^131136 mod p(x)` << 1 */
0399     .octa 0x000000017e8aa4d200000001dc2ae124
0400 
0401     /* x^130048 mod p(x)` << 1, x^130112 mod p(x)` << 1 */
0402     .octa 0x00000001728eb10c00000001416c58d6
0403 
0404     /* x^129024 mod p(x)` << 1, x^129088 mod p(x)` << 1 */
0405     .octa 0x00000001b08fd7fa00000000a479744a
0406 
0407     /* x^128000 mod p(x)` << 1, x^128064 mod p(x)` << 1 */
0408     .octa 0x00000001092a16e80000000096ca3a26
0409 
0410     /* x^126976 mod p(x)` << 1, x^127040 mod p(x)` << 1 */
0411     .octa 0x00000000a505637c00000000ff223d4e
0412 
0413     /* x^125952 mod p(x)` << 1, x^126016 mod p(x)` << 1 */
0414     .octa 0x00000000d94869b2000000010e84da42
0415 
0416     /* x^124928 mod p(x)` << 1, x^124992 mod p(x)` << 1 */
0417     .octa 0x00000001c8b203ae00000001b61ba3d0
0418 
0419     /* x^123904 mod p(x)` << 1, x^123968 mod p(x)` << 1 */
0420     .octa 0x000000005704aea000000000680f2de8
0421 
0422     /* x^122880 mod p(x)` << 1, x^122944 mod p(x)` << 1 */
0423     .octa 0x000000012e295fa2000000008772a9a8
0424 
0425     /* x^121856 mod p(x)` << 1, x^121920 mod p(x)` << 1 */
0426     .octa 0x000000011d0908bc0000000155f295bc
0427 
0428     /* x^120832 mod p(x)` << 1, x^120896 mod p(x)` << 1 */
0429     .octa 0x0000000193ed97ea00000000595f9282
0430 
0431     /* x^119808 mod p(x)` << 1, x^119872 mod p(x)` << 1 */
0432     .octa 0x000000013a0f1c520000000164b1c25a
0433 
0434     /* x^118784 mod p(x)` << 1, x^118848 mod p(x)` << 1 */
0435     .octa 0x000000010c2c40c000000000fbd67c50
0436 
0437     /* x^117760 mod p(x)` << 1, x^117824 mod p(x)` << 1 */
0438     .octa 0x00000000ff6fac3e0000000096076268
0439 
0440     /* x^116736 mod p(x)` << 1, x^116800 mod p(x)` << 1 */
0441     .octa 0x000000017b3609c000000001d288e4cc
0442 
0443     /* x^115712 mod p(x)` << 1, x^115776 mod p(x)` << 1 */
0444     .octa 0x0000000088c8c92200000001eaac1bdc
0445 
0446     /* x^114688 mod p(x)` << 1, x^114752 mod p(x)` << 1 */
0447     .octa 0x00000001751baae600000001f1ea39e2
0448 
0449     /* x^113664 mod p(x)` << 1, x^113728 mod p(x)` << 1 */
0450     .octa 0x000000010795297200000001eb6506fc
0451 
0452     /* x^112640 mod p(x)` << 1, x^112704 mod p(x)` << 1 */
0453     .octa 0x0000000162b00abe000000010f806ffe
0454 
0455     /* x^111616 mod p(x)` << 1, x^111680 mod p(x)` << 1 */
0456     .octa 0x000000000d7b404c000000010408481e
0457 
0458     /* x^110592 mod p(x)` << 1, x^110656 mod p(x)` << 1 */
0459     .octa 0x00000000763b13d40000000188260534
0460 
0461     /* x^109568 mod p(x)` << 1, x^109632 mod p(x)` << 1 */
0462     .octa 0x00000000f6dc22d80000000058fc73e0
0463 
0464     /* x^108544 mod p(x)` << 1, x^108608 mod p(x)` << 1 */
0465     .octa 0x000000007daae06000000000391c59b8
0466 
0467     /* x^107520 mod p(x)` << 1, x^107584 mod p(x)` << 1 */
0468     .octa 0x000000013359ab7c000000018b638400
0469 
0470     /* x^106496 mod p(x)` << 1, x^106560 mod p(x)` << 1 */
0471     .octa 0x000000008add438a000000011738f5c4
0472 
0473     /* x^105472 mod p(x)` << 1, x^105536 mod p(x)` << 1 */
0474     .octa 0x00000001edbefdea000000008cf7c6da
0475 
0476     /* x^104448 mod p(x)` << 1, x^104512 mod p(x)` << 1 */
0477     .octa 0x000000004104e0f800000001ef97fb16
0478 
0479     /* x^103424 mod p(x)` << 1, x^103488 mod p(x)` << 1 */
0480     .octa 0x00000000b48a82220000000102130e20
0481 
0482     /* x^102400 mod p(x)` << 1, x^102464 mod p(x)` << 1 */
0483     .octa 0x00000001bcb4684400000000db968898
0484 
0485     /* x^101376 mod p(x)` << 1, x^101440 mod p(x)` << 1 */
0486     .octa 0x000000013293ce0a00000000b5047b5e
0487 
0488     /* x^100352 mod p(x)` << 1, x^100416 mod p(x)` << 1 */
0489     .octa 0x00000001710d0844000000010b90fdb2
0490 
0491     /* x^99328 mod p(x)` << 1, x^99392 mod p(x)` << 1 */
0492     .octa 0x0000000117907f6e000000004834a32e
0493 
0494     /* x^98304 mod p(x)` << 1, x^98368 mod p(x)` << 1 */
0495     .octa 0x0000000087ddf93e0000000059c8f2b0
0496 
0497     /* x^97280 mod p(x)` << 1, x^97344 mod p(x)` << 1 */
0498     .octa 0x000000005970e9b00000000122cec508
0499 
0500     /* x^96256 mod p(x)` << 1, x^96320 mod p(x)` << 1 */
0501     .octa 0x0000000185b2b7d0000000000a330cda
0502 
0503     /* x^95232 mod p(x)` << 1, x^95296 mod p(x)` << 1 */
0504     .octa 0x00000001dcee0efc000000014a47148c
0505 
0506     /* x^94208 mod p(x)` << 1, x^94272 mod p(x)` << 1 */
0507     .octa 0x0000000030da27220000000042c61cb8
0508 
0509     /* x^93184 mod p(x)` << 1, x^93248 mod p(x)` << 1 */
0510     .octa 0x000000012f925a180000000012fe6960
0511 
0512     /* x^92160 mod p(x)` << 1, x^92224 mod p(x)` << 1 */
0513     .octa 0x00000000dd2e357c00000000dbda2c20
0514 
0515     /* x^91136 mod p(x)` << 1, x^91200 mod p(x)` << 1 */
0516     .octa 0x00000000071c80de000000011122410c
0517 
0518     /* x^90112 mod p(x)` << 1, x^90176 mod p(x)` << 1 */
0519     .octa 0x000000011513140a00000000977b2070
0520 
0521     /* x^89088 mod p(x)` << 1, x^89152 mod p(x)` << 1 */
0522     .octa 0x00000001df876e8e000000014050438e
0523 
0524     /* x^88064 mod p(x)` << 1, x^88128 mod p(x)` << 1 */
0525     .octa 0x000000015f81d6ce0000000147c840e8
0526 
0527     /* x^87040 mod p(x)` << 1, x^87104 mod p(x)` << 1 */
0528     .octa 0x000000019dd94dbe00000001cc7c88ce
0529 
0530     /* x^86016 mod p(x)` << 1, x^86080 mod p(x)` << 1 */
0531     .octa 0x00000001373d206e00000001476b35a4
0532 
0533     /* x^84992 mod p(x)` << 1, x^85056 mod p(x)` << 1 */
0534     .octa 0x00000000668ccade000000013d52d508
0535 
0536     /* x^83968 mod p(x)` << 1, x^84032 mod p(x)` << 1 */
0537     .octa 0x00000001b192d268000000008e4be32e
0538 
0539     /* x^82944 mod p(x)` << 1, x^83008 mod p(x)` << 1 */
0540     .octa 0x00000000e30f3a7800000000024120fe
0541 
0542     /* x^81920 mod p(x)` << 1, x^81984 mod p(x)` << 1 */
0543     .octa 0x000000010ef1f7bc00000000ddecddb4
0544 
0545     /* x^80896 mod p(x)` << 1, x^80960 mod p(x)` << 1 */
0546     .octa 0x00000001f5ac738000000000d4d403bc
0547 
0548     /* x^79872 mod p(x)` << 1, x^79936 mod p(x)` << 1 */
0549     .octa 0x000000011822ea7000000001734b89aa
0550 
0551     /* x^78848 mod p(x)` << 1, x^78912 mod p(x)` << 1 */
0552     .octa 0x00000000c3a33848000000010e7a58d6
0553 
0554     /* x^77824 mod p(x)` << 1, x^77888 mod p(x)` << 1 */
0555     .octa 0x00000001bd151c2400000001f9f04e9c
0556 
0557     /* x^76800 mod p(x)` << 1, x^76864 mod p(x)` << 1 */
0558     .octa 0x0000000056002d7600000000b692225e
0559 
0560     /* x^75776 mod p(x)` << 1, x^75840 mod p(x)` << 1 */
0561     .octa 0x000000014657c4f4000000019b8d3f3e
0562 
0563     /* x^74752 mod p(x)` << 1, x^74816 mod p(x)` << 1 */
0564     .octa 0x0000000113742d7c00000001a874f11e
0565 
0566     /* x^73728 mod p(x)` << 1, x^73792 mod p(x)` << 1 */
0567     .octa 0x000000019c5920ba000000010d5a4254
0568 
0569     /* x^72704 mod p(x)` << 1, x^72768 mod p(x)` << 1 */
0570     .octa 0x000000005216d2d600000000bbb2f5d6
0571 
0572     /* x^71680 mod p(x)` << 1, x^71744 mod p(x)` << 1 */
0573     .octa 0x0000000136f5ad8a0000000179cc0e36
0574 
0575     /* x^70656 mod p(x)` << 1, x^70720 mod p(x)` << 1 */
0576     .octa 0x000000018b07beb600000001dca1da4a
0577 
0578     /* x^69632 mod p(x)` << 1, x^69696 mod p(x)` << 1 */
0579     .octa 0x00000000db1e93b000000000feb1a192
0580 
0581     /* x^68608 mod p(x)` << 1, x^68672 mod p(x)` << 1 */
0582     .octa 0x000000000b96fa3a00000000d1eeedd6
0583 
0584     /* x^67584 mod p(x)` << 1, x^67648 mod p(x)` << 1 */
0585     .octa 0x00000001d9968af0000000008fad9bb4
0586 
0587     /* x^66560 mod p(x)` << 1, x^66624 mod p(x)` << 1 */
0588     .octa 0x000000000e4a77a200000001884938e4
0589 
0590     /* x^65536 mod p(x)` << 1, x^65600 mod p(x)` << 1 */
0591     .octa 0x00000000508c2ac800000001bc2e9bc0
0592 
0593     /* x^64512 mod p(x)` << 1, x^64576 mod p(x)` << 1 */
0594     .octa 0x0000000021572a8000000001f9658a68
0595 
0596     /* x^63488 mod p(x)` << 1, x^63552 mod p(x)` << 1 */
0597     .octa 0x00000001b859daf2000000001b9224fc
0598 
0599     /* x^62464 mod p(x)` << 1, x^62528 mod p(x)` << 1 */
0600     .octa 0x000000016f7884740000000055b2fb84
0601 
0602     /* x^61440 mod p(x)` << 1, x^61504 mod p(x)` << 1 */
0603     .octa 0x00000001b438810e000000018b090348
0604 
0605     /* x^60416 mod p(x)` << 1, x^60480 mod p(x)` << 1 */
0606     .octa 0x0000000095ddc6f2000000011ccbd5ea
0607 
0608     /* x^59392 mod p(x)` << 1, x^59456 mod p(x)` << 1 */
0609     .octa 0x00000001d977c20c0000000007ae47f8
0610 
0611     /* x^58368 mod p(x)` << 1, x^58432 mod p(x)` << 1 */
0612     .octa 0x00000000ebedb99a0000000172acbec0
0613 
0614     /* x^57344 mod p(x)` << 1, x^57408 mod p(x)` << 1 */
0615     .octa 0x00000001df9e9e9200000001c6e3ff20
0616 
0617     /* x^56320 mod p(x)` << 1, x^56384 mod p(x)` << 1 */
0618     .octa 0x00000001a4a3f95200000000e1b38744
0619 
0620     /* x^55296 mod p(x)` << 1, x^55360 mod p(x)` << 1 */
0621     .octa 0x00000000e2f5122000000000791585b2
0622 
0623     /* x^54272 mod p(x)` << 1, x^54336 mod p(x)` << 1 */
0624     .octa 0x000000004aa01f3e00000000ac53b894
0625 
0626     /* x^53248 mod p(x)` << 1, x^53312 mod p(x)` << 1 */
0627     .octa 0x00000000b3e90a5800000001ed5f2cf4
0628 
0629     /* x^52224 mod p(x)` << 1, x^52288 mod p(x)` << 1 */
0630     .octa 0x000000000c9ca2aa00000001df48b2e0
0631 
0632     /* x^51200 mod p(x)` << 1, x^51264 mod p(x)` << 1 */
0633     .octa 0x000000015168231600000000049c1c62
0634 
0635     /* x^50176 mod p(x)` << 1, x^50240 mod p(x)` << 1 */
0636     .octa 0x0000000036fce78c000000017c460c12
0637 
0638     /* x^49152 mod p(x)` << 1, x^49216 mod p(x)` << 1 */
0639     .octa 0x000000009037dc10000000015be4da7e
0640 
0641     /* x^48128 mod p(x)` << 1, x^48192 mod p(x)` << 1 */
0642     .octa 0x00000000d3298582000000010f38f668
0643 
0644     /* x^47104 mod p(x)` << 1, x^47168 mod p(x)` << 1 */
0645     .octa 0x00000001b42e8ad60000000039f40a00
0646 
0647     /* x^46080 mod p(x)` << 1, x^46144 mod p(x)` << 1 */
0648     .octa 0x00000000142a983800000000bd4c10c4
0649 
0650     /* x^45056 mod p(x)` << 1, x^45120 mod p(x)` << 1 */
0651     .octa 0x0000000109c7f1900000000042db1d98
0652 
0653     /* x^44032 mod p(x)` << 1, x^44096 mod p(x)` << 1 */
0654     .octa 0x0000000056ff931000000001c905bae6
0655 
0656     /* x^43008 mod p(x)` << 1, x^43072 mod p(x)` << 1 */
0657     .octa 0x00000001594513aa00000000069d40ea
0658 
0659     /* x^41984 mod p(x)` << 1, x^42048 mod p(x)` << 1 */
0660     .octa 0x00000001e3b5b1e8000000008e4fbad0
0661 
0662     /* x^40960 mod p(x)` << 1, x^41024 mod p(x)` << 1 */
0663     .octa 0x000000011dd5fc080000000047bedd46
0664 
0665     /* x^39936 mod p(x)` << 1, x^40000 mod p(x)` << 1 */
0666     .octa 0x00000001675f0cc20000000026396bf8
0667 
0668     /* x^38912 mod p(x)` << 1, x^38976 mod p(x)` << 1 */
0669     .octa 0x00000000d1c8dd4400000000379beb92
0670 
0671     /* x^37888 mod p(x)` << 1, x^37952 mod p(x)` << 1 */
0672     .octa 0x0000000115ebd3d8000000000abae54a
0673 
0674     /* x^36864 mod p(x)` << 1, x^36928 mod p(x)` << 1 */
0675     .octa 0x00000001ecbd0dac0000000007e6a128
0676 
0677     /* x^35840 mod p(x)` << 1, x^35904 mod p(x)` << 1 */
0678     .octa 0x00000000cdf67af2000000000ade29d2
0679 
0680     /* x^34816 mod p(x)` << 1, x^34880 mod p(x)` << 1 */
0681     .octa 0x000000004c01ff4c00000000f974c45c
0682 
0683     /* x^33792 mod p(x)` << 1, x^33856 mod p(x)` << 1 */
0684     .octa 0x00000000f2d8657e00000000e77ac60a
0685 
0686     /* x^32768 mod p(x)` << 1, x^32832 mod p(x)` << 1 */
0687     .octa 0x000000006bae74c40000000145895816
0688 
0689     /* x^31744 mod p(x)` << 1, x^31808 mod p(x)` << 1 */
0690     .octa 0x0000000152af8aa00000000038e362be
0691 
0692     /* x^30720 mod p(x)` << 1, x^30784 mod p(x)` << 1 */
0693     .octa 0x0000000004663802000000007f991a64
0694 
0695     /* x^29696 mod p(x)` << 1, x^29760 mod p(x)` << 1 */
0696     .octa 0x00000001ab2f5afc00000000fa366d3a
0697 
0698     /* x^28672 mod p(x)` << 1, x^28736 mod p(x)` << 1 */
0699     .octa 0x0000000074a4ebd400000001a2bb34f0
0700 
0701     /* x^27648 mod p(x)` << 1, x^27712 mod p(x)` << 1 */
0702     .octa 0x00000001d7ab3a4c0000000028a9981e
0703 
0704     /* x^26624 mod p(x)` << 1, x^26688 mod p(x)` << 1 */
0705     .octa 0x00000001a8da60c600000001dbc672be
0706 
0707     /* x^25600 mod p(x)` << 1, x^25664 mod p(x)` << 1 */
0708     .octa 0x000000013cf6382000000000b04d77f6
0709 
0710     /* x^24576 mod p(x)` << 1, x^24640 mod p(x)` << 1 */
0711     .octa 0x00000000bec12e1e0000000124400d96
0712 
0713     /* x^23552 mod p(x)` << 1, x^23616 mod p(x)` << 1 */
0714     .octa 0x00000001c6368010000000014ca4b414
0715 
0716     /* x^22528 mod p(x)` << 1, x^22592 mod p(x)` << 1 */
0717     .octa 0x00000001e6e78758000000012fe2c938
0718 
0719     /* x^21504 mod p(x)` << 1, x^21568 mod p(x)` << 1 */
0720     .octa 0x000000008d7f2b3c00000001faed01e6
0721 
0722     /* x^20480 mod p(x)` << 1, x^20544 mod p(x)` << 1 */
0723     .octa 0x000000016b4a156e000000007e80ecfe
0724 
0725     /* x^19456 mod p(x)` << 1, x^19520 mod p(x)` << 1 */
0726     .octa 0x00000001c63cfeb60000000098daee94
0727 
0728     /* x^18432 mod p(x)` << 1, x^18496 mod p(x)` << 1 */
0729     .octa 0x000000015f902670000000010a04edea
0730 
0731     /* x^17408 mod p(x)` << 1, x^17472 mod p(x)` << 1 */
0732     .octa 0x00000001cd5de11e00000001c00b4524
0733 
0734     /* x^16384 mod p(x)` << 1, x^16448 mod p(x)` << 1 */
0735     .octa 0x000000001acaec540000000170296550
0736 
0737     /* x^15360 mod p(x)` << 1, x^15424 mod p(x)` << 1 */
0738     .octa 0x000000002bd0ca780000000181afaa48
0739 
0740     /* x^14336 mod p(x)` << 1, x^14400 mod p(x)` << 1 */
0741     .octa 0x0000000032d63d5c0000000185a31ffa
0742 
0743     /* x^13312 mod p(x)` << 1, x^13376 mod p(x)` << 1 */
0744     .octa 0x000000001c6d4e4c000000002469f608
0745 
0746     /* x^12288 mod p(x)` << 1, x^12352 mod p(x)` << 1 */
0747     .octa 0x0000000106a60b92000000006980102a
0748 
0749     /* x^11264 mod p(x)` << 1, x^11328 mod p(x)` << 1 */
0750     .octa 0x00000000d3855e120000000111ea9ca8
0751 
0752     /* x^10240 mod p(x)` << 1, x^10304 mod p(x)` << 1 */
0753     .octa 0x00000000e312563600000001bd1d29ce
0754 
0755     /* x^9216 mod p(x)` << 1, x^9280 mod p(x)` << 1 */
0756     .octa 0x000000009e8f7ea400000001b34b9580
0757 
0758     /* x^8192 mod p(x)` << 1, x^8256 mod p(x)` << 1 */
0759     .octa 0x00000001c82e562c000000003076054e
0760 
0761     /* x^7168 mod p(x)` << 1, x^7232 mod p(x)` << 1 */
0762     .octa 0x00000000ca9f09ce000000012a608ea4
0763 
0764     /* x^6144 mod p(x)` << 1, x^6208 mod p(x)` << 1 */
0765     .octa 0x00000000c63764e600000000784d05fe
0766 
0767     /* x^5120 mod p(x)` << 1, x^5184 mod p(x)` << 1 */
0768     .octa 0x0000000168d2e49e000000016ef0d82a
0769 
0770     /* x^4096 mod p(x)` << 1, x^4160 mod p(x)` << 1 */
0771     .octa 0x00000000e986c1480000000075bda454
0772 
0773     /* x^3072 mod p(x)` << 1, x^3136 mod p(x)` << 1 */
0774     .octa 0x00000000cfb65894000000003dc0a1c4
0775 
0776     /* x^2048 mod p(x)` << 1, x^2112 mod p(x)` << 1 */
0777     .octa 0x0000000111cadee400000000e9a5d8be
0778 
0779     /* x^1024 mod p(x)` << 1, x^1088 mod p(x)` << 1 */
0780     .octa 0x0000000171fb63ce00000001609bc4b4
0781 
0782 .short_constants:
0783 
0784     /* Reduce final 1024-2048 bits to 64 bits, shifting 32 bits to include the trailing 32 bits of zeros */
0785     /* x^1952 mod p(x)`, x^1984 mod p(x)`, x^2016 mod p(x)`, x^2048 mod p(x)` */
0786     .octa 0x7fec2963e5bf80485cf015c388e56f72
0787 
0788     /* x^1824 mod p(x)`, x^1856 mod p(x)`, x^1888 mod p(x)`, x^1920 mod p(x)` */
0789     .octa 0x38e888d4844752a9963a18920246e2e6
0790 
0791     /* x^1696 mod p(x)`, x^1728 mod p(x)`, x^1760 mod p(x)`, x^1792 mod p(x)` */
0792     .octa 0x42316c00730206ad419a441956993a31
0793 
0794     /* x^1568 mod p(x)`, x^1600 mod p(x)`, x^1632 mod p(x)`, x^1664 mod p(x)` */
0795     .octa 0x543d5c543e65ddf9924752ba2b830011
0796 
0797     /* x^1440 mod p(x)`, x^1472 mod p(x)`, x^1504 mod p(x)`, x^1536 mod p(x)` */
0798     .octa 0x78e87aaf56767c9255bd7f9518e4a304
0799 
0800     /* x^1312 mod p(x)`, x^1344 mod p(x)`, x^1376 mod p(x)`, x^1408 mod p(x)` */
0801     .octa 0x8f68fcec1903da7f6d76739fe0553f1e
0802 
0803     /* x^1184 mod p(x)`, x^1216 mod p(x)`, x^1248 mod p(x)`, x^1280 mod p(x)` */
0804     .octa 0x3f4840246791d588c133722b1fe0b5c3
0805 
0806     /* x^1056 mod p(x)`, x^1088 mod p(x)`, x^1120 mod p(x)`, x^1152 mod p(x)` */
0807     .octa 0x34c96751b04de25a64b67ee0e55ef1f3
0808 
0809     /* x^928 mod p(x)`, x^960 mod p(x)`, x^992 mod p(x)`, x^1024 mod p(x)` */
0810     .octa 0x156c8e180b4a395b069db049b8fdb1e7
0811 
0812     /* x^800 mod p(x)`, x^832 mod p(x)`, x^864 mod p(x)`, x^896 mod p(x)` */
0813     .octa 0xe0b99ccbe661f7bea11bfaf3c9e90b9e
0814 
0815     /* x^672 mod p(x)`, x^704 mod p(x)`, x^736 mod p(x)`, x^768 mod p(x)` */
0816     .octa 0x041d37768cd75659817cdc5119b29a35
0817 
0818     /* x^544 mod p(x)`, x^576 mod p(x)`, x^608 mod p(x)`, x^640 mod p(x)` */
0819     .octa 0x3a0777818cfaa9651ce9d94b36c41f1c
0820 
0821     /* x^416 mod p(x)`, x^448 mod p(x)`, x^480 mod p(x)`, x^512 mod p(x)` */
0822     .octa 0x0e148e8252377a554f256efcb82be955
0823 
0824     /* x^288 mod p(x)`, x^320 mod p(x)`, x^352 mod p(x)`, x^384 mod p(x)` */
0825     .octa 0x9c25531d19e65ddeec1631edb2dea967
0826 
0827     /* x^160 mod p(x)`, x^192 mod p(x)`, x^224 mod p(x)`, x^256 mod p(x)` */
0828     .octa 0x790606ff9957c0a65d27e147510ac59a
0829 
0830     /* x^32 mod p(x)`, x^64 mod p(x)`, x^96 mod p(x)`, x^128 mod p(x)` */
0831     .octa 0x82f63b786ea2d55ca66805eb18b8ea18
0832 
0833 
0834 .barrett_constants:
0835     /* 33 bit reflected Barrett constant m - (4^32)/n */
0836     .octa 0x000000000000000000000000dea713f1    /* x^64 div p(x)` */
0837     /* 33 bit reflected Barrett constant n */
0838     .octa 0x00000000000000000000000105ec76f1
0839 
0840 #define CRC_FUNCTION_NAME __crc32c_vpmsum
0841 #define REFLECT
0842 #include "crc32-vpmsum_core.S"