'Errors in runtime ARM Neon
- IDE: eclipse
- Using DS5
- Trying to execute C code using Neon Intrinsics
- ARMv8-A bare metal used
- ARM-6 compiler used
- Target CPU: Generic Armv8-A AArc64
- 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]);
}
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|

