Add SIMD primops for abs and sqrt
This MR addresses issue #26458 (closed) by adding a new primops for vector absolute value and square root. They are supported on the NCG x86_64 and LLVM backends.
For absolute value on the x86_64, it uses PABSB/PABSW/PABSD for integers of 32 bits or less, if the SSSE3 extension is available. For 64-bit integers, it uses VPABSQ if AVX-512F is available. When these extensions aren't available, a fallback implementation is used. There is no instruction for floating point absolute value, so we simulate it with AND/OR instructions.
Square root on x86_64 is implemented with the SQRTPS and SQRTPD instructions.
On LLVM, these are all implemented with the intrinsics llvm.abs/llvm.fabs and llvm.sqrt. Note that it uses MachOps constructors, while the existing non-vector implementations uses CallishMachOps.