code
#include <iostream>
#include <iomanip>
#include <arm_neon.h>
void print_int8x8(int8x8_t vec, const std::string& desc) {
int8_t arr[8];
vst1_s8(arr, vec);
std::cout << std::setw(10) << desc << ", int8x8_t: [";
for (const signed char i : arr) {
std::cout << std::setw(5) << static_cast<int>(i) << ", ";
}
std::cout << "]" << std::endl;
}
int main(int argc, char* argv[]) {
{
const int8_t arr_a[8] = {1, 2, 3, 4, 5, 6, 7, 8};
const int8_t arr_b[8] = {1, 2, 3, 4, 5, 6, 7, 8};
int8x8_t a = vld1_s8(arr_a);
int8x8_t b = vld1_s8(arr_b);
int8x8_t c = vadd_s8(a, b);
print_int8x8(a, "a");
print_int8x8(b, "b");
print_int8x8(c, "c");
}
}
output
a, int8x8_t: [ 1, 2, 3, 4, 5, 6, 7, 8, ]
b, int8x8_t: [ 1, 2, 3, 4, 5, 6, 7, 8, ]
c, int8x8_t: [ 2, 4, 6, 8, 10, 12, 14, 16, ]