【发布时间】:2013-12-09 08:28:56
【问题描述】:
有没有办法直接在 GDB 中打印数据类型为 __m128(用于英特尔 SSE 内在函数)的变量的值?命令print $myVariable 适用于int 和float,但不适用于__m128。
【问题讨论】:
标签: c++ gdb sse simd intrinsics
有没有办法直接在 GDB 中打印数据类型为 __m128(用于英特尔 SSE 内在函数)的变量的值?命令print $myVariable 适用于int 和float,但不适用于__m128。
【问题讨论】:
标签: c++ gdb sse simd intrinsics
这很痛苦,但我通常这样做:
gdb> p *(float *)&v@4
这是假设v 是__m128。您可以将相同的原则应用于例如unsigned char 的 __m128i 向量:
gdb> p /x *(unsigned char *)&v@16
【讨论】:
display $xmm0.v4_float 可以很好地查看每一步后 XMM0 中的内容。