Add SIMD primops for abs and sqrt
<!--
READ THIS FIRST: If the feature you are proposing changes the language that GHC accepts
or adds any warnings to `-Wall`, it should be written as a [GHC Proposal](https://github.com/ghc-proposals/ghc-proposals/).
Other features, appropriate for a GitLab feature request, include GHC API/plugin
innovations, new low-impact compiler flags, or other similar additions to GHC.
-->
## Motivation
Currently, we lack absolute value and square root operations for SIMD vectors.
They are useful in many situations, and major ISAs provide instructions for them.
Therefore, we should add primitive operations for SIMD absolute value and square root.
## Proposal
Add primops for absolute value of signed integer types and floating-point types, and square root of floating-point types.
## Implementation notes
On x86, absolute value of Int8/Int16/Int32 vectors require SSSE3 (`pabsb`/`pabsw`/`pabsd`).
The instruction for absolute value of a Int64 vector would require AVX-512F (`vpabsq`).
If these extensions are not available, we must emulate them with bitwise operations or something.
Also, x86 does not provide instructions for floating-point abs, so they should be done via bitwise and (`andps`/`andpd`).
issue