Hyperbola quintessence for ARM
Passed STC
https://tests.stockfishchess.org/tests/view/69f44c1e1e5788938e86aa2a
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 27680 W: 7340 L: 7053 D: 13287
Ptnml(0-2): 72, 2862, 7683, 3153, 70
x86 is unaffected
Data from Joost's machine (Neoverse V2):
```
==== master ====
==== Bench: 2723949 ====
1 Nodes/second : 276819933
2 Nodes/second : 273971948
3 Nodes/second : 275567995
Average (over 3): 275453292
==== 5b54755db23a3de29407b805b85e7bbdef28df49 ====
==== Bench: 2723949 ====
1 Nodes/second : 282861542
2 Nodes/second : 279085277
3 Nodes/second : 279612223
Average (over 3): 280519680 (+1.8%)
```
Data from my M1 macbook
```
Result of 100 runs
==================
base (./stockfish ) = 1474702 +/- 6169
test (...fish.rbit-pr) = 1500236 +/- 6690
diff = +25533 +/- 4011
speedup = +0.0173
P(speedup > 0) = 1.0000
```
Hyperbola quintessence works nicely on ARM because it has an efficient bit reversal instruction `rbit`. This lets us avoid the large magic bitboards lookup table. Codegen looks nice (this is for rook attacks I think):
```
0000000100001ecc <__ZN9Stockfish10attacks_bbILNS_9PieceTypeE3EEEyNS_6SquareEy>:
100001ecc: 2a0003e8 mov w8, w0
100001ed0: f002cb09 adrp x9, 0x105964000 <dyld_stub_binder+0x105964000>
100001ed4: 91200129 add x9, x9, #0x800
100001ed8: 8b081928 add x8, x9, x8, lsl #6
100001edc: a9402909 ldp x9, x10, [x8]
100001ee0: 8a01012b and x11, x9, x1
100001ee4: dac0016c rbit x12, x11
100001ee8: a941210d ldp x13, x8, [x8, #0x10]
100001eec: cb08018c sub x12, x12, x8
100001ef0: dac0018c rbit x12, x12
100001ef4: cb0d016b sub x11, x11, x13
100001ef8: ca0b018b eor x11, x12, x11
100001efc: 8a090169 and x9, x11, x9
100001f00: 8a01014b and x11, x10, x1
100001f04: dac0016c rbit x12, x11
100001f08: cb080188 sub x8, x12, x8
100001f0c: dac00108 rbit x8, x8
100001f10: cb0d016b sub x11, x11, x13
100001f14: ca0b0108 eor x8, x8, x11
100001f18: 8a0a0108 and x8, x8, x10
100001f1c: 8b090100 add x0, x8, x9
100001f20: d65f03c0 ret
```
closes https://github.com/official-stockfish/Stockfish/pull/6795
No functional change