快速速查¶
编译命令¶
# Ascend C -> Vector 汇编
./bisheng -target hiipu64-hisilicon-cce \
-Xclang -target-cpu -Xclang dav-c220-vec \
-O2 -S kernel.c -o kernel.s
# Ascend C -> Cube 汇编
./bisheng -target hiipu64-hisilicon-cce \
-Xclang -target-cpu -Xclang dav-c220-cube \
-O2 -S kernel.c -o kernel.s
# 汇编 + 显示编码
./bisheng -cc1as -triple hiipu64-hisilicon-cce \
-target-cpu dav-c220-vec -filetype asm \
-show-encoding -o - kernel.s
# 汇编 -> ELF 目标文件
./bisheng -cc1as -triple hiipu64-hisilicon-cce \
-target-cpu dav-c220-vec -filetype obj \
-o kernel.o kernel.s
常用格式¶
ADD.s64 Xd, Xn, Xm
ADD.s64 Xd, Xn, #imm
CMP.EQ.s64 Xn, Xm
LD.b64 Xd, [Xn], #imm
MOV Xd, NAME
MOV NAME, Xn
JUMP #target
SET_FLAG.S.V #event
MOV_OUT_TO_UB [Xd], [Xn], Xm
VADD.s16 [Xd], [Xn], [Xm], Xs, MASK
VEXP.f32 [Xd], [Xn], Xs, MASK
MMAD.s8 [Xd], [Xn], [Xm], Xs
机器字¶
关键寄存器¶
配置寄存器速查¶
// dav-c220-vec
MOV X0, STATUS
MOV X1, CTRL
MOV CTRL, X2
MOV DEQSCALE, X3
MOV ST_ATOMIC_CFG, X4
// dav-c220-cube
MOV FMATRIX, X0
MOV FPC, X1
MOV X2, FPC
MOV PADDING, X3
名称存在不代表两个方向都可用,也不代表两个 c220 目标都支持。完整矩阵见 配置寄存器与隐式状态。