This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

"bus error" when using arm neon intrinsics "vld2q_f32 " on MT676x

I use "vld2q_f32" on an android mobile which cpu is "MT6765" or "MT6762", "bus error" occurs and my app crash.


My code as follows:


func()

{

    float32x4x2_t vmm0;

    ...

    vmm0 = vld2q_f32(ptr1);

    ...

    vmm0 = vld2q_f32(ptr2);

    ...

    vmm0 = vld2q_f32(ptr3);

    ...

    vmm0 = vld2q_f32(ptr4);

}

when the first "vmm0 = vld2q_f32(ptr1);" comes, it's ok. But the second "vmm0 = vld2q_f32(ptr2);" comes, "bus error" occurs.

Amazing, I add a printf() line in front of vmm0 = vld2q_f32(ptr2); no error occurs !!! The whole program is ok. And other cpus with ARM kernel don't have this problem.

I am confused and ask help here, thanks.