ARMv8非法指令

时间:2017-08-21 09:39:15

标签: c arm armv8 illegal-instruction

我为ARMv8编写了以下程序集:

        .text
        .align  4
        .global permute
        .type   permute, %function
permute:
        ld2 {v0.2d - v1.2d}, [x0], #32
        ld2 {v2.2d - v3.2d}, [x0], #32
        ld2 {v4.2d - v5.2d}, [x0], #32
        ld2 {v6.2d - v7.2d}, [x0]  
        zip1 v8.2d, v0.2d, v4.2d
        st1 {v0.2d - v3.2d}, [x1], #64
        st1 {v4.2d - v7.2d}, [x1]

从常规C程序调用函数permute,其中两个字节长度为128的指针作为输入。编译很好,但是当我运行它时我得到Illegal instruction。如果我注释掉zip1指令,它也可以正常运行。

有关可能出错的提示,以及如何调试Illegal instruction一般?

0 个答案:

没有答案