汇编代码阅读工具与技巧

  1. 编译选项 “-g3 “, 可以获得更多的debug信息,比如GEMM_Q, GEMM_R等宏定义的信息
  2. gdb 调试 , 调试命令 disas/disassemble 可以打印当前函数的汇编代码.
  3. layout asm/src/ 展示汇编代码面板,list 可以显示src代码行
  4. gdb的TUI模式类似screen,退出使用 Ctrl -x a
  5. TUI模式查看寄存器的命令为: layout regs
  6. display /10i $pc的方法与x /10i $pc在打印汇编上是同义的
  7. 把disas 输出写入文件:

    (gdb) set logging file <file name>

    (gdb) set logging on

    (gdb) disass

    (gdb) set logging off

  8. Debugging_assembly_code

  9. Debugging Applications with Intel ® SDE

  10. 新的gdb 目录 cube126;   /usr/local/gdb13.1/bin/gdb   version: 13.1

    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]

vbroadcastf32x4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值