gdb将__m256i打印为8x 32位元素,而不是默认的4x 64位?

时间:2020-06-16 01:11:51

标签: integer gdb intrinsics avx

我使用 gdb 调试通过immintrin.h标头使用 AVX2 内部函数的程序。

有了gdb,我可以打印出__m256值而没有任何问题,就像这样:

>>> print scl8
$4 = {[0] = 0.0078125, [1] = 0.0078125, [2] = 0.0078125, [3] = 0.0078125, [4] = 0.0078125, [5] = 0.0078125, [6] = 0.0078125, [7] = 0.0078125}

在此特定示例中,所有8条通道均包含值1/128。 并注意gdb 打印所有8条通道

如果我要打印出__m256i值的epi32值,则出现问题:

>>> print msk8
$6 = {[0] = 4294967297, [1] = 4294967297, [2] = 4294967297, [3] = 4294967297}

为什么gdb会为__m256i打印4通道(我认为是64位整数),却为__m256打印8通道的32bit浮点数?这里的一致性在哪里?

如何使用gdb从__m256i打印8个epi32值?

$ gdb --version
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git

0 个答案:

没有答案
相关问题