I did some experimenting with how a minimal NEON support (just several kinds of VADD/VFADD) could be added with the dev.simd generator in 701998: [dev.simd] simd: arm64 neon toy example |
.
On assembly level, there is some difference with AMD64 - ARM64 uses arrangement encoding with the same opcode, so maybe we can extend simdgen to model "arrangement" support as well. Some generated files (e.g. simdintrinsics.go) -- need currently manual merging after running generator for arm64 target. Otherwise it seems not so different from AVX (although probably it may need to be when it has more specific instructions - will it be more like variant (b) from
https://github.com/dr2chase/go_simd_examples in future?); hopefully these patches can be useful for multi-target simd experiments.