Add Visual Studio quirks back

This commit is contained in:
Frank Denis
2026-04-09 00:42:34 +02:00
parent 4fe02571dd
commit a77b7e7bbf
@@ -83,6 +83,17 @@ REV128_(uint64x2_t x)
vreinterpretq_u64_u32(vextq_u32(vreinterpretq_u32_u64(x), \
vreinterpretq_u32_u64(x), 2))
#ifdef _MSC_VER
#define CLMULLO128(a, b) \
vreinterpretq_u64_p128(vmull_p64(vget_low_p64(vreinterpretq_p64_u64(a)), \
vget_low_p64(vreinterpretq_p64_u64(b))))
#define CLMULLOHI128(a, b) \
vreinterpretq_u64_p128(vmull_p64(vget_low_p64(vreinterpretq_p64_u64(a)), \
vget_high_p64(vreinterpretq_p64_u64(b))))
#define CLMULHILO128(a, b) \
vreinterpretq_u64_p128(vmull_p64(vget_high_p64(vreinterpretq_p64_u64(a)), \
vget_low_p64(vreinterpretq_p64_u64(b))))
#else
#define CLMULLO128(a, b) \
vreinterpretq_u64_p128(vmull_p64(vgetq_lane_p64(vreinterpretq_p64_u64(a), 0), \
vgetq_lane_p64(vreinterpretq_p64_u64(b), 0)))
@@ -92,6 +103,7 @@ REV128_(uint64x2_t x)
#define CLMULHILO128(a, b) \
vreinterpretq_u64_p128(vmull_p64(vgetq_lane_p64(vreinterpretq_p64_u64(a), 1), \
vgetq_lane_p64(vreinterpretq_p64_u64(b), 0)))
#endif
#if defined(__GNUC__) || defined(__clang__)
#define PREFETCH_READ(x) __builtin_prefetch((x), 0, 2)