### function example 1
```c
func vec_add8(a : ptr<i32>, b : ptr<i32>, c : ptr<i32>, n : i32) {
for(i : i32 = 0; i < n; i += 8) {
av : 8 x i32 = load<8 x 32>(a + i);
bv : 8 x i32 = load<8 x 32>(b + i);
cv : 8 x i32 = av + bv;
store<8 x 32>(c + i, cv);
}
}
```
### function example 2
```c
func vec_addwide(a : ptr<i32>, b : ptr<i32>, c : ptr<i32>, n : i32) {
for(i : i32 = 0; i < n; i += sizeof(vscale x i32)) {
av : vscale x i32 = load<vscale x i32>(a + i);
bv : vscale x i32 = load<vscale x i32>(b + i);
cv : vscale x i32 = av + bv;
store<vscale x i32>(c + i, cv);
}
}
```