Commit bf8ead4
Fix NEON dispatcher for MSVC ARM where all vector types alias to __n128
On MSVC ARM, all NEON vector types (uint8x16_t, int8x16_t, etc.) are
typedefs to __n128, which causes duplicate template specializations and
tuple type collisions in the register-type-based dispatchers.
Replace register-type dispatchers with scalar-type dispatchers (uint8_t,
int8_t, etc.) which are always distinct. Add neon_scalar_t trait to
normalize platform-specific type aliases (char, long) to fixed-width
types for reliable index_of lookups.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent f7ee2f2 commit bf8ead4
2 files changed
+189
-231
lines changed
0 commit comments