In the xa_nn_avgpool_16 function, the following pointer alignment checks are currently used:
/* Pointer alignment checks */
XA_NNLIB_ARG_CHK_ALIGN(p_out, ALIGNMENT, -1);
XA_NNLIB_ARG_CHK_ALIGN(p_inp, ALIGNMENT, -1);
When integrating this function with TensorFlow Lite Micro (TFLM), these assertions can fail due to stricter alignment requirements imposed by the ALIGNMENT macro.
However, in the similar function xa_nn_maxpool_16, the alignment checks are implemented as:
/* Pointer alignment checks */
XA_NNLIB_ARG_CHK_ALIGN(p_out, sizeof(WORD16), -1);
XA_NNLIB_ARG_CHK_ALIGN(p_inp, sizeof(WORD16), -1);
This approach appears to be more appropriate for 16-bit data and should not trigger alignment issues in the same context.
In the xa_nn_avgpool_16 function, the following pointer alignment checks are currently used:
When integrating this function with TensorFlow Lite Micro (TFLM), these assertions can fail due to stricter alignment requirements imposed by the ALIGNMENT macro.
However, in the similar function xa_nn_maxpool_16, the alignment checks are implemented as:
This approach appears to be more appropriate for 16-bit data and should not trigger alignment issues in the same context.