【问题标题】:Print value of __m128 datatype in gdb debugger在 gdb 调试器中打印 __m128 数据类型的值
【发布时间】:2013-12-09 08:28:56
【问题描述】:

有没有办法直接在 GDB 中打印数据类型为 __m128(用于英特尔 SSE 内在函数)的变量的值?命令print $myVariable 适用于intfloat,但不适用于__m128

【问题讨论】:

    标签: c++ gdb sse simd intrinsics


    【解决方案1】:

    这很痛苦,但我通常这样做:

    gdb> p *(float *)&v@4

    这是假设v__m128。您可以将相同的原则应用于例如unsigned char__m128i 向量:

    gdb> p /x *(unsigned char *)&v@16

    【讨论】:

    • 谢谢!我在 ~/.gdbinit 文件中添加了一个名为 p__m128i 的自定义命令,所以现在它始终可用。
    • 如果您是单步 asm(编译器生成或其他方式),display $xmm0.v4_float 可以很好地查看每一步后 XMM0 中的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 2021-02-12
    • 2019-08-14
    相关资源
    最近更新 更多