'Errors in runtime ARM Neon

  1. IDE: eclipse
  2. Using DS5
  3. Trying to execute C code using Neon Intrinsics
  4. ARMv8-A bare metal used
  5. ARM-6 compiler used
  6. Target CPU: Generic Armv8-A AArc64
  7. Target FPU: Armv8(Neon)

Summary: I'm trying to do an addition operation using neon intrinsic. During runtime, DS5 cannot access Neon. At this piece of code, Neon gets disconnected vector_result = vaddl_high_u8(vector_one,vector_two); Code:

#include <stdio.h>
#include "arm_neon.h"
#include <stdlib.h>

int main(){
    //add and accumulate in one array;
    uint8_t one[] = {255,1,2,3,4,5,6,7};
    uint8_t two[] = {255,1,2,3,4,5,6,7};
    uint16_t result[8];
    
    //vectorization
    uint8x16_t vector_one,vector_two;
    uint16x8_t vector_result;

    //load
    vector_one = vld1q_u8(one);
    //syntax
    vector_two = vld1q_u8(two);

    //addition
    //result = one + two
    //16x8 = 8x16
    vector_result = vaddl_high_u8(vector_one,vector_two);

    //store
    //result = one
    vst1q_u16(result,vector_result);

     //print
     for(int i = 0; i < 8; i++) {
             printf("%02d + %02d = %02d\n", one[i], two[i], result[i]);
     }
}

Error Log: enter image description here



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source