transceiver: sigproc: move NEON complex multiply loop to assembly

Loop the NEON portion with an input decrement count. This approach
is similar to that used for existing complex-real convolution, which
streamlines code and lengthens time spend with optimized SIMD
instructions.

Signed-off-by: Thomas Tsou <tom@tsou.cc>
transceiver: sigproc: add NEON complex multiply-accumulate

This complex MAC implementation is specific to the existing OpenBTS
'sigProcLib' interface. The assumptions are as follows:

  1. Vectors are not preemptively swapped.
  2. Filter coefficients 'b' are read incrementaly.
  3. Input values are read in reverse.
  4. All values are complex.

Note that this requires precise placement of the input pointer as
the quad NEON load will always refer to the first value of the
quad-word load - i.e. loads are always incrementaly read.

SSE support for these operations is not supported at this time.

Signed-off-by: Thomas Tsou <tom@tsou.cc>
transceiver: sigproc: add NEON float-integer conversions

Initial implementation for quad-word conversions for converstions
to and from complex single precision floating point to complex
16-bit integer representations.

Signed-off-by: Thomas Tsou <tom@tsou.cc>