- 编译选项 “-g3 “, 可以获得更多的debug信息,比如GEMM_Q, GEMM_R等宏定义的信息
- gdb 调试 , 调试命令 disas/disassemble 可以打印当前函数的汇编代码.
- layout asm/src/ 展示汇编代码面板,list 可以显示src代码行
- gdb的TUI模式类似screen,退出使用 Ctrl -x a
- TUI模式查看寄存器的命令为: layout regs
- display /10i $pc的方法与x /10i $pc在打印汇编上是同义的
- 把disas 输出写入文件:
(gdb)
set
logging
file
<
file
name>
(gdb)
set
logging on
(gdb) disass
(gdb)
set
logging off
-
Debugging_assembly_code
-
Debugging Applications with Intel ® SDE
-
新的gdb 目录 cube126; /usr/local/gdb13.1/bin/gdb version: 13.1
- 打印 向量寄存器:print $zmm0 会打印8个double 和512bit表示的其他类型数据组合,比如16个float, 64个int8 ..
用到的汇编指令汇总:参考地址
1、VMOVDDUP Operation
2、VFMADD132PD
DEST[i+63:i] := RoundFPControl_MXCSR(DEST[i+63:i]*SRC3[63:0] + SRC2[i+63:i])
3、VBROADCAST — Load with Broadcast Floating-Point Data (felixcloutier.com)
(KL, VL) = (8, 256), (16, 512) FOR j := 0 TO KL-1 i := j* 32 n := (j modulo 4) * 32
DEST[i+31:i] := SRC[n+31:n]