ARM64: NCG fixes related to simd and subword handling.
Fixes a number of arm64 ncg bugs:
- #27539 (closed) - We check for subwords in lint and reject this operation on subwords.
- #27538 (closed) - Fixed by sign-extending in a temp reg instead of inplace for signed comparison, which avoids clobbering local variables.
- #27537 (closed) - Fixed by updating truncateReg to truncate into a tmp reg by default.
- #27430 (closed) - Fixed by truncating the result we get back from ffi calls.
- #27565 (closed) by using OpReg for the gp register for integer broadcast.
- #27533 (closed) - Fixed by using subword store/load instructions instead of always using 32bit instructions for subwords.
- #27550 (closed) - Fixed by properly checking if constant are viable immediate instruction arguments.
Edited by Andreas Klebinger