" ld1 {v8.4s}, [%0], #16 \n" // 载入4个float32 float32_4 a,a += 4
" ld1 {v0.4s}, [%1], #16 \n" // 载入4个float32 float32_4 b, b += 4
" fmla v16.4s, v0.4s, v8.s[0] \n" // float32_4 c[0,0-4] = b * a[0]
" fmla v20.4s, v0.4s, v8.s[1] \n" // float32_4 c[1,0-4] = b * a[1]
" fmla v24.4s, v0.4s, v8.s[2] \n" // float32_4 c[2,0-4] = b * a[2]
" fmla v28.4s, v0.4s, v8.s[3] \n" // float32_4 c[3,0-4] = b * a[3]
" ld1 {v9.4s}, [%0], #16 \n" // float32_4 a2
" ld1 {v1.4s}, [%1], #16 \n" // float32_4 b2
" fmla v16.4s, v1.4s, v9.s[0] \n" // float32_4 c[0,0-4] += b2 * a2[0]
" fmla v20.4s, v1.4s, v9.s[1] \n" // float32_4 c[1,0-4] += b2 * a2[1]
" fmla v24.4s, v1.4s, v9.s[2] \n" // ...
" fmla v28.4s, v1.4s, v9.s[3] \n"
" ld1 {v8.4s}, [%0], #16 \n" // float32_4 a3
" ld1 {v0.4s}, [%1], #16 \n" // float32_4 b3
" fmla v16.4s, v0.4s, v8.s[0] \n" // float32_4 c[0,0-4] += b3 * a3[0]
" fmla v20.4s, v0.4s, v8.s[1] \n" // ...
" fmla v24.4s, v0.4s, v8.s[2] \n"
" fmla v28.4s, v0.4s, v8.s[3] \n" // ...
" ld1 {v9.4s}, [%0], #16 \n" // float32_4 a4
" ld1 {v1.4s}, [%1], #16 \n" // float32_4 b4
" fmla v16.4s, v1.4s, v9.s[0] \n" // float32_4 c[0,0-4] += b4 * a4[0]
" fmla v20.4s, v1.4s, v9.s[1] \n"
" fmla v24.4s, v1.4s, v9.s[2] \n"
" fmla v28.4s, v1.4s, v9.s[3] \n"
" subs x8, x8, #1 \n"
" bne run \n"
it has the same speed. Do need to reorder these instructions here?? looking for reply!! thanks